From a0b1ccc61c5f0743723cb8850a96f3a57a98306b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Sanz=20Garc=C3=ADa?= Date: Thu, 14 Feb 2019 18:00:25 +0000 Subject: [PATCH 01/82] refactor: use more specific `border` rules The problem with `border` shorthand property is that any omitted sub-values will be set to their initial value. In this case color is omitted. It is better to be more specific. --- scss/util/_mixins.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scss/util/_mixins.scss b/scss/util/_mixins.scss index c256dc6001..18e3f4a490 100644 --- a/scss/util/_mixins.scss +++ b/scss/util/_mixins.scss @@ -44,7 +44,8 @@ width: 0; height: 0; - border: inset $triangle-size; + border-style: inset; + border-width: $triangle-size; content: ''; From f1fee877e70d830285176b4a447b6ab0372e84ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Sanz=20Garc=C3=ADa?= Date: Thu, 14 Feb 2019 18:02:46 +0000 Subject: [PATCH 02/82] refactor: set border style to solid and hide pieces --- scss/util/_mixins.scss | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scss/util/_mixins.scss b/scss/util/_mixins.scss index 18e3f4a490..3a4b187594 100644 --- a/scss/util/_mixins.scss +++ b/scss/util/_mixins.scss @@ -44,29 +44,25 @@ width: 0; height: 0; - border-style: inset; + border-style: solid; border-width: $triangle-size; content: ''; @if ($triangle-direction == down) { border-bottom-width: 0; - border-top-style: solid; border-color: $triangle-color transparent transparent; } @if ($triangle-direction == up) { border-top-width: 0; - border-bottom-style: solid; border-color: transparent transparent $triangle-color; } @if ($triangle-direction == right) { border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent $triangle-color; } @if ($triangle-direction == left) { border-left-width: 0; - border-right-style: solid; border-color: transparent $triangle-color transparent transparent; } } From 556213e0405cd79a8b9eb30c7330a78932b078d2 Mon Sep 17 00:00:00 2001 From: Eva Gagnon-Messier Date: Sun, 20 Oct 2019 18:00:52 -0300 Subject: [PATCH 03/82] fix: Include ability to change icon position for nested menu list #10623 --- scss/components/_menu.scss | 43 +++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/scss/components/_menu.scss b/scss/components/_menu.scss index 0cbb9d0a95..7f578be9de 100644 --- a/scss/components/_menu.scss +++ b/scss/components/_menu.scss @@ -38,12 +38,12 @@ $menu-item-background-active: get-color(primary) !default; /// @type Number $menu-icon-spacing: 0.25rem !default; -/// Backward compatibility for menu state. If true, this duplicate `active` with `is-active`. +/// Backward compatibility for menu state. If true, this duplicate `active` with `is-active`. /// But please note that `active` will be removed in upcoming versions. /// @type Boolean $menu-state-back-compat: true !default; -/// Backward compatibility for menu centered. If true, this duplicate `.menu-centered > .menu` with `.menu.align-center`. +/// Backward compatibility for menu centered. If true, this duplicate `.menu-centered > .menu` with `.menu.align-center`. /// But please note that `menu-centered` will be removed in upcoming versions. /// @type Boolean $menu-centered-back-compat: true !default; @@ -420,31 +420,36 @@ $menu-icons-back-compat: true !default; } } - // Icon Left - &.icon-left { - @include menu-icon-position(left); - } + // Menu icon position + // Includes specificity to nested icons with a different position + &, + &.nested { + // Icon Left + &.icon-left { + @include menu-icon-position(left); + } - // Icon Right - &.icon-right { - @include menu-icon-position(right); - } + // Icon Right + &.icon-right { + @include menu-icon-position(right); + } - // Icon Top - &.icon-top { - @include menu-icon-position(top); - } + // Icon Top + &.icon-top { + @include menu-icon-position(top); + } - // Icon Bottom - &.icon-bottom { - @include menu-icon-position(bottom); + // Icon Bottom + &.icon-bottom { + @include menu-icon-position(bottom); + } } // Active state .is-active > a { @include menu-state-active; } - + // Backward Compatibility for active state @if $menu-state-back-compat { .active > a { @@ -482,7 +487,7 @@ $menu-icons-back-compat: true !default; @if $global-flexbox { justify-content: center; } - + @include menu-align(center); } } From c141ef3496c72751c1d5448ac9adc0e8a64f834f Mon Sep 17 00:00:00 2001 From: Eva Gagnon-Messier Date: Sun, 20 Oct 2019 20:50:57 -0300 Subject: [PATCH 04/82] fix: add menu-icon-alignment mixin to fix misalignment of icon when menu is vertical, align-right or expanded #10623 --- scss/components/_menu.scss | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/scss/components/_menu.scss b/scss/components/_menu.scss index 7f578be9de..f9ce4430f6 100644 --- a/scss/components/_menu.scss +++ b/scss/components/_menu.scss @@ -258,6 +258,33 @@ $menu-icons-back-compat: true !default; } } +/// Align top/bottom icons within a menu. +/// @param {Keyword} $alignment [center] - Alignment of the icon +@mixin menu-icon-alignment($alignment: center) { + @if $global-flexbox { + &.icon-top, + &.icon-bottom { + li a { + img, + i, + svg { + @if $alignment == left { + text-align: left; + } + + @else if $alignment == right { + text-align: right; + } + + @else { + text-align: center; + } + } + } + } + } +} + /// Adds position classes for icons within a menu. @mixin menu-icon-position($position: left, $spacing: $menu-icon-spacing) { @if $position == left { @@ -369,11 +396,13 @@ $menu-icons-back-compat: true !default; // Vertical orientation modifier &.vertical { @include menu-direction(vertical); + @include menu-icon-alignment(left); } // Even-width modifier for horizontal orientation &.expanded { @include menu-expand; + @include menu-icon-alignment(left); } // Simple @@ -465,6 +494,7 @@ $menu-icons-back-compat: true !default; // Align right &.align-#{$global-right} { @include menu-align(right); + @include menu-icon-alignment(right); .nested { @include menu-nested($nested-alignment: right); From 7d5c1c500b4ada92dd09693019c412d3d5af78e7 Mon Sep 17 00:00:00 2001 From: Eva Gagnon-Messier Date: Sun, 20 Oct 2019 21:22:05 -0300 Subject: [PATCH 05/82] docs: include documentation for icon position with nested styles #10623 --- docs/pages/menu.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/pages/menu.md b/docs/pages/menu.md index c4e75b38d0..59c8ac49c1 100644 --- a/docs/pages/menu.md +++ b/docs/pages/menu.md @@ -370,6 +370,29 @@ When using any of the menu icon layout classes, ensure that the icon and the tex
  • Four
  • ``` + +
    + +### Icon Position with Nested Styles +Nested lists can have icons positioned differently based on the menu layer. Add the class `.nested` to the nested list and your desired icon position: `.icon-top`, `.icon-right`, `.icon-bottom`, `.icon-left`. + +
    + edit on codepen button +
    + +```html_example + +``` --- ## Sticky Navigation From dd40eaa3920b6211df0cb3fa0a509f04c6d45b58 Mon Sep 17 00:00:00 2001 From: Ryan Lavender Date: Tue, 28 May 2019 13:52:30 -0400 Subject: [PATCH 06/82] fix: Ensure drilldown has the right height inside of responsive top bar when toggled #11759 Fixed the _back function so that $currentMenu is updated to the root menu if the current menu doesn't have a parent submenu. --- js/foundation.drilldown.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/js/foundation.drilldown.js b/js/foundation.drilldown.js index 956084e274..2475a63643 100644 --- a/js/foundation.drilldown.js +++ b/js/foundation.drilldown.js @@ -340,6 +340,9 @@ class Drilldown extends Plugin { if (parentSubMenu.length) { _this._show(parentSubMenu); } + else { + _this.$currentMenu = _this.$element; + } }); } From 3226a0add92e09720b746c4b1585e8dea2fe6afd Mon Sep 17 00:00:00 2001 From: Bruce Wells Date: Tue, 5 May 2020 09:59:33 -0400 Subject: [PATCH 07/82] Use Save button as a .submit example --- docs/pages/button.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/button.md b/docs/pages/button.md index 66af6e43a9..5e8b72ebb4 100644 --- a/docs/pages/button.md +++ b/docs/pages/button.md @@ -34,7 +34,7 @@ A basic button can be created with minimal markup. Because buttons can be used f View All Features - + ``` From a912a7e1f93ef195b11f3be8b899091812bd8bd4 Mon Sep 17 00:00:00 2001 From: Alexander Kucheryuk <3331946+alexkuc@users.noreply.github.com> Date: Fri, 8 May 2020 13:57:39 +0300 Subject: [PATCH 08/82] fix: missing !default in _base.scss #12072 L120 and L200 in the file scss/typography/_base.scss are missing `!default` --- scss/typography/_base.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scss/typography/_base.scss b/scss/typography/_base.scss index 050b119d0e..fe064196ba 100644 --- a/scss/typography/_base.scss +++ b/scss/typography/_base.scss @@ -117,7 +117,7 @@ $paragraph-text-rendering: optimizeLegibility !default; /// Use the `.code-inline` component as default for `` elements. /// @type Boolean -$enable-code-inline: true; +$enable-code-inline: true !default; /// Default color for links. /// @type Color @@ -197,7 +197,7 @@ $blockquote-border: 1px solid $medium-gray !default; /// Use the `.cite-block` component as default for `` elements. /// @type Boolean -$enable-cite-block: true; +$enable-cite-block: true !default; /// Font family for `` elements. /// @type String | List From d6327df7eeede593ca2267b40076b454020ccf56 Mon Sep 17 00:00:00 2001 From: Daniel Ruf Date: Mon, 11 May 2020 21:08:34 +0200 Subject: [PATCH 09/82] fix: remove margin-right reset - closes #12074 --- scss/components/_button-group.scss | 2 -- 1 file changed, 2 deletions(-) diff --git a/scss/components/_button-group.scss b/scss/components/_button-group.scss index d3be6262a6..035097f4ac 100644 --- a/scss/components/_button-group.scss +++ b/scss/components/_button-group.scss @@ -116,7 +116,6 @@ $buttongroup-radius-on-each: true !default; #{$selector} { @if $global-flexbox { flex: 1 1 0px; // sass-lint:disable-line zero-unit - margin-right: 0; } @else { // One child @@ -174,7 +173,6 @@ $buttongroup-radius-on-each: true !default; } &:last-child { - margin-bottom: 0; border-bottom-#{$global-left}-radius: $global-radius; border-bottom-#{$global-right}-radius: $global-radius; } From 5798a7f7b86caea34fd8c487cd687c66700f39de Mon Sep 17 00:00:00 2001 From: Daniel Ruf Date: Fri, 22 May 2020 17:35:57 +0200 Subject: [PATCH 10/82] fix: keep the already set input error classes - closes #12081 --- js/foundation.abide.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/foundation.abide.js b/js/foundation.abide.js index a9544fccee..ae4fb5cc85 100644 --- a/js/foundation.abide.js +++ b/js/foundation.abide.js @@ -498,10 +498,10 @@ class Abide extends Plugin { } if (manageErrorClasses) { - this.removeErrorClasses($el); - if (!goodToGo) { this.addErrorClasses($el, failedValidators); + } else { + this.removeErrorClasses($el); } } From 73998b094b5705adfc23d521b3b250070722c889 Mon Sep 17 00:00:00 2001 From: Julian Pustkuchen Date: Thu, 28 May 2020 17:06:32 +0200 Subject: [PATCH 11/82] Magellan with data-offset does not trigger correctly on the first item #11754 Magellan with data-offset does not trigger correctly on the first item #11754 --- js/foundation.magellan.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/foundation.magellan.js b/js/foundation.magellan.js index 441efd40fa..9ddb6aa88c 100644 --- a/js/foundation.magellan.js +++ b/js/foundation.magellan.js @@ -162,7 +162,7 @@ class Magellan extends Plugin { let activeIdx; // Before the first point: no link - if(newScrollPos < this.points[0]){ /* do nothing */ } + if(newScrollPos < this.points[0] - this.options.offset - (isScrollingUp ? this.options.threshold : 0)){ /* do nothing */ } // At the bottom of the page: last link else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; } // Otherwhise, use the last visible link From 9df0fbfa65b7616be5d31d182a598a389f1d30ad Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Fri, 29 May 2020 12:22:46 +0300 Subject: [PATCH 12/82] Remove tabindex from progressbar documentation The tabindex attribute makes the progress bars focusable and there is no real reason for them to be focusable. This change improves accessibility. --- docs/pages/progress-bar.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/pages/progress-bar.md b/docs/pages/progress-bar.md index 0e2fb3ed8d..c20b6985d7 100644 --- a/docs/pages/progress-bar.md +++ b/docs/pages/progress-bar.md @@ -27,7 +27,7 @@ If the value of the progress bar is not numeric, also add the attribute `aria-va ```html_example -
    +
    ``` @@ -35,7 +35,7 @@ If the value of the progress bar is not numeric, also add the attribute `aria-va Add a `width` CSS property to the inner meter to fill the progress bar. ```html_example -
    +
    ``` @@ -55,7 +55,7 @@ A progress bar can be styled with the `.secondary`, `.success`, `.warning`, and
    ```html_example -
    +
    @@ -87,7 +87,7 @@ You can add text inside the meter of a progress bar. Make sure the text you use
    ```html_example -
    +
    25% From 766972d0b433e7514f4bf1ba6cf51d1c90ed58ab Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Fri, 29 May 2020 12:43:54 +0300 Subject: [PATCH 13/82] Add progress bar documentation about screen readers --- docs/pages/progress-bar.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/pages/progress-bar.md b/docs/pages/progress-bar.md index c20b6985d7..fafdd38288 100644 --- a/docs/pages/progress-bar.md +++ b/docs/pages/progress-bar.md @@ -138,3 +138,15 @@ The meter automatically colors itself based on the current values, and the defin ``` + +--- + +## Screen Readers + +Test the progress bar with different `aria-valuenow` values in a couple of screen readers. The screen reader behavior may not be always obvious. + +If the value of the progress bar is numeric, make sure the range is defined correctly (extracting `aria-valuemin` from `aria-valuemax` defines the full range). For percentage progress bars (0-100%) the value range is typically 100 (`aria-valuemin="0"` and `aria-valuemax="100"`). Most screen readers will calculate the announced percentage based on these numbers with the following formula: + +``` +aria-valuenow / (aria-valuemax - aria-valuemin) = announced percentage +``` From eb9ab29daea22bde5dad61ea3f4513ddb0a0649c Mon Sep 17 00:00:00 2001 From: peter rosanelli Date: Wed, 3 Jun 2020 16:58:03 -0400 Subject: [PATCH 14/82] fixes example call to throttle --- docs/pages/javascript-utilities.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/javascript-utilities.md b/docs/pages/javascript-utilities.md index ea7b6463e5..83bcc5975f 100644 --- a/docs/pages/javascript-utilities.md +++ b/docs/pages/javascript-utilities.md @@ -202,7 +202,7 @@ $(window).on('resize', function(e){ ### With Delay ```js // Throttled resize function -$(window).on('resize', Foundation.utils.throttle(function(e){ +$(window).on('resize', Foundation.util.throttle(function(e){ // Do responsive stuff }, 300)); ``` From 726809b7bc35bee30e675f01b277ecf9de5e7958 Mon Sep 17 00:00:00 2001 From: Viktor Haufler Date: Thu, 18 Jun 2020 10:23:54 +0200 Subject: [PATCH 15/82] fix(accordion): remove tab-related roles, add events for HOME and END remove role="tab", role="tablist", role="tabcontent" and role presentation. Add events for HOME and END. Changed unit-tests accordingly. --- js/foundation.accordion.js | 32 +++++++++++++++--------- test/javascript/components/accordion.js | 33 ++++++++++++++++++------- 2 files changed, 44 insertions(+), 21 deletions(-) diff --git a/js/foundation.accordion.js b/js/foundation.accordion.js index 0b9096ee1f..42da199a30 100644 --- a/js/foundation.accordion.js +++ b/js/foundation.accordion.js @@ -31,7 +31,9 @@ class Accordion extends Plugin { 'ENTER': 'toggle', 'SPACE': 'toggle', 'ARROW_DOWN': 'next', - 'ARROW_UP': 'previous' + 'ARROW_UP': 'previous', + 'HOME': 'first', + 'END': 'last', }); } @@ -42,10 +44,8 @@ class Accordion extends Plugin { _init() { this._isInitializing = true; - this.$element.attr('role', 'tablist'); this.$tabs = this.$element.children('[data-accordion-item]'); - this.$tabs.attr({'role': 'presentation'}); this.$tabs.each(function(idx, el) { var $el = $(el), @@ -55,13 +55,11 @@ class Accordion extends Plugin { $el.find('a:first').attr({ 'aria-controls': id, - 'role': 'tab', 'id': linkId, - 'aria-expanded': false, - 'aria-selected': false + 'aria-expanded': false }); - $content.attr({'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id}); + $content.attr({'role': 'region', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id}); }); var $initActive = this.$element.find('.is-active').children('[data-tab-content]'); @@ -156,6 +154,18 @@ class Accordion extends Plugin { $a.trigger('click.zf.accordion') } }, + first: function() { + var $a = _this.$tabs.first().find('.accordion-title').focus(); + if (!_this.options.multiExpand) { + $a.trigger('click.zf.accordion'); + } + }, + last: function() { + var $a = _this.$tabs.last().find('.accordion-title').focus(); + if (!_this.options.multiExpand) { + $a.trigger('click.zf.accordion'); + } + }, handled: function() { e.preventDefault(); } @@ -270,8 +280,7 @@ class Accordion extends Plugin { $targetItem.addClass('is-active'); $(`#${targetContentId}`).attr({ - 'aria-expanded': true, - 'aria-selected': true + 'aria-expanded': true }); $target.finish().slideDown(this.options.slideSpeed, () => { @@ -298,8 +307,7 @@ class Accordion extends Plugin { $targetItem.removeClass('is-active'); $(`#${targetContentId}`).attr({ - 'aria-expanded': false, - 'aria-selected': false + 'aria-expanded': false }); $target.finish().slideUp(this.options.slideSpeed, () => { @@ -399,4 +407,4 @@ Accordion.defaults = { updateHistory: false }; -export { Accordion }; +export { Accordion }; \ No newline at end of file diff --git a/test/javascript/components/accordion.js b/test/javascript/components/accordion.js index 3158470627..465d8e597c 100644 --- a/test/javascript/components/accordion.js +++ b/test/javascript/components/accordion.js @@ -39,13 +39,6 @@ describe('Accordion', function() { plugin.$element.should.be.an('object'); plugin.options.should.be.an('object'); }); - - it('applies role="presentation" to the list item to conform with WAI', function () { - $html = $(template).appendTo('body'); - plugin = new Foundation.Accordion($html, {allowAllClosed: true}); - - $html.find('.accordion-item').eq(0).should.have.attr('role', 'presentation'); - }); }); describe('up()', function(done) { @@ -67,7 +60,6 @@ describe('Accordion', function() { plugin.up($html.find('.accordion-content').eq(0)); $html.find('.accordion-title').eq(0).should.have.attr('aria-expanded', 'false'); - $html.find('.accordion-title').eq(0).should.have.attr('aria-selected', 'false'); }); it('not closes the open container if allowAllClosed is false', function() { @@ -98,7 +90,6 @@ describe('Accordion', function() { plugin.down($html.find('.accordion-content').eq(1)); $html.find('.accordion-title').eq(1).should.have.attr('aria-expanded', 'true'); - $html.find('.accordion-title').eq(1).should.have.attr('aria-selected', 'true'); }); it('closes open container if multiExpand is false', function(done) { @@ -173,6 +164,30 @@ describe('Accordion', function() { // Check if focus was moved $html.find('.accordion-title').eq(1)[0].should.be.equal(document.activeElement); }); + it('opens first panel on HOME', function() { + $html = $(template).appendTo('body'); + plugin = new Foundation.Accordion($html, {}); + + $html.find('.accordion-title').eq(1).focus() + .trigger(window.mockKeyboardEvent('HOME')); + + $html.find('.accordion-content').eq(0).should.be.visible; + $html.find('.accordion-content').eq(0).should.have.attr('aria-hidden', 'false'); + // Check if focus was moved + $html.find('.accordion-title').eq(0)[0].should.be.equal(document.activeElement); + }); + it('opens last panel on END', function() { + $html = $(template).appendTo('body'); + plugin = new Foundation.Accordion($html, {}); + + $html.find('.accordion-title').eq(1).focus() + .trigger(window.mockKeyboardEvent('END')); + + $html.find('.accordion-content').eq(2).should.be.visible; + $html.find('.accordion-content').eq(2).should.have.attr('aria-hidden', 'false'); + // Check if focus was moved + $html.find('.accordion-title').eq(2)[0].should.be.equal(document.activeElement); + }); it('opens related panel on ENTER', function() { $html = $(template).appendTo('body'); plugin = new Foundation.Accordion($html, {}); From 99268f6b52d0f0f27308c54925cca264a80b9fe2 Mon Sep 17 00:00:00 2001 From: Jannis Vajen Date: Mon, 29 Jun 2020 13:45:53 +0200 Subject: [PATCH 16/82] Fix typo in error message --- js/foundation.toggler.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/foundation.toggler.js b/js/foundation.toggler.js index cdfd261400..dc565f7bbf 100644 --- a/js/foundation.toggler.js +++ b/js/foundation.toggler.js @@ -60,7 +60,7 @@ class Toggler extends Plugin { else { input = this.options.toggler; if (typeof input !== 'string' || !input.length) { - throw new Error(`The 'toogler' option containing the target class is required, got "${input}"`); + throw new Error(`The 'toggler' option containing the target class is required, got "${input}"`); } // Allow for a . at the beginning of the string this.className = input[0] === '.' ? input.slice(1) : input; From 5c3f996803281d8445f76043678b2baaff3988b6 Mon Sep 17 00:00:00 2001 From: Daniel Ruf Date: Sun, 2 Aug 2020 18:56:49 +0200 Subject: [PATCH 17/82] test: upgrade browserstack-runner and resolve ETXTBSY error --- patches/browserstack-runner+0.9.0.patch | 13 -- patches/browserstack-runner+0.9.2.patch | 25 ++++ yarn.lock | 173 ++++++++++++++++-------- 3 files changed, 141 insertions(+), 70 deletions(-) delete mode 100644 patches/browserstack-runner+0.9.0.patch create mode 100644 patches/browserstack-runner+0.9.2.patch diff --git a/patches/browserstack-runner+0.9.0.patch b/patches/browserstack-runner+0.9.0.patch deleted file mode 100644 index 65dbe7ab4e..0000000000 --- a/patches/browserstack-runner+0.9.0.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/node_modules/browserstack-runner/lib/local.js b/node_modules/browserstack-runner/lib/local.js -index 15b147c..1bfb0f2 100644 ---- a/node_modules/browserstack-runner/lib/local.js -+++ b/node_modules/browserstack-runner/lib/local.js -@@ -185,7 +185,7 @@ var Tunnel = function Tunnel(key, port, uniqueIdentifier, config, callback) { - function(response) { - response.pipe(file); - -- response.on('end', function() { -+ response.on('close', function() { - fs.chmodSync(localBinary, 0700); - setTimeout(function() { - tunnelLauncher(); diff --git a/patches/browserstack-runner+0.9.2.patch b/patches/browserstack-runner+0.9.2.patch new file mode 100644 index 0000000000..12e4fee7c8 --- /dev/null +++ b/patches/browserstack-runner+0.9.2.patch @@ -0,0 +1,25 @@ +diff --git a/node_modules/browserstack-runner/lib/local.js b/node_modules/browserstack-runner/lib/local.js +index 15b147c..4f15a49 100644 +--- a/node_modules/browserstack-runner/lib/local.js ++++ b/node_modules/browserstack-runner/lib/local.js +@@ -180,16 +180,16 @@ var Tunnel = function Tunnel(key, port, uniqueIdentifier, config, callback) { + } + logger.debug('Downloading BrowserStack Local to "%s"', localBinary); + +- var file = fs.createWriteStream(localBinary); ++ var file = fs.createWriteStream(localBinary, {emitClose: true}); + https.get('https://s3.amazonaws.com/browserStack/browserstack-local/BrowserStackLocal' + (windows ? '.exe' : '-' + process.platform + '-' + process.arch), + function(response) { + response.pipe(file); + + response.on('end', function() { +- fs.chmodSync(localBinary, 0700); +- setTimeout(function() { ++ file.on('close', function () { ++ fs.chmodSync(localBinary, 0700); + tunnelLauncher(); +- }, 100); ++ }) + }).on('error', function(e) { + logger.info('Got error while downloading binary: ' + e.message); + throw new Error('Got error while downloading binary: ' + e.message); diff --git a/yarn.lock b/yarn.lock index bbd3b7cb53..2a0c8576fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -825,6 +825,11 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -1189,6 +1194,11 @@ ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -1201,6 +1211,14 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-styles@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" @@ -1916,9 +1934,9 @@ browserslist@^4.6.0, browserslist@^4.6.2, browserslist@^4.6.3: node-releases "^1.1.25" browserstack-runner@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/browserstack-runner/-/browserstack-runner-0.9.0.tgz#503da874a40196921c65e046729beb0f7736c922" - integrity sha512-rAqZmuFwcaOGUpL9Rw2vkGrtVBOxYCnQ5gj6dG3IQBx0ooiWw6a3ALkBnjsEaaE64w+qtIB999tj+gCrKlGVFQ== + version "0.9.2" + resolved "https://registry.yarnpkg.com/browserstack-runner/-/browserstack-runner-0.9.2.tgz#acacec46a2373a7b0d833c76e5a1503bc0f90901" + integrity sha512-WxosmjgBxbfsI1vxXA6yTX2Qa/FCQKoz7HSpNytU7GgTWv6O4ED/syLsU7CsdHqaobTOj0XGncbHlgYzSzQvbg== dependencies: browserstack "1.3.0" chalk "0.4.0" @@ -1928,7 +1946,7 @@ browserstack-runner@^0.9.0: resolve "1.1.7" send "0.16.2" tunnel "0.0.3" - yargs "12.0.1" + yargs "15.3.1" browserstack@1.3.0: version "1.3.0" @@ -2428,15 +2446,6 @@ cliui@^3.0.3, cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -2446,6 +2455,15 @@ cliui@^5.0.0: strip-ansi "^5.2.0" wrap-ansi "^5.1.0" +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" @@ -2527,11 +2545,23 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" @@ -3059,13 +3089,6 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decamelize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" - integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== - dependencies: - xregexp "4.0.0" - decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -3408,6 +3431,11 @@ emoji-regex@^7.0.1: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -4161,7 +4189,7 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.0.0: +find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -5753,6 +5781,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -6124,11 +6157,6 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-format@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-format/-/json-format-1.0.1.tgz#143f67e62af129d6bffed288a46265ea23d0df0c" - integrity sha1-FD9n5irxKda//tKIpGJl6iPQ3ww= - json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -7728,14 +7756,6 @@ npm-bundled@^1.0.1: resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== -npm-force-resolutions@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/npm-force-resolutions/-/npm-force-resolutions-0.0.2.tgz#91450d07a03b658f71b36efc5e034416b6a42830" - integrity sha512-2F1FxxDvoatn+OwBxrUGahnEECOpr5RDuF/jqfyy5dI87KmHI3zmb+cCcKDnhR7wnhaTH54/KyPlLTtUTL0Qpw== - dependencies: - json-format "^1.0.1" - source-map-support "^0.5.5" - npm-packlist@^1.1.6: version "1.4.4" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" @@ -8046,7 +8066,14 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== @@ -9649,7 +9676,12 @@ sigmund@^1.0.1: resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= @@ -9812,7 +9844,7 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.5, source-map-support@~0.5.12: +source-map-support@~0.5.12: version "0.5.12" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== @@ -10101,6 +10133,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + string_decoder@^1.0.0, string_decoder@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" @@ -10141,6 +10182,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" @@ -11276,6 +11324,15 @@ wrap-ansi@^5.1.0: string-width "^3.0.0" strip-ansi "^5.0.0" +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -11347,11 +11404,6 @@ xmlhttprequest-ssl@~1.5.4: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= -xregexp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" - integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== - "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -11364,7 +11416,7 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" -y18n@^3.2.0, y18n@^3.2.1, "y18n@^3.2.1 || ^4.0.0": +y18n@^3.2.0, y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= @@ -11389,7 +11441,7 @@ yaml-js@^0.1.0: resolved "https://registry.yarnpkg.com/yaml-js/-/yaml-js-0.1.5.tgz#a01369010b3558d8aaed2394615dfd0780fd8fac" integrity sha1-oBNpAQs1WNiq7SOUYV39B4D9j6w= -yargs-parser@^10.0.0, yargs-parser@^10.1.0: +yargs-parser@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== @@ -11404,6 +11456,14 @@ yargs-parser@^13.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^18.1.1: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^4.1.0, yargs-parser@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" @@ -11425,23 +11485,22 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs@12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2" - integrity sha512-B0vRAp1hRX4jgIOWFtjfNjd9OA9RWYZ6tqGA9/I/IrTMsxmKvtWy+ersM+jzpQqbC3YfLzeABPdeTgcJ9eu1qQ== +yargs@15.3.1: + version "15.3.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" + integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== dependencies: - cliui "^4.0.0" - decamelize "^2.0.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" require-directory "^2.1.1" - require-main-filename "^1.0.1" + require-main-filename "^2.0.0" set-blocking "^2.0.0" - string-width "^2.0.0" + string-width "^4.2.0" which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^10.1.0" + y18n "^4.0.0" + yargs-parser "^18.1.1" yargs@6.4.0: version "6.4.0" From 5c3566d3b6cc84a220ba13a04bea7b1423381c77 Mon Sep 17 00:00:00 2001 From: naineet <36953606+naineet@users.noreply.github.com> Date: Mon, 10 Aug 2020 02:16:43 +0530 Subject: [PATCH 18/82] Added BrowserStack Logo to Readme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hi, Thanks for signing up for our open source program! We hope you’ve found it valuable. Open source projects like yours power the world of tech, and we’re honored to be helping you. We’ve benefitted from hundreds of open source projects, and now's our time to give back. I have added BrowserStack Logo under “Testing powered by” heading to the Readme This helps us reach more open source developers like you, ones who can use BrowserStack’s infrastructure for free and build great products. Naineet Patel BrowserStack DevRel --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index ef7b051e7f..cb2fe857c8 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,10 @@ yarn test:visual Check out [CONTRIBUTING.md](CONTRIBUTING.md) to see how to report an issue or submit a bug fix or a new feature, and our [contributing guide](https://get.foundation/get-involved/contribute.html) to learn how you can contribute more globally to Foundation. You can also browse the [Help Wanted](https://github.com/foundation/foundation-sites/labels/help%20wanted) tag in our issue tracker to find things to do. +## Testing powered by +
    +[BrowserStack Open-Source Program](https://www.browserstack.com/open-source) + ## Training Want the guided tour to Foundation from the team that built it? The ZURB team offers comprehensive training courses for developers of all skill levels. If you're new to Foundation, check out the [Introduction to Foundation Course](http://zurb.com/university/foundation-intro?utm_source=Github%20Repo&utm_medium=website&utm_campaign=readme&utm_content=readme%20training%20link) to kickstart your skills, amplify your productivity, and get a comprehensive overview of everything Foundation has to offer. More advanced users should check out the [Advanced Foundation Course](http://zurb.com/university/advanced-foundation-training?utm_source=Github%20Repo&utm_medium=website&utm_campaign=readme&utm_content=readme%20training%20link) to learn the Advanced skills that ZURB uses to deliver quality client work in short timeframes. From de917d4b49acf2738b733969f277fe64579d0a82 Mon Sep 17 00:00:00 2001 From: apriljunge Date: Sat, 15 Aug 2020 07:07:51 +0200 Subject: [PATCH 19/82] docs: remove undefined xy-cell-breakpoints mixin Closes #12127 --- docs/pages/xy-grid.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/pages/xy-grid.md b/docs/pages/xy-grid.md index a7e083bd85..90147417b8 100644 --- a/docs/pages/xy-grid.md +++ b/docs/pages/xy-grid.md @@ -480,14 +480,6 @@ You can also use for more advanced responsive cells: } ``` -We also have a shorthand option for the above which outputs the same CSS: - -```scss -.main-content { - @include xy-cell-breakpoints((small: full, medium: 8)); -} -``` -
    If you pass multiple breakpoints to the breakpoint mixin, it will duplicate its content for each of them. Be careful to only use breakpoint with properties that should change across breakpoints.
    From 72612ae76d096af2e7144e4c6ee158f6b0fe43b3 Mon Sep 17 00:00:00 2001 From: hvolmer <5054691+hvolmer@users.noreply.github.com> Date: Mon, 17 Aug 2020 08:52:35 -0600 Subject: [PATCH 20/82] Update foundation.d.ts Added foundation.d.ts export for ESM imports in TS projects --- js/typescript/foundation.d.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/js/typescript/foundation.d.ts b/js/typescript/foundation.d.ts index 24119bd460..4515fcf362 100644 --- a/js/typescript/foundation.d.ts +++ b/js/typescript/foundation.d.ts @@ -494,3 +494,7 @@ declare var Foundation: FoundationSites.FoundationSitesStatic; declare module "Foundation" { export = Foundation; } + +declare module "foundation-sites" { + export = Foundation; +} From d5ff1df48f766dde85dc9386dced16288c91703e Mon Sep 17 00:00:00 2001 From: Gregor Date: Tue, 25 Aug 2020 08:54:42 +0200 Subject: [PATCH 21/82] Corrects wrongly documented MediaQuery function Fixes #12132 --- docs/pages/media-queries.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/media-queries.md b/docs/pages/media-queries.md index b2c1aa00f2..c48e2766e8 100644 --- a/docs/pages/media-queries.md +++ b/docs/pages/media-queries.md @@ -212,7 +212,7 @@ Foundation.MediaQuery.atLeast('medium'); Foundation.MediaQuery.is('medium only'); Foundation.MediaQuery.only('medium'); -// ↓ True for "medium" or larger +// ↓ True for "medium" or smaller Foundation.MediaQuery.is('medium down'); Foundation.MediaQuery.upTo('medium'); ``` From 9e4c91bf221dc790474894503ac16b43e3c31702 Mon Sep 17 00:00:00 2001 From: maks Date: Thu, 27 Aug 2020 14:17:45 +0200 Subject: [PATCH 22/82] docs: fix title-bar fragment in link --- docs/pages/flexbox-mode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/flexbox-mode.md b/docs/pages/flexbox-mode.md index 83aa736524..6c89ef17c9 100644 --- a/docs/pages/flexbox-mode.md +++ b/docs/pages/flexbox-mode.md @@ -54,7 +54,7 @@ Besides the flex grid, these components have flexbox modes: - [Menu](menu.html) - [Top bar](top-bar.html) - [Media object](media-object.html) -- [Title bar](off-canvas.html#title-bar) +- [Title bar](off-canvas.html#combining-with-title-bar) - [Card](card.html) In general, all of the components work exactly the same. However, a few of them require slight changes to CSS classes used to work properly. Refer to the documentation for each to find out what's different. From 7f4b9e7f342f7791a94da5a7e9147c4a384e9973 Mon Sep 17 00:00:00 2001 From: Daniel Ruf Date: Sat, 29 Aug 2020 00:08:36 +0200 Subject: [PATCH 23/82] fix: set the same line-height for the aligned label - #12142 --- scss/forms/_label.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/scss/forms/_label.scss b/scss/forms/_label.scss index 7f6557877c..ca02557584 100644 --- a/scss/forms/_label.scss +++ b/scss/forms/_label.scss @@ -36,6 +36,7 @@ $form-label-line-height: 1.8 !default; $input-border-width: get-border-value($input-border, width); margin: 0 0 $form-spacing; + line-height: $global-lineheight; padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0; } From 8dffc8b1dff53743ba313c78156bdf24d974aeca Mon Sep 17 00:00:00 2001 From: Alexey Sukhanov <16915987+AlexeySukhanov@users.noreply.github.com> Date: Thu, 3 Sep 2020 23:38:21 +0300 Subject: [PATCH 24/82] CHANGED: url to building blocks description Current link zurb.com/blog/foundation-building-blocks-over-100-compo provides less complete information about foundation blocks. In addition from the page zurb.com/blog/foundation-building-blocks-over-100-compo you can't get to the current page with Building Blocks ( get.foundation/building-blocks/index.html ), instead there is a link to an old page that no longer works foundation.zurb.com/building-blocks --- docs/pages/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/index.md b/docs/pages/index.md index 17f6a4dd24..802a4189b1 100644 --- a/docs/pages/index.md +++ b/docs/pages/index.md @@ -128,7 +128,7 @@ With an easy to understand syntax and consistent structure, you'll learn your wa
    - +
    From 0866ce2301945fe0ea2d427daa08ba5cb4d8cd19 Mon Sep 17 00:00:00 2001 From: Gregor Date: Fri, 4 Sep 2020 22:05:20 +0200 Subject: [PATCH 25/82] fix: error when switching ResponsiveAccordionTabs from tabs to accordion When switching from tabs to accordion, the tabs instance gets destroyed. Because destroying tabs and recalculating tabs height in _setHeight method rely on the foundatuion mediaquery event, both are executed. Even if tabs instance got destroyed before. This behaviour leads to an error in the _setHeight of tabs, because tabs markup is already destroyed and $tabContent is null. To prevent this, $tabcontent gets tested to be not falsy. Closes #12106 --- js/foundation.tabs.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/js/foundation.tabs.js b/js/foundation.tabs.js index ffc6a0c4ab..333335d3a3 100644 --- a/js/foundation.tabs.js +++ b/js/foundation.tabs.js @@ -385,6 +385,10 @@ class Tabs extends Plugin { var max = 0, _this = this; // Lock down the `this` value for the root tabs object + if (!this.$tabContent) { + return; + } + this.$tabContent .find(`.${this.options.panelClass}`) .css('height', '') From b082acda4834f9a4ff755cb62b2c4e0cefe63af1 Mon Sep 17 00:00:00 2001 From: pine3ree Date: Sat, 5 Sep 2020 01:21:15 +0200 Subject: [PATCH 26/82] fix drilldown behaviour in responsive-menu by removing leftover attached --- js/foundation.drilldown.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/foundation.drilldown.js b/js/foundation.drilldown.js index d4a9513509..84a2ca47b0 100644 --- a/js/foundation.drilldown.js +++ b/js/foundation.drilldown.js @@ -527,13 +527,14 @@ class Drilldown extends Plugin { * @function */ _destroy() { + $('body').off('.zf.drilldown'); if(this.options.scrollTop) this.$element.off('.zf.drilldown',this._bindHandler); this._hideAll(); this.$element.off('mutateme.zf.trigger'); Nest.Burn(this.$element, 'drilldown'); this.$element.unwrap() .find('.js-drilldown-back, .is-submenu-parent-item').remove() - .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu') + .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').off('transitionend otransitionend webkitTransitionEnd') .end().find('[data-submenu]').removeAttr('aria-hidden tabindex role'); this.$submenuAnchors.each(function() { $(this).off('.zf.drilldown'); From 3d8353c40e11e436e3fa1921efa53b580446ccf3 Mon Sep 17 00:00:00 2001 From: John Bacon Date: Wed, 30 Sep 2020 10:26:26 -0400 Subject: [PATCH 27/82] Fix incorrect link to Foundation release page Links to a non-404ing release page. --- docs/pages/sass.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/sass.md b/docs/pages/sass.md index fb77be463c..34ee7d29bc 100644 --- a/docs/pages/sass.md +++ b/docs/pages/sass.md @@ -180,7 +180,7 @@ All Foundation projects include a settings file, named `_settings.scss`. If you' Every component includes a set of variables that modify core structural or visual styles. If there's something you can't customize with a variable, you can just write your own CSS to add it.
    -

    Once you've set up a new project, your settings file can't be automatically updated when new versions change, add, or remove variables. Keep tabs on new Foundation releases so you know when things change.

    +

    Once you've set up a new project, your settings file can't be automatically updated when new versions change, add, or remove variables. Keep tabs on new Foundation releases so you know when things change.

    Here's an example set of settings variables. These change the default styling of [buttons](button.html): From 7aafe980c7bc118470ee7eba59029efd391f8452 Mon Sep 17 00:00:00 2001 From: Lwanga 'Tovi' Matovu Date: Fri, 2 Oct 2020 14:55:41 +0200 Subject: [PATCH 28/82] docs: improve Breakpoints description #12160 --- docs/pages/media-queries.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/pages/media-queries.md b/docs/pages/media-queries.md index c48e2766e8..f7f162ecc5 100644 --- a/docs/pages/media-queries.md +++ b/docs/pages/media-queries.md @@ -91,6 +91,23 @@ $breakpoints: ( Changing the widths of any of the breakpoints is as easy as changing the pixel values in this map. Note that here there are two extra breakpoints: `xlarge` and `xxlarge`. We don't use these for any components, and also don't output any CSS classes that use them by default. +Please note that the order of breakpoints must be in ascending order so that keywords like `down` in the `breakpoint` function below will work as expected e.g. + +```js +├─ xlarge max +│ +├─ xlarge min +├─ large max ┓ +│ │ +├─ large min │ +├─ medium max │ +│ │ "xlarge down" Breakpoint +├─ medium min │ +├─ small max │ +│ │ +... +``` + You can change that by modifying the `$breakpoint-classes` variable in your settings file. This is a list of breakpoint names. Adding or removing names from the list will change the CSS class output. It looks like this by default: ```scss From 96139e1c13ddb9f799304d2b1b27c0171ec2af69 Mon Sep 17 00:00:00 2001 From: Eric Defore Date: Mon, 12 Oct 2020 13:02:09 -0400 Subject: [PATCH 29/82] fix: adjust Keyboard.findFocusable() - sort by tabindex This ensures first and last focusable are correct in situations where specific tab ordering is in play Example: https://codepen.io/d4mation/pen/KKMdPgW vs https://codepen.io/d4mation/pen/jOrbNyB --- js/foundation.util.keyboard.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/js/foundation.util.keyboard.js b/js/foundation.util.keyboard.js index 8c9732954d..4061bc376f 100644 --- a/js/foundation.util.keyboard.js +++ b/js/foundation.util.keyboard.js @@ -32,6 +32,32 @@ function findFocusable($element) { return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() { if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0 return true; + }) + .sort( function( a, b ) { + if ($(a).attr('tabindex') == $(b).attr('tabindex')) { + return 0; + } + let aTabIndex = parseInt($(a).attr('tabindex')), + bTabIndex = parseInt($(b).attr('tabindex')); + // Undefined is treated the same as 0 + if (typeof $(a).attr('tabindex') == 'undefined' && bTabIndex > 0) { + return 1; + } + if (typeof $(b).attr('tabindex') == 'undefined' && aTabIndex > 0) { + return -1; + } + if (aTabIndex == 0 && bTabIndex > 0) { + return 1; + } + if (bTabIndex == 0 && aTabIndex > 0) { + return -1; + } + if (aTabIndex < bTabIndex) { + return -1; + } + if (aTabIndex > bTabIndex) { + return 1; + } }); } From b3c02b25145ae54fb3719efce70c01d38b942c4f Mon Sep 17 00:00:00 2001 From: Eric Defore Date: Mon, 12 Oct 2020 16:43:28 -0400 Subject: [PATCH 30/82] test: add tabindex test for findFocusable() Added a test for the sorting element of Keyboard.findFocusable() to ensure tabindex sorting works properly --- test/javascript/util/keyboard.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/javascript/util/keyboard.js b/test/javascript/util/keyboard.js index 836c69a0c8..a9b4860e09 100644 --- a/test/javascript/util/keyboard.js +++ b/test/javascript/util/keyboard.js @@ -177,6 +177,20 @@ describe('Keyboard util', function() { $html.remove(); }); + + it('does sort by tabindex', function() { + let $html = $(`
    + Link1 + Link3 + Link2 +
    `).appendTo('body'); + + let $focusable = Foundation.Keyboard.findFocusable($html); + + $focusable.eq(2)[0].should.be.equal($html.find('a').eq(1)[0]); + + $html.remove(); + }); }); describe('trapFocus()', function() { From dafbc6748d2dd3ca4d6f25bd738ccb85d6e6809c Mon Sep 17 00:00:00 2001 From: Jeremy Caney Date: Fri, 20 Nov 2020 14:03:13 -0800 Subject: [PATCH 31/82] docs: cross-reference related components Provided a hyperlink for the reference to the Sticky plugin. --- docs/pages/magellan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/magellan.md b/docs/pages/magellan.md index 506870c9b6..78672a4393 100644 --- a/docs/pages/magellan.md +++ b/docs/pages/magellan.md @@ -39,7 +39,7 @@ You can use Magellan with any navigation element, like our [Menu](menu.html) or ## Sticky Navigation -You can use Magellan with our Sticky plugin to create a persistent navigation header or sidebar. +You can use Magellan with our [Sticky plugin](sticky.html) to create a persistent navigation header or sidebar.
    edit on codepen button From 18cf230f6588d9824bb7a2d391c1c522086855df Mon Sep 17 00:00:00 2001 From: Jeremy Caney Date: Fri, 20 Nov 2020 14:07:17 -0800 Subject: [PATCH 32/82] docs: standardize Magellan as a proper noun In most of the documentation, Magellan is referenced as a proper noun. In the _Browser history_ section, however, it was referenced as a common noun. I've updated it to be consistently treated as a proper noun, with a capital "M" and no article (e.g., "Magellan" not "the magellan"). --- docs/pages/magellan.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/pages/magellan.md b/docs/pages/magellan.md index 78672a4393..e678332c9f 100644 --- a/docs/pages/magellan.md +++ b/docs/pages/magellan.md @@ -92,6 +92,6 @@ This below example is a simplified version of the table of contents on the right ## Browser history -When the `data-deep-link` option is set to `true`, the active section of the magellan is recorded by adding a hash with the active magellan section ID to the browser URL. By default, magellan *replace* the browser history (using `history.replaceState()`). +When the `data-deep-link` option is set to `true`, the active section of Magellan is recorded by adding a hash with the active Magellan section ID to the browser URL. By default, Magellan *replace* the browser history (using `history.replaceState()`). -Modify this behavior by using attribute `data-update-history="true"` to *append* to the browser history (using `history.pushState()`). In the latter case the browser back button will track each section the magellan gone through (in most case, this is not recommended). +Modify this behavior by using attribute `data-update-history="true"` to *append* to the browser history (using `history.pushState()`). In the latter case the browser back button will track each section Magellan gone through (in most case, this is not recommended). From c6cd36020c5ab5f5b03173d3374655338ad02a5b Mon Sep 17 00:00:00 2001 From: Jeremy Caney Date: Fri, 20 Nov 2020 14:11:57 -0800 Subject: [PATCH 33/82] docs: improved grammar in Browser history section The _Browser history_ section contained various minor grammatical errors and inconsistencies. I've updated these to aid in readability. --- docs/pages/magellan.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/pages/magellan.md b/docs/pages/magellan.md index e678332c9f..17508b03d7 100644 --- a/docs/pages/magellan.md +++ b/docs/pages/magellan.md @@ -92,6 +92,6 @@ This below example is a simplified version of the table of contents on the right ## Browser history -When the `data-deep-link` option is set to `true`, the active section of Magellan is recorded by adding a hash with the active Magellan section ID to the browser URL. By default, Magellan *replace* the browser history (using `history.replaceState()`). +When the `data-deep-link` option is set to `true`, the active section of Magellan is recorded by adding a hash with the active Magellan section ID to the browser URL. By default, Magellan *replaces* the browser history (using `history.replaceState()`). -Modify this behavior by using attribute `data-update-history="true"` to *append* to the browser history (using `history.pushState()`). In the latter case the browser back button will track each section Magellan gone through (in most case, this is not recommended). +Modify this behavior by using the attribute `data-update-history="true"` to *append* to the browser history (using `history.pushState()`). In the latter case, the browser's back button will track each section Magellan has gone through (in most case, this is not recommended). From d45605449150eea9ae68605ed9d98b64b554858e Mon Sep 17 00:00:00 2001 From: Jeremy Caney Date: Fri, 20 Nov 2020 14:14:08 -0800 Subject: [PATCH 34/82] docs: used title case for Browser History section Most sections across the documentation use title case. Magellan's section on `data-deep-link` used sentence case (i.e., "Browser history"). I've updated this to title case (i.e., "Browser History") for consistency. --- docs/pages/magellan.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/magellan.md b/docs/pages/magellan.md index 17508b03d7..a90e7642da 100644 --- a/docs/pages/magellan.md +++ b/docs/pages/magellan.md @@ -90,7 +90,7 @@ This below example is a simplified version of the table of contents on the right --- -## Browser history +## Browser History When the `data-deep-link` option is set to `true`, the active section of Magellan is recorded by adding a hash with the active Magellan section ID to the browser URL. By default, Magellan *replaces* the browser history (using `history.replaceState()`). From 1d4b4ada5a1fc59023b930740c03095f7ffbc2de Mon Sep 17 00:00:00 2001 From: Yanik Crepeau Date: Fri, 22 Jan 2021 22:45:13 -0500 Subject: [PATCH 35/82] Fixing the !global warning See issue #1208 --- scss/util/_breakpoint.scss | 6 ++++++ scss/util/_color.scss | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/scss/util/_breakpoint.scss b/scss/util/_breakpoint.scss index 9c3e379279..f05325a82e 100644 --- a/scss/util/_breakpoint.scss +++ b/scss/util/_breakpoint.scss @@ -6,6 +6,12 @@ /// @group breakpoints //// +//// +/// Patch to fix issue #12080 + +$-zf-size: null; +//// + /// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries. /// @type Map $breakpoints: ( diff --git a/scss/util/_color.scss b/scss/util/_color.scss index da2ad51e8b..4ebc6c59d7 100644 --- a/scss/util/_color.scss +++ b/scss/util/_color.scss @@ -6,6 +6,16 @@ $contrast-warnings: true !default; +//// +/// Patch to fix issue #12080 + +$primary-color: null; +$secondary-color: null; +$warning-color: null; +$alert-color: null; +$success-color:null +//// + //// /// @group functions //// From 7a1e82c087628b1430d14a4e80d51ef0a9d0703a Mon Sep 17 00:00:00 2001 From: Yanik Crepeau Date: Fri, 22 Jan 2021 22:50:47 -0500 Subject: [PATCH 36/82] Fix issue 12080 --- scss/util/_mixins.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scss/util/_mixins.scss b/scss/util/_mixins.scss index af615ddec4..512f2827f2 100644 --- a/scss/util/_mixins.scss +++ b/scss/util/_mixins.scss @@ -6,6 +6,11 @@ /// @group functions //// +//// +/// Patch to fix issue #12080 +$-zf-pb-value: null; + +//// /// Creates an inner box-shadow for only one side /// /// @param {Keyword} $side - Side the shadow is supposed to appear. Can be `top`, `left`, `right` or `bottom`. From 88bc812213095dd8efbc5af2bcc98a5db2f10af5 Mon Sep 17 00:00:00 2001 From: Yanik Crepeau Date: Fri, 22 Jan 2021 23:28:55 -0500 Subject: [PATCH 37/82] fix: once all test passed ok locally --- scss/util/_color.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scss/util/_color.scss b/scss/util/_color.scss index 4ebc6c59d7..8b15c813a6 100644 --- a/scss/util/_color.scss +++ b/scss/util/_color.scss @@ -13,7 +13,7 @@ $primary-color: null; $secondary-color: null; $warning-color: null; $alert-color: null; -$success-color:null +$success-color:null; //// //// From 58bab86d923eac0a3bf196ab7f256cd7ebf9c864 Mon Sep 17 00:00:00 2001 From: Yanik Crepeau Date: Fri, 22 Jan 2021 23:52:37 -0500 Subject: [PATCH 38/82] fix: install mocha --- package.json | 5 +- yarn.lock | 360 ++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 318 insertions(+), 47 deletions(-) diff --git a/package.json b/package.json index f8c6bf78cb..abf70ef0f5 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "jquery": "^3.3.1", "js-yaml": "^3.12.1", "kleur": "^3.0.2", - "mocha": "^5.0.5", + "mocha": "^8.2.1", "mocha-headless-chrome": "^2.0.1", "motion-ui": "^2.0.2", "octophant": "^1.0.0", @@ -160,5 +160,8 @@ "commitizen": { "path": "./node_modules/cz-conventional-changelog" } + }, + "dependencies": { + "glob": "^7.1.6" } } diff --git a/yarn.lock b/yarn.lock index 2a0c8576fe..b270088168 100644 --- a/yarn.lock +++ b/yarn.lock @@ -845,6 +845,11 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.0.1.tgz#a984b405c702fa5a7ec6abc56b37f2ba35ef5af6" integrity sha512-ffCdcrEE5h8DqVxinQjo+2d1q+FV5z7iNtPofw3JsrltSoSVlOGaW0rY8XxtO9XukdTn8TaCGWmk2VFGhI70mg== +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -1141,6 +1146,11 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -1219,6 +1229,13 @@ ansi-styles@^4.0.0: "@types/color-name" "^1.1.1" color-convert "^2.0.1" +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" @@ -1237,6 +1254,14 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + append-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" @@ -1711,6 +1736,11 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + binaryextensions@2: version "2.1.2" resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c" @@ -1789,6 +1819,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -2145,6 +2182,11 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + caniuse-lite@^1.0.30000819, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: version "1.0.30000985" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f" @@ -2236,6 +2278,14 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -2316,6 +2366,21 @@ cheerio@^1.0.0-rc.2: lodash "^4.15.0" parse5 "^3.0.1" +chokidar@3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" + integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.1.2" + chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: version "2.1.6" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" @@ -2584,11 +2649,6 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== - commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -3055,13 +3115,6 @@ debug@2.6.9, debug@^2.1.1, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" -debug@3.1.0, debug@=3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - debug@3.X, debug@^3.1.0, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -3076,6 +3129,20 @@ debug@4.1.1, debug@^4.0.1, debug@^4.1.0: dependencies: ms "^2.1.1" +debug@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + +debug@=3.1.0, debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -3089,6 +3156,11 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -3210,7 +3282,12 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= -diff@3.5.0, diff@^3.5.0: +diff@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== @@ -3634,7 +3711,12 @@ escape-html@^1.0.3, escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -4140,6 +4222,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" @@ -4167,6 +4256,14 @@ find-index@^0.1.1: resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ= +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -4265,6 +4362,11 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" @@ -4465,6 +4567,11 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" +fsevents@~2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + fstream@^1.0.0, fstream@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" @@ -4616,6 +4723,13 @@ glob-parent@^3.0.0, glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-parent@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" + integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + dependencies: + is-glob "^4.0.1" + glob-stream@^5.3.2: version "5.3.5" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" @@ -4665,10 +4779,10 @@ glob2base@0.0.12: dependencies: find-index "^0.1.1" -glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== +glob@7.1.6, glob@^7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -5174,6 +5288,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -5238,12 +5357,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= - -he@1.2.x: +he@1.2.0, he@1.2.x: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -5662,6 +5776,13 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -5800,7 +5921,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -5867,6 +5988,11 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -5884,6 +6010,11 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -6064,6 +6195,14 @@ js-reporters@1.1.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@^3.12.0, js-yaml@^3.12.1, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.2, js-yaml@^3.5.4: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" @@ -6498,6 +6637,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash._arraypool@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz#e88eecb92e2bb84c9065612fd958a0719cd47f94" @@ -6948,6 +7094,13 @@ lodash@^4.0.0, lodash@^4.1.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + lolex@^4.0.1, lolex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.1.0.tgz#ecdd7b86539391d8237947a3419aa8ac975f0fe1" @@ -7432,22 +7585,36 @@ mocha-headless-chrome@^2.0.1: mkdirp "^0.5.1" puppeteer "^1.17.0" -mocha@^5.0.5: - version "5.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" - integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== +mocha@^8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.1.tgz#f2fa68817ed0e53343d989df65ccd358bc3a4b39" + integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" - diff "3.5.0" - escape-string-regexp "1.0.5" - glob "7.1.2" + chokidar "3.4.3" + debug "4.2.0" + diff "4.0.2" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" growl "1.10.5" - he "1.1.1" + he "1.2.0" + js-yaml "3.14.0" + log-symbols "4.0.0" minimatch "3.0.4" - mkdirp "0.5.1" - supports-color "5.4.0" + ms "2.1.2" + nanoid "3.1.12" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "7.2.0" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.0.2" + yargs "13.3.2" + yargs-parser "13.1.2" + yargs-unparser "2.0.0" motion-ui@^2.0.2: version "2.0.3" @@ -7476,7 +7643,7 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.1.1: +ms@2.1.2, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -7533,6 +7700,11 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +nanoid@3.1.12: + version "3.1.12" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" + integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -7734,7 +7906,7 @@ normalize-path@^2.0.1, normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -8080,6 +8252,13 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -8101,6 +8280,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -8399,6 +8585,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + pify@^2.0.0, pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -8703,7 +8894,7 @@ randomatic@^3.0.0: kind-of "^6.0.0" math-random "^1.0.1" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -8865,6 +9056,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + readline2@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" @@ -9583,6 +9781,13 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + serialize-javascript@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" @@ -10236,6 +10441,11 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= +strip-json-comments@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -10277,12 +10487,12 @@ supercollider@^1.4.5: through2 "^0.6.3" vinyl-fs "^3.0.3" -supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== +supports-color@7.2.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - has-flag "^3.0.0" + has-flag "^4.0.0" supports-color@^2.0.0: version "2.0.0" @@ -10606,6 +10816,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -11261,7 +11478,14 @@ which@1, which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: +which@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3, wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== @@ -11307,6 +11531,11 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" +workerpool@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" + integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -11441,6 +11670,14 @@ yaml-js@^0.1.0: resolved "https://registry.yarnpkg.com/yaml-js/-/yaml-js-0.1.5.tgz#a01369010b3558d8aaed2394615dfd0780fd8fac" integrity sha1-oBNpAQs1WNiq7SOUYV39B4D9j6w= +yargs-parser@13.1.2, yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -11485,6 +11722,32 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + yargs@15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" @@ -11633,3 +11896,8 @@ yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From af511b99bf298d19ba9feba84f7c840af3997219 Mon Sep 17 00:00:00 2001 From: Yanik Crepeau Date: Sat, 23 Jan 2021 00:02:19 -0500 Subject: [PATCH 39/82] fix: remove local mocha --- package.json | 2 - yarn.lock | 386 +++------------------------------------------------ 2 files changed, 20 insertions(+), 368 deletions(-) diff --git a/package.json b/package.json index abf70ef0f5..61f4e7d4a7 100644 --- a/package.json +++ b/package.json @@ -81,8 +81,6 @@ "jquery": "^3.3.1", "js-yaml": "^3.12.1", "kleur": "^3.0.2", - "mocha": "^8.2.1", - "mocha-headless-chrome": "^2.0.1", "motion-ui": "^2.0.2", "octophant": "^1.0.0", "panini": "^1.6.2", diff --git a/yarn.lock b/yarn.lock index b270088168..e3a0629264 100644 --- a/yarn.lock +++ b/yarn.lock @@ -845,11 +845,6 @@ resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.0.1.tgz#a984b405c702fa5a7ec6abc56b37f2ba35ef5af6" integrity sha512-ffCdcrEE5h8DqVxinQjo+2d1q+FV5z7iNtPofw3JsrltSoSVlOGaW0rY8XxtO9XukdTn8TaCGWmk2VFGhI70mg== -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -1146,11 +1141,6 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -1229,13 +1219,6 @@ ansi-styles@^4.0.0: "@types/color-name" "^1.1.1" color-convert "^2.0.1" -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" @@ -1254,14 +1237,6 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - append-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" @@ -1294,16 +1269,6 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -args@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/args/-/args-5.0.1.tgz#4bf298df90a4799a09521362c579278cc2fdd761" - integrity sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ== - dependencies: - camelcase "5.0.0" - chalk "2.4.2" - leven "2.1.0" - mri "1.1.4" - argv@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" @@ -1736,11 +1701,6 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - binaryextensions@2: version "2.1.2" resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c" @@ -1819,23 +1779,11 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - browser-sync-client@^2.26.6: version "2.26.6" resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.26.6.tgz#e5201d3ace8aee88af17656b7b0c0620b6f8e4ab" @@ -2157,11 +2105,6 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" -camelcase@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== - camelcase@^2.0.0, camelcase@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -2182,11 +2125,6 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - caniuse-lite@^1.0.30000819, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: version "1.0.30000985" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f" @@ -2278,14 +2216,6 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -2366,21 +2296,6 @@ cheerio@^1.0.0-rc.2: lodash "^4.15.0" parse5 "^3.0.1" -chokidar@3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.1.2" - chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: version "2.1.6" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" @@ -3129,13 +3044,6 @@ debug@4.1.1, debug@^4.0.1, debug@^4.1.0: dependencies: ms "^2.1.1" -debug@4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== - dependencies: - ms "2.1.2" - debug@=3.1.0, debug@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" @@ -3156,11 +3064,6 @@ decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -3282,11 +3185,6 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= -diff@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -3711,11 +3609,6 @@ escape-html@^1.0.3, escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -4222,13 +4115,6 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - finalhandler@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" @@ -4256,14 +4142,6 @@ find-index@^0.1.1: resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ= -find-up@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -4362,11 +4240,6 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - flatted@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" @@ -4567,11 +4440,6 @@ fsevents@^1.2.7: nan "^2.12.1" node-pre-gyp "^0.12.0" -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - fstream@^1.0.0, fstream@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" @@ -4723,13 +4591,6 @@ glob-parent@^3.0.0, glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - glob-stream@^5.3.2: version "5.3.5" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" @@ -4779,18 +4640,6 @@ glob2base@0.0.12: dependencies: find-index "^0.1.1" -glob@7.1.6, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^5.0.3: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -4814,6 +4663,18 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, gl once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-dirs@^0.1.0, global-dirs@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -4903,11 +4764,6 @@ graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, g resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - gulp-add-src@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gulp-add-src/-/gulp-add-src-1.0.0.tgz#efcafb5dc8bfb5e7bca925d1cefc17b02280bbc9" @@ -5288,11 +5144,6 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -5357,7 +5208,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.0, he@1.2.x: +he@1.2.x: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -5776,13 +5627,6 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-buffer@^1.1.5, is-buffer@~1.1.1: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -5921,7 +5765,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -5988,11 +5832,6 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -6010,11 +5849,6 @@ is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -6195,14 +6029,6 @@ js-reporters@1.1.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - js-yaml@^3.12.0, js-yaml@^3.12.1, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.2, js-yaml@^3.5.4: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" @@ -6520,11 +6346,6 @@ lead@^1.0.0: dependencies: flush-write-stream "^1.0.2" -leven@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= - levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -6637,13 +6458,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - lodash._arraypool@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz#e88eecb92e2bb84c9065612fd958a0719cd47f94" @@ -7094,13 +6908,6 @@ lodash@^4.0.0, lodash@^4.1.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -log-symbols@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - lolex@^4.0.1, lolex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.1.0.tgz#ecdd7b86539391d8237947a3419aa8ac975f0fe1" @@ -7473,7 +7280,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -7576,46 +7383,6 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd dependencies: minimist "0.0.8" -mocha-headless-chrome@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/mocha-headless-chrome/-/mocha-headless-chrome-2.0.3.tgz#6c63649df3de9162c0f6dd35e49523a952f14d9e" - integrity sha512-U6aG6hGx6QV9Yi/fFhlW4muET7OdFjNXWv/MMiUHmEymndm7SubTnKgrvioFhpGG9NMK+kynqFVSvnTu7UPMcQ== - dependencies: - args "^5.0.0" - mkdirp "^0.5.1" - puppeteer "^1.17.0" - -mocha@^8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.2.1.tgz#f2fa68817ed0e53343d989df65ccd358bc3a4b39" - integrity sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w== - dependencies: - "@ungap/promise-all-settled" "1.1.2" - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.4.3" - debug "4.2.0" - diff "4.0.2" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.1.6" - growl "1.10.5" - he "1.2.0" - js-yaml "3.14.0" - log-symbols "4.0.0" - minimatch "3.0.4" - ms "2.1.2" - nanoid "3.1.12" - serialize-javascript "5.0.1" - strip-json-comments "3.1.1" - supports-color "7.2.0" - which "2.0.2" - wide-align "1.1.3" - workerpool "6.0.2" - yargs "13.3.2" - yargs-parser "13.1.2" - yargs-unparser "2.0.0" - motion-ui@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/motion-ui/-/motion-ui-2.0.3.tgz#3a87f8fea4512d654c0822a0b346f23dadf0d0b7" @@ -7633,17 +7400,12 @@ move-concurrently@^1.0.1: rimraf "^2.5.4" run-queue "^1.0.3" -mri@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" - integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w== - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@2.1.2, ms@^2.1.1: +ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== @@ -7700,11 +7462,6 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nanoid@3.1.12: - version "3.1.12" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" - integrity sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -7906,7 +7663,7 @@ normalize-path@^2.0.1, normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0, normalize-path@~3.0.0: +normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -8252,13 +8009,6 @@ p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -8280,13 +8030,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -8585,11 +8328,6 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - pify@^2.0.0, pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -8841,7 +8579,7 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@^1.11.0, puppeteer@^1.17.0: +puppeteer@^1.11.0: version "1.19.0" resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.19.0.tgz#e3b7b448c2c97933517078d7a2c53687361bebea" integrity sha512-2S6E6ygpoqcECaagDbBopoSOPDv0pAZvTbnBgUY+6hq0/XDFDOLEMNlHF/SKJlzcaZ9ckiKjKDuueWI3FN/WXw== @@ -8894,7 +8632,7 @@ randomatic@^3.0.0: kind-of "^6.0.0" math-random "^1.0.1" -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -9056,13 +8794,6 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - readline2@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" @@ -9781,13 +9512,6 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" -serialize-javascript@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" @@ -10441,11 +10165,6 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -10487,13 +10206,6 @@ supercollider@^1.4.5: through2 "^0.6.3" vinyl-fs "^3.0.3" -supports-color@7.2.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10816,13 +10528,6 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -11478,14 +11183,7 @@ which@1, which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: dependencies: isexe "^2.0.0" -which@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@1.1.3, wide-align@^1.1.0: +wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== @@ -11531,11 +11229,6 @@ worker-farm@^1.7.0: dependencies: errno "~0.1.7" -workerpool@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.2.tgz#e241b43d8d033f1beb52c7851069456039d1d438" - integrity sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q== - wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -11670,14 +11363,6 @@ yaml-js@^0.1.0: resolved "https://registry.yarnpkg.com/yaml-js/-/yaml-js-0.1.5.tgz#a01369010b3558d8aaed2394615dfd0780fd8fac" integrity sha1-oBNpAQs1WNiq7SOUYV39B4D9j6w= -yargs-parser@13.1.2, yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -11722,32 +11407,6 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" @@ -11896,8 +11555,3 @@ yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 9d3729491ef565eda0f7b49cbbf62f8c8a718c31 Mon Sep 17 00:00:00 2001 From: Yanik Crepeau Date: Sat, 23 Jan 2021 00:12:12 -0500 Subject: [PATCH 40/82] fix: bring back local mocha --- package.json | 2 + yarn.lock | 112 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 103 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 61f4e7d4a7..73b7a8446e 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,8 @@ "jquery": "^3.3.1", "js-yaml": "^3.12.1", "kleur": "^3.0.2", + "mocha": "^5.0.5", + "mocha-headless-chrome": "^2.0.1", "motion-ui": "^2.0.2", "octophant": "^1.0.0", "panini": "^1.6.2", diff --git a/yarn.lock b/yarn.lock index e3a0629264..01de2f508e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1269,6 +1269,16 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +args@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/args/-/args-5.0.1.tgz#4bf298df90a4799a09521362c579278cc2fdd761" + integrity sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ== + dependencies: + camelcase "5.0.0" + chalk "2.4.2" + leven "2.1.0" + mri "1.1.4" + argv@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" @@ -1784,6 +1794,11 @@ brorand@^1.0.1: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + browser-sync-client@^2.26.6: version "2.26.6" resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.26.6.tgz#e5201d3ace8aee88af17656b7b0c0620b6f8e4ab" @@ -2105,6 +2120,11 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" +camelcase@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== + camelcase@^2.0.0, camelcase@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -2564,6 +2584,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +commander@2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== + commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -3030,6 +3055,13 @@ debug@2.6.9, debug@^2.1.1, debug@^2.2.0, debug@^2.3.3: dependencies: ms "2.0.0" +debug@3.1.0, debug@=3.1.0, debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + debug@3.X, debug@^3.1.0, debug@^3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -3044,13 +3076,6 @@ debug@4.1.1, debug@^4.0.1, debug@^4.1.0: dependencies: ms "^2.1.1" -debug@=3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -3185,7 +3210,7 @@ dev-ip@^1.0.1: resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA= -diff@^3.5.0: +diff@3.5.0, diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== @@ -3609,7 +3634,7 @@ escape-html@^1.0.3, escape-html@~1.0.3: resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -4640,6 +4665,18 @@ glob2base@0.0.12: dependencies: find-index "^0.1.1" +glob@7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^5.0.3: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -4764,6 +4801,11 @@ graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, g resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + gulp-add-src@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/gulp-add-src/-/gulp-add-src-1.0.0.tgz#efcafb5dc8bfb5e7bca925d1cefc17b02280bbc9" @@ -5208,6 +5250,11 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +he@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= + he@1.2.x: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -6346,6 +6393,11 @@ lead@^1.0.0: dependencies: flush-write-stream "^1.0.2" +leven@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" + integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -7280,7 +7332,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -7383,6 +7435,32 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd dependencies: minimist "0.0.8" +mocha-headless-chrome@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/mocha-headless-chrome/-/mocha-headless-chrome-2.0.3.tgz#6c63649df3de9162c0f6dd35e49523a952f14d9e" + integrity sha512-U6aG6hGx6QV9Yi/fFhlW4muET7OdFjNXWv/MMiUHmEymndm7SubTnKgrvioFhpGG9NMK+kynqFVSvnTu7UPMcQ== + dependencies: + args "^5.0.0" + mkdirp "^0.5.1" + puppeteer "^1.17.0" + +mocha@^5.0.5: + version "5.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" + integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== + dependencies: + browser-stdout "1.3.1" + commander "2.15.1" + debug "3.1.0" + diff "3.5.0" + escape-string-regexp "1.0.5" + glob "7.1.2" + growl "1.10.5" + he "1.1.1" + minimatch "3.0.4" + mkdirp "0.5.1" + supports-color "5.4.0" + motion-ui@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/motion-ui/-/motion-ui-2.0.3.tgz#3a87f8fea4512d654c0822a0b346f23dadf0d0b7" @@ -7400,6 +7478,11 @@ move-concurrently@^1.0.1: rimraf "^2.5.4" run-queue "^1.0.3" +mri@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a" + integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -8579,7 +8662,7 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -puppeteer@^1.11.0: +puppeteer@^1.11.0, puppeteer@^1.17.0: version "1.19.0" resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.19.0.tgz#e3b7b448c2c97933517078d7a2c53687361bebea" integrity sha512-2S6E6ygpoqcECaagDbBopoSOPDv0pAZvTbnBgUY+6hq0/XDFDOLEMNlHF/SKJlzcaZ9ckiKjKDuueWI3FN/WXw== @@ -10206,6 +10289,13 @@ supercollider@^1.4.5: through2 "^0.6.3" vinyl-fs "^3.0.3" +supports-color@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== + dependencies: + has-flag "^3.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" From 59695342b74f8ccb82062138008958581dc543d8 Mon Sep 17 00:00:00 2001 From: Yanik Crepeau Date: Sun, 24 Jan 2021 09:30:29 -0500 Subject: [PATCH 41/82] fix: restored (rolledback) package.json and yarn.lock --- package.json | 3 --- yarn.lock | 12 ------------ 2 files changed, 15 deletions(-) diff --git a/package.json b/package.json index 73b7a8446e..f8c6bf78cb 100644 --- a/package.json +++ b/package.json @@ -160,8 +160,5 @@ "commitizen": { "path": "./node_modules/cz-conventional-changelog" } - }, - "dependencies": { - "glob": "^7.1.6" } } diff --git a/yarn.lock b/yarn.lock index 01de2f508e..2a0c8576fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4700,18 +4700,6 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, gl once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - global-dirs@^0.1.0, global-dirs@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" From b814687d6e07a7d43a704492290b22bf8a895090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Loos?= Date: Mon, 15 Feb 2021 14:26:47 +0100 Subject: [PATCH 42/82] Update panini.md Typo in docs --- docs/pages/panini.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/panini.md b/docs/pages/panini.md index 65bf865859..423e549434 100644 --- a/docs/pages/panini.md +++ b/docs/pages/panini.md @@ -127,7 +127,7 @@ Displays the HTML inside the helper if the two values are equal. {{#ifequal foo bar}}

    foo and bar are equal

    {{else}} -

    foo and bar are not equal}} +

    foo and bar are not equal

    {{/ifequal}} ``` From 343fad85d9012832d6baeeaff33e8285665087e7 Mon Sep 17 00:00:00 2001 From: R De Groot - pastorius Date: Thu, 25 Feb 2021 13:02:21 +0100 Subject: [PATCH 43/82] Add offset to deeplink smudge as described in #12203 --- js/foundation.tabs.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/js/foundation.tabs.js b/js/foundation.tabs.js index ffc6a0c4ab..88e12dc579 100644 --- a/js/foundation.tabs.js +++ b/js/foundation.tabs.js @@ -132,7 +132,7 @@ class Tabs extends Plugin { // Roll up a little to show the titles if (this.options.deepLinkSmudge) { var offset = this.$element.offset(); - $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay); + $('html, body').animate({ scrollTop: offset.top - this.options.deepLinkSmudgeOffset}, this.options.deepLinkSmudgeDelay); } /** @@ -464,6 +464,14 @@ Tabs.defaults = { */ deepLinkSmudgeDelay: 300, + /** + * If `deepLinkSmudge` is enabled, animation offset from the top for the deep link adjustment + * @option + * @type {number} + * @default 0 + */ + deepLinkSmudgeOffset: 0, + /** * If `deepLink` is enabled, update the browser history with the open tab * @option From 219fb618d9382d6aa23f4c94d2e86dc210bb4f6a Mon Sep 17 00:00:00 2001 From: Simone Date: Fri, 30 Apr 2021 13:16:55 -0700 Subject: [PATCH 44/82] Fix localhost link it button group docs There is a link to the Flexbox Utilities classes documentation from the Flexbox Button Group section. The link currently uses a localhost address so doesn't work. Proposed change is to make it a relative link to the vanilla flexbox helper class documentation. --- docs/pages/button-group.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/button-group.md b/docs/pages/button-group.md index 174b1c2ae4..3159a26363 100644 --- a/docs/pages/button-group.md +++ b/docs/pages/button-group.md @@ -237,7 +237,7 @@ To create a button with only an arrow, add the class `.arrow-only`. Note that th ## Flexbox Button Group -The buttons in a button group can be positioned using the [Flexbox Utility](http://localhost:3000/flexbox.html#helper-classes) classes in Foundation. You can use `.align-center`, `.align-right`, `.align-spaced`, or `.align-justify`. +The buttons in a button group can be positioned using the [Flexbox Utility](/sites/docs/flexbox-utilities.html#vanilla-flexbox-helper-classes) classes in Foundation. You can use `.align-center`, `.align-right`, `.align-spaced`, or `.align-justify`. ```html_example
    From bd60a9f4534b7e40bfdd7222a78530494d97bc4f Mon Sep 17 00:00:00 2001 From: Alexander Kucheryuk <3331946+alexkuc@users.noreply.github.com> Date: Sun, 6 Jun 2021 22:15:19 +0300 Subject: [PATCH 45/82] Add mention of jQuery conflict for Abide docs --- docs/pages/abide.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/pages/abide.md b/docs/pages/abide.md index b47b12a2d4..461381ae4c 100644 --- a/docs/pages/abide.md +++ b/docs/pages/abide.md @@ -458,6 +458,10 @@ $(document).foundation(); ``` +## jQuery Conflict + +When creating a type `submit` button, make sure to _avoid_ using `name="submit"` otherwise your form won't submit. This is due to [jQuery limitations](https://api.jquery.com/submit/) (see Additional Notes). + ## Accessibility By default, Abide will add some accessibility attributes to your form elements. It is highly recommended to keep this option active as it improve the usability of your forms for disabled people. [Lean more about Accessibility in Foundation](accessibility.html). From 33bd30babc1a9ecfb0a7953afe94a54217b701cd Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Thu, 12 Aug 2021 15:05:38 +0300 Subject: [PATCH 46/82] fix(reveal): mark correct aria-haspopup value for modal opening controls The correct value for `aria-haspopup` for dialog controlling elements is "dialog", not "true" which indicates a menu element. See: https://www.w3.org/TR/wai-aria-1.1/#dialog --- js/foundation.reveal.js | 2 +- test/javascript/components/reveal.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/foundation.reveal.js b/js/foundation.reveal.js index b20b04e327..baacfbbf85 100644 --- a/js/foundation.reveal.js +++ b/js/foundation.reveal.js @@ -55,7 +55,7 @@ class Reveal extends Plugin { this.$anchor = $(`[data-open="${this.id}"]`).length ? $(`[data-open="${this.id}"]`) : $(`[data-toggle="${this.id}"]`); this.$anchor.attr({ 'aria-controls': this.id, - 'aria-haspopup': true, + 'aria-haspopup': 'dialog', 'tabindex': 0 }); diff --git a/test/javascript/components/reveal.js b/test/javascript/components/reveal.js index 1c20797a8e..224e888916 100644 --- a/test/javascript/components/reveal.js +++ b/test/javascript/components/reveal.js @@ -48,7 +48,7 @@ describe('Reveal', function() { var $anchor = $('').appendTo('body'); plugin = new Foundation.Reveal($html, {}); - $anchor.should.have.attr('aria-haspopup', 'true'); + $anchor.should.have.attr('aria-haspopup', 'dialog'); $anchor.should.have.attr('aria-controls', $html.attr('id')); $anchor.remove(); From 79c9173ab15756714f1f00ddeb36e37127519c42 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 09:38:39 -0700 Subject: [PATCH 47/82] chore: dependency upgrade --- package.json | 5 +- yarn.lock | 6290 +++++++++++++++++++++++++++----------------------- 2 files changed, 3345 insertions(+), 2950 deletions(-) diff --git a/package.json b/package.json index f8c6bf78cb..1513617d44 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "gulp-rename": "^1.2.2", "gulp-replace": "^1.0.0", "gulp-rsync": "0.0.8", - "gulp-sass": "^4.0.1", + "gulp-sass": "^4.1.1", "gulp-sass-lint": "^1.3.2", "gulp-sourcemaps": "^2.6.4", "gulp-uglify": "^3.0.0", @@ -160,5 +160,8 @@ "commitizen": { "path": "./node_modules/cz-conventional-changelog" } + }, + "dependencies": { + "puppeteer": "^1.11.0" } } diff --git a/yarn.lock b/yarn.lock index 2a0c8576fe..9dd2a6fb13 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,655 +2,885 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== dependencies: - "@babel/highlight" "^7.0.0" + "@babel/highlight" "^7.14.5" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== "@babel/core@^7.2.2": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8" + integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.0" + "@babel/helper-module-transforms" "^7.15.0" + "@babel/helpers" "^7.14.8" + "@babel/parser" "^7.15.0" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + convert-source-map "^1.7.0" debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== +"@babel/generator@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" + integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ== dependencies: - "@babel/types" "^7.5.5" + "@babel/types" "^7.15.0" jsesc "^2.5.1" - lodash "^4.17.13" source-map "^0.5.0" - trim-right "^1.0.1" -"@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== +"@babel/helper-annotate-as-pure@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" + integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== dependencies: - "@babel/types" "^7.0.0" + "@babel/types" "^7.14.5" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191" + integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== dependencies: - "@babel/helper-explode-assignable-expression" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/helper-explode-assignable-expression" "^7.14.5" + "@babel/types" "^7.14.5" -"@babel/helper-call-delegate@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" - integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5", "@babel/helper-compilation-targets@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz#973df8cbd025515f3ff25db0c05efc704fa79818" + integrity sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A== dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" + "@babel/compat-data" "^7.15.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" -"@babel/helper-define-map@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" - integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== +"@babel/helper-create-class-features-plugin@^7.14.5": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz#c9a137a4d137b2d0e2c649acf536d7ba1a76c0f7" + integrity sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q== dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.5.5" - lodash "^4.17.13" + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-member-expression-to-functions" "^7.15.0" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-replace-supers" "^7.15.0" + "@babel/helper-split-export-declaration" "^7.14.5" -"@babel/helper-explode-assignable-expression@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== dependencies: - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/helper-annotate-as-pure" "^7.14.5" + regexpu-core "^4.7.1" -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645" + integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== + dependencies: + "@babel/helper-get-function-arity" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-get-function-arity@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-hoist-variables@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-member-expression-to-functions@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b" + integrity sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg== + dependencies: + "@babel/types" "^7.15.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08" + integrity sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-replace-supers" "^7.15.0" + "@babel/helper-simple-access" "^7.14.8" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.9" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + +"@babel/helper-optimise-call-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" + integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-remap-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6" + integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-wrap-function" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz#ace07708f5bf746bf2e6ba99572cce79b5d4e7f4" + integrity sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.15.0" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + +"@babel/helper-simple-access@^7.14.8": + version "7.14.8" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" + integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== + dependencies: + "@babel/types" "^7.14.8" + +"@babel/helper-skip-transparent-expression-wrappers@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" + integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-split-export-declaration@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" + integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helper-wrap-function@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff" + integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== + dependencies: + "@babel/helper-function-name" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helpers@^7.14.8": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.3.tgz#c96838b752b95dcd525b4e741ed40bb1dc2a1357" + integrity sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g== + dependencies: + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.15.0" + "@babel/types" "^7.15.0" + +"@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== +"@babel/parser@^7.14.5", "@babel/parser@^7.15.0", "@babel/parser@^7.9.4": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" + integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e" + integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + +"@babel/plugin-proposal-async-generator-functions@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz#7028dc4fa21dc199bbacf98b39bab1267d0eaf9a" + integrity sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" + integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681" + integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" + integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" + integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" + integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" + integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" + integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-hoist-variables@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" - integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" + integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-member-expression-to-functions@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" - integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.14.7": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363" + integrity sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== dependencies: - "@babel/types" "^7.5.5" + "@babel/compat-data" "^7.14.7" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.14.5" -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== +"@babel/plugin-proposal-optional-catch-binding@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" + integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== dependencies: - "@babel/types" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" - integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== +"@babel/plugin-proposal-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" + integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/template" "^7.4.4" - "@babel/types" "^7.5.5" - lodash "^4.17.13" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== +"@babel/plugin-proposal-private-methods@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" + integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== dependencies: - "@babel/types" "^7.0.0" + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-replace-supers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" - integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helper-simple-access@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== - dependencies: - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== +"@babel/plugin-proposal-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz#9f65a4d0493a940b4c01f8aa9d3f1894a587f636" + integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q== dependencies: - "@babel/types" "^7.4.4" + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/helper-wrap-function@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== +"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" + integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.2.0" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" + "@babel/helper-plugin-utils" "^7.12.13" -"@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-async-generator-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" - integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-proposal-dynamic-import@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" - integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw== +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" + "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-proposal-object-rest-spread@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" - integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" - integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-async-generators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-dynamic-import@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== +"@babel/plugin-transform-arrow-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" + integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" - integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== +"@babel/plugin-transform-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" -"@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== +"@babel/plugin-transform-block-scoped-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" + integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" - integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== +"@babel/plugin-transform-block-scoping@^7.14.5": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" + integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-classes@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" - integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== +"@babel/plugin-transform-classes@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz#2a391ffb1e5292710b00f2e2c210e1435e7d449f" + integrity sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A== dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== +"@babel/plugin-transform-computed-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" + integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-destructuring@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== +"@babel/plugin-transform-destructuring@^7.14.7": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" + integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" - integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== +"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" + integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-duplicate-keys@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" - integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== +"@babel/plugin-transform-duplicate-keys@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" + integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== +"@babel/plugin-transform-exponentiation-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" + integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-for-of@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" - integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== +"@babel/plugin-transform-for-of@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" + integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-function-name@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" - integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== +"@babel/plugin-transform-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" + integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== +"@babel/plugin-transform-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" + integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" - integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== +"@babel/plugin-transform-member-expression-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" + integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-modules-amd@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" - integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== +"@babel/plugin-transform-modules-amd@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" + integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" - integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== +"@babel/plugin-transform-modules-commonjs@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz#3305896e5835f953b5cdb363acd9e8c2219a5281" + integrity sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig== dependencies: - "@babel/helper-module-transforms" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-module-transforms" "^7.15.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.14.8" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" - integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== +"@babel/plugin-transform-modules-systemjs@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29" + integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== +"@babel/plugin-transform-modules-umd@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" + integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" - integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" + integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== dependencies: - regexp-tree "^0.1.6" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" -"@babel/plugin-transform-new-target@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" - integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== +"@babel/plugin-transform-new-target@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" + integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-object-super@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" - integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== +"@babel/plugin-transform-object-super@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" + integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" -"@babel/plugin-transform-parameters@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" - integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== +"@babel/plugin-transform-parameters@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" + integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== dependencies: - "@babel/helper-call-delegate" "^7.4.4" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" - integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== +"@babel/plugin-transform-property-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" + integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-regenerator@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" - integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== +"@babel/plugin-transform-regenerator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" + integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== dependencies: - regenerator-transform "^0.14.0" + regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" - integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== +"@babel/plugin-transform-reserved-words@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" + integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== +"@babel/plugin-transform-shorthand-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" + integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-spread@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== +"@babel/plugin-transform-spread@^7.14.6": + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" + integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" -"@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== +"@babel/plugin-transform-sticky-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" + integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-template-literals@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" - integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== +"@babel/plugin-transform-template-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" + integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== +"@babel/plugin-transform-typeof-symbol@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" + integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" - integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== +"@babel/plugin-transform-unicode-escapes@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" + integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" + integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@^7.2.3": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" - integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.0.tgz#e2165bf16594c9c05e52517a194bf6187d6fe464" + integrity sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-async-generator-functions" "^7.14.9" + "@babel/plugin-proposal-class-properties" "^7.14.5" + "@babel/plugin-proposal-class-static-block" "^7.14.5" + "@babel/plugin-proposal-dynamic-import" "^7.14.5" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-proposal-json-strings" "^7.14.5" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" + "@babel/plugin-proposal-numeric-separator" "^7.14.5" + "@babel/plugin-proposal-object-rest-spread" "^7.14.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-private-methods" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.14.5" + "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.14.5" + "@babel/plugin-transform-async-to-generator" "^7.14.5" + "@babel/plugin-transform-block-scoped-functions" "^7.14.5" + "@babel/plugin-transform-block-scoping" "^7.14.5" + "@babel/plugin-transform-classes" "^7.14.9" + "@babel/plugin-transform-computed-properties" "^7.14.5" + "@babel/plugin-transform-destructuring" "^7.14.7" + "@babel/plugin-transform-dotall-regex" "^7.14.5" + "@babel/plugin-transform-duplicate-keys" "^7.14.5" + "@babel/plugin-transform-exponentiation-operator" "^7.14.5" + "@babel/plugin-transform-for-of" "^7.14.5" + "@babel/plugin-transform-function-name" "^7.14.5" + "@babel/plugin-transform-literals" "^7.14.5" + "@babel/plugin-transform-member-expression-literals" "^7.14.5" + "@babel/plugin-transform-modules-amd" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.15.0" + "@babel/plugin-transform-modules-systemjs" "^7.14.5" + "@babel/plugin-transform-modules-umd" "^7.14.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" + "@babel/plugin-transform-new-target" "^7.14.5" + "@babel/plugin-transform-object-super" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-property-literals" "^7.14.5" + "@babel/plugin-transform-regenerator" "^7.14.5" + "@babel/plugin-transform-reserved-words" "^7.14.5" + "@babel/plugin-transform-shorthand-properties" "^7.14.5" + "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-sticky-regex" "^7.14.5" + "@babel/plugin-transform-template-literals" "^7.14.5" + "@babel/plugin-transform-typeof-symbol" "^7.14.5" + "@babel/plugin-transform-unicode-escapes" "^7.14.5" + "@babel/plugin-transform-unicode-regex" "^7.14.5" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.15.0" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + core-js-compat "^3.16.0" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== dependencies: - "@babel/helper-module-imports" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-dynamic-import" "^7.5.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.5.5" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.5.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.5.5" - "@babel/plugin-transform-classes" "^7.5.5" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.5.0" "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/plugin-transform-duplicate-keys" "^7.5.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.4" - "@babel/plugin-transform-function-name" "^7.4.4" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.5.0" - "@babel/plugin-transform-modules-systemjs" "^7.5.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" - "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.5.5" - "@babel/plugin-transform-parameters" "^7.4.4" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.5" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.4.4" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.5.5" - browserslist "^4.6.0" - core-js-compat "^3.1.1" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/template@^7.1.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" "@babel/types" "^7.4.4" + esutils "^2.0.2" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" +"@babel/runtime@^7.8.4": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" + integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98" + integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.0" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/parser" "^7.15.0" + "@babel/types" "^7.15.0" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== +"@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.15.0", "@babel/types@^7.4.4": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" + integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== dependencies: - esutils "^2.0.2" - lodash "^4.17.13" + "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" "@commitlint/cli@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-8.1.0.tgz#a3d4236c0ac961d7026a53d728b179c696d6a045" - integrity sha512-83K5C2nIAgoZlzMegf0/MEBjX+ampUyc/u79RxgX9ZYjzos+RQtNyO7I43dztVxPXSwAnX9XRgoOfkGWA4nbig== - dependencies: - "@commitlint/format" "^8.1.0" - "@commitlint/lint" "^8.1.0" - "@commitlint/load" "^8.1.0" - "@commitlint/read" "^8.1.0" + version "8.3.5" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-8.3.5.tgz#6d93a3a8b2437fa978999d3f6a336bcc70be3fd3" + integrity sha512-6+L0vbw55UEdht71pgWOE55SRgb+8OHcEwGDB234VlIBFGK9P2QOBU7MHiYJ5cjdjCQ0rReNrGjOHmJ99jwf0w== + dependencies: + "@commitlint/format" "^8.3.4" + "@commitlint/lint" "^8.3.5" + "@commitlint/load" "^8.3.5" + "@commitlint/read" "^8.3.4" babel-polyfill "6.26.0" - chalk "2.3.1" + chalk "2.4.2" get-stdin "7.0.0" - lodash "4.17.14" + lodash "4.17.15" meow "5.0.0" resolve-from "5.0.0" resolve-global "1.0.0" @@ -660,111 +890,109 @@ resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-7.6.0.tgz#f3dc66bf39e3b627fdd6f5ac3d0510dd0dd38f94" integrity sha512-1Gnv5p3tc1VsEK25oTIRBO86czLtX6s/jeLNPAQRzdCnyEmsxkbx/sfoUJ1dwv7v8W++xckVnnuvdZv2Hp8yCw== -"@commitlint/ensure@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-8.1.0.tgz#6c669f85c3005ed15c8141d83cf5312c43001613" - integrity sha512-dBU4CcjN0vJSDNOeSpaHNgQ1ra444u4USvI6PTaHVAS4aeDpZ5Cds1rxkZNsocu48WNycUu0jP84+zjcw2pPLQ== +"@commitlint/ensure@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-8.3.4.tgz#6931677e4ca0fde71686ae3b7a367261647a341d" + integrity sha512-8NW77VxviLhD16O3EUd02lApMFnrHexq10YS4F4NftNoErKbKaJ0YYedktk2boKrtNRf/gQHY/Qf65edPx4ipw== dependencies: - lodash "4.17.14" + lodash "4.17.15" -"@commitlint/execute-rule@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-8.1.0.tgz#e8386bd0836b3dcdd41ebb9d5904bbeb447e4715" - integrity sha512-+vpH3RFuO6ypuCqhP2rSqTjFTQ7ClzXtUvXphpROv9v9+7zH4L+Ex+wZLVkL8Xj2cxefSLn/5Kcqa9XyJTn3kg== +"@commitlint/execute-rule@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-8.3.4.tgz#1b63f0713b197889d90b76f9eea1abc010d256b1" + integrity sha512-f4HigYjeIBn9f7OuNv5zh2y5vWaAhNFrfeul8CRJDy82l3Y+09lxOTGxfF3uMXKrZq4LmuK6qvvRCZ8mUrVvzQ== -"@commitlint/format@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-8.1.0.tgz#c3f3ca78bb74cbc1cce1368c0974b0cb8f31b98e" - integrity sha512-D0cmabUTQIKdABgt08d9JAvO9+lMRAmkcsZx8TMScY502R67HCw77JhzRDcw1RmqX5rN8JO6ZjDHO92Pbwlt+Q== +"@commitlint/format@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-8.3.4.tgz#7cd1f0ba5a3289c8d14d7dac29ee1fc1597fe1d9" + integrity sha512-809wlQ/ND6CLZON+w2Rb3YM2TLNDfU2xyyqpZeqzf2reJNpySMSUAeaO/fNDJSOKIsOsR3bI01rGu6hv28k+Nw== dependencies: chalk "^2.0.1" -"@commitlint/is-ignored@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-8.1.0.tgz#c0583fa3c641b2d4898be1443e70e9c467429de2" - integrity sha512-HUSxx6kuLbqrQ8jb5QRzo+yR+CIXgA9HNcIcZ1qWrb+O9GOixt3mlW8li1IcfIgfODlaWoxIz0jYCxR08IoQLg== +"@commitlint/is-ignored@^8.3.5": + version "8.3.5" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-8.3.5.tgz#e6f59496e1b1ce58020d519cd578ad0f43169199" + integrity sha512-Zo+8a6gJLFDTqyNRx53wQi/XTiz8mncvmWf/4oRG+6WRcBfjSSHY7KPVj5Y6UaLy2EgZ0WQ2Tt6RdTDeQiQplA== dependencies: - "@types/semver" "^6.0.1" - semver "6.1.1" + semver "6.3.0" -"@commitlint/lint@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-8.1.0.tgz#ad10f4885c06f14c71de11dcd6bf2ca54a395141" - integrity sha512-WYjbUgtqvnlVH3S3XPZMAa+N7KO0yQ+GuUG20Qra+EtER6SRYawykmEs4wAyrmY8VcFXUnKgSlIQUsqmGKwNZQ== +"@commitlint/lint@^8.3.5": + version "8.3.5" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-8.3.5.tgz#627e75adb1cc803cc723e33cc2ba4aa27cbb9f0c" + integrity sha512-02AkI0a6PU6rzqUvuDkSi6rDQ2hUgkq9GpmdJqfai5bDbxx2939mK4ZO+7apbIh4H6Pae7EpYi7ffxuJgm+3hQ== dependencies: - "@commitlint/is-ignored" "^8.1.0" - "@commitlint/parse" "^8.1.0" - "@commitlint/rules" "^8.1.0" + "@commitlint/is-ignored" "^8.3.5" + "@commitlint/parse" "^8.3.4" + "@commitlint/rules" "^8.3.4" babel-runtime "^6.23.0" - lodash "4.17.14" + lodash "4.17.15" -"@commitlint/load@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-8.1.0.tgz#63b72ae5bb9152b8fa5b17c5428053032a9a49c8" - integrity sha512-ra02Dvmd7Gp1+uFLzTY3yGOpHjPzl5T9wYg/xrtPJNiOWXvQ0Mw7THw+ucd1M5iLUWjvdavv2N87YDRc428wHg== +"@commitlint/load@^8.3.5": + version "8.3.5" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-8.3.5.tgz#3f059225ede92166ba94cf4c48e3d67c8b08b18a" + integrity sha512-poF7R1CtQvIXRmVIe63FjSQmN9KDqjRtU5A6hxqXBga87yB2VUJzic85TV6PcQc+wStk52cjrMI+g0zFx+Zxrw== dependencies: - "@commitlint/execute-rule" "^8.1.0" - "@commitlint/resolve-extends" "^8.1.0" + "@commitlint/execute-rule" "^8.3.4" + "@commitlint/resolve-extends" "^8.3.5" babel-runtime "^6.23.0" chalk "2.4.2" cosmiconfig "^5.2.0" - lodash "4.17.14" + lodash "4.17.15" resolve-from "^5.0.0" -"@commitlint/message@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-8.1.0.tgz#8fb8046ddaa7e5c846a79da7cdbd15cf1a7770ae" - integrity sha512-AjHq022G8jQQ/3YrBOjwVBD4xF75hvC3vcvFoBIb7cC8vad1QWq+1w+aks0KlEK5IW+/+7ORZXIH+oyW7h3+8A== +"@commitlint/message@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-8.3.4.tgz#b4e50d14aa6e15a5ad0767b952a7953f3681d768" + integrity sha512-nEj5tknoOKXqBsaQtCtgPcsAaf5VCg3+fWhss4Vmtq40633xLq0irkdDdMEsYIx8rGR0XPBTukqzln9kAWCkcA== -"@commitlint/parse@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-8.1.0.tgz#833243c6d848e7a7e775a283b38697166ed2fd22" - integrity sha512-n4fEbZ5kdK5HChvne7Mj8rGGkKMfA4H11IuWiWmmMzgmZTNb/B04LPrzdUm4lm3f10XzM2JMM7PLXqofQJOGvA== +"@commitlint/parse@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-8.3.4.tgz#d741f8b9104b35d0f4c10938165b20cbf167f81e" + integrity sha512-b3uQvpUQWC20EBfKSfMRnyx5Wc4Cn778bVeVOFErF/cXQK725L1bYFvPnEjQO/GT8yGVzq2wtLaoEqjm1NJ/Bw== dependencies: conventional-changelog-angular "^1.3.3" - conventional-commits-parser "^2.1.0" + conventional-commits-parser "^3.0.0" lodash "^4.17.11" -"@commitlint/read@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-8.1.0.tgz#effe07c965ba1735a5f7f8b7b19ac4d98c887507" - integrity sha512-PKsGMQFEr2sX/+orI71b82iyi8xFqb7F4cTvsLxzB5x6/QutxPVM3rg+tEVdi6rBKIDuqRIp2puDZQuREZs3vg== +"@commitlint/read@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-8.3.4.tgz#81a34283d8cd7b2acdf57829a91761e9c7791455" + integrity sha512-FKv1kHPrvcAG5j+OSbd41IWexsbLhfIXpxVC/YwQZO+FR0EHmygxQNYs66r+GnhD1EfYJYM4WQIqd5bJRx6OIw== dependencies: - "@commitlint/top-level" "^8.1.0" + "@commitlint/top-level" "^8.3.4" "@marionebl/sander" "^0.6.0" babel-runtime "^6.23.0" - git-raw-commits "^1.3.0" + git-raw-commits "^2.0.0" -"@commitlint/resolve-extends@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-8.1.0.tgz#ed67f2ee484160ac8e0078bae52f172625157472" - integrity sha512-r/y+CeKW72Oa9BUctS1+I/MFCDiI3lfhwfQ65Tpfn6eZ4CuBYKzrCRi++GTHeAFKE3y8q1epJq5Rl/1GBejtBw== +"@commitlint/resolve-extends@^8.3.5": + version "8.3.5" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-8.3.5.tgz#8fff800f292ac217ae30b1862f5f9a84b278310a" + integrity sha512-nHhFAK29qiXNe6oH6uG5wqBnCR+BQnxlBW/q5fjtxIaQALgfoNLHwLS9exzbIRFqwJckpR6yMCfgMbmbAOtklQ== dependencies: - "@types/node" "^12.0.2" import-fresh "^3.0.0" - lodash "4.17.14" + lodash "4.17.15" resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/rules@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-8.1.0.tgz#009c64a8a23feb4647e5a25057997be62a272c8a" - integrity sha512-hlM8VfNjsOkbvMteFyqn0c3akiUjqG09Iid28MBLrXl/d+8BR3eTzwJ4wMta4oz/iqGyrIywvg1FpHrV977MPA== +"@commitlint/rules@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-8.3.4.tgz#41da7e16c6b89af268fe81c87a158c1fd2ac82b1" + integrity sha512-xuC9dlqD5xgAoDFgnbs578cJySvwOSkMLQyZADb1xD5n7BNcUJfP8WjT9W1Aw8K3Wf8+Ym/ysr9FZHXInLeaRg== dependencies: - "@commitlint/ensure" "^8.1.0" - "@commitlint/message" "^8.1.0" - "@commitlint/to-lines" "^8.1.0" + "@commitlint/ensure" "^8.3.4" + "@commitlint/message" "^8.3.4" + "@commitlint/to-lines" "^8.3.4" babel-runtime "^6.23.0" -"@commitlint/to-lines@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-8.1.0.tgz#5bf2597f46acacec4b1b3dba832ac8934798b22a" - integrity sha512-Lh4OH1bInI8GME/7FggS0/XkIMEJdTObMbXRyPRGaPcWH5S7zpB6y+b4qjzBHXAbEv2O46QAAMjZ+ywPQCpmYQ== +"@commitlint/to-lines@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-8.3.4.tgz#ce24963b6d86dbe51d88d5e3028ab28f38562e2e" + integrity sha512-5AvcdwRsMIVq0lrzXTwpbbG5fKRTWcHkhn/hCXJJ9pm1JidsnidS1y0RGkb3O50TEHGewhXwNoavxW9VToscUA== -"@commitlint/top-level@^8.1.0": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-8.1.0.tgz#f1950de73a1f76ef5c9e753a6b77402e0755d677" - integrity sha512-EvQuofuA/+0l1w9pkG/PRyIwACmZdIh9qxyax7w7mR8qqmSHscqf2jARIylh1TOx0uI9egO8MuPLiwC1RwyREA== +"@commitlint/top-level@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-8.3.4.tgz#803fc6e8f5be5efa5f3551761acfca961f1d8685" + integrity sha512-nOaeLBbAqSZNpKgEtO6NAxmui1G8ZvLG+0wb4rvv6mWhPDzK1GNZkCd8FUZPahCoJ1iHDoatw7F8BbJLg4nDjg== dependencies: find-up "^4.0.0" @@ -796,199 +1024,233 @@ mkdirp "^0.5.1" rimraf "^2.5.2" -"@sinonjs/commons@^1", "@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.4.0.tgz#7b3ec2d96af481d7a0321252e7b1c94724ec5a78" - integrity sha512-9jHK3YF/8HtJ9wCAbG+j8cD0i0+ATS9A7gXFqS36TblLPNy6rEEc+SB0imo91eCboGaBYGV/MT1/br/J+EE7Tw== +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== dependencies: type-detect "4.0.8" -"@sinonjs/formatio@^3.1.0", "@sinonjs/formatio@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.1.tgz#52310f2f9bcbc67bdac18c94ad4901b95fde267e" - integrity sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ== +"@sinonjs/formatio@^3.2.1": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz#771c60dfa75ea7f2d68e3b94c7e888a78781372c" + integrity sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ== dependencies: "@sinonjs/commons" "^1" "@sinonjs/samsam" "^3.1.0" -"@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.1": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.2.tgz#63942e3d5eb0b79f6de3bef9abfad15fb4b6401b" - integrity sha512-ILO/rR8LfAb60Y1Yfp9vxfYAASK43NFC2mLzpvLUbCQY/Qu8YwReboseu8aheCEkyElZF2L2T9mHcR2bgdvZyA== +"@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.3": + version "3.3.3" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz#46682efd9967b259b81136b9f120fd54585feb4a" + integrity sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ== dependencies: - "@sinonjs/commons" "^1.0.2" + "@sinonjs/commons" "^1.3.0" array-from "^2.1.1" - lodash "^4.17.11" + lodash "^4.17.15" "@sinonjs/text-encoding@^0.7.1": version "0.7.1" resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/estree@*": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== -"@types/node@*", "@types/node@^12.0.2", "@types/node@^12.6.2": - version "12.6.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.8.tgz#e469b4bf9d1c9832aee4907ba8a051494357c12c" - integrity sha512-aX+gFgA5GHcDi89KG5keey2zf0WfZk/HAQotEamsK2kbey+8yGKcson0hbK8E+v0NArlCJQCqMP161YhV6ZXLg== +"@types/expect@^1.20.4": + version "1.20.4" + resolved "https://registry.yarnpkg.com/@types/expect/-/expect-1.20.4.tgz#8288e51737bf7e3ab5d7c77bfa695883745264e5" + integrity sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg== -"@types/semver@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.0.1.tgz#a984b405c702fa5a7ec6abc56b37f2ba35ef5af6" - integrity sha512-ffCdcrEE5h8DqVxinQjo+2d1q+FV5z7iNtPofw3JsrltSoSVlOGaW0rY8XxtO9XukdTn8TaCGWmk2VFGhI70mg== - -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== +"@types/json-schema@^7.0.5": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/node@*": + version "16.7.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz#c6b9198178da504dfca1fd0be9b2e1002f1586f0" + integrity sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A== + +"@types/node@^14.14.41": + version "14.17.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.11.tgz#82d266d657aec5ff01ca59f2ffaff1bb43f7bf0f" + integrity sha512-n2OQ+0Bz6WEsUjrvcHD1xZ8K+Kgo4cn9/w94s1bJS690QMUWfJPW/m7CCb7gPkA1fcYwL2UpjXP/rq/Eo41m6w== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/vinyl@^2.0.4": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/vinyl/-/vinyl-2.0.5.tgz#52d3b850a4ed494aaad51e96708834c500c8d5cd" + integrity sha512-1m6uReH8R/RuLVQGvTT/4LlWq67jZEUxp+FBHt0hYv2BT7TUwFbKI0wa7JZVEU/XtlcnX1QcTuZ36es4rGj7jg== + dependencies: + "@types/expect" "^1.20.4" + "@types/node" "*" + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -1060,14 +1322,14 @@ acorn-jsx@^3.0.0: acorn "^3.0.4" acorn-jsx@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@5.X, acorn@^5.0.3, acorn@^5.5.0: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + version "5.7.4" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== acorn@^2.1.0, acorn@^2.4.0: version "2.7.0" @@ -1079,10 +1341,15 @@ acorn@^3.0.4: resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= -acorn@^6.0.7, acorn@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51" - integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q== +acorn@^6.0.7, acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== after@0.8.2: version "0.8.2" @@ -1106,10 +1373,10 @@ ajv-keywords@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw= -ajv-keywords@^3.1.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== ajv@^4.7.0: version "4.11.8" @@ -1119,12 +1386,12 @@ ajv@^4.7.0: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== +ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.9.1: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: - fast-deep-equal "^2.0.1" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" @@ -1134,12 +1401,12 @@ amdefine@>=0.0.4: resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" + integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== dependencies: - string-width "^2.0.0" + string-width "^3.0.0" ansi-colors@^1.0.1: version "1.1.0" @@ -1211,12 +1478,11 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== +ansi-styles@^4.0.0, ansi-styles@^4.1.0, ansi-styles@^4.2.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" ansi-styles@~1.0.0: @@ -1237,6 +1503,14 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + append-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" @@ -1292,13 +1566,6 @@ arr-diff@^1.0.1: arr-flatten "^1.0.1" array-slice "^0.2.3" -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= - dependencies: - arr-flatten "^1.0.1" - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -1347,10 +1614,10 @@ array-back@^2.0.0: dependencies: typical "^2.6.1" -array-back@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" - integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== +array-back@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== array-differ@^1.0.0: version "1.0.0" @@ -1458,14 +1725,15 @@ asap@^2.0.3: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" asn1@~0.2.3: version "0.2.4" @@ -1528,9 +1796,9 @@ async-foreach@^0.1.3: integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== async-settle@^1.0.0: version "1.0.0" @@ -1554,23 +1822,23 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob@^2.1.1: +atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.4.5: - version "9.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" - integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== + version "9.8.6" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" + integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== dependencies: - browserslist "^4.6.3" - caniuse-lite "^1.0.30000980" - chalk "^2.4.2" + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.17" - postcss-value-parser "^4.0.0" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" aws-sign2@~0.7.0: version "0.7.0" @@ -1578,35 +1846,58 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axios@0.19.0: - version "0.19.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.0.tgz#8e09bff3d9122e133f7b8101c8fbdd00ed3d2ab8" - integrity sha512-1uvKqKQta3KBxIz14F2v06AEHZ/dIoeKfbTRkK1E5oqjDnuEerLmYTgJB5AiQZHJcljpg1TuRzdjDR06qNk0DQ== +axios@0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== dependencies: - follow-redirects "1.5.10" - is-buffer "^2.0.2" + follow-redirects "^1.10.0" babel-loader@^8.0.5: - version "8.0.6" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" - integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== + version "8.2.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - pify "^4.0.1" + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz#68cb81316b0e8d9d721a92e0009ec6ecd4cd2ca9" + integrity sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.14.0" + +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + babel-polyfill@6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" @@ -1645,24 +1936,24 @@ backo2@1.0.2: integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= +base64-arraybuffer@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812" + integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= base64-js@^1.0.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" - integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base64id@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" - integrity sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY= +base64id@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" + integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== base@^0.11.1: version "0.11.2" @@ -1694,7 +1985,7 @@ beeper@^1.0.0: resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak= -better-assert@^1.0.1, better-assert@~1.0.0: +better-assert@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" integrity sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI= @@ -1711,10 +2002,22 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -binaryextensions@2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c" - integrity sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg== +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +binaryextensions@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" + integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" blob@0.0.5: version "0.0.5" @@ -1728,33 +2031,39 @@ block-stream@*: dependencies: inherits "~2.0.0" -bluebird@^3.5.4, bluebird@^3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== +bluebird@^3.5.5, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -boolbase@~1.0.0: +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== +boxen@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" + integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" + ansi-align "^3.0.0" + camelcase "^5.3.1" + chalk "^3.0.0" + cli-boxes "^2.2.0" + string-width "^4.1.0" + term-size "^2.1.0" + type-fest "^0.8.1" + widest-line "^3.1.0" brace-expansion@^1.1.7: version "1.1.11" @@ -1764,15 +2073,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -1789,7 +2089,14 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -brorand@^1.0.1: +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= @@ -1799,50 +2106,50 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browser-sync-client@^2.26.6: - version "2.26.6" - resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.26.6.tgz#e5201d3ace8aee88af17656b7b0c0620b6f8e4ab" - integrity sha512-mGrkZdNzttKdf/16I+y+2dTQxoMCIpKbVIMJ/uP8ZpnKu9f9qa/2CYVtLtbjZG8nsM14EwiCrjuFTGBEnT3Gjw== +browser-sync-client@^2.27.5: + version "2.27.5" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.27.5.tgz#acca1d8d3cf2a212e22e50119c97947772b79ef7" + integrity sha512-l2jtf60/exv0fQiZkhi3z8RgexYYLGS7DVDnyepkrp+oFAPlKW69daL6NrVSgrwu6lzSTCCTAiPXnUSrQ57e/Q== dependencies: etag "1.8.1" fresh "0.5.2" mitt "^1.1.3" rxjs "^5.5.6" -browser-sync-ui@^2.26.4: - version "2.26.4" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.26.4.tgz#3772f13c6b93f2d7d333f4be0ca1ec02aae97dba" - integrity sha512-u20P3EsZoM8Pt+puoi3BU3KlbQAH1lAcV+/O4saF26qokrBqIDotmGonfWwoRbUmdxZkM9MBmA0K39ZTG1h4sA== +browser-sync-ui@^2.27.5: + version "2.27.5" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-2.27.5.tgz#fe016377edaff7d4a9cb1e8a449cc0807e814884" + integrity sha512-KxBJhQ6XNbQ8w8UlkPa9/J5R0nBHgHuJUtDpEXQx1jBapDy32WGzD0NENDozP4zGNvJUgZk3N80hqB7YCieC3g== dependencies: async-each-series "0.1.1" connect-history-api-fallback "^1" immutable "^3" server-destroy "1.0.1" - socket.io-client "^2.0.4" + socket.io-client "^2.4.0" stream-throttle "^0.1.3" browser-sync@^2.18.12: - version "2.26.7" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.26.7.tgz#120287716eb405651a76cc74fe851c31350557f9" - integrity sha512-lY3emme0OyvA2ujEMpRmyRy9LY6gHLuTr2/ABxhIm3lADOiRXzP4dgekvnDrQqZ/Ec2Fz19lEjm6kglSG5766w== + version "2.27.5" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.27.5.tgz#9e547645b045f8780d775dc2cc5409357bec6c08" + integrity sha512-0GMEPDqccbTxwYOUGCk5AZloDj9I/1eDZCLXUKXu7iBJPznGGOnMHs88mrhaFL0fTA0R23EmsXX9nLZP+k5YzA== dependencies: - browser-sync-client "^2.26.6" - browser-sync-ui "^2.26.4" + browser-sync-client "^2.27.5" + browser-sync-ui "^2.27.5" bs-recipes "1.3.4" bs-snippet-injector "^2.0.1" - chokidar "^2.0.4" + chokidar "^3.5.1" connect "3.6.6" connect-history-api-fallback "^1" dev-ip "^1.0.1" easy-extender "^2.3.4" - eazy-logger "^3" + eazy-logger "3.1.0" etag "^1.8.1" fresh "^0.5.2" fs-extra "3.0.1" - http-proxy "1.15.2" + http-proxy "^1.18.1" immutable "^3" - localtunnel "1.9.2" - micromatch "^3.1.10" + localtunnel "^2.0.1" + micromatch "^4.0.2" opn "5.3.0" portscanner "2.1.1" qs "6.2.3" @@ -1853,9 +2160,9 @@ browser-sync@^2.18.12: serve-index "1.9.1" serve-static "1.13.2" server-destroy "1.0.1" - socket.io "2.1.1" - ua-parser-js "0.7.17" - yargs "6.4.0" + socket.io "2.4.0" + ua-parser-js "^0.7.28" + yargs "^15.4.1" browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" @@ -1888,26 +2195,28 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" browserify-zlib@^0.2.0: version "0.2.0" @@ -1924,19 +2233,21 @@ browserslist@^3.2.1: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" -browserslist@^4.6.0, browserslist@^4.6.2, browserslist@^4.6.3: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== +browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.16.7: + version "4.16.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" + integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" + caniuse-lite "^1.0.30001251" + colorette "^1.3.0" + electron-to-chromium "^1.3.811" + escalade "^3.1.1" + node-releases "^1.1.75" browserstack-runner@^0.9.0: - version "0.9.2" - resolved "https://registry.yarnpkg.com/browserstack-runner/-/browserstack-runner-0.9.2.tgz#acacec46a2373a7b0d833c76e5a1503bc0f90901" - integrity sha512-WxosmjgBxbfsI1vxXA6yTX2Qa/FCQKoz7HSpNytU7GgTWv6O4ED/syLsU7CsdHqaobTOj0XGncbHlgYzSzQvbg== + version "0.9.4" + resolved "https://registry.yarnpkg.com/browserstack-runner/-/browserstack-runner-0.9.4.tgz#f9c167f69f79a96abc9320e6f34b697f4d26d13a" + integrity sha512-M588zrfpd8nIGG0GBpgi5bcNxKNs4+Essnhcebl0Hm68t8cx5wLcnr23M7DFFAjGABc6D8BfrnKKdhpfrHHjBg== dependencies: browserstack "1.3.0" chalk "0.4.0" @@ -1974,9 +2285,9 @@ buffer-equal@^1.0.0: integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-xor@^1.0.3: version "1.0.3" @@ -1984,9 +2295,9 @@ buffer-xor@^1.0.3: integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== dependencies: base64-js "^1.0.2" ieee754 "^1.1.4" @@ -2002,16 +2313,17 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== -cacache@^11.3.2: - version "11.3.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" - integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== dependencies: bluebird "^3.5.5" chownr "^1.1.1" figgy-pudding "^3.5.1" glob "^7.1.4" graceful-fs "^4.1.15" + infer-owner "^1.0.3" lru-cache "^5.1.1" mississippi "^3.0.0" mkdirp "^0.5.1" @@ -2037,14 +2349,27 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cache-point@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-0.4.1.tgz#cc8c9cbd99d90d7b0c66910cd33d77a1aab8840e" - integrity sha512-4TgWfe9SF+bUy5cCql8gWHqKNrviufNwSYxLjf2utB0pY4+bdcuFwMmY1hDB+67Gz/L1vmhFNhePAjJTFBtV+Q== +cache-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-1.0.0.tgz#3d9769fc04d7a5b3005fc6258e6ebcaccb5f15f3" + integrity sha512-ZqrZp9Hi5Uq7vfSGmNP2bUT/9DzZC2Y/GXjHB8rUJN1a+KLmbV05+vxHipNsg8+CSVgjcVVzLV8VZms6w8ZeRw== dependencies: - array-back "^2.0.0" + array-back "^4.0.0" fs-then-native "^2.0.0" - mkdirp2 "^1.0.3" + mkdirp2 "^1.0.4" + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" cachebust@2.4.1: version "2.4.1" @@ -2054,6 +2379,14 @@ cachebust@2.4.1: cheerio "^0.22.0" md5 "^2.0.0" +call-bind@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -2120,12 +2453,21 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + camelcase@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== -camelcase@^2.0.0, camelcase@^2.0.1: +camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= @@ -2135,42 +2477,37 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= -camelcase@^4.0.0, camelcase@^4.1.0: +camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.0.0: +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30000819, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: - version "1.0.30000985" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000985.tgz#0eb40f6c8a8c219155cbe43c4975c0efb4a0f77f" - integrity sha512-1ngiwkgqAYPG0JSSUp3PUDGPKKY59EK7NrGGX+VOxaKCNzRbNc7uXMny+c3VJfZxtoK3wSImTvG9T9sXiTw2+w== +caniuse-lite@^1.0.30000819, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001251: + version "1.0.30001251" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz#6853a606ec50893115db660f82c094d18f096d85" + integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A== capitalize@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capitalize/-/capitalize-1.0.0.tgz#dc802c580aee101929020d2ca14b4ca8a0ae44be" integrity sha1-3IAsWAruEBkpAg0soUtMqKCuRL4= -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -catharsis@^0.8.11: - version "0.8.11" - resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.8.11.tgz#d0eb3d2b82b7da7a3ce2efb1a7b00becc6643468" - integrity sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g== +catharsis@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.9.0.tgz#40382a168be0e6da308c277d3a2b3eb40c7d2121" + integrity sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A== dependencies: - lodash "^4.17.14" + lodash "^4.17.15" cdocparser@^0.13.0: version "0.13.0" @@ -2187,15 +2524,15 @@ chai-jquery@^2.1.0: integrity sha512-DiKSXcmInlt4d+WC5PkisDL5MsgJPd1lCSfZ3NgeSZJ34CJntEIpPOCdpalH2IhOWHeLpESJaiuHFxX1dpZ6bw== chai@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + version "4.3.4" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" + integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== dependencies: assertion-error "^1.1.0" check-error "^1.0.2" deep-eql "^3.0.1" get-func-name "^2.0.0" - pathval "^1.1.0" + pathval "^1.1.1" type-detect "^4.0.5" chalk@0.4.0: @@ -2207,15 +2544,6 @@ chalk@0.4.0: has-color "~0.1.0" strip-ansi "~0.1.0" -chalk@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" - integrity sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g== - dependencies: - ansi-styles "^3.2.0" - escape-string-regexp "^1.0.5" - supports-color "^5.2.0" - chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2236,6 +2564,14 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -2246,7 +2582,7 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -charenc@~0.0.1: +charenc@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc= @@ -2269,6 +2605,17 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= +cheerio-select@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823" + integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg== + dependencies: + css-select "^4.1.3" + css-what "^5.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils "^2.7.0" + cheerio@^0.20.0: version "0.20.0" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.20.0.tgz#5c710f2bab95653272842ba01c6ea61b3545ec35" @@ -2305,21 +2652,22 @@ cheerio@^0.22.0: lodash.some "^4.4.0" cheerio@^1.0.0-rc.2: - version "1.0.0-rc.3" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" - integrity sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA== - dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.1" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash "^4.15.0" - parse5 "^3.0.1" - -chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: - version "2.1.6" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" - integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== + version "1.0.0-rc.10" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e" + integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== + dependencies: + cheerio-select "^1.5.0" + dom-serializer "^1.3.2" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" + +chokidar@^2.0.0, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== dependencies: anymatch "^2.0.0" async-each "^1.0.1" @@ -2335,32 +2683,35 @@ chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.4: optionalDependencies: fsevents "^1.2.7" -chownr@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" - integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== +chokidar@^3.4.1, chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" chownr@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== chroma-js@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-1.4.1.tgz#eb2d9c4d1ff24616be84b35119f4d26f8205f134" integrity sha512-jTwQiT859RTFN/vIf7s+Vl/Z2LcMrvMv3WUFmd/4u76AdlFC0NTNgqEEFPcRiHmAswPsMiQEDZLM8vX8qXpZNQ== -chrome-trace-event@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^2.0.0: version "2.0.0" @@ -2375,11 +2726,16 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" -circular-json@0.3.1, circular-json@^0.3.1: +circular-json@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" integrity sha1-vos2rvzN6LPKeqLWr8B6NyQsDS0= +circular-json@^0.3.1: + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -2390,17 +2746,17 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@4.2.1, clean-css@4.2.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17" - integrity sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== +clean-css@4.2.3, clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== dependencies: source-map "~0.6.0" -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= +cli-boxes@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-cursor@^1.0.1: version "1.0.2" @@ -2417,27 +2773,27 @@ cli-cursor@^2.1.0: restore-cursor "^2.0.0" cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= + version "0.3.6" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.6.tgz#e9d6aa859c7fe636981fd3787378c2a20bce92fc" + integrity sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ== dependencies: colors "1.0.3" cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== clipboard@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d" - integrity sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ== + version "2.0.8" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" + integrity sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ== dependencies: good-listener "^1.2.2" select "^1.1.2" tiny-emitter "^2.0.0" -cliui@^3.0.3, cliui@^3.2.0: +cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= @@ -2464,11 +2820,27 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + clone-stats@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" @@ -2514,9 +2886,9 @@ code-point-at@^1.0.0: integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= collect-all@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.3.tgz#1abcc20448b58a1447487fcf34130e9512b0acf8" - integrity sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.4.tgz#50cd7119ac24b8e12a661f0f8c3aa0ea7222ddfc" + integrity sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA== dependencies: stream-connect "^1.0.2" stream-via "^1.0.4" @@ -2567,15 +2939,20 @@ color-support@^1.1.3: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== +colorette@^1.2.1, colorette@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" + integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== + colors@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= colors@^1.1.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" - integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" @@ -2594,10 +2971,15 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.19.0, commander@^2.2.0, commander@^2.20.0, commander@^2.8.1, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== +commander@^2.19.0, commander@^2.2.0, commander@^2.20.0, commander@^2.8.1: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@~2.19.0: version "2.19.0" @@ -2610,9 +2992,9 @@ commondir@^1.0.1: integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= compare-func@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" - integrity sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg= + version "1.3.4" + resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.4.tgz#6b07c4c5e8341119baf44578085bda0f4a823516" + integrity sha512-sq2sWtrqKPkEXAC8tEJA1+BqAH9GbFkGBtUOqrUX57VSfwp8xyktctk+uLoRy5eccTdxzDcVIztlYDpKs3Jv1Q== dependencies: array-ify "^1.0.0" dot-prop "^3.0.0" @@ -2627,7 +3009,7 @@ component-emitter@1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= -component-emitter@^1.2.1: +component-emitter@^1.2.1, component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== @@ -2642,7 +3024,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@1.6.2, concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.6.0, concat-stream@^1.6.2: +concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.6.0, concat-stream@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -2652,6 +3034,16 @@ concat-stream@1.6.2, concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^ readable-stream "^2.2.2" typedarray "^0.0.6" +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + concat-with-sourcemaps@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" @@ -2660,24 +3052,24 @@ concat-with-sourcemaps@^1.0.0: source-map "^0.6.1" config-chain@^1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== dependencies: ini "^1.3.4" proto-list "~1.2.1" -configstore@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: - dot-prop "^4.1.0" + dot-prop "^5.2.0" graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" connect-history-api-fallback@^1: version "1.6.0" @@ -2695,11 +3087,9 @@ connect@3.6.6: utils-merge "1.0.1" console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" @@ -2720,34 +3110,34 @@ conventional-changelog-angular@^1.3.3: q "^1.5.1" conventional-commit-types@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.1.1.tgz#352eb53f56fbc7c1a6c1ba059c2b6670c90b2a8a" - integrity sha512-0Ts+fEdmjqYDOQ1yZ+LNgdSPO335XZw9qC10M7CxtLP3nIMGmeMhmkM8Taffa4+MXN13bRPlp0CtH+QfOzKTzw== + version "2.3.0" + resolved "https://registry.yarnpkg.com/conventional-commit-types/-/conventional-commit-types-2.3.0.tgz#bc3c8ebba0a9e4b3ecc548f1d0674e251ab8be22" + integrity sha512-6iB39PrcGYdz0n3z31kj6/Km6mK9hm9oMRhwcLnKxE7WNoeRKZbTAobliKrbYZ5jqyCvtcVEfjCiaEzhL3AVmQ== -conventional-commits-parser@^2.1.0: - version "2.1.7" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz#eca45ed6140d72ba9722ee4132674d639e644e8e" - integrity sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ== +conventional-commits-parser@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.1.tgz#ba44f0b3b6588da2ee9fd8da508ebff50d116ce2" + integrity sha512-OG9kQtmMZBJD/32NEw5IhN5+HnBqVjy03eC+I71I0oQRFA5rOgA4OtPOYG7mz1GkCfCNxn3gKIX8EiHJYuf1cA== dependencies: JSONStream "^1.0.4" - is-text-path "^1.0.0" - lodash "^4.2.1" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" + is-text-path "^1.0.1" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" trim-off-newlines "^1.0.0" -convert-source-map@1.X, convert-source-map@^1.1.0, convert-source-map@^1.1.1, convert-source-map@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== +convert-source-map@1.X, convert-source-map@^1.5.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s= +cookie@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" + integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== copy-concurrently@^1.0.0: version "1.0.5" @@ -2767,31 +3157,25 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= copy-props@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" - integrity sha512-7cjuUME+p+S3HZlbllgsn2CDwS+5eCCX16qBgNC4jgSTf49qR1VKy/Zhl400m0IQXl/bPGEVqncgUUMjrr4s8A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.5.tgz#03cf9ae328d4ebb36f8f1d804448a6af9ee3f2d2" + integrity sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw== dependencies: - each-props "^1.3.0" - is-plain-object "^2.0.1" + each-props "^1.3.2" + is-plain-object "^5.0.0" -core-js-compat@^3.1.1: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.1.4.tgz#e4d0c40fbd01e65b1d457980fe4112d4358a7408" - integrity sha512-Z5zbO9f1d0YrJdoaQhphVAnKPimX92D6z8lCGphH89MNRxlL1prI9ExJPqVwP0/kgkQCv8c4GJGT8X16yUncOg== +core-js-compat@^3.14.0, core-js-compat@^3.16.0: + version "3.16.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.16.2.tgz#442ef1d933ca6fc80859bd5a1db7a3ba716aaf56" + integrity sha512-4lUshXtBXsdmp8cDWh6KKiHUg40AjiuPD3bOWkNVsr1xkAhpUqCjaZ8lB1bKx9Gb5fXcbRbFJ4f4qpRIRTuJqQ== dependencies: - browserslist "^4.6.2" - core-js-pure "3.1.4" - semver "^6.1.1" - -core-js-pure@3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.1.4.tgz#5fa17dc77002a169a3566cc48dc774d2e13e3769" - integrity sha512-uJ4Z7iPNwiu1foygbcZYJsJs1jiXrTTCvxfLDXNhI/I+NHbSIEyr548y4fcsCEyWY0XgfAG/qqaunJ1SThHenA== + browserslist "^4.16.7" + semver "7.0.0" core-js@^2.4.0, core-js@^2.5.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -2799,9 +3183,9 @@ core-util-is@1.0.2, core-util-is@~1.0.0: integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= corejs-typeahead@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/corejs-typeahead/-/corejs-typeahead-1.2.1.tgz#345a8afe664cc494075b59b64777807f0b3f132b" - integrity sha1-NFqK/mZMxJQHW1m2R3eAfws/Eys= + version "1.3.1" + resolved "https://registry.yarnpkg.com/corejs-typeahead/-/corejs-typeahead-1.3.1.tgz#26b9b158cba7f123556c74068bffce9356505bd3" + integrity sha512-fyNlBNWJNL6EQUnJyAunEzBzRcwR2cEHtZXBi2pndHPOJ/wpOf3wbS+/Oh+kYYS5sKowQcs0LFwMSl6Y2Xeqkw== dependencies: jquery ">=1.11" @@ -2816,21 +3200,14 @@ cosmiconfig@^5.0.0, cosmiconfig@^5.0.7, cosmiconfig@^5.2.0: parse-json "^4.0.0" create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== @@ -2841,7 +3218,7 @@ create-hash@^1.1.0, create-hash@^1.1.2: ripemd160 "^2.0.1" sha.js "^2.4.0" -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== @@ -2897,7 +3274,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -crypt@~0.0.1: +crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs= @@ -2919,10 +3296,10 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== css-rule-stream@^1.1.0: version "1.1.0" @@ -2934,6 +3311,17 @@ css-rule-stream@^1.1.0: ldjson-stream "^1.2.1" through2 "^0.6.3" +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + css-select@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" @@ -2945,9 +3333,9 @@ css-select@~1.2.0: nth-check "~1.0.1" css-selector-parser@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb" - integrity sha1-XxrUPi2O77/cME/NOaUhZklD4+s= + version "1.4.1" + resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.4.1.tgz#03f9cb8a81c3e5ab2c51684557d5aaf6d2569759" + integrity sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g== css-tokenize@^1.0.1: version "1.0.1" @@ -2962,6 +3350,11 @@ css-what@2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== +css-what@^5.0.0, css-what@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + css@2.X, css@^2.2.1: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -2991,10 +3384,10 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= cz-conventional-changelog@^2.1.0: version "2.1.0" @@ -3007,7 +3400,7 @@ cz-conventional-changelog@^2.1.0: right-pad "^1.0.1" word-wrap "^1.0.3" -d@1: +d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== @@ -3015,13 +3408,18 @@ d@1: es5-ext "^0.10.50" type "^1.0.1" -dargs@^4.0.0, dargs@^4.0.1: +dargs@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc= dependencies: number-is-nan "^1.0.0" +dargs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" + integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -3029,11 +3427,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - dateformat@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" @@ -3048,35 +3441,49 @@ debug-fabulous@1.X: memoizee "0.4.X" object-assign "4.X" -debug@2.6.9, debug@^2.1.1, debug@^2.2.0, debug@^2.3.3: +debug@2.6.9, debug@^2.1.1, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@3.1.0, debug@=3.1.0, debug@~3.1.0: +debug@3.1.0, debug@~3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== dependencies: ms "2.0.0" -debug@3.X, debug@^3.1.0, debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== +debug@3.X, debug@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@4.1.1, debug@^4.0.1, debug@^4.1.0: +debug@4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" -decamelize-keys@^1.0.0: +decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= @@ -3094,6 +3501,13 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + deep-eql@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" @@ -3111,7 +3525,7 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@^1.3.2: +deepmerge@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== @@ -3128,7 +3542,12 @@ default-resolution@^2.0.0: resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" integrity sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ= -define-properties@^1.1.2: +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -3178,9 +3597,9 @@ depd@~1.1.2: integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" @@ -3195,11 +3614,6 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - detect-newline@2.X: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -3224,6 +3638,11 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + docopt@^0.6.1: version "0.6.2" resolved "https://registry.yarnpkg.com/docopt/-/docopt-0.6.2.tgz#b28e9e2220da5ec49f7ea5bb24a47787405eeb11" @@ -3262,7 +3681,24 @@ doiuse@~4.1.0: through2 "^0.6.3" yargs "^8.0.1" -dom-serializer@0, dom-serializer@~0.1.0, dom-serializer@~0.1.1: +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1, dom-serializer@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== @@ -3280,6 +3716,11 @@ domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domhandler@2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738" @@ -3294,6 +3735,13 @@ domhandler@^2.3.0: dependencies: domelementtype "1" +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + dependencies: + domelementtype "^2.2.0" + domutils@1.5, domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" @@ -3310,6 +3758,15 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" +domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442" + integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-prop@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" @@ -3317,12 +3774,12 @@ dot-prop@^3.0.0: dependencies: is-obj "^1.0.0" -dot-prop@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: - is-obj "^1.0.0" + is-obj "^2.0.0" duplexer2@0.0.2: version "0.0.2" @@ -3344,11 +3801,11 @@ duplexer3@^0.1.4: integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= duplexer@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^3.2.0, duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: +duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== @@ -3358,7 +3815,7 @@ duplexify@^3.2.0, duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -each-props@^1.3.0: +each-props@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" integrity sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA== @@ -3373,12 +3830,12 @@ easy-extender@^2.3.4: dependencies: lodash "^4.17.10" -eazy-logger@^3: - version "3.0.2" - resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc" - integrity sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw= +eazy-logger@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.1.0.tgz#b169eb56df714608fa114f164c8a2956bec9f0f3" + integrity sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ== dependencies: - tfunk "^3.0.1" + tfunk "^4.0.0" ecc-jsbn@~0.1.1: version "0.1.2" @@ -3388,11 +3845,6 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -editions@^1.3.3: - version "1.3.4" - resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b" - integrity sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg== - editorconfig@^0.15.3: version "0.15.3" resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" @@ -3408,23 +3860,23 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.47: - version "1.3.200" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.200.tgz#78fb858b466269e8eb46d31a52562f00c865127f" - integrity sha512-PUurrpyDA74MuAjJRD+79ss5BqJlU3mdArRbuu4wO/dt6jc3Ic/6BDmFJxkdwbfq39cHf/XKm2vW98XSvut9Dg== +electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.811: + version "1.3.816" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.816.tgz#ab6488b126de92670a6459fe3e746050e0c6276f" + integrity sha512-/AvJPIJldO0NkwkfpUD7u1e4YEGRFBQpFuvl9oGCcVgWOObsZB1loxVGeVUJB9kmvfsBUUChPYdgRzx6+AKNyg== -elliptic@^6.0.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" - integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emoji-regex@^7.0.1: version "7.0.3" @@ -3436,10 +3888,10 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" @@ -3447,9 +3899,9 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" @@ -3458,70 +3910,53 @@ ends-with@^0.2.0: resolved "https://registry.yarnpkg.com/ends-with/-/ends-with-0.2.0.tgz#2f9da98d57a50cfda4571ce4339000500f4e6b8a" integrity sha1-L52pjVelDP2kVxzkM5AAUA9Oa4o= -engine.io-client@~3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36" - integrity sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw== - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "~3.1.0" - engine.io-parser "~2.1.1" - has-cors "1.1.0" - indexof "0.0.1" - parseqs "0.0.5" - parseuri "0.0.5" - ws "~3.3.1" - xmlhttprequest-ssl "~1.5.4" - yeast "0.1.2" - -engine.io-client@~3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.2.tgz#04e068798d75beda14375a264bb3d742d7bc33aa" - integrity sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ== +engine.io-client@~3.5.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.2.tgz#0ef473621294004e9ceebe73cef0af9e36f2f5fa" + integrity sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA== dependencies: - component-emitter "1.2.1" + component-emitter "~1.3.0" component-inherit "0.0.3" debug "~3.1.0" - engine.io-parser "~2.1.1" + engine.io-parser "~2.2.0" has-cors "1.1.0" indexof "0.0.1" - parseqs "0.0.5" - parseuri "0.0.5" - ws "~6.1.0" - xmlhttprequest-ssl "~1.5.4" + parseqs "0.0.6" + parseuri "0.0.6" + ws "~7.4.2" + xmlhttprequest-ssl "~1.6.2" yeast "0.1.2" -engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.3.tgz#757ab970fbf2dfb32c7b74b033216d5739ef79a6" - integrity sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA== +engine.io-parser@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7" + integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg== dependencies: after "0.8.2" arraybuffer.slice "~0.0.7" - base64-arraybuffer "0.1.5" + base64-arraybuffer "0.1.4" blob "0.0.5" has-binary2 "~1.0.2" -engine.io@~3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.1.tgz#b60281c35484a70ee0351ea0ebff83ec8c9522a2" - integrity sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w== +engine.io@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b" + integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA== dependencies: accepts "~1.3.4" - base64id "1.0.0" - cookie "0.3.1" - debug "~3.1.0" - engine.io-parser "~2.1.0" - ws "~3.3.1" + base64id "2.0.0" + cookie "~0.4.1" + debug "~4.1.0" + engine.io-parser "~2.2.0" + ws "~7.4.2" -enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== +enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== dependencies: graceful-fs "^4.1.2" - memory-fs "^0.4.0" + memory-fs "^0.5.0" tapable "^1.0.0" entities@1.0: @@ -3534,10 +3969,20 @@ entities@^1.1.1, entities@~1.1.1: resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" @@ -3548,14 +3993,14 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.50" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" - integrity sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw== +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== dependencies: es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "^1.0.0" + es6-symbol "~3.1.3" + next-tick "~1.0.0" es6-denodeify@^0.1.0: version "0.1.5" @@ -3611,7 +4056,7 @@ es6-set@~0.1.5: es6-symbol "3.1.1" event-emitter "~0.3.5" -es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: +es6-symbol@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= @@ -3619,7 +4064,15 @@ es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: d "1" es5-ext "~0.10.14" -es6-weak-map@^2.0.1, es6-weak-map@^2.0.2: +es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.1, es6-weak-map@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== @@ -3629,6 +4082,16 @@ es6-weak-map@^2.0.1, es6-weak-map@^2.0.2: es6-iterator "^2.0.3" es6-symbol "^3.1.1" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -3645,11 +4108,11 @@ escape-string-regexp@^2.0.0: integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escodegen@^1.6.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.1.tgz#c485ff8d6b4cdb89e27f4a856e91f118401ca510" - integrity sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw== + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== dependencies: - esprima "^3.1.3" + esprima "^4.0.1" estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" @@ -3666,7 +4129,7 @@ escope@^3.6.0: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^4.0.0, eslint-scope@^4.0.3: +eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== @@ -3675,16 +4138,16 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3: estraverse "^4.1.1" eslint-utils@^1.3.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" - integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== dependencies: - eslint-visitor-keys "^1.0.0" + eslint-visitor-keys "^1.1.0" -eslint-visitor-keys@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint@^2.7.0: version "2.13.1" @@ -3784,34 +4247,34 @@ espree@^5.0.1: acorn-jsx "^5.0.0" eslint-visitor-keys "^1.0.0" -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: - estraverse "^4.0.0" + estraverse "^5.1.0" esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: - estraverse "^4.1.0" + estraverse "^5.2.0" -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== estree-walker@^0.6.1: version "0.6.1" @@ -3819,9 +4282,9 @@ estree-walker@^0.6.1: integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== etag@1.8.1, etag@^1.8.1, etag@~1.8.1: version "1.8.1" @@ -3862,15 +4325,15 @@ event-stream@~3.1.5: stream-combiner "~0.0.4" through "~2.3.1" -eventemitter3@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" - integrity sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg= +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -3911,13 +4374,6 @@ exit-hook@^1.0.0: resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= - dependencies: - is-posix-bracket "^0.1.0" - expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -3931,13 +4387,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= - dependencies: - fill-range "^2.1.0" - expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -3945,6 +4394,13 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" +ext@^1.1.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.5.0.tgz#e93b97ae0cb23f8370380f6107d2d2b7887687ad" + integrity sha512-+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q== + dependencies: + type "^2.5.0" + extend-shallow@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" @@ -3967,11 +4423,6 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@2.*: - version "2.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-2.0.2.tgz#1b74985400171b85554894459c978de6ef453ab7" - integrity sha512-AgFD4VU+lVLP6vjnlNfF7OeInLTyeyckCNPEsuxz1vi786UuK/nk6ynPuhn/h+Ju9++TQyr5EpLRI14fc1QtTQ== - extend@^3.0.0, extend@^3.0.2, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -3995,13 +4446,6 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= - dependencies: - is-extglob "^1.0.0" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -4017,29 +4461,26 @@ extglob@^2.0.4: to-regex "^3.0.1" extract-zip@^1.6.6: - version "1.6.7" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" - integrity sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= + version "1.7.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== dependencies: - concat-stream "1.6.2" - debug "2.6.9" - mkdirp "0.5.1" - yauzl "2.4.1" + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" -extsprintf@1.3.0, extsprintf@^1.2.0: +extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= -fancy-log@^1.1.0, fancy-log@^1.2.0, fancy-log@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" - dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - time-stamp "^1.0.0" +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fancy-log@^1.3.3: +fancy-log@^1.1.0, fancy-log@^1.2.0, fancy-log@^1.3.2, fancy-log@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== @@ -4049,32 +4490,37 @@ fancy-log@^1.3.3: parse-node-version "^1.0.0" time-stamp "^1.0.0" -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.4: +fast-levenshtein@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz#e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9" + integrity sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk= + +fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= dependencies: pend "~1.2.0" figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== figures@^1.3.5: version "1.7.0" @@ -4114,21 +4560,10 @@ file-set@^2.0.1: array-back "^2.0.0" glob "^7.1.3" -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= - -fill-range@^2.1.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" - integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^3.0.0" - repeat-element "^1.1.2" - repeat-string "^1.5.2" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== fill-range@^4.0.0: version "4.0.0" @@ -4140,6 +4575,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + finalhandler@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" @@ -4153,7 +4595,7 @@ finalhandler@1.1.0: statuses "~1.3.1" unpipe "~1.0.0" -find-cache-dir@^2.0.0: +find-cache-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -4162,6 +4604,15 @@ find-cache-dir@^2.0.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + find-index@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" @@ -4197,13 +4648,12 @@ find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-yarn-workspace-root@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" - integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: - fs-extra "^4.0.3" - micromatch "^3.1.4" + micromatch "^4.0.2" findup-sync@^2.0.0: version "2.0.0" @@ -4236,11 +4686,6 @@ fined@^1.0.1: object.pick "^1.2.0" parse-filepath "^1.0.1" -first-chunk-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" - integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04= - flagged-respawn@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" @@ -4266,9 +4711,9 @@ flat-cache@^2.0.1: write "1.0.3" flatted@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" - integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: version "1.1.1" @@ -4278,25 +4723,16 @@ flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== - dependencies: - debug "=3.1.0" +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.2.tgz#cecb825047c00f5e66b142f90fed4f515dec789b" + integrity sha512-yLR6WaE2lbF0x4K2qE2p9PEXKLDjUjnR/xmjS3wHAYxtlsI9MLLBJUZirAHKzUZDGLxje7w/cXR49WOUo4rbsA== for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - for-own@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" @@ -4324,18 +4760,18 @@ form-data@~2.3.2: mime-types "^2.1.12" "foundation-docs@github:foundation/foundation-docs": - version "0.2.2" - resolved "https://codeload.github.com/foundation/foundation-docs/tar.gz/b951a97bb0e5ee94d74050590aa179bf15181a4b" + version "0.3.2" + resolved "https://codeload.github.com/foundation/foundation-docs/tar.gz/a6d6a9eae51f0b0f61b1c8b4c29e2e7a5b30b883" dependencies: cheerio "^1.0.0-rc.2" handlebars "^4.5.3" highlight.js "^9.16.2" - inky "^1.2.6" - js-beautify "^1.6.2" + inky "^1.4.1" + js-beautify "^1.11.0" kebab-case "^1.0.0" lodash "^4.17.15" lodash.template "^4.5.0" - marked "^0.6.1" + marked "^1.1.1" mkdirp "^0.5.1" multiline "^1.0.2" querystring "^0.2.0" @@ -4344,9 +4780,9 @@ form-data@~2.3.2: strip-indent "^2.0.0" foundation-emails@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/foundation-emails/-/foundation-emails-2.2.1.tgz#1f3442762395d063d5a62d790740b2433aab1747" - integrity sha1-HzRCdiOV0GPVpi15B0CyQzqrF0c= + version "2.3.1" + resolved "https://registry.yarnpkg.com/foundation-emails/-/foundation-emails-2.3.1.tgz#80d77707d825966cbbe8111ddb4c790976555ff9" + integrity sha512-omqS9jEaM4mehUMPDGnp9BmzZ+vWBpkt/cgvTHCNu1w5JWtvaBQop+Ds7c6Gmt77hUIvmo78Oi5N4u2x7K0Utw== fragment-cache@^0.2.1: version "0.2.1" @@ -4373,7 +4809,7 @@ from@~0: resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= -front-matter@2.1.2, front-matter@^2.0.5: +front-matter@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-2.1.2.tgz#f75983b9f2f413be658c93dfd7bd8ce4078f5cdb" integrity sha1-91mDufL0E75ljJPf172M5AePXNs= @@ -4387,6 +4823,13 @@ front-matter@^1.0.0: dependencies: yaml-js "^0.1.0" +front-matter@^2.0.5: + version "2.3.0" + resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-2.3.0.tgz#7203af896ce357ee04e2aa45169ea91ed7f67504" + integrity sha1-cgOviWzjV+4E4qpFFp6pHtf2dQQ= + dependencies: + js-yaml "^3.10.0" + fs-extra@3.0.1, fs-extra@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" @@ -4404,15 +4847,6 @@ fs-extra@^2.0.0: graceful-fs "^4.1.2" jsonfile "^2.1.0" -fs-extra@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -4422,13 +4856,6 @@ fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== - dependencies: - minipass "^2.2.1" - fs-mkdirp-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" @@ -4458,12 +4885,17 @@ fs.realpath@^1.0.0: integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== dependencies: + bindings "^1.5.0" nan "^2.12.1" - node-pre-gyp "^0.12.0" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== fstream@^1.0.0, fstream@^1.0.12: version "1.0.12" @@ -4520,12 +4952,17 @@ generate-object-property@^1.1.0: dependencies: is-property "^1.0.0" +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -4535,6 +4972,15 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= +get-intrinsic@^1.0.2: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + get-stdin@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" @@ -4555,13 +5001,20 @@ get-stream@^3.0.0: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= -get-stream@^4.0.0: +get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -4574,41 +5027,26 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^1.3.0: - version "1.3.6" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-1.3.6.tgz#27c35a32a67777c1ecd412a239a6c19d71b95aff" - integrity sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg== +git-raw-commits@^2.0.0: + version "2.0.10" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" + integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" + dargs "^7.0.0" + lodash "^4.17.15" + meow "^8.0.0" + split2 "^3.0.0" + through2 "^4.0.0" glob-all@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.1.0.tgz#8913ddfb5ee1ac7812656241b03d5217c64b02ab" - integrity sha1-iRPd+17hrHgSZWJBsD1SF8ZLAqs= - dependencies: - glob "^7.0.5" - yargs "~1.2.6" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + version "3.2.1" + resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.2.1.tgz#082ca81afd2247cbd3ed2149bb2630f4dc877d95" + integrity sha512-x877rVkzB3ipid577QOp+eQCR6M5ZyiwrtaYgrX/z3EThaSPFtLDwBXFHc3sH1cG0R0vFYI5SRYeWMMSEyXkUw== dependencies: - is-glob "^2.0.0" + glob "^7.1.2" + yargs "^15.3.1" -glob-parent@^3.0.0, glob-parent@^3.1.0: +glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= @@ -4616,19 +5054,12 @@ glob-parent@^3.0.0, glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-stream@^5.3.2: - version "5.3.5" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" - integrity sha1-pVZlqajM3EGRWofHAeMtTgFvrSI= +glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: - extend "^3.0.0" - glob "^5.0.3" - glob-parent "^3.0.0" - micromatch "^2.3.7" - ordered-read-streams "^0.3.0" - through2 "^0.6.0" - to-absolute-glob "^0.1.1" - unique-stream "^2.0.2" + is-glob "^4.0.1" glob-stream@^6.1.0: version "6.1.0" @@ -4647,15 +5078,16 @@ glob-stream@^6.1.0: unique-stream "^2.0.2" glob-watcher@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" - integrity sha512-8tWsULNEPHKQ2MR4zXuzSmqbdyV5PtwwCaWSGQ1WwHsJ07ilNeN1JB8ntxhckbnpSHaf9dXFUHzIWvm1I13dsg== + version "5.0.5" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc" + integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw== dependencies: anymatch "^2.0.0" async-done "^1.2.0" chokidar "^2.0.0" is-negated-glob "^1.0.0" just-debounce "^1.0.0" + normalize-path "^3.0.0" object.defaults "^1.1.0" glob2base@0.0.12: @@ -4677,21 +5109,10 @@ glob@7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^5.0.3: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@~7.1.1: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -4700,13 +5121,20 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, gl once "^1.3.0" path-is-absolute "^1.0.0" -global-dirs@^0.1.0, global-dirs@^0.1.1: +global-dirs@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= dependencies: ini "^1.3.4" +global-dirs@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" + integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== + dependencies: + ini "1.3.7" + global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -4738,9 +5166,9 @@ globals@^9.2.0: integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== globule@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" - integrity sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ== + version "1.3.3" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.3.tgz#811919eeac1ab7344e905f2e3be80a13447973c2" + integrity sha512-mb1aYtDbIjTu4ShMB85m3UzjX9BVKe9WCzsnfMSZk+K5GpIbBOexgg4PPCt5eHDEG5/ZQAUX2Kct02zfiPLsKg== dependencies: glob "~7.1.1" lodash "~4.17.10" @@ -4767,27 +5195,27 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= +got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: - create-error-class "^3.0.0" + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" - integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== growl@1.10.5: version "1.10.5" @@ -4838,19 +5266,19 @@ gulp-check-deps@^1.4.1: gulp-util "^3.0.7" gulp-clean-css@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-4.2.0.tgz#915ec258dc6d3e6a50043f610066d5c2eac4f54e" - integrity sha512-r4zQsSOAK2UYUL/ipkAVCTRg/2CLZ2A+oPVORopBximRksJ6qy3EX1KGrIWT4ZrHxz3Hlobb1yyJtqiut7DNjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-4.3.0.tgz#5b1e73f2fca46703eb636014cdd4553cea65146d" + integrity sha512-mGyeT3qqFXTy61j0zOIciS4MkYziF2U594t2Vs9rUnpkEHqfu6aDITMp8xOvZcvdX61Uz3y1mVERRYmjzQF5fg== dependencies: - clean-css "4.2.1" + clean-css "4.2.3" plugin-error "1.0.1" through2 "3.0.1" vinyl-sourcemaps-apply "0.2.1" gulp-cli@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.2.0.tgz#5533126eeb7fe415a7e3e84a297d334d5cf70ebc" - integrity sha512-rGs3bVYHdyJpLqR0TUBnlcZ1O5O++Zs4bA0ajm+zr3WFCfiSLjGwoCBqFs18wzN+ZxahT9DkOK5nDf26iDsWjA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.3.0.tgz#ec0d380e29e52aa45e47977f0d32e18fd161122f" + integrity sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A== dependencies: ansi-colors "^1.0.1" archy "^1.0.0" @@ -4860,7 +5288,7 @@ gulp-cli@^2.2.0: copy-props "^2.0.1" fancy-log "^1.3.2" gulplog "^1.0.0" - interpret "^1.1.0" + interpret "^1.4.0" isobject "^3.0.1" liftoff "^3.1.0" matchdep "^2.0.0" @@ -4868,7 +5296,7 @@ gulp-cli@^2.2.0: pretty-hrtime "^1.0.0" replace-homedir "^1.0.0" semver-greatest-satisfied-range "^1.1.0" - v8flags "^3.0.1" + v8flags "^3.2.0" yargs "^7.1.0" gulp-concat@^2.4.3: @@ -4972,13 +5400,15 @@ gulp-rename@^1.2.2: integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg== gulp-replace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-1.0.0.tgz#b32bd61654d97b8d78430a67b3e8ce067b7c9143" - integrity sha512-lgdmrFSI1SdhNMXZQbrC75MOl1UjYWlOWNbNRnz+F/KHmgxt3l6XstBoAYIdadwETFyG/6i+vWUSCawdC3pqOw== + version "1.1.3" + resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-1.1.3.tgz#8641cdca78e683e8573ca4a012e7e4ebb7e4db60" + integrity sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ== dependencies: - istextorbinary "2.2.1" - readable-stream "^2.0.1" - replacestream "^4.0.0" + "@types/node" "^14.14.41" + "@types/vinyl" "^2.0.4" + istextorbinary "^3.0.0" + replacestream "^4.0.3" + yargs-parser ">=5.0.0-security.0" gulp-rsync@0.0.8: version "0.0.8" @@ -5000,13 +5430,13 @@ gulp-sass-lint@^1.3.2: sass-lint "^1.12.0" through2 "^2.0.2" -gulp-sass@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-4.0.2.tgz#cfb1e3eff2bd9852431c7ce87f43880807d8d505" - integrity sha512-q8psj4+aDrblJMMtRxihNBdovfzGrXJp1l4JU0Sz4b/Mhsi2DPrKFYCGDwjIWRENs04ELVHxdOJQ7Vs98OFohg== +gulp-sass@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-4.1.1.tgz#d0f90377f0da98e4522ec554bf7cff1b5004b5be" + integrity sha512-bg7mfgsgho0Ej0WXE9Cd2sq/YxeKxOjagrMmM40zvOYXHtZvi5ED84wIpqCUvJLz66kFNkv+jS/rQXolmgXrUQ== dependencies: chalk "^2.3.0" - lodash.clonedeep "^4.3.2" + lodash "^4.17.20" node-sass "^4.8.3" plugin-error "^1.0.1" replace-ext "^1.0.0" @@ -5014,17 +5444,6 @@ gulp-sass@^4.0.1: through2 "^2.0.0" vinyl-sourcemaps-apply "^0.2.0" -gulp-sourcemaps@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" - integrity sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw= - dependencies: - convert-source-map "^1.1.1" - graceful-fs "^4.1.2" - strip-bom "^2.0.0" - through2 "^2.0.0" - vinyl "^1.0.0" - gulp-sourcemaps@^2.6.4: version "2.6.5" resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz#a3f002d87346d2c0f3aec36af7eb873f23de8ae6" @@ -5110,25 +5529,15 @@ gulplog@^1.0.0: dependencies: glogg "^1.0.0" -handlebars@^4.0.5, handlebars@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" - integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== - dependencies: - neo-async "^2.6.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - -handlebars@^4.5.3: - version "4.7.3" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.3.tgz#8ece2797826886cf8082d1726ff21d2a022550ee" - integrity sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg== +handlebars@^4.0.5, handlebars@^4.1.2, handlebars@^4.5.3: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: + minimist "^1.2.5" neo-async "^2.6.0" - optimist "^0.6.1" source-map "^0.6.1" + wordwrap "^1.0.0" optionalDependencies: uglify-js "^3.1.4" @@ -5137,14 +5546,19 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== dependencies: - ajv "^6.5.5" + ajv "^6.12.3" har-schema "^2.0.0" +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -5174,6 +5588,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -5181,10 +5600,10 @@ has-gulplog@^0.1.0: dependencies: sparkles "^1.0.0" -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-symbols@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== has-unicode@^2.0.0: version "2.0.1" @@ -5222,13 +5641,26 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" @@ -5254,11 +5686,11 @@ highlight.js@^8.9.1: integrity sha1-uKnFSTISqTkvAiK2SclhFJfr+4g= highlight.js@^9.16.2: - version "9.18.1" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz#ed21aa001fe6252bb10a3d76d47573c6539fe13c" - integrity sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg== + version "9.18.5" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" + integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -5275,9 +5707,16 @@ homedir-polyfill@^1.0.1: parse-passwd "^1.0.0" hosted-git-info@^2.1.4: - version "2.7.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" - integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" + integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + dependencies: + lru-cache "^6.0.0" html-minifier@^3.5.21: version "3.5.21" @@ -5304,6 +5743,16 @@ htmlparser2@^3.9.1: inherits "^2.0.1" readable-stream "^3.1.1" +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + htmlparser2@~3.8.1: version "3.8.3" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.8.3.tgz#996c28b191516a8be86501a7d79757e5c70c1068" @@ -5315,6 +5764,11 @@ htmlparser2@~3.8.1: entities "1.0" readable-stream "1.1" +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + http-errors@1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" @@ -5336,13 +5790,14 @@ http-errors@~1.6.2: setprototypeof "1.1.0" statuses ">= 1.4.0 < 2" -http-proxy@1.15.2: - version "1.15.2" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31" - integrity sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE= +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== dependencies: - eventemitter3 "1.x.x" - requires-port "1.x.x" + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" http-signature@~1.2.0: version "1.2.0" @@ -5359,9 +5814,9 @@ https-browserify@^1.0.0: integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= https-proxy-agent@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz#271ea8e90f836ac9f119daccd39c19ff7dfb0793" - integrity sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg== + version "2.2.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== dependencies: agent-base "^4.3.0" debug "^3.1.0" @@ -5382,41 +5837,23 @@ husky@^1.3.1: run-node "^1.0.0" slash "^2.0.0" -iconv-lite@0.4.24, iconv-lite@^0.4.24: +iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.4.17: - version "0.4.23" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.4.4: - version "0.4.21" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.21.tgz#c47f8733d02171189ebc4a400f3218d348094798" - dependencies: - safer-buffer "^2.1.0" - ieee754@^1.1.4: - version "1.1.12" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - ignore@^3.1.2: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" @@ -5448,9 +5885,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" - integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -5473,9 +5910,9 @@ imurmurhash@^0.1.4: integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" - integrity sha1-4g/146KvwmkDILbcVSaCqcf631E= + version "2.0.1" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== indent-string@^2.1.0: version "2.1.0" @@ -5489,11 +5926,21 @@ indent-string@^3.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -5502,7 +5949,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5517,22 +5964,27 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +ini@1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + ini@^1.3.4, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inky@^1.2.6: - version "1.3.7" - resolved "https://registry.yarnpkg.com/inky/-/inky-1.3.7.tgz#1d1f837ba8213a2bec8414f4fa738d38a807d38e" - integrity sha1-HR+De6ghOivshBT0+nONOKgH044= +inky@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/inky/-/inky-1.4.2.tgz#3718806d85a44972844b232dbdc49d7f1505c9ff" + integrity sha512-Z+oAo6t1IWBqBRN/V1eRhW0LWzmQaQXLRVVABQUKNJKSgTMP4nlPsTVJlwZxwBwrPTR1PEDhJHS/qJpzW5ihdw== dependencies: cheerio "^0.20.0" foundation-emails "^2.2.0" mkdirp "^0.5.1" object-values "^1.0.0" through2 "^2.0.0" - vinyl-fs "^2.3.0" + vinyl-fs "^3.0.3" inquirer@^0.12.0: version "0.12.0" @@ -5573,7 +6025,7 @@ inquirer@^3.3.0: strip-ansi "^4.0.0" through "^2.3.6" -inquirer@^6.2.1: +inquirer@^6.2.1, inquirer@^6.2.2: version "6.5.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== @@ -5592,36 +6044,10 @@ inquirer@^6.2.1: strip-ansi "^5.1.0" through "^2.3.6" -inquirer@^6.2.2: - version "6.5.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42" - integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -interpret@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invariant@^2.2.2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" +interpret@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== invert-kv@^1.0.0: version "1.0.0" @@ -5662,23 +6088,18 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.1.5, is-buffer@~1.1.1: +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@^1.1.5, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== - -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -5686,6 +6107,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.2.0, is-core-module@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -5723,23 +6151,16 @@ is-directory@^0.3.1: resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-empty-object@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-empty-object/-/is-empty-object-1.1.1.tgz#86d5d4d5c5229cea31ec2772f528bf5efc519f23" integrity sha1-htXU1cUinOox7Cdy9Si/XvxRnyM= -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= - dependencies: - is-primitive "^2.0.0" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -5752,22 +6173,15 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= - is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-finite@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko= - dependencies: - number-is-nan "^1.0.0" + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== is-fullwidth-code-point@^1.0.0: version "1.0.0" @@ -5786,13 +6200,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= - dependencies: - is-extglob "^1.0.0" - is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -5800,20 +6207,20 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= +is-installed-globally@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" + integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" + global-dirs "^2.0.1" + is-path-inside "^3.0.1" is-my-ip-valid@^1.0.0: version "1.0.0" @@ -5821,9 +6228,9 @@ is-my-ip-valid@^1.0.0: integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== is-my-json-valid@^2.10.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz#1345a6fca3e8daefc10d0fa77067f54cedafd59a" - integrity sha512-XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA== + version "2.20.5" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz#5eca6a8232a687f68869b7361be1612e7512e5df" + integrity sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A== dependencies: generate-function "^2.0.0" generate-object-property "^1.1.0" @@ -5836,10 +6243,10 @@ is-negated-glob@^1.0.0: resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= +is-npm@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" + integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== is-number-like@^1.0.3: version "1.0.8" @@ -5848,13 +6255,6 @@ is-number-like@^1.0.3: dependencies: lodash.isfinite "^3.3.2" -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5867,17 +6267,25 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-inside@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-obj@^1.1.0: version "1.1.0" @@ -5891,31 +6299,21 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-promise@^2.1, is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= +is-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== is-property@^1.0.0, is-property@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - is-relative@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" @@ -5928,24 +6326,19 @@ is-resolvable@^1.0.0: resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= - -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -is-text-path@^1.0.0: +is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= dependencies: text-extensions "^1.0.0" -is-typedarray@~1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -5962,11 +6355,6 @@ is-utf8@^0.2.0, is-utf8@^0.2.1: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= -is-valid-glob@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" - integrity sha1-1LVcafUYhvm2XHDWwmItN+KfSP4= - is-valid-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" @@ -5982,6 +6370,18 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -6019,65 +6419,58 @@ isstream@~0.1.1, isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istextorbinary@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz#a5231a08ef6dd22b268d0895084cf8d58b5bec53" - integrity sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw== +istextorbinary@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-3.3.0.tgz#06b1c57d948da11461bd237c00ce09e9902964f2" + integrity sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ== dependencies: - binaryextensions "2" - editions "^1.3.3" - textextensions "2" + binaryextensions "^2.2.0" + textextensions "^3.2.0" jquery@>=1.11, jquery@^3.3.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2" - integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw== + version "3.6.0" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.0.tgz#c72a09f15c1bdce142f49dbf1170bdf8adac2470" + integrity sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw== js-base64@^2.1.8: - version "2.5.1" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" - integrity sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw== + version "2.6.4" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== -js-beautify@^1.6.2: - version "1.10.1" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.10.1.tgz#bdfe738ddbcaa12e4fced5af2d7cfad59f60ac0a" - integrity sha512-4y8SHOIRC+/YQ2gs3zJEKBUraQerq49FJYyXRpdzUGYQzCq8q9xtIh0YXial1S5KmonVui4aiUb6XaGyjE51XA== +js-beautify@^1.11.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.14.0.tgz#2ce790c555d53ce1e3d7363227acf5dc69024c2d" + integrity sha512-yuck9KirNSCAwyNJbqW+BxJqJ0NLJ4PwBUzQQACl5O3qHMBXVkXb/rD0ilh/Lat/tn88zSZ+CAHOlk0DsY7GuQ== dependencies: config-chain "^1.1.12" editorconfig "^0.15.3" glob "^7.1.3" - mkdirp "~0.5.1" - nopt "~4.0.1" - -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + nopt "^5.0.0" js-reporters@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/js-reporters/-/js-reporters-1.1.0.tgz#c83c00fe0d4c9f67f944b4edd5f3b2957497cd62" integrity sha1-yDwA/g1Mn2f5RLTt1fOylXSXzWI= -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: +js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.12.0, js-yaml@^3.12.1, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.2, js-yaml@^3.5.4: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== +js-yaml@^3.10.0, js-yaml@^3.12.1, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.14.0, js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" -js2xmlparser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.0.tgz#ae14cc711b2892083eed6e219fbc993d858bc3a5" - integrity sha512-WuNgdZOXVmBk5kUPMcTcVUpbGRzLfNkv7+7APq7WiDihpXVKrgxo6wwRpRl9OQeEBgKCVk9mR7RbzrnNWC8oBw== +js2xmlparser@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.1.tgz#670ef71bc5661f089cc90481b99a05a1227ae3bd" + integrity sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw== dependencies: - xmlcreate "^2.0.0" + xmlcreate "^2.0.3" jsbn@~0.1.0: version "0.1.1" @@ -6085,16 +6478,16 @@ jsbn@~0.1.0: integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jsdoc-api@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-5.0.2.tgz#3bb452f4933d79481296d4f9952d3e2d38b828ab" - integrity sha512-nC5uvd907gbqTRinrHeX5EBNw2Yc/0/7qONbRu5R5wrq/1OaRHtqDWGLDu+6BFI6RyuEgp87IH/IdOz4CdN6RA== + version "5.0.4" + resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-5.0.4.tgz#6b60cddaa4e7ff9a2e139acfc19ecaa9c48f8575" + integrity sha512-1KMwLnfo0FyhF06TQKzqIm8BiY1yoMIGICxRdJHUjzskaHMzHMmpLlmNFgzoa4pAC8t1CDPK5jWuQTvv1pBsEQ== dependencies: - array-back "^3.1.0" - cache-point "^0.4.1" + array-back "^4.0.0" + cache-point "^1.0.0" collect-all "^1.0.3" file-set "^2.0.1" fs-then-native "^2.0.0" - jsdoc "^3.6.2" + jsdoc "^3.6.3" object-to-spawn-args "^1.1.1" temp-path "^1.0.0" walk-back "^3.0.1" @@ -6106,25 +6499,25 @@ jsdoc3-parser@^1.0.4: dependencies: jsdoc "^3.3.0-alpha11" -jsdoc@^3.3.0-alpha11, jsdoc@^3.6.2: - version "3.6.3" - resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.6.3.tgz#dccea97d0e62d63d306b8b3ed1527173b5e2190d" - integrity sha512-Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A== +jsdoc@^3.3.0-alpha11, jsdoc@^3.6.3: + version "3.6.7" + resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.6.7.tgz#00431e376bed7f9de4716c6f15caa80e64492b89" + integrity sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw== dependencies: - "@babel/parser" "^7.4.4" - bluebird "^3.5.4" - catharsis "^0.8.11" + "@babel/parser" "^7.9.4" + bluebird "^3.7.2" + catharsis "^0.9.0" escape-string-regexp "^2.0.0" - js2xmlparser "^4.0.0" + js2xmlparser "^4.0.1" klaw "^3.0.0" - markdown-it "^8.4.2" - markdown-it-anchor "^5.0.2" - marked "^0.7.0" - mkdirp "^0.5.1" + markdown-it "^10.0.0" + markdown-it-anchor "^5.2.7" + marked "^2.0.3" + mkdirp "^1.0.4" requizzle "^0.2.3" - strip-json-comments "^3.0.1" + strip-json-comments "^3.1.0" taffydb "2.6.2" - underscore "~1.9.1" + underscore "~1.13.1" jsdom@^7.0.2: version "7.2.2" @@ -6157,11 +6550,21 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -6196,12 +6599,12 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: - minimist "^1.2.0" + minimist "^1.2.5" jsonfile@^2.1.0: version "2.4.0" @@ -6250,9 +6653,9 @@ jsonparse@^1.2.0: integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= + version "4.1.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" + integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== jsprim@^1.2.2: version "1.4.1" @@ -6265,25 +6668,32 @@ jsprim@^1.2.2: verror "1.10.0" just-debounce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" - integrity sha1-h/zPrv/AtozRnVX2cilD+SnqNeo= + version "1.1.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf" + integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ== just-extend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" - integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== + version "4.2.1" + resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" + integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== kebab-case@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/kebab-case/-/kebab-case-1.0.0.tgz#3f9e4990adcad0c686c0e701f7645868f75f91eb" - integrity sha1-P55JkK3K0MaGwOcB92RYaPdfkes= + version "1.0.1" + resolved "https://registry.yarnpkg.com/kebab-case/-/kebab-case-1.0.1.tgz#bf734fc95400a3701869215d99a902bd3fe72f60" + integrity sha512-txPHx6nVLhv8PHGXIlAk0nYoh894SpAqGPXNvbg2hh8spvHXIah3+vT87DLoa59nKgC6scD3u3xAuRIgiMqbfQ== kew@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" integrity sha1-edk9LTM2PW/dKXCzNdkUGtWR15s= +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + kind-of@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" @@ -6308,10 +6718,10 @@ kind-of@^5.0.0, kind-of@^5.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== klaw-sync@^6.0.0: version "6.0.0" @@ -6345,12 +6755,12 @@ last-run@^1.1.0: default-resolution "^2.0.0" es6-weak-map "^2.0.1" -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= +latest-version@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: - package-json "^4.0.0" + package-json "^6.3.0" lazystream@^1.0.0: version "1.0.0" @@ -6409,9 +6819,14 @@ liftoff@^3.1.0: resolve "^1.1.7" limiter@^1.0.5: - version "1.1.4" - resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.4.tgz#87c9c3972d389fdb0ba67a45aadbc5d2f8413bc1" - integrity sha512-XCpr5bElgDI65vVgstP8TWjv6/QKWm9GU5UG0Pr5sLQ3QLo8NVKsioe+Jed5/3vFOe3IQuqE7DKwTvKQkjTHvg== + version "1.1.5" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2" + integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= linkify-it@^2.0.0: version "2.2.0" @@ -6451,29 +6866,29 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^2.3.0: +loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== +loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== dependencies: big.js "^5.2.2" - emojis-list "^2.0.0" + emojis-list "^3.0.0" json5 "^1.0.1" -localtunnel@1.9.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.9.2.tgz#0012fcabc29cf964c130a01858768aa2bb65b5af" - integrity sha512-NEKF7bDJE9U3xzJu3kbayF0WTvng6Pww7tzqNb/XtEARYwqw7CKEX7BvOMg98FtE9es2CRizl61gkV3hS8dqYg== +localtunnel@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-2.0.1.tgz#8f7c593f3005647f7675e6e69af9bf746571a631" + integrity sha512-LiaI5wZdz0xFkIQpXbNI62ZnNn8IMsVhwxHmhA+h4vj8R9JG/07bQHWwQlyy7b95/5fVOCHJfIHv+a5XnkvaJA== dependencies: - axios "0.19.0" - debug "4.1.1" + axios "0.21.1" + debug "4.3.1" openurl "1.1.1" - yargs "6.6.0" + yargs "16.2.0" locate-path@^2.0.0: version "2.0.0" @@ -6695,11 +7110,6 @@ lodash.clone@^4.3.2: resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= -lodash.clonedeep@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.createcallback@~2.4.1: version "2.4.4" resolved "https://registry.yarnpkg.com/lodash.createcallback/-/lodash.createcallback-2.4.4.tgz#4a4530849b01655003fcbdf563524eff3ceb02c4" @@ -6711,6 +7121,11 @@ lodash.createcallback@~2.4.1: lodash.keys "~2.4.1" lodash.property "~2.4.1" +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + lodash.defaults@^4.0.1: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -6788,11 +7203,6 @@ lodash.isarray@^3.0.0: resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= -lodash.isequal@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - lodash.isfinite@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" @@ -6895,6 +7305,14 @@ lodash.support@~2.4.1: dependencies: lodash._isnative "~2.4.1" +lodash.template@>=4.5.0, lodash.template@^4.4.0, lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + lodash.template@^3.0.0: version "3.6.2" resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" @@ -6910,14 +7328,6 @@ lodash.template@^3.0.0: lodash.restparam "^3.0.0" lodash.templatesettings "^3.0.0" -lodash.template@^4.0.2, lodash.template@^4.4.0, lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - lodash.templatesettings@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" @@ -6938,33 +7348,33 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.14: - version "4.17.14" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" - integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== - -lodash@^4.0.0, lodash@^4.1.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.2.1, lodash@^4.3.0, lodash@~4.17.10: +lodash@4.17.15: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== -lolex@^4.0.1, lolex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.1.0.tgz#ecdd7b86539391d8237947a3419aa8ac975f0fe1" - integrity sha512-BYxIEXiVq5lGIXeVHnsFzqa1TxN5acnKnPCdlZSpzm8viNEOhiigupA4vTQ9HEFQ6nLTQ9wQOgBknJgzUYQ9Aw== +lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.3.0, lodash@~4.17.10: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +lolex@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7" + integrity sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg== + +lolex@^5.0.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== + dependencies: + "@sinonjs/commons" "^1.7.0" longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" @@ -6978,11 +7388,16 @@ lower-case@^1.1.1: resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= -lowercase-keys@^1.0.0: +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -6998,20 +7413,20 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -lru-queue@0.1: +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM= dependencies: es5-ext "~0.10.2" -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7020,6 +7435,13 @@ make-dir@^2.0.0: pify "^4.0.1" semver "^5.6.0" +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + make-error-cause@^1.1.1: version "1.2.2" resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d" @@ -7028,9 +7450,9 @@ make-error-cause@^1.1.1: make-error "^1.2.0" make-error@^1.2.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== make-iterator@^1.0.0: version "1.0.1" @@ -7039,11 +7461,6 @@ make-iterator@^1.0.0: dependencies: kind-of "^6.0.2" -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - map-cache@^0.2.0, map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -7059,6 +7476,11 @@ map-obj@^2.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= +map-obj@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" + integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== + map-stream@^0.1.0, map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" @@ -7071,36 +7493,36 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -markdown-it-anchor@^5.0.2: - version "5.2.4" - resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz#d39306fe4c199705b4479d3036842cf34dcba24f" - integrity sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A== +markdown-it-anchor@^5.2.7: + version "5.3.0" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744" + integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA== -markdown-it@^8.4.2: - version "8.4.2" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" - integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ== +markdown-it@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" + integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== dependencies: argparse "^1.0.7" - entities "~1.1.1" + entities "~2.0.0" linkify-it "^2.0.0" mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^0.3.14: - version "0.3.19" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" - integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg== - -marked@^0.6.1, marked@^0.6.2: +marked@^0.6.2: version "0.6.3" resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.3.tgz#79babad78af638ba4d522a9e715cdfdd2429e946" integrity sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ== -marked@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e" - integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg== +marked@^1.1.1: + version "1.2.9" + resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" + integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== + +marked@^2.0.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" + integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== matchdep@^2.0.0: version "2.0.0" @@ -7112,11 +7534,6 @@ matchdep@^2.0.0: resolve "^1.4.0" stack-trace "0.0.10" -math-random@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" - integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== - md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -7127,13 +7544,13 @@ md5.js@^1.3.4: safe-buffer "^5.1.2" md5@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/md5/-/md5-2.2.1.tgz#53ab38d5fe3c8891ba465329ea23fac0540126f9" - integrity sha1-U6s41f48iJG6RlMp6iP6wFQBJvk= + version "2.3.0" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== dependencies: - charenc "~0.0.1" - crypt "~0.0.1" - is-buffer "~1.1.1" + charenc "0.0.2" + crypt "0.0.2" + is-buffer "~1.1.6" mdurl@^1.0.1: version "1.0.1" @@ -7153,20 +7570,20 @@ memoize-decorator@^1.0.2: integrity sha1-YFpBcVxBcdsZKpAJiwCrjW4RAvU= memoizee@0.4.X: - version "0.4.14" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57" - integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg== + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== dependencies: - d "1" - es5-ext "^0.10.45" - es6-weak-map "^2.0.2" + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" event-emitter "^0.3.5" - is-promise "^2.1" - lru-queue "0.1" - next-tick "1" - timers-ext "^0.1.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" -memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: +memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= @@ -7174,6 +7591,14 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + meow@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" @@ -7205,20 +7630,22 @@ meow@^3.7.0: redent "^1.0.0" trim-newlines "^1.0.0" -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" - integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist "^1.1.3" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" +meow@^8.0.0: + version "8.1.2" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" + integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" merge-stream@^1.0.0: version "1.0.1" @@ -7232,26 +7659,7 @@ merge@^1.2.0: resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== -micromatch@^2.3.7: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -7270,6 +7678,14 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -7278,17 +7694,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +mime-db@1.49.0: + version "1.49.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" + integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + version "2.1.32" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== dependencies: - mime-db "1.40.0" + mime-db "1.49.0" mime@1.4.1: version "1.4.1" @@ -7301,32 +7717,51 @@ mime@1.6.0: integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.0.3: - version "2.4.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" - integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + minimist-options@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" @@ -7345,42 +7780,10 @@ minimist@1.1.x: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag= -minimist@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" - integrity sha1-md9lelJXTCHJBXSX33QnkLK0wN4= - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass@^2.2.1, minipass@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.2.4.tgz#03c824d84551ec38a8d1bb5bc350a5a30a354a40" - dependencies: - safe-buffer "^5.1.1" - yallist "^3.0.0" - -minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.1.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== mississippi@^3.0.0: version "3.0.0" @@ -7399,9 +7802,9 @@ mississippi@^3.0.0: through2 "^2.0.0" mitt@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.1.3.tgz#528c506238a05dce11cd914a741ea2cc332da9b8" - integrity sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d" + integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw== mixin-deep@^1.2.0: version "1.3.2" @@ -7411,18 +7814,30 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp2@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.4.tgz#56de1f8f5c93cf2199906362eba0f9f262ee4437" - integrity sha512-Q2PKB4ZR4UPtjLl76JfzlgSCUZhSV1AXQgAZa1qt5RiaALFjP/CDrGvFBrOz7Ck6McPcwMAxTsJvWOUjOU8XMw== +mkdirp2@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.5.tgz#68bbe61defefafce4b48948608ec0bac942512c2" + integrity sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw== -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + mocha-headless-chrome@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/mocha-headless-chrome/-/mocha-headless-chrome-2.0.3.tgz#6c63649df3de9162c0f6dd35e49523a952f14d9e" @@ -7476,11 +7891,16 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= -ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multiline@^1.0.1, multiline@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/multiline/-/multiline-1.0.2.tgz#69b1f25ff074d2828904f244ddd06b7d96ef6c93" @@ -7529,9 +7949,9 @@ mute-stream@0.0.7: integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= nan@^2.12.1, nan@^2.13.2: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== nanomatch@^1.2.9: version "1.2.13" @@ -7555,26 +7975,22 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - negotiator@0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== -neo-async@^2.5.0, neo-async@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +next-tick@1, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== -next-tick@1, next-tick@^1.0.0: +next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= @@ -7584,15 +8000,15 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -nise@^1.4.10: - version "1.5.0" - resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.0.tgz#d03ea0e6c1b75c638015aa3585eddc132949a50d" - integrity sha512-Z3sfYEkLFzFmL8KY6xnSJLRxwQwYBjOXi/24lb62ZnZiGA0JUzGGTI6TBIgfCSMIDl9Jlu8SRmHNACLTemDHww== +nise@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.3.tgz#9d2cfe37d44f57317766c6e9408a359c5d3ac1f7" + integrity sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ== dependencies: - "@sinonjs/formatio" "^3.1.0" + "@sinonjs/formatio" "^3.2.1" "@sinonjs/text-encoding" "^0.7.1" just-extend "^4.0.2" - lolex "^4.1.0" + lolex "^5.0.1" path-to-regexp "^1.7.0" no-case@^2.2.0: @@ -7620,7 +8036,7 @@ node-gyp@^3.8.0: tar "^2.0.0" which "1" -node-libs-browser@^2.0.0: +node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== @@ -7649,33 +8065,15 @@ node-libs-browser@^2.0.0: util "^0.11.0" vm-browserify "^1.0.1" -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.25: - version "1.1.26" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.26.tgz#f30563edc5c7dc20cf524cc8652ffa7be0762937" - integrity sha512-fZPsuhhUHMTlfkhDLGtfY80DSJTjOcx+qD1j5pqPkuhUHVS7xHZIg9EE4DHK8O3f0zTxXHX5VIkDG8pu98/wfQ== - dependencies: - semver "^5.3.0" +node-releases@^1.1.75: + version "1.1.75" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" + integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== node-sass@^4.8.3: - version "4.12.0" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.12.0.tgz#0914f531932380114a30cc5fa4fa63233a25f017" - integrity sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ== + version "4.14.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -7684,14 +8082,14 @@ node-sass@^4.8.3: get-stdin "^4.0.1" glob "^7.0.3" in-publish "^2.0.0" - lodash "^4.17.11" + lodash "^4.17.15" meow "^3.7.0" mkdirp "^0.5.1" nan "^2.13.2" node-gyp "^3.8.0" npmlog "^4.0.0" request "^2.88.0" - sass-graph "^2.2.4" + sass-graph "2.2.5" stdout-stream "^1.4.0" "true-case-path" "^1.0.2" @@ -7702,14 +8100,21 @@ node-sass@^4.8.3: dependencies: abbrev "1" -nopt@^4.0.1, nopt@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= +nopt@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== dependencies: abbrev "1" osenv "^0.1.4" +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + nopt@~1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" @@ -7717,7 +8122,7 @@ nopt@~1.0.10: dependencies: abbrev "1" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -7727,6 +8132,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -7734,7 +8149,7 @@ normalize-path@^2.0.1, normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -7744,6 +8159,11 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + now-and-later@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" @@ -7751,19 +8171,6 @@ now-and-later@^2.0.0: dependencies: once "^1.3.2" -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -7771,7 +8178,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -7781,6 +8188,13 @@ npm-run-path@^2.0.0: gauge "~2.7.3" set-blocking "~2.0.0" +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + nth-check@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -7799,15 +8213,13 @@ number-is-nan@^1.0.0: integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= nunjucks@^3.1.7: - version "3.2.0" - resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.2.0.tgz#53e95f43c9555e822e8950008a201b1002d49933" - integrity sha512-YS/qEQ6N7qCnUdm6EoYRBfJUdWNT0PpKbbRnogV2XyXbBm2STIP1O6yrdZHgwMVK7fIYUx7i8+yatEixnXSB1w== + version "3.2.3" + resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.2.3.tgz#1b33615247290e94e28263b5d855ece765648a31" + integrity sha512-psb6xjLj47+fE76JdZwskvwG4MYsQKXUtMsPh6U0YMvmyjRtKRFcxnlXGWglNybtNTNVmGdp94K62/+NjF5FDQ== dependencies: a-sync-waterfall "^1.0.0" asap "^2.0.3" - yargs "^3.32.0" - optionalDependencies: - chokidar "^2.0.0" + commander "^5.1.0" "nwmatcher@>= 1.3.7 < 2.0.0": version "1.4.4" @@ -7819,7 +8231,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@4.X, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@4.X, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -7829,11 +8241,6 @@ object-assign@^3.0.0: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - integrity sha1-8MaapQ78lbhmwYb0AKM3acsvEpE= - object-copy@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" @@ -7843,7 +8250,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11, object-keys@^1.0.12: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -7853,11 +8260,6 @@ object-keys@~0.4.0: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= -object-path@^0.9.0: - version "0.9.2" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" - integrity sha1-D9mnT8X60a45aLWGvaXGMr1sBaU= - object-to-spawn-args@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz#77da8827f073d011c9e1b173f895781470246785" @@ -7876,14 +8278,14 @@ object-visit@^1.0.0: isobject "^3.0.0" object.assign@^4.0.4, object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" object.defaults@^1.0.0, object.defaults@^1.1.0: version "1.1.0" @@ -7903,14 +8305,6 @@ object.map@^1.0.0: for-own "^1.0.0" make-iterator "^1.0.0" -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - object.pick@^1.2.0, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -7963,6 +8357,14 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + openurl@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.1.tgz#3875b4b0ef7a52c156f0db41d4609dbb0f94b387" @@ -7975,33 +8377,17 @@ opn@5.3.0: dependencies: is-wsl "^1.1.0" -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: deep-is "~0.1.3" - fast-levenshtein "~2.0.4" + fast-levenshtein "~2.0.6" levn "~0.3.0" prelude-ls "~1.1.2" type-check "~0.3.2" - wordwrap "~1.0.0" - -ordered-read-streams@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" - integrity sha1-cTfmmzKYuzQiR6G77jiByA4v14s= - dependencies: - is-stream "^1.0.1" - readable-stream "^2.0.1" + word-wrap "~1.2.3" ordered-read-streams@^1.0.0: version "1.0.1" @@ -8054,6 +8440,11 @@ osenv@0, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -8066,20 +8457,13 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" -p-limit@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== - dependencies: - p-try "^2.0.0" - p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -8111,45 +8495,45 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== panini@^1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/panini/-/panini-1.6.3.tgz#aca6a9f575cf198ed539de87a7c24f81e92257ea" - integrity sha512-PJKGQ33isifBasMcQjd5wcBl0pBuD3R1jZbBUN05RKf3ZrCjEaf205RDtlCLAAsXovuNEfgWiLo0/TWThIaLCg== + version "1.7.1" + resolved "https://registry.yarnpkg.com/panini/-/panini-1.7.1.tgz#1fb7c5ff24e64aec70f313606118e7cda5bfe1cf" + integrity sha512-iAzKEN69Tt/9nhA46SeTJWHEUOISQB0RoCf2h5Ts1jXZ2bz9UCi6o9EIPuZKR3QZQkTzxk5zqPtNbeEJMcruUg== dependencies: - deepmerge "^1.3.2" + deepmerge "^1.5.2" front-matter "^2.0.5" - glob "^7.0.0" + glob "^7.1.4" handlebars "^4.0.5" highlight.js "^8.9.1" - js-yaml "^3.5.2" - marked "^0.3.14" + js-yaml "^3.14.0" + marked "^1.1.1" nopt "^4.0.1" slash "^1.0.0" strip-bom "2.0.0" - through2 "^2.0.0" - vinyl-fs "^2.4.4" + through2 "^2.0.5" + vinyl-fs "^3.0.3" parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== dependencies: - cyclist "~0.2.2" + cyclist "^1.0.1" inherits "^2.0.3" readable-stream "^2.1.5" @@ -8167,14 +8551,13 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -8188,16 +8571,6 @@ parse-filepath@^1.0.1: map-cache "^0.2.0" path-root "^0.1.1" -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" @@ -8213,6 +8586,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + parse-node-version@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" @@ -8223,31 +8606,32 @@ parse-passwd@^1.0.0: resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= +parse5-htmlparser2-tree-adapter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + parse5@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94" integrity sha1-m387DeMr543CQBsXVzzK8Pb1nZQ= -parse5@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c" - integrity sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA== - dependencies: - "@types/node" "*" +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - integrity sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0= - dependencies: - better-assert "~1.0.0" +parseqs@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" + integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo= - dependencies: - better-assert "~1.0.0" +parseuri@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" + integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== parseurl@~1.3.2: version "1.3.3" @@ -8260,18 +8644,19 @@ pascalcase@^0.1.1: integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= patch-package@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.1.tgz#e3c55cf09dffd3984dd300e30d842672b604307f" - integrity sha512-dfCtQor63PPij6DDYtCzBRoO5nNAcMSg7Cmh+DLhR+s3t0OLQBdvFxJksZHBe1J2MjsSWDjTF4+oQKFbdkssIg== + version "6.4.7" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.4.7.tgz#2282d53c397909a0d9ef92dae3fdeb558382b148" + integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ== dependencies: "@yarnpkg/lockfile" "^1.1.0" chalk "^2.4.2" cross-spawn "^6.0.5" - find-yarn-workspace-root "^1.2.1" + find-yarn-workspace-root "^2.0.0" fs-extra "^7.0.1" is-ci "^2.0.0" klaw-sync "^6.0.0" minimist "^1.2.0" + open "^7.4.2" rimraf "^2.6.3" semver "^5.6.0" slash "^2.0.0" @@ -8320,9 +8705,9 @@ path-key@^2.0.0, path-key@^2.0.1: integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-root-regex@^0.1.0: version "0.1.2" @@ -8337,9 +8722,9 @@ path-root@^0.1.1: path-root-regex "^0.1.0" path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== dependencies: isarray "0.0.1" @@ -8366,10 +8751,10 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== pause-stream@0.0.11: version "0.0.11" @@ -8379,9 +8764,9 @@ pause-stream@0.0.11: through "~2.3" pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -8399,6 +8784,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + pify@^2.0.0, pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -8433,10 +8823,17 @@ pkg-dir@^3.0.0: dependencies: find-up "^3.0.0" +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + please-upgrade-node@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz#ed320051dfcc5024fae696712c8288993595e8ac" - integrity sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ== + version "3.2.0" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== dependencies: semver-compare "^1.0.0" @@ -8480,17 +8877,17 @@ posix-character-classes@^0.1.0: integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: cosmiconfig "^5.0.0" import-cwd "^2.0.0" -postcss-value-parser@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz#99a983d365f7b2ad8d0f9b8c3094926eab4b936d" - integrity sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ== +postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== postcss@^6.0.1: version "6.0.23" @@ -8501,10 +8898,10 @@ postcss@^6.0.1: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.17, postcss@^7.0.2: - version "7.0.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" - integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== +postcss@^7.0.2, postcss@^7.0.32: + version "7.0.36" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" + integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -8515,15 +8912,10 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= pretty-hrtime@^1.0.0: version "1.0.3" @@ -8538,11 +8930,6 @@ prettyjson@^1.1.3: colors "^1.1.2" minimist "^1.2.0" -private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -8579,9 +8966,9 @@ proto-list@~1.2.1: integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= proxy-from-env@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== prr@~1.0.1: version "1.0.1" @@ -8593,10 +8980,10 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.24, psl@^1.1.28: - version "1.2.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.2.0.tgz#df12b5b1b3a30f51c329eacbdef98f3a6e136dc6" - integrity sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA== +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== public-encrypt@^4.0.0: version "4.0.3" @@ -8640,7 +9027,7 @@ punycode@1.3.2: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.2.4: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= @@ -8650,10 +9037,17 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +pupa@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + puppeteer@^1.11.0, puppeteer@^1.17.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.19.0.tgz#e3b7b448c2c97933517078d7a2c53687361bebea" - integrity sha512-2S6E6ygpoqcECaagDbBopoSOPDv0pAZvTbnBgUY+6hq0/XDFDOLEMNlHF/SKJlzcaZ9ckiKjKDuueWI3FN/WXw== + version "1.20.0" + resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.20.0.tgz#e3d267786f74e1d87cf2d15acc59177f471bbe38" + integrity sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== dependencies: debug "^4.1.0" extract-zip "^1.6.6" @@ -8684,26 +9078,27 @@ querystring-es3@^0.2.0: resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -querystring@0.2.0, querystring@^0.2.0: +querystring@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +querystring@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + quick-lru@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= -randomatic@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" - integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== - dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -8733,7 +9128,7 @@ raw-body@^2.3.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: +rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -8767,6 +9162,15 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -8803,10 +9207,20 @@ read-pkg@^4.0.1: parse-json "^4.0.0" pify "^3.0.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -8816,19 +9230,20 @@ read-pkg@^4.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@1.1, "readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.0.33, readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" +readable-stream@1.1: + version "1.1.13" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.13.tgz#f6eef764f514c89e2b9e23146a75ba106756d23e" + integrity sha1-9u73ZPUUyJ4rniMUanW6EGdW0j4= dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" @@ -8844,6 +9259,16 @@ readable-stream@1.1, "readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.0 isarray "0.0.1" string_decoder "~0.10.x" +"readable-stream@>=1.1.13-1 <1.2.0-0", readable-stream@^1.0.33, readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readable-stream@~2.0.0: version "2.0.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" @@ -8865,6 +9290,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + readline2@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" @@ -8897,17 +9329,25 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" -regenerate-unicode-properties@^8.0.2: - version "8.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" - integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== dependencies: regenerate "^1.4.0" regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.10.5: version "0.10.5" @@ -8919,19 +9359,17 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-transform@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" - integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== - dependencies: - private "^0.1.6" +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: - is-equal-shallow "^0.1.3" + "@babel/runtime" "^7.8.4" regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" @@ -8941,52 +9379,46 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-tree@^0.1.6: - version "0.1.11" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.11.tgz#c9c7f00fcf722e0a56c7390983a7a63dd6c272f3" - integrity sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg== - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" - integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== dependencies: regenerate "^1.4.0" - regenerate-unicode-properties "^8.0.2" - regjsgen "^0.5.0" - regjsparser "^0.6.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" + unicode-match-property-value-ecmascript "^1.2.0" -registry-auth-token@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== +registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" + rc "^1.2.8" -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== dependencies: - rc "^1.0.1" + rc "^1.2.8" -regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== dependencies: jsesc "~0.5.0" @@ -9018,11 +9450,11 @@ remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== -repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: +repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= @@ -9040,9 +9472,9 @@ replace-ext@0.0.1: integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== replace-homedir@^1.0.0: version "1.0.0" @@ -9053,7 +9485,7 @@ replace-homedir@^1.0.0: is-absolute "^1.0.0" remove-trailing-separator "^1.1.0" -replacestream@^4.0.0: +replacestream@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.3.tgz#3ee5798092be364b1cdb1484308492cb3dff2f36" integrity sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA== @@ -9063,9 +9495,9 @@ replacestream@^4.0.0: readable-stream "^2.0.2" request@^2.55.0, request@^2.87.0, request@^2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -9074,7 +9506,7 @@ request@^2.55.0, request@^2.87.0, request@^2.88.0: extend "~3.0.2" forever-agent "~0.6.1" form-data "~2.3.2" - har-validator "~5.1.0" + har-validator "~5.1.3" http-signature "~1.2.0" is-typedarray "~1.0.0" isstream "~0.1.2" @@ -9084,7 +9516,7 @@ request@^2.55.0, request@^2.87.0, request@^2.88.0: performance-now "^2.1.0" qs "~6.5.2" safe-buffer "^5.1.2" - tough-cookie "~2.4.3" + tough-cookie "~2.5.0" tunnel-agent "^0.6.0" uuid "^3.3.2" @@ -9121,7 +9553,7 @@ requirejs@^2.3.6: resolved "https://registry.yarnpkg.com/requirejs/-/requirejs-2.3.6.tgz#e5093d9601c2829251258c0b9445d4d19fa9e7c9" integrity sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg== -requires-port@1.x.x: +requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= @@ -9185,11 +9617,12 @@ resolve@1.1.7: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" - integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.4.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: + is-core-module "^2.2.0" path-parse "^1.0.6" resp-modifier@6.0.2: @@ -9200,6 +9633,13 @@ resp-modifier@6.0.2: debug "^2.2.0" minimatch "^3.0.2" +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + restore-cursor@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" @@ -9226,13 +9666,27 @@ right-pad@^1.0.1: resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" integrity sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA= -rimraf@2, rimraf@2.*, rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@~2.6.2: +rimraf@2, rimraf@2.*, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@2.6.3, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + ripemd160@^2.0.0, ripemd160@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -9242,28 +9696,28 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: inherits "^2.0.1" rollup-plugin-babel@^4.3.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.3.3.tgz#7eb5ac16d9b5831c3fd5d97e8df77ba25c72a2aa" - integrity sha512-tKzWOCmIJD/6aKNz0H1GMM+lW1q9KyFubbWzGiOG540zxPPifnEAHTZwjo0g991Y+DyOZcLqBgqOdqazYE5fkw== + version "4.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz#d15bd259466a9d1accbdb2fe2fff17c52d030acb" + integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== dependencies: "@babel/helper-module-imports" "^7.0.0" rollup-pluginutils "^2.8.1" rollup-pluginutils@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" - integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== dependencies: estree-walker "^0.6.1" rollup@^1.1.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.17.0.tgz#47ee8b04514544fc93b39bae06271244c8db7dfa" - integrity sha512-k/j1m0NIsI4SYgCJR4MWPstGJOWfJyd6gycKoMhyoKPVXxm+L49XtbUwZyFsrSU2YXsOkM4u1ll9CS/ZgJBUpw== + version "1.32.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" + integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== dependencies: - "@types/estree" "0.0.39" - "@types/node" "^12.6.2" - acorn "^6.2.0" + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" run-async@^0.1.0: version "0.1.0" @@ -9273,11 +9727,9 @@ run-async@^0.1.0: once "^1.3.0" run-async@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" - integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= - dependencies: - is-promise "^2.1.0" + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-node@^1.0.0: version "1.0.0" @@ -9330,26 +9782,22 @@ rxjs@^5.5.6: symbol-observable "1.0.1" rxjs@^6.4.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7" - integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg== + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - -safe-buffer@^5.1.2: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - safe-regex@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" @@ -9357,12 +9805,12 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -safe-wipe@0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/safe-wipe/-/safe-wipe-0.2.4.tgz#53b935d7775b739a924b516c95bb2417fa9a451e" - integrity sha1-U7k113dbc5qSS1FslbskF/qaRR4= +safe-wipe@0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/safe-wipe/-/safe-wipe-0.2.5.tgz#dbb331be98d32fee660372999ee5d1ae89ab2fdd" + integrity sha512-MwTNf4YrRqCHsB5jUzOVdXoRbW4jkhgTvhlyfiaxox8EP7cOCiD4ydMOQCxDPR9KpvwdBSM2dQHScV1m85k8wQ== dependencies: - extend "2.*" + extend "^3.0.2" q "1.*" rimraf "2.*" @@ -9388,15 +9836,15 @@ sass-convert@^0.5.0: through2 "^2.0.0" which "^1.0.5" -sass-graph@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" - integrity sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k= +sass-graph@2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" + integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== dependencies: glob "^7.0.0" lodash "^4.0.0" scss-tokenizer "^0.2.3" - yargs "^7.0.0" + yargs "^13.3.2" sass-lint@^1.12.0: version "1.13.1" @@ -9436,7 +9884,7 @@ sassdoc-extras@^2.5.0: dependencies: marked "^0.6.2" -sassdoc-theme-default@^2.8.1: +sassdoc-theme-default@^2.8.3: version "2.8.3" resolved "https://registry.yarnpkg.com/sassdoc-theme-default/-/sassdoc-theme-default-2.8.3.tgz#092854a5654aa5c2820983fbe669dfbff2ef7bd1" integrity sha512-KEl1ghIAwkkBGiYvkwVFepOA8IDEqgKsm0fGHUIcepcXiIp2SoHA0ZC5TZFjwaTrs296K1QK5WL4QtjNhS76+g== @@ -9451,34 +9899,34 @@ sassdoc-theme-default@^2.8.1: nunjucks "^3.1.7" sassdoc-extras "^2.5.0" -sassdoc@^2.0.0-rc.17, sassdoc@^2.1.11: - version "2.7.0" - resolved "https://registry.yarnpkg.com/sassdoc/-/sassdoc-2.7.0.tgz#41504feb9ae9b0ffaa45520ed247093c376ef0fc" - integrity sha512-mj+kJJdZwgg2Jw41rR9owLZbrphEoSH+p2V3xV9YWZOy15cL7O25OcWFPZ2Cqcc0ETP+VybN9ZWe+GXSFq00Xw== +sassdoc@^2.1.11, sassdoc@^2.7.2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/sassdoc/-/sassdoc-2.7.3.tgz#dfde10e6cc090c28578298f985f92df7d4c6ddbc" + integrity sha512-ccHlaOVoyGHF41xzj09n9WrECRHSGesFVq2EwX6DGMQdG0+avrxaLiuMLD26QfGyF2qcXVt07w5ifP5KZqy1Qw== dependencies: - ansi-styles "^3.2.1" + ansi-styles "^4.2.1" babel-runtime "^6.26.0" - chalk "^2.4.1" - concat-stream "^1.6.2" + chalk "^2.4.2" + concat-stream "^2.0.0" docopt "^0.6.1" - glob "^7.1.3" + glob "^7.1.6" glob2base "0.0.12" - js-yaml "^3.12.0" + js-yaml "^3.14.0" lodash.difference "^4.5.0" lodash.uniq "^4.5.0" minimatch "^3.0.4" - mkdirp "^0.5.0" + mkdirp "^1.0.4" multipipe "1.0.2" - rimraf "^2.6.2" - safe-wipe "0.2.4" + rimraf "^3.0.2" + safe-wipe "0.2.5" sass-convert "^0.5.0" - sassdoc-theme-default "^2.8.1" + sassdoc-theme-default "^2.8.3" scss-comment-parser "^0.8.4" - strip-indent "^2.0.0" + strip-indent "^3.0.0" through2 "1.1.1" - update-notifier "^2.5.0" - vinyl-fs "^2.4.4" - vinyl-source-stream "^1.0.0" + update-notifier "^4.1.0" + vinyl-fs "^3.0.3" + vinyl-source-stream "1.1.2" vinyl-string "^1.0.2" sassy-lists@^3.0.1: @@ -9486,7 +9934,7 @@ sassy-lists@^3.0.1: resolved "https://registry.yarnpkg.com/sassy-lists/-/sassy-lists-3.0.1.tgz#7906cf02e1468edae87b123224a14024e8843b59" integrity sha1-eQbPAuFGjtroexIyJKFAJOiEO1k= -sax@^1.1.4, sax@^1.2.4: +sax@^1.1.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -9500,6 +9948,15 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + scss-comment-parser@^0.8.4: version "0.8.4" resolved "https://registry.yarnpkg.com/scss-comment-parser/-/scss-comment-parser-0.8.4.tgz#8e82c3fcf7fdbbb7f172f8955e2aa88b685f86d8" @@ -9525,12 +9982,12 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== dependencies: - semver "^5.0.3" + semver "^6.3.0" semver-greatest-satisfied-range@^1.1.0: version "1.1.0" @@ -9544,21 +10001,28 @@ semver-regex@^1.0.0: resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" integrity sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk= -"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" - integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== - -semver@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" - integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ== +"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.1.1: +semver@6.3.0, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^7.3.4: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -9583,10 +10047,12 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" -serialize-javascript@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" - integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" serve-index@1.9.1: version "1.9.1" @@ -9676,27 +10142,22 @@ sigmund@^1.0.1: resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= -signal-exit@^3.0.0: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== -signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - sinon@^7.2.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.3.2.tgz#82dba3a6d85f6d2181e1eca2c10d8657c2161f28" - integrity sha512-thErC1z64BeyGiPvF8aoSg0LEnptSaWE7YhdWWbWXgelOyThent7uKOnnEh9zBxDbKixtr5dEko+ws1sZMuFMA== + version "7.5.0" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.5.0.tgz#e9488ea466070ea908fd44a3d6478fd4923c67ec" + integrity sha512-AoD0oJWerp0/rY9czP/D6hDTTUYGpObhZjMpd7Cl/A6+j0xBE+ayL/ldfggkBXUs0IkvIiM1ljM8+WkOc5k78Q== dependencies: "@sinonjs/commons" "^1.4.0" "@sinonjs/formatio" "^3.2.1" - "@sinonjs/samsam" "^3.3.1" + "@sinonjs/samsam" "^3.3.3" diff "^3.5.0" - lolex "^4.0.1" - nise "^1.4.10" + lolex "^4.2.0" + nise "^1.5.2" supports-color "^5.5.0" slash@^1.0.0: @@ -9754,79 +10215,56 @@ snapdragon@^0.8.1: use "^3.1.0" socket.io-adapter@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" - integrity sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs= - -socket.io-client@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz#dcb38103436ab4578ddb026638ae2f21b623671f" - integrity sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ== - dependencies: - backo2 "1.0.2" - base64-arraybuffer "0.1.5" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "~3.1.0" - engine.io-client "~3.2.0" - has-binary2 "~1.0.2" - has-cors "1.1.0" - indexof "0.0.1" - object-component "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - socket.io-parser "~3.2.0" - to-array "0.1.4" + version "1.1.2" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz#ab3f0d6f66b8fc7fca3959ab5991f82221789be9" + integrity sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g== -socket.io-client@^2.0.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.2.0.tgz#84e73ee3c43d5020ccc1a258faeeb9aec2723af7" - integrity sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA== +socket.io-client@2.4.0, socket.io-client@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35" + integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ== dependencies: backo2 "1.0.2" - base64-arraybuffer "0.1.5" component-bind "1.0.0" - component-emitter "1.2.1" + component-emitter "~1.3.0" debug "~3.1.0" - engine.io-client "~3.3.1" + engine.io-client "~3.5.0" has-binary2 "~1.0.2" - has-cors "1.1.0" indexof "0.0.1" - object-component "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" + parseqs "0.0.6" + parseuri "0.0.6" socket.io-parser "~3.3.0" to-array "0.1.4" -socket.io-parser@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077" - integrity sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA== +socket.io-parser@~3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6" + integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg== dependencies: - component-emitter "1.2.1" + component-emitter "~1.3.0" debug "~3.1.0" isarray "2.0.1" -socket.io-parser@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f" - integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng== +socket.io-parser@~3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.4.1.tgz#b06af838302975837eab2dc980037da24054d64a" + integrity sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A== dependencies: component-emitter "1.2.1" - debug "~3.1.0" + debug "~4.1.0" isarray "2.0.1" -socket.io@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980" - integrity sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA== +socket.io@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.0.tgz#01030a2727bd8eb2e85ea96d69f03692ee53d47e" + integrity sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ== dependencies: - debug "~3.1.0" - engine.io "~3.2.0" + debug "~4.1.0" + engine.io "~3.5.0" has-binary2 "~1.0.2" socket.io-adapter "~1.1.0" - socket.io-client "2.1.1" - socket.io-parser "~3.2.0" + socket.io-client "2.4.0" + socket.io-parser "~3.4.0" source-list-map@^2.0.0: version "2.0.1" @@ -9834,28 +10272,28 @@ source-list-map@^2.0.0: integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: - atob "^2.1.1" + atob "^2.1.2" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" urix "^0.1.0" source-map-support@~0.5.12: - version "0.5.12" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" - integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@^0.4.2: version "0.4.4" @@ -9888,30 +10326,30 @@ spawn-sync@^1.0.15: os-shim "^0.1.2" spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" spdx-license-ids "^3.0.0" spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -9927,12 +10365,12 @@ split2@^0.2.1: dependencies: through2 "~0.6.1" -split2@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== +split2@^3.0.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" + integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== dependencies: - through2 "^2.0.2" + readable-stream "^3.0.0" split@0.2: version "0.2.10" @@ -9969,9 +10407,9 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: figgy-pudding "^3.5.1" @@ -10065,9 +10503,9 @@ stream-http@^2.7.2: xtend "^4.0.0" stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== stream-throttle@^0.1.3: version "0.1.3" @@ -10107,7 +10545,7 @@ string-template@^1.0.0: resolved "https://registry.yarnpkg.com/string-template/-/string-template-1.0.0.tgz#9e9f2233dc00f218718ec379a28a5673ecca8b96" integrity sha1-np8iM9wA8hhxjsN5oopWc+zKi5Y= -string-width@^1.0.1, string-width@^1.0.2, "string-width@^1.0.2 || 2": +string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= @@ -10116,7 +10554,7 @@ string-width@^1.0.1, string-width@^1.0.2, "string-width@^1.0.2 || 2": is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -10133,21 +10571,21 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" - integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: - safe-buffer "~5.1.0" + safe-buffer "~5.2.0" string_decoder@~0.10.x: version "0.10.31" @@ -10194,14 +10632,6 @@ strip-ansi@~0.1.0: resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= -strip-bom-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" - integrity sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4= - dependencies: - first-chunk-stream "^1.0.0" - strip-bom "^2.0.0" - strip-bom-string@1.X: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" @@ -10236,15 +10666,22 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== +strip-json-comments@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~1.0.1: version "1.0.4" @@ -10252,9 +10689,9 @@ strip-json-comments@~1.0.1: integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= supercollider@^1.4.5: - version "1.4.5" - resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.4.5.tgz#c696827a257d378f4e0db68fe6fd3b9032ee17d4" - integrity sha512-62Ezy3tS3oCN1MFPMiOcihn1OYotwRvGVKMsdF9ChqGTqfS7UVFC2yP2JeWGWV+9ZMhqHt+CPEmDj51QquKeHw== + version "1.5.2" + resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.5.2.tgz#cf4d408784f0cd52414e3edb9b376d8bda239232" + integrity sha512-SRsv8dMTYSEEIPJAAmXMmPN1yC86pjqsHmAYh2jfNhIs1tTQO0BL+aow0x8f7bOjUGSdoeg8NbUIXCRINXSwQg== dependencies: async "^0.9.0" chalk "^1.1.1" @@ -10269,10 +10706,11 @@ supercollider@^1.4.5: js-yaml "^3.13.1" jsdoc-api "^5.0.2" jsdoc3-parser "^1.0.4" - marked "^0.3.14" + lodash.template ">=4.5.0" + marked "^1.1.1" mkdirp "^0.5.1" rimraf "^2.2.8" - sassdoc "^2.0.0-rc.17" + sassdoc "^2.7.2" string-template "^0.2.0" through2 "^0.6.3" vinyl-fs "^3.0.3" @@ -10289,7 +10727,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.2.0, supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: +supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -10303,6 +10741,13 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + sver-compat@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" @@ -10334,9 +10779,9 @@ table@^3.7.8: string-width "^2.0.0" table@^5.2.3: - version "5.4.4" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.4.tgz#6e0f88fdae3692793d1077fd172a4667afe986a6" - integrity sha512-IIfEAUx5QlODLblLrGTTLJA7Tk0iLSGBvgY8essPRVNGHAzThujww1YqHLs6h3HfTg55h++RzLHH5Xw/rfv+mg== + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: ajv "^6.10.2" lodash "^4.17.14" @@ -10348,7 +10793,7 @@ taffydb@2.6.2: resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" integrity sha1-fLy2S1oUG2ou/CxdLGe04VCyomg= -tapable@^1.0.0, tapable@^1.1.0: +tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== @@ -10362,18 +10807,6 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" -tar@^4: - version "4.4.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.1.tgz#b25d5a8470c976fd7a9a8a350f42c59e9fa81749" - dependencies: - chownr "^1.0.1" - fs-minipass "^1.2.5" - minipass "^2.2.4" - minizlib "^1.1.0" - mkdirp "^0.5.0" - safe-buffer "^5.1.1" - yallist "^3.0.2" - temp-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b" @@ -10391,12 +10824,10 @@ temp-write@^2.1.0: pinkie-promise "^2.0.0" uuid "^2.0.1" -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" +term-size@^2.1.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" + integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== ternary-stream@^2.0.1: version "2.1.1" @@ -10408,26 +10839,25 @@ ternary-stream@^2.0.1: merge-stream "^1.0.0" through2 "^2.0.1" -terser-webpack-plugin@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" - integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== dependencies: - cacache "^11.3.2" - find-cache-dir "^2.0.0" + cacache "^12.0.2" + find-cache-dir "^2.1.0" is-wsl "^1.1.0" - loader-utils "^1.2.3" schema-utils "^1.0.0" - serialize-javascript "^1.7.0" + serialize-javascript "^4.0.0" source-map "^0.6.1" - terser "^4.0.0" - webpack-sources "^1.3.0" + terser "^4.1.2" + webpack-sources "^1.4.0" worker-farm "^1.7.0" -terser@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391" - integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw== +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== dependencies: commander "^2.20.0" source-map "~0.6.1" @@ -10443,26 +10873,18 @@ text-table@^0.2.0, text-table@~0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -textextensions@2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.4.0.tgz#6a143a985464384cc2cff11aea448cd5b018e72b" - integrity sha512-qftQXnX1DzpSV8EddtHIT0eDDEiBF8ywhFYR2lI9xrGtxqKN+CvLXhACeCIGbCpQfxxERbrkZEFb8cZcDKbVZA== - -tfunk@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b" - integrity sha1-OORBT8ZJd9h6/apy+sttKfgve1s= - dependencies: - chalk "^1.1.1" - object-path "^0.9.0" +textextensions@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-3.3.0.tgz#03530d5287b86773c08b77458589148870cc71d3" + integrity sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw== -through2-filter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" - integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw= +tfunk@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-4.0.0.tgz#de9399feaf2060901d590b7faad80fcd5443077e" + integrity sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ== dependencies: - through2 "~2.0.0" - xtend "~4.0.0" + chalk "^1.1.3" + dlv "^1.1.3" through2-filter@^3.0.0: version "3.0.0" @@ -10488,7 +10910,7 @@ through2@2.0.1: readable-stream "~2.0.0" xtend "~4.0.0" -through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@~2.0.0: +through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3, through2@^2.0.5, through2@~2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -10503,7 +10925,7 @@ through2@3.0.1: dependencies: readable-stream "2 || 3" -through2@^0.6.0, through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: +through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg= @@ -10511,6 +10933,13 @@ through2@^0.6.0, through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" +through2@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + through2@~0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" @@ -10529,19 +10958,14 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - timers-browserify@^2.0.4: - version "2.0.10" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" - integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" -timers-ext@^0.1.5: +timers-ext@^0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== @@ -10561,13 +10985,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -to-absolute-glob@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" - integrity sha1-HN+kcqnvUMI57maZm2YsoOs5k38= - dependencies: - extend-shallow "^2.0.1" - to-absolute-glob@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" @@ -10598,6 +11015,11 @@ to-object-path@^0.3.0: dependencies: kind-of "^3.0.2" +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + to-regex-range@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" @@ -10606,6 +11028,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -10635,7 +11064,7 @@ touch@^3.1.0: dependencies: nopt "~1.0.10" -tough-cookie@^2.2.0: +tough-cookie@^2.2.0, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== @@ -10643,14 +11072,6 @@ tough-cookie@^2.2.0: psl "^1.1.28" punycode "^2.1.1" -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - tr46@~0.0.1: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -10666,16 +11087,16 @@ trim-newlines@^2.0.0: resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + trim-off-newlines@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - "true-case-path@^1.0.2": version "1.0.3" resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" @@ -10684,9 +11105,14 @@ trim-right@^1.0.1: glob "^7.1.2" tslib@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== tty-browserify@0.0.0: version "0.0.0" @@ -10722,10 +11148,37 @@ type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + type@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/type/-/type-1.0.1.tgz#084c9a17fcc9151a2cdb1459905c2e45e4bb7d61" - integrity sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" typedarray@^0.0.6: version "0.0.6" @@ -10737,10 +11190,10 @@ typical@^2.6.0, typical@^2.6.1: resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" integrity sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0= -ua-parser-js@0.7.17: - version "0.7.17" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" - integrity sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g== +ua-parser-js@^0.7.28: + version "0.7.28" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" + integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -10756,27 +11209,19 @@ uglify-js@3.4.x: source-map "~0.6.1" uglify-js@^3.0.5, uglify-js@^3.1.4: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" - -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + version "3.14.1" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.1.tgz#e2cb9fe34db9cb4cf7e35d1d26dfea28e09a7d06" + integrity sha512-JhS3hmcVaXlp/xSo3PKY5R0JqKs5M3IV+exdLHW99qKvKivPO4Z8qbej6mte17SOPqAOVMjt/XGgWacnFSzM3g== unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= -underscore@~1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" - integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== +underscore@~1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== undertaker-forward-reference@^1.0.2: version "1.0.2" @@ -10791,15 +11236,16 @@ undertaker-registry@^1.0.0: integrity sha1-XkvaMI5KiirlhPm5pDWaSZglzFA= undertaker@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.1.tgz#701662ff8ce358715324dfd492a4f036055dfe4b" - integrity sha512-71WxIzDkgYk9ZS+spIB8iZXchFhAdEo2YU8xYqBYJ39DIUIqziK78ftm26eecoIY49X0J2MLhG4hr18Yp6/CMA== + version "1.3.0" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.3.0.tgz#363a6e541f27954d5791d6fa3c1d321666f86d18" + integrity sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg== dependencies: arr-flatten "^1.0.1" arr-map "^2.0.0" bach "^1.0.0" collection-map "^1.0.0" es6-weak-map "^2.0.1" + fast-levenshtein "^1.0.0" last-run "^1.1.0" object.defaults "^1.0.0" object.reduce "^1.0.0" @@ -10818,15 +11264,15 @@ unicode-match-property-ecmascript@^1.0.4: unicode-canonical-property-names-ecmascript "^1.0.4" unicode-property-aliases-ecmascript "^1.0.4" -unicode-match-property-value-ecmascript@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== union-value@^1.0.0: version "1.0.1" @@ -10860,12 +11306,12 @@ unique-stream@^2.0.2: json-stable-stringify-without-jsonify "^1.0.1" through2-filter "^3.0.0" -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: - crypto-random-string "^1.0.0" + crypto-random-string "^2.0.0" universalify@^0.1.0: version "0.1.2" @@ -10885,31 +11331,29 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== - -update-notifier@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-notifier@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" + integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" upper-case@^1.1.1: version "1.1.3" @@ -10917,9 +11361,9 @@ upper-case@^1.1.1: integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -10928,12 +11372,12 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= dependencies: - prepend-http "^1.0.1" + prepend-http "^2.0.0" url@^0.11.0: version "0.11.0" @@ -10992,22 +11436,17 @@ uuid@^2.0.1: integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -v8flags@^3.0.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.3.tgz#fc9dc23521ca20c5433f81cc4eb9b3033bb105d8" - integrity sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w== +v8flags@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== dependencies: homedir-polyfill "^1.0.1" -vali-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" - integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY= - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -11030,29 +11469,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vinyl-fs@^2.3.0, vinyl-fs@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" - integrity sha1-vm/zJwy1Xf19MGNkDegfJddTIjk= - dependencies: - duplexify "^3.2.0" - glob-stream "^5.3.2" - graceful-fs "^4.0.0" - gulp-sourcemaps "1.6.0" - is-valid-glob "^0.3.0" - lazystream "^1.0.0" - lodash.isequal "^4.0.0" - merge-stream "^1.0.0" - mkdirp "^0.5.0" - object-assign "^4.0.0" - readable-stream "^2.0.4" - strip-bom "^2.0.0" - strip-bom-stream "^1.0.0" - through2 "^2.0.0" - through2-filter "^2.0.0" - vali-date "^1.0.0" - vinyl "^1.0.0" - vinyl-fs@^3.0.0, vinyl-fs@^3.0.3, vinyl-fs@~3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" @@ -11083,7 +11499,7 @@ vinyl-named@^1.1.0: dependencies: through "^2.3.6" -vinyl-source-stream@^1.0.0: +vinyl-source-stream@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vinyl-source-stream/-/vinyl-source-stream-1.1.2.tgz#62b53a135610a896e98ca96bee3a87f008a8e780" integrity sha1-YrU6E1YQqJbpjKlr7jqH8Aio54A= @@ -11135,7 +11551,7 @@ vinyl@^0.5.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vinyl@^1.0.0, vinyl@^1.1.1: +vinyl@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= @@ -11145,9 +11561,9 @@ vinyl@^1.0.0, vinyl@^1.1.1: replace-ext "0.0.1" vinyl@^2.0.0, vinyl@^2.0.2, vinyl@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== + version "2.2.1" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" + integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== dependencies: clone "^2.1.1" clone-buffer "^1.0.0" @@ -11157,33 +11573,44 @@ vinyl@^2.0.0, vinyl@^2.0.2, vinyl@^2.1.0: replace-ext "^1.0.0" vm-browserify@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" - integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== walk-back@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-3.0.1.tgz#0c0012694725604960d6c2f75aaf1a1e7d455d35" integrity sha512-umiNB2qLO731Sxbp6cfZ9pwURJzTnftxE4Gc7hq8n/ehkuXC//s9F65IEIJA2ZytQZ1ZOsm/Fju4IWx0bivkUQ== -watchpack@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: - chokidar "^2.0.2" + chokidar "^3.4.1" graceful-fs "^4.1.2" neo-async "^2.5.0" + watchpack-chokidar2 "^2.0.1" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" webidl-conversions@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-2.0.1.tgz#3bf8258f7d318c7443c36f2e169402a1a6703506" integrity sha1-O/glj30xjHRDw28uFpQCoaZwNQY= -webpack-sources@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" - integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== +webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== dependencies: source-list-map "^2.0.0" source-map "~0.6.1" @@ -11204,38 +11631,38 @@ webpack-stream@^5.2.1: webpack "^4.26.1" webpack@^4.26.1, webpack@^4.28.4: - version "4.37.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.37.0.tgz#3508ef10f7996612c2be6026076d89760f776f54" - integrity sha512-iJPPvL7XpbcbwOthbzpa2BSPlmGp8lGDokAj/LdWtK80rsPoPOdANSbDBf2GAVLKZD3GhCuQ/gGkgN9HWs0Keg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" + version "4.46.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" schema-utils "^1.0.0" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" what-input@>=4.1.0: - version "5.2.3" - resolved "https://registry.yarnpkg.com/what-input/-/what-input-5.2.3.tgz#9e636c9854c875b50b6716facd4fb55deb1d6653" - integrity sha512-ekQJmKNVEPcFIE2YI1L7iXm/m2QTQWe9QqewSCCFZs2ZPo3yOfA8TV8ioBx/JnWZrDUNVGj/YdDJCH5uagMEgg== + version "5.2.10" + resolved "https://registry.yarnpkg.com/what-input/-/what-input-5.2.10.tgz#f79f5b65cf95d75e55e6d580bb0a6b98174cad4e" + integrity sha512-7AQoIMGq7uU8esmKniOtZG3A+pzlwgeyFpkS3f/yzRbxknSL68tvn5gjE6bZ4OMFxCPjpaBd2udUTqlZ0HwrXQ== whatwg-url-compat@~0.6.5: version "0.6.5" @@ -11268,34 +11695,19 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== dependencies: - string-width "^2.1.1" - -window-size@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - integrity sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY= - -window-size@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" - integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU= + string-width "^4.0.0" -word-wrap@^1.0.3: +word-wrap@^1.0.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -wordwrap@~1.0.0: +wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= @@ -11333,19 +11745,29 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^2.0.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== dependencies: - graceful-fs "^4.1.11" imurmurhash "^0.1.4" + is-typedarray "^1.0.0" signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" write@1.0.3: version "1.0.3" @@ -11362,47 +11784,36 @@ write@^0.2.1: mkdirp "^0.5.1" ws@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -ws@~3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" -ws@~6.1.0: - version "6.1.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.4.tgz#5b5c8800afab925e94ccb29d153c8d02c1776ef9" - integrity sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA== - dependencies: - async-limiter "~1.0.0" +ws@~7.4.2: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== "xml-name-validator@>= 2.0.1 < 3.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635" integrity sha1-TYuPHszTQZqjYgYb7O9RXh5VljU= -xmlcreate@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.1.tgz#2ec38bd7b708d213fd1a90e2431c4af9c09f6a52" - integrity sha512-MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA== +xmlcreate@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.3.tgz#df9ecd518fd3890ab3548e1b811d040614993497" + integrity sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ== -xmlhttprequest-ssl@~1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" - integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= +xmlhttprequest-ssl@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.6.3.tgz#03b713873b01659dfa2c1c5d056065b27ddc2de6" + integrity sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q== "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" @@ -11416,31 +11827,46 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" -y18n@^3.2.0, y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml-js@^0.1.0: version "0.1.5" resolved "https://registry.yarnpkg.com/yaml-js/-/yaml-js-0.1.5.tgz#a01369010b3558d8aaed2394615dfd0780fd8fac" integrity sha1-oBNpAQs1WNiq7SOUYV39B4D9j6w= +yargs-parser@>=5.0.0-security.0, yargs-parser@^20.2.2, yargs-parser@^20.2.3: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + yargs-parser@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -11448,15 +11874,15 @@ yargs-parser@^10.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^18.1.1: +yargs-parser@^18.1.1, yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -11464,19 +11890,13 @@ yargs-parser@^18.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^4.1.0, yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - integrity sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw= - dependencies: - camelcase "^3.0.0" - -yargs-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" - integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= +yargs-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" + integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== dependencies: camelcase "^3.0.0" + object.assign "^4.1.0" yargs-parser@^7.0.0: version "7.0.0" @@ -11502,49 +11922,23 @@ yargs@15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" -yargs@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" - integrity sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ= - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - window-size "^0.2.0" - y18n "^3.2.1" - yargs-parser "^4.1.0" - -yargs@6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - integrity sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg= +yargs@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== +yargs@^13.3.0, yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== dependencies: cliui "^5.0.0" find-up "^3.0.0" @@ -11555,25 +11949,29 @@ yargs@^13.3.0: string-width "^3.0.0" which-module "^2.0.0" y18n "^4.0.0" - yargs-parser "^13.1.1" + yargs-parser "^13.1.2" -yargs@^3.32.0: - version "3.32.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" - integrity sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU= +yargs@^15.3.1, yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: - camelcase "^2.0.1" - cliui "^3.0.3" - decamelize "^1.1.1" - os-locale "^1.4.0" - string-width "^1.0.1" - window-size "^0.1.4" - y18n "^3.2.0" + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" -yargs@^7.0.0, yargs@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" - integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= +yargs@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.2.tgz#63a0a5d42143879fdbb30370741374e0641d55db" + integrity sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA== dependencies: camelcase "^3.0.0" cliui "^3.2.0" @@ -11587,7 +11985,7 @@ yargs@^7.0.0, yargs@^7.1.0: string-width "^1.0.2" which-module "^1.0.0" y18n "^3.2.1" - yargs-parser "^5.0.0" + yargs-parser "^5.0.1" yargs@^8.0.1: version "8.0.2" @@ -11608,19 +12006,13 @@ yargs@^8.0.1: y18n "^3.2.1" yargs-parser "^7.0.0" -yargs@~1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" - integrity sha1-nHtKgv1dWVsr8Xq23MQxNUMv40s= +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= dependencies: - minimist "^0.1.0" - -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" - integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= - dependencies: - fd-slicer "~1.0.1" + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" yazl@^2.1.0: version "2.5.1" From 9aac575ef5ab5203ebaf0daa1140fada227c89d1 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 14:39:57 -0700 Subject: [PATCH 48/82] Run build under Node 14 node 16 is not currently funcational. --- .github/workflows/main.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9f7424220f..255e769a10 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,7 +6,9 @@ jobs: build_latest_browserstack: name: Node latest with browserstack runs-on: ubuntu-latest - container: node:latest + strategy: + matrix: + node-version: [14.x] # latest (16) not functional steps: - uses: actions/checkout@v1 - name: install system dependencies @@ -24,7 +26,9 @@ jobs: build_latest: name: Node latest runs-on: ubuntu-latest - container: node:current + strategy: + matrix: + node-version: [14.x] # latest (16) not functional steps: - uses: actions/checkout@v1 - name: install system dependencies From 98fc4c589b274e80027cfc96d50a5197eece8cf8 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 10:15:16 -0700 Subject: [PATCH 49/82] chore: node14 working --- package.json | 1 + yarn.lock | 142 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 138 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1513617d44..06b8884718 100644 --- a/package.json +++ b/package.json @@ -84,6 +84,7 @@ "mocha": "^5.0.5", "mocha-headless-chrome": "^2.0.1", "motion-ui": "^2.0.2", + "node-sass": "^6.0.1", "octophant": "^1.0.0", "panini": "^1.6.2", "patch-package": "^6.2.1", diff --git a/yarn.lock b/yarn.lock index 9dd2a6fb13..84a830f189 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2703,6 +2703,11 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + chroma-js@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/chroma-js/-/chroma-js-1.4.1.tgz#eb2d9c4d1ff24616be84b35119f4d26f8205f134" @@ -3274,6 +3279,15 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + crypt@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" @@ -3979,6 +3993,11 @@ entities@~2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + errno@^0.1.3, errno@~0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" @@ -4856,6 +4875,13 @@ fs-extra@^7.0.1: jsonfile "^4.0.0" universalify "^0.1.0" +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + fs-mkdirp-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" @@ -5212,7 +5238,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: +graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.3: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== @@ -7647,6 +7673,24 @@ meow@^8.0.0: type-fest "^0.18.0" yargs-parser "^20.2.3" +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== + dependencies: + "@types/minimist" "^1.2.0" + camelcase-keys "^6.2.2" + decamelize "^1.2.0" + decamelize-keys "^1.1.0" + hard-rejection "^2.1.0" + minimist-options "4.1.0" + normalize-package-data "^3.0.0" + read-pkg-up "^7.0.1" + redent "^3.0.0" + trim-newlines "^3.0.0" + type-fest "^0.18.0" + yargs-parser "^20.2.3" + merge-stream@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" @@ -7785,6 +7829,21 @@ minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minipass@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" + integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + dependencies: + yallist "^4.0.0" + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + mississippi@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" @@ -7833,7 +7892,7 @@ mkdirp@0.5.1: dependencies: minimist "^1.2.5" -mkdirp@^1.0.4: +mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -8036,6 +8095,22 @@ node-gyp@^3.8.0: tar "^2.0.0" which "1" +node-gyp@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" + integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.3" + nopt "^5.0.0" + npmlog "^4.1.2" + request "^2.88.2" + rimraf "^3.0.2" + semver "^7.3.2" + tar "^6.0.2" + which "^2.0.2" + node-libs-browser@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" @@ -8093,6 +8168,27 @@ node-sass@^4.8.3: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" +node-sass@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" + integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^7.0.3" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + lodash "^4.17.15" + meow "^9.0.0" + nan "^2.13.2" + node-gyp "^7.1.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "2.2.5" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + "nopt@2 || 3": version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -8178,7 +8274,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -8704,6 +8800,11 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + path-parse@^1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -9494,7 +9595,7 @@ replacestream@^4.0.3: object-assign "^4.0.1" readable-stream "^2.0.2" -request@^2.55.0, request@^2.87.0, request@^2.88.0: +request@^2.55.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -10016,7 +10117,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^7.3.4: +semver@^7.3.2, semver@^7.3.4: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -10127,11 +10228,23 @@ shebang-command@^1.2.0: dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + shelljs@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" @@ -10807,6 +10920,18 @@ tar@^2.0.0: fstream "^1.0.12" inherits "2" +tar@^6.0.2: + version "6.1.10" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.10.tgz#8a320a74475fba54398fa136cd9883aa8ad11175" + integrity sha512-kvvfiVvjGMxeUNB6MyYv5z7vhfFRwbwCXJAeL0/lnbrttBVqcMOnpHUf0X42LrPMR8mMpgapkJMchFH4FSHzNA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + temp-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b" @@ -11688,6 +11813,13 @@ which@1, which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: dependencies: isexe "^2.0.0" +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" From 12fc48be38d437fd26def53b70ad1539d3b01adb Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 12:55:10 -0700 Subject: [PATCH 50/82] chore: dependency updates and fixes --- package.json | 18 +- yarn.lock | 554 +++++++++++---------------------------------------- 2 files changed, 124 insertions(+), 448 deletions(-) diff --git a/package.json b/package.json index 06b8884718..1d14387f33 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "clipboard": "^2.0.4", "corejs-typeahead": "^1.1.1", "cz-conventional-changelog": "^2.1.0", - "doiuse": "~4.1.0", + "doiuse": "^4.4.1", "foundation-docs": "github:foundation/foundation-docs", "gulp": "^4.0.0", "gulp-add-src": "^1.0.0", @@ -71,7 +71,7 @@ "gulp-replace": "^1.0.0", "gulp-rsync": "0.0.8", "gulp-sass": "^4.1.1", - "gulp-sass-lint": "^1.3.2", + "gulp-sass-lint": "^1.4.0", "gulp-sourcemaps": "^2.6.4", "gulp-uglify": "^3.0.0", "gulp-zip": "^4.1.0", @@ -86,7 +86,7 @@ "motion-ui": "^2.0.2", "node-sass": "^6.0.1", "octophant": "^1.0.0", - "panini": "^1.6.2", + "panini": "^1.7.2", "patch-package": "^6.2.1", "prettyjson": "^1.1.3", "require-dir": "^1.2.0", @@ -98,7 +98,7 @@ "sassy-lists": "^3.0.1", "sinon": "^7.2.2", "strip-indent": "^2.0.0", - "supercollider": "^1.4.5", + "supercollider": "^1.5.3", "touch": "^3.1.0", "undertaker-forward-reference": "^1.0.2", "util-deprecate": "^1.0.2", @@ -110,7 +110,15 @@ "yargs": "^13.3.0" }, "resolutions": { - "puppeteer": "^1.11.0" + "puppeteer": "^1.11.0", + "glob-parent": "^5.1.2", + "yargs-parser": "^20.2.4", + "marked": "^2", + "node-sass": "^6.0.1", + "lodash": "^4.17.21", + "minimist": "^1.2.3", + "dot-prop": "^5.2.0", + "trim-newlines": "^3.0.1" }, "engines": { "node": ">=8.4.0" diff --git a/yarn.lock b/yarn.lock index 84a830f189..efa4ede2ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1080,6 +1080,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/minimatch@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" @@ -1268,14 +1273,6 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -JSONStream@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.8.4.tgz#91657dfe6ff857483066132b4618b62e8f4887bd" - integrity sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70= - dependencies: - jsonparse "0.0.5" - through ">=2.2.7 <3" - JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -1624,6 +1621,11 @@ array-differ@^1.0.0: resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + array-each@^1.0.0, array-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" @@ -1690,6 +1692,11 @@ array-union@^1.0.1: dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -1720,6 +1727,11 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + asap@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -2024,13 +2036,6 @@ blob@0.0.5: resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -2225,15 +2230,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^3.2.1: - version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== - dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - -browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.16.7: +browserslist@^4.12.0, browserslist@^4.16.1, browserslist@^4.16.6, browserslist@^4.16.7: version "4.16.8" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== @@ -2436,14 +2433,6 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -2467,11 +2456,6 @@ camelcase@5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" @@ -2482,12 +2466,12 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30000819, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001251: +caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001179, caniuse-lite@^1.0.30001251: version "1.0.30001251" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz#6853a606ec50893115db660f82c094d18f096d85" integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A== @@ -2544,7 +2528,7 @@ chalk@0.4.0: has-color "~0.1.0" strip-ansi "~0.1.0" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2944,7 +2928,7 @@ color-support@^1.1.3: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -colorette@^1.2.1, colorette@^1.3.0: +colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== @@ -3251,23 +3235,6 @@ cross-spawn@^2.1.4: cross-spawn-async "^2.2.2" spawn-sync "^1.0.15" -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3505,7 +3472,7 @@ decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3677,23 +3644,21 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -doiuse@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-4.1.0.tgz#fbc83e24f000135f2711a29df99f75dddbb35a69" - integrity sha512-QBvDs4nH6uJwSNwONQkBpt7SdCfjFEuQqoSkpyoUXqX7gYd9elCTVhIiIEaAFNiykwCrjIjHVcBcx1csa6EsQg== +doiuse@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-4.4.1.tgz#efea4ecb6b04ed3228de28f5c6ad704f2c578c80" + integrity sha512-TUpr1/YNg20IB09tZmwGCTsTQoxj8jUld/hUZprZMj8vj0VpAJySXEWCr8WMvqvgzk0/kG/FxeSMGKode4UjPg== dependencies: - browserslist "^3.2.1" - caniuse-lite "^1.0.30000819" + browserslist "^4.16.1" + caniuse-lite "^1.0.30001179" css-rule-stream "^1.1.0" duplexer2 "0.0.2" - jsonfilter "^1.1.2" ldjson-stream "^1.2.1" - lodash "^4.0.0" - multimatch "^2.0.0" - postcss "^6.0.1" - source-map "^0.5.6" - through2 "^0.6.3" - yargs "^8.0.1" + multimatch "^5.0.0" + postcss "^8.2.4" + source-map "^0.7.3" + through2 "^4.0.2" + yargs "^16.2.0" dom-serializer@0: version "0.2.2" @@ -3781,14 +3746,7 @@ domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: domelementtype "^2.2.0" domhandler "^4.2.0" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= - dependencies: - is-obj "^1.0.0" - -dot-prop@^5.2.0: +dot-prop@^3.0.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== @@ -3874,7 +3832,7 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.811: +electron-to-chromium@^1.3.811: version "1.3.816" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.816.tgz#ab6488b126de92670a6459fe3e746050e0c6276f" integrity sha512-/AvJPIJldO0NkwkfpUD7u1e4YEGRFBQpFuvl9oGCcVgWOObsZB1loxVGeVUJB9kmvfsBUUChPYdgRzx6+AKNyg== @@ -4362,19 +4320,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -4779,8 +4724,8 @@ form-data@~2.3.2: mime-types "^2.1.12" "foundation-docs@github:foundation/foundation-docs": - version "0.3.2" - resolved "https://codeload.github.com/foundation/foundation-docs/tar.gz/a6d6a9eae51f0b0f61b1c8b4c29e2e7a5b30b883" + version "0.3.3" + resolved "https://codeload.github.com/foundation/foundation-docs/tar.gz/4301fc720be57ee602b46a41d3e588c90a984652" dependencies: cheerio "^1.0.0-rc.2" handlebars "^4.5.3" @@ -4790,7 +4735,7 @@ form-data@~2.3.2: kebab-case "^1.0.0" lodash "^4.17.15" lodash.template "^4.5.0" - marked "^1.1.1" + marked "^2" mkdirp "^0.5.1" multiline "^1.0.2" querystring "^0.2.0" @@ -4923,16 +4868,6 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5072,15 +5007,7 @@ glob-all@^3.1.0: glob "^7.1.2" yargs "^15.3.1" -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@~5.1.2: +glob-parent@^3.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -5447,7 +5374,7 @@ gulp-rsync@0.0.8: lodash.isstring "^2.4.1" through2 "^0.6.1" -gulp-sass-lint@^1.3.2: +gulp-sass-lint@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/gulp-sass-lint/-/gulp-sass-lint-1.4.0.tgz#6f7096c5abcbc0ce99ddf060c9e1a99067a47ebe" integrity sha512-XerYvHx7rznInkedMw5Ayif+p8EhysOVHUBvlgUa0FSl88H2cjNjaRZ3NGn5Efmp+2HxpXp4NHqMIbOSdwef3A== @@ -5935,18 +5862,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -in-publish@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" - integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - indent-string@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" @@ -5975,7 +5890,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6204,11 +6119,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -6298,11 +6208,6 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" @@ -6653,26 +6558,11 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -jsonfilter@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/jsonfilter/-/jsonfilter-1.1.2.tgz#21ef7cedc75193813c75932e96a98be205ba5a11" - integrity sha1-Ie987cdRk4E8dZMulqmL4gW6WhE= - dependencies: - JSONStream "^0.8.4" - minimist "^1.1.0" - stream-combiner "^0.2.1" - through2 "^0.6.3" - jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsonparse@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64" - integrity sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ= - jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -6872,16 +6762,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -7374,12 +7254,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.3.0, lodash@~4.17.10: +lodash@4.17.15, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.3.0, lodash@~4.17.10: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7424,7 +7299,7 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.5: +lru-cache@^4.0.0, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -7492,7 +7367,7 @@ map-cache@^0.2.0, map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= @@ -7535,17 +7410,7 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.3.tgz#79babad78af638ba4d522a9e715cdfdd2429e946" - integrity sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ== - -marked@^1.1.1: - version "1.2.9" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" - integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== - -marked@^2.0.3: +marked@^0.6.2, marked@^2, marked@^2.0.0, marked@^2.0.3: version "2.1.3" resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== @@ -7583,13 +7448,6 @@ mdurl@^1.0.1: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - memoize-decorator@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/memoize-decorator/-/memoize-decorator-1.0.2.tgz#605a41715c4171db192a90098b00ab8d6e1102f5" @@ -7640,22 +7498,6 @@ meow@5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -7814,17 +7656,7 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@1.1.x: - version "1.1.3" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" - integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag= - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: +minimist@0.0.8, minimist@1.1.x, minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -7885,7 +7717,7 @@ mkdirp@0.5.1: dependencies: minimist "0.0.8" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -7977,6 +7809,17 @@ multimatch@^2.0.0: arrify "^1.0.0" minimatch "^3.0.0" +multimatch@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + multipipe@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-1.0.2.tgz#cc13efd833c9cda99f224f868461b8e1a3fd939d" @@ -8012,6 +7855,11 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== +nanoid@^3.1.23: + version "3.1.25" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" + integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -8077,24 +7925,6 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - node-gyp@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" @@ -8145,30 +7975,7 @@ node-releases@^1.1.75: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== -node-sass@^4.8.3: - version "4.14.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" - integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash "^4.17.15" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.13.2" - node-gyp "^3.8.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -node-sass@^6.0.1: +node-sass@^4.8.3, node-sass@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== @@ -8189,13 +7996,6 @@ node-sass@^6.0.1: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -8274,7 +8074,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.1.2: +npmlog@^4.0.0, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -8509,15 +8309,6 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-shim@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" @@ -8528,7 +8319,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0, osenv@^0.1.4: +osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -8606,10 +8397,10 @@ pako@~1.0.5: resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -panini@^1.6.2: - version "1.7.1" - resolved "https://registry.yarnpkg.com/panini/-/panini-1.7.1.tgz#1fb7c5ff24e64aec70f313606118e7cda5bfe1cf" - integrity sha512-iAzKEN69Tt/9nhA46SeTJWHEUOISQB0RoCf2h5Ts1jXZ2bz9UCi6o9EIPuZKR3QZQkTzxk5zqPtNbeEJMcruUg== +panini@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/panini/-/panini-1.7.2.tgz#7c2db6afc9fcc71008ec1bf16f8dfc995569c284" + integrity sha512-JCDjsWM7K3TcMxl2eb9g3FW5JM792CH5tIIYEKdAuC/Omf7Ylk0rsap84LRNRF6t8r+G0THms+aWLPCpUYpEgg== dependencies: deepmerge "^1.5.2" front-matter "^2.0.5" @@ -8617,7 +8408,7 @@ panini@^1.6.2: handlebars "^4.0.5" highlight.js "^8.9.1" js-yaml "^3.14.0" - marked "^1.1.1" + marked "^2" nopt "^4.0.1" slash "^1.0.0" strip-bom "2.0.0" @@ -8763,11 +8554,6 @@ path-browserify@0.0.1: resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -8838,13 +8624,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -8990,15 +8769,6 @@ postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^6.0.1: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - postcss@^7.0.2, postcss@^7.0.32: version "7.0.36" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" @@ -9008,6 +8778,15 @@ postcss@^7.0.2, postcss@^7.0.32: source-map "^0.6.1" supports-color "^6.1.0" +postcss@^8.2.4: + version "8.3.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" + integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -9247,14 +9026,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" @@ -9281,15 +9052,6 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -9414,14 +9176,6 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" @@ -9560,13 +9314,6 @@ repeat-string@^1.5.4, repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - replace-ext@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" @@ -9595,7 +9342,7 @@ replacestream@^4.0.3: object-assign "^4.0.1" readable-stream "^2.0.2" -request@^2.55.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: +request@^2.55.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -9767,7 +9514,7 @@ right-pad@^1.0.1: resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" integrity sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA= -rimraf@2, rimraf@2.*, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@2.*, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -10000,7 +9747,7 @@ sassdoc-theme-default@^2.8.3: nunjucks "^3.1.7" sassdoc-extras "^2.5.0" -sassdoc@^2.1.11, sassdoc@^2.7.2: +sassdoc@^2.1.11, sassdoc@^2.7.3: version "2.7.3" resolved "https://registry.yarnpkg.com/sassdoc/-/sassdoc-2.7.3.tgz#dfde10e6cc090c28578298f985f92df7d4c6ddbc" integrity sha512-ccHlaOVoyGHF41xzj09n9WrECRHSGesFVq2EwX6DGMQdG0+avrxaLiuMLD26QfGyF2qcXVt07w5ifP5KZqy1Qw== @@ -10124,11 +9871,6 @@ semver@^7.3.2, semver@^7.3.4: dependencies: lru-cache "^6.0.0" -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -10384,6 +10126,11 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -10425,6 +10172,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + sparkles@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" @@ -10569,14 +10321,6 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" -stream-combiner@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" - integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg= - dependencies: - duplexer "~0.1.1" - through "~2.3.4" - stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -10767,7 +10511,7 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-indent@^1.0.0, strip-indent@^1.0.1: +strip-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= @@ -10801,10 +10545,10 @@ strip-json-comments@~1.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= -supercollider@^1.4.5: - version "1.5.2" - resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.5.2.tgz#cf4d408784f0cd52414e3edb9b376d8bda239232" - integrity sha512-SRsv8dMTYSEEIPJAAmXMmPN1yC86pjqsHmAYh2jfNhIs1tTQO0BL+aow0x8f7bOjUGSdoeg8NbUIXCRINXSwQg== +supercollider@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.5.3.tgz#e695f3f63447c3303f80b278ab5505fea6cd5bff" + integrity sha512-GUiiBsMbHayOCNK2DlR3WAvz8Sz3+/eVPnIKsPW1cRLpXRxBU/IsmfgUmHQRmCgbvcKiEX/v5lC5Ey5Mcfl/1w== dependencies: async "^0.9.0" chalk "^1.1.1" @@ -10820,10 +10564,10 @@ supercollider@^1.4.5: jsdoc-api "^5.0.2" jsdoc3-parser "^1.0.4" lodash.template ">=4.5.0" - marked "^1.1.1" + marked "^2.0.0" mkdirp "^0.5.1" rimraf "^2.2.8" - sassdoc "^2.7.2" + sassdoc "^2.7.3" string-template "^0.2.0" through2 "^0.6.3" vinyl-fs "^3.0.3" @@ -10840,7 +10584,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: +supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -10911,15 +10655,6 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - tar@^6.0.2: version "6.1.10" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.10.tgz#8a320a74475fba54398fa136cd9883aa8ad11175" @@ -11058,7 +10793,7 @@ through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^4.0.0: +through2@^4.0.0, through2@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== @@ -11073,7 +10808,7 @@ through2@~0.4.1: readable-stream "~1.0.17" xtend "~2.1.1" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -11202,17 +10937,7 @@ tr46@~0.0.1: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= - -trim-newlines@^3.0.0: +trim-newlines@^2.0.0, trim-newlines@^3.0.0, trim-newlines@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== @@ -11806,7 +11531,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: +which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -11994,49 +11719,11 @@ yaml-js@^0.1.0: resolved "https://registry.yarnpkg.com/yaml-js/-/yaml-js-0.1.5.tgz#a01369010b3558d8aaed2394615dfd0780fd8fac" integrity sha1-oBNpAQs1WNiq7SOUYV39B4D9j6w= -yargs-parser@>=5.0.0-security.0, yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@>=5.0.0-security.0, yargs-parser@^10.0.0, yargs-parser@^13.1.2, yargs-parser@^18.1.1, yargs-parser@^18.1.2, yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.4, yargs-parser@^5.0.1: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - dependencies: - camelcase "^4.1.0" - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.1, yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" - integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== - dependencies: - camelcase "^3.0.0" - object.assign "^4.1.0" - -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= - dependencies: - camelcase "^4.1.0" - yargs@15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" @@ -12054,7 +11741,7 @@ yargs@15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" -yargs@16.2.0: +yargs@16.2.0, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -12119,25 +11806,6 @@ yargs@^7.1.0: y18n "^3.2.1" yargs-parser "^5.0.1" -yargs@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From 25290ac647a57101205c0e26d0bcc1f5f3a6beea Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 12:56:31 -0700 Subject: [PATCH 51/82] husky hanging om commit lint --- .huskyrc.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.huskyrc.yml b/.huskyrc.yml index cf0a820c16..0431d0b9b4 100644 --- a/.huskyrc.yml +++ b/.huskyrc.yml @@ -1,5 +1,5 @@ hooks: - commit-msg: > - node ./script/husky-commit-lint.js --color -e $GIT_PARAMS + # commit-msg: > + # node ./script/husky-commit-lint.js --color -e $GIT_PARAMS pre-push: node ./script/husky-push-test.js --color From ba5bb5ed7638a994e31107a9daaa816d69ee078e Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:02:42 -0700 Subject: [PATCH 52/82] chore: husky fix --- .huskyrc.yml | 4 +- package.json | 18 +- yarn.lock | 554 ++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 450 insertions(+), 126 deletions(-) diff --git a/.huskyrc.yml b/.huskyrc.yml index 0431d0b9b4..cf0a820c16 100644 --- a/.huskyrc.yml +++ b/.huskyrc.yml @@ -1,5 +1,5 @@ hooks: - # commit-msg: > - # node ./script/husky-commit-lint.js --color -e $GIT_PARAMS + commit-msg: > + node ./script/husky-commit-lint.js --color -e $GIT_PARAMS pre-push: node ./script/husky-push-test.js --color diff --git a/package.json b/package.json index 1d14387f33..06b8884718 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "clipboard": "^2.0.4", "corejs-typeahead": "^1.1.1", "cz-conventional-changelog": "^2.1.0", - "doiuse": "^4.4.1", + "doiuse": "~4.1.0", "foundation-docs": "github:foundation/foundation-docs", "gulp": "^4.0.0", "gulp-add-src": "^1.0.0", @@ -71,7 +71,7 @@ "gulp-replace": "^1.0.0", "gulp-rsync": "0.0.8", "gulp-sass": "^4.1.1", - "gulp-sass-lint": "^1.4.0", + "gulp-sass-lint": "^1.3.2", "gulp-sourcemaps": "^2.6.4", "gulp-uglify": "^3.0.0", "gulp-zip": "^4.1.0", @@ -86,7 +86,7 @@ "motion-ui": "^2.0.2", "node-sass": "^6.0.1", "octophant": "^1.0.0", - "panini": "^1.7.2", + "panini": "^1.6.2", "patch-package": "^6.2.1", "prettyjson": "^1.1.3", "require-dir": "^1.2.0", @@ -98,7 +98,7 @@ "sassy-lists": "^3.0.1", "sinon": "^7.2.2", "strip-indent": "^2.0.0", - "supercollider": "^1.5.3", + "supercollider": "^1.4.5", "touch": "^3.1.0", "undertaker-forward-reference": "^1.0.2", "util-deprecate": "^1.0.2", @@ -110,15 +110,7 @@ "yargs": "^13.3.0" }, "resolutions": { - "puppeteer": "^1.11.0", - "glob-parent": "^5.1.2", - "yargs-parser": "^20.2.4", - "marked": "^2", - "node-sass": "^6.0.1", - "lodash": "^4.17.21", - "minimist": "^1.2.3", - "dot-prop": "^5.2.0", - "trim-newlines": "^3.0.1" + "puppeteer": "^1.11.0" }, "engines": { "node": ">=8.4.0" diff --git a/yarn.lock b/yarn.lock index efa4ede2ef..84a830f189 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1080,11 +1080,6 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== -"@types/minimatch@^3.0.3": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" - integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== - "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" @@ -1273,6 +1268,14 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== +JSONStream@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.8.4.tgz#91657dfe6ff857483066132b4618b62e8f4887bd" + integrity sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70= + dependencies: + jsonparse "0.0.5" + through ">=2.2.7 <3" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -1621,11 +1624,6 @@ array-differ@^1.0.0: resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - array-each@^1.0.0, array-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" @@ -1692,11 +1690,6 @@ array-union@^1.0.1: dependencies: array-uniq "^1.0.1" -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -1727,11 +1720,6 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - asap@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -2036,6 +2024,13 @@ blob@0.0.5: resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -2230,7 +2225,15 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.12.0, browserslist@^4.16.1, browserslist@^4.16.6, browserslist@^4.16.7: +browserslist@^3.2.1: + version "3.2.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" + integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== + dependencies: + caniuse-lite "^1.0.30000844" + electron-to-chromium "^1.3.47" + +browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.16.7: version "4.16.8" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== @@ -2433,6 +2436,14 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -2456,6 +2467,11 @@ camelcase@5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" @@ -2466,12 +2482,12 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= -camelcase@^5.3.1: +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001179, caniuse-lite@^1.0.30001251: +caniuse-lite@^1.0.30000819, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001251: version "1.0.30001251" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz#6853a606ec50893115db660f82c094d18f096d85" integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A== @@ -2528,7 +2544,7 @@ chalk@0.4.0: has-color "~0.1.0" strip-ansi "~0.1.0" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2928,7 +2944,7 @@ color-support@^1.1.3: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: +colorette@^1.2.1, colorette@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== @@ -3235,6 +3251,23 @@ cross-spawn@^2.1.4: cross-spawn-async "^2.2.2" spawn-sync "^1.0.15" +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3472,7 +3505,7 @@ decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3644,21 +3677,23 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -doiuse@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-4.4.1.tgz#efea4ecb6b04ed3228de28f5c6ad704f2c578c80" - integrity sha512-TUpr1/YNg20IB09tZmwGCTsTQoxj8jUld/hUZprZMj8vj0VpAJySXEWCr8WMvqvgzk0/kG/FxeSMGKode4UjPg== +doiuse@~4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-4.1.0.tgz#fbc83e24f000135f2711a29df99f75dddbb35a69" + integrity sha512-QBvDs4nH6uJwSNwONQkBpt7SdCfjFEuQqoSkpyoUXqX7gYd9elCTVhIiIEaAFNiykwCrjIjHVcBcx1csa6EsQg== dependencies: - browserslist "^4.16.1" - caniuse-lite "^1.0.30001179" + browserslist "^3.2.1" + caniuse-lite "^1.0.30000819" css-rule-stream "^1.1.0" duplexer2 "0.0.2" + jsonfilter "^1.1.2" ldjson-stream "^1.2.1" - multimatch "^5.0.0" - postcss "^8.2.4" - source-map "^0.7.3" - through2 "^4.0.2" - yargs "^16.2.0" + lodash "^4.0.0" + multimatch "^2.0.0" + postcss "^6.0.1" + source-map "^0.5.6" + through2 "^0.6.3" + yargs "^8.0.1" dom-serializer@0: version "0.2.2" @@ -3746,7 +3781,14 @@ domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: domelementtype "^2.2.0" domhandler "^4.2.0" -dot-prop@^3.0.0, dot-prop@^5.2.0: +dot-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" + integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= + dependencies: + is-obj "^1.0.0" + +dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== @@ -3832,7 +3874,7 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.811: +electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.811: version "1.3.816" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.816.tgz#ab6488b126de92670a6459fe3e746050e0c6276f" integrity sha512-/AvJPIJldO0NkwkfpUD7u1e4YEGRFBQpFuvl9oGCcVgWOObsZB1loxVGeVUJB9kmvfsBUUChPYdgRzx6+AKNyg== @@ -4320,6 +4362,19 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -4724,8 +4779,8 @@ form-data@~2.3.2: mime-types "^2.1.12" "foundation-docs@github:foundation/foundation-docs": - version "0.3.3" - resolved "https://codeload.github.com/foundation/foundation-docs/tar.gz/4301fc720be57ee602b46a41d3e588c90a984652" + version "0.3.2" + resolved "https://codeload.github.com/foundation/foundation-docs/tar.gz/a6d6a9eae51f0b0f61b1c8b4c29e2e7a5b30b883" dependencies: cheerio "^1.0.0-rc.2" handlebars "^4.5.3" @@ -4735,7 +4790,7 @@ form-data@~2.3.2: kebab-case "^1.0.0" lodash "^4.17.15" lodash.template "^4.5.0" - marked "^2" + marked "^1.1.1" mkdirp "^0.5.1" multiline "^1.0.2" querystring "^0.2.0" @@ -4868,6 +4923,16 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fstream@^1.0.0, fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5007,7 +5072,15 @@ glob-all@^3.1.0: glob "^7.1.2" yargs "^15.3.1" -glob-parent@^3.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -5374,7 +5447,7 @@ gulp-rsync@0.0.8: lodash.isstring "^2.4.1" through2 "^0.6.1" -gulp-sass-lint@^1.4.0: +gulp-sass-lint@^1.3.2: version "1.4.0" resolved "https://registry.yarnpkg.com/gulp-sass-lint/-/gulp-sass-lint-1.4.0.tgz#6f7096c5abcbc0ce99ddf060c9e1a99067a47ebe" integrity sha512-XerYvHx7rznInkedMw5Ayif+p8EhysOVHUBvlgUa0FSl88H2cjNjaRZ3NGn5Efmp+2HxpXp4NHqMIbOSdwef3A== @@ -5862,6 +5935,18 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +in-publish@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" + integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + indent-string@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" @@ -5890,7 +5975,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6119,6 +6204,11 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -6208,6 +6298,11 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" @@ -6558,11 +6653,26 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfilter@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/jsonfilter/-/jsonfilter-1.1.2.tgz#21ef7cedc75193813c75932e96a98be205ba5a11" + integrity sha1-Ie987cdRk4E8dZMulqmL4gW6WhE= + dependencies: + JSONStream "^0.8.4" + minimist "^1.1.0" + stream-combiner "^0.2.1" + through2 "^0.6.3" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= +jsonparse@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64" + integrity sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ= + jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -6762,6 +6872,16 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -7254,7 +7374,12 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.15, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.3.0, lodash@~4.17.10: +lodash@4.17.15: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + +lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.3.0, lodash@~4.17.10: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7299,7 +7424,7 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.0.0, lru-cache@^4.1.5: +lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -7367,7 +7492,7 @@ map-cache@^0.2.0, map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^1.0.0: +map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= @@ -7410,7 +7535,17 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^0.6.2, marked@^2, marked@^2.0.0, marked@^2.0.3: +marked@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.3.tgz#79babad78af638ba4d522a9e715cdfdd2429e946" + integrity sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ== + +marked@^1.1.1: + version "1.2.9" + resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" + integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== + +marked@^2.0.3: version "2.1.3" resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== @@ -7448,6 +7583,13 @@ mdurl@^1.0.1: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= + dependencies: + mimic-fn "^1.0.0" + memoize-decorator@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/memoize-decorator/-/memoize-decorator-1.0.2.tgz#605a41715c4171db192a90098b00ab8d6e1102f5" @@ -7498,6 +7640,22 @@ meow@5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" +meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -7656,7 +7814,17 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" -minimist@0.0.8, minimist@1.1.x, minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@1.1.x: + version "1.1.3" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" + integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag= + +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -7717,7 +7885,7 @@ mkdirp@0.5.1: dependencies: minimist "0.0.8" -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -7809,17 +7977,6 @@ multimatch@^2.0.0: arrify "^1.0.0" minimatch "^3.0.0" -multimatch@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" - integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - multipipe@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-1.0.2.tgz#cc13efd833c9cda99f224f868461b8e1a3fd939d" @@ -7855,11 +8012,6 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== -nanoid@^3.1.23: - version "3.1.25" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" - integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -7925,6 +8077,24 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-gyp@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" + integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "^2.87.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + node-gyp@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" @@ -7975,7 +8145,30 @@ node-releases@^1.1.75: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== -node-sass@^4.8.3, node-sass@^6.0.1: +node-sass@^4.8.3: + version "4.14.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" + integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash "^4.17.15" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.13.2" + node-gyp "^3.8.0" + npmlog "^4.0.0" + request "^2.88.0" + sass-graph "2.2.5" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + +node-sass@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== @@ -7996,6 +8189,13 @@ node-sass@^4.8.3, node-sass@^6.0.1: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -8074,7 +8274,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npmlog@^4.0.0, npmlog@^4.1.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -8309,6 +8509,15 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + os-shim@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" @@ -8319,7 +8528,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.4: +osenv@0, osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -8397,10 +8606,10 @@ pako@~1.0.5: resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -panini@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/panini/-/panini-1.7.2.tgz#7c2db6afc9fcc71008ec1bf16f8dfc995569c284" - integrity sha512-JCDjsWM7K3TcMxl2eb9g3FW5JM792CH5tIIYEKdAuC/Omf7Ylk0rsap84LRNRF6t8r+G0THms+aWLPCpUYpEgg== +panini@^1.6.2: + version "1.7.1" + resolved "https://registry.yarnpkg.com/panini/-/panini-1.7.1.tgz#1fb7c5ff24e64aec70f313606118e7cda5bfe1cf" + integrity sha512-iAzKEN69Tt/9nhA46SeTJWHEUOISQB0RoCf2h5Ts1jXZ2bz9UCi6o9EIPuZKR3QZQkTzxk5zqPtNbeEJMcruUg== dependencies: deepmerge "^1.5.2" front-matter "^2.0.5" @@ -8408,7 +8617,7 @@ panini@^1.7.2: handlebars "^4.0.5" highlight.js "^8.9.1" js-yaml "^3.14.0" - marked "^2" + marked "^1.1.1" nopt "^4.0.1" slash "^1.0.0" strip-bom "2.0.0" @@ -8554,6 +8763,11 @@ path-browserify@0.0.1: resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -8624,6 +8838,13 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -8769,6 +8990,15 @@ postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== +postcss@^6.0.1: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + postcss@^7.0.2, postcss@^7.0.32: version "7.0.36" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" @@ -8778,15 +9008,6 @@ postcss@^7.0.2, postcss@^7.0.32: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^8.2.4: - version "8.3.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" - integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== - dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" - source-map-js "^0.6.2" - prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -9026,6 +9247,14 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" @@ -9052,6 +9281,15 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -9176,6 +9414,14 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" @@ -9314,6 +9560,13 @@ repeat-string@^1.5.4, repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + replace-ext@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" @@ -9342,7 +9595,7 @@ replacestream@^4.0.3: object-assign "^4.0.1" readable-stream "^2.0.2" -request@^2.55.0, request@^2.88.0, request@^2.88.2: +request@^2.55.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -9514,7 +9767,7 @@ right-pad@^1.0.1: resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" integrity sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA= -rimraf@2.*, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@2, rimraf@2.*, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -9747,7 +10000,7 @@ sassdoc-theme-default@^2.8.3: nunjucks "^3.1.7" sassdoc-extras "^2.5.0" -sassdoc@^2.1.11, sassdoc@^2.7.3: +sassdoc@^2.1.11, sassdoc@^2.7.2: version "2.7.3" resolved "https://registry.yarnpkg.com/sassdoc/-/sassdoc-2.7.3.tgz#dfde10e6cc090c28578298f985f92df7d4c6ddbc" integrity sha512-ccHlaOVoyGHF41xzj09n9WrECRHSGesFVq2EwX6DGMQdG0+avrxaLiuMLD26QfGyF2qcXVt07w5ifP5KZqy1Qw== @@ -9871,6 +10124,11 @@ semver@^7.3.2, semver@^7.3.4: dependencies: lru-cache "^6.0.0" +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -10126,11 +10384,6 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -10172,11 +10425,6 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - sparkles@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" @@ -10321,6 +10569,14 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" +stream-combiner@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" + integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg= + dependencies: + duplexer "~0.1.1" + through "~2.3.4" + stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -10511,7 +10767,7 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-indent@^1.0.0: +strip-indent@^1.0.0, strip-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= @@ -10545,10 +10801,10 @@ strip-json-comments@~1.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= -supercollider@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.5.3.tgz#e695f3f63447c3303f80b278ab5505fea6cd5bff" - integrity sha512-GUiiBsMbHayOCNK2DlR3WAvz8Sz3+/eVPnIKsPW1cRLpXRxBU/IsmfgUmHQRmCgbvcKiEX/v5lC5Ey5Mcfl/1w== +supercollider@^1.4.5: + version "1.5.2" + resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.5.2.tgz#cf4d408784f0cd52414e3edb9b376d8bda239232" + integrity sha512-SRsv8dMTYSEEIPJAAmXMmPN1yC86pjqsHmAYh2jfNhIs1tTQO0BL+aow0x8f7bOjUGSdoeg8NbUIXCRINXSwQg== dependencies: async "^0.9.0" chalk "^1.1.1" @@ -10564,10 +10820,10 @@ supercollider@^1.5.3: jsdoc-api "^5.0.2" jsdoc3-parser "^1.0.4" lodash.template ">=4.5.0" - marked "^2.0.0" + marked "^1.1.1" mkdirp "^0.5.1" rimraf "^2.2.8" - sassdoc "^2.7.3" + sassdoc "^2.7.2" string-template "^0.2.0" through2 "^0.6.3" vinyl-fs "^3.0.3" @@ -10584,7 +10840,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0, supports-color@^5.5.0: +supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -10655,6 +10911,15 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== +tar@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + tar@^6.0.2: version "6.1.10" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.10.tgz#8a320a74475fba54398fa136cd9883aa8ad11175" @@ -10793,7 +11058,7 @@ through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^4.0.0, through2@^4.0.2: +through2@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== @@ -10808,7 +11073,7 @@ through2@~0.4.1: readable-stream "~1.0.17" xtend "~2.1.1" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1: +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -10937,7 +11202,17 @@ tr46@~0.0.1: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -trim-newlines@^2.0.0, trim-newlines@^3.0.0, trim-newlines@^3.0.1: +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + +trim-newlines@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" + integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= + +trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== @@ -11531,7 +11806,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: +which@1, which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -11719,11 +11994,49 @@ yaml-js@^0.1.0: resolved "https://registry.yarnpkg.com/yaml-js/-/yaml-js-0.1.5.tgz#a01369010b3558d8aaed2394615dfd0780fd8fac" integrity sha1-oBNpAQs1WNiq7SOUYV39B4D9j6w= -yargs-parser@>=5.0.0-security.0, yargs-parser@^10.0.0, yargs-parser@^13.1.2, yargs-parser@^18.1.1, yargs-parser@^18.1.2, yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.4, yargs-parser@^5.0.1: +yargs-parser@>=5.0.0-security.0, yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.1, yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.1.tgz#7ede329c1d8cdbbe209bd25cdb990e9b1ebbb394" + integrity sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA== + dependencies: + camelcase "^3.0.0" + object.assign "^4.1.0" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= + dependencies: + camelcase "^4.1.0" + yargs@15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" @@ -11741,7 +12054,7 @@ yargs@15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" -yargs@16.2.0, yargs@^16.2.0: +yargs@16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -11806,6 +12119,25 @@ yargs@^7.1.0: y18n "^3.2.1" yargs-parser "^5.0.1" +yargs@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From ae398ea7e256a472164f30a75e34e4bf87eb42e0 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:05:43 -0700 Subject: [PATCH 53/82] chore: update deps --- package.json | 8 +- yarn.lock | 271 +++++++++++++++++---------------------------------- 2 files changed, 93 insertions(+), 186 deletions(-) diff --git a/package.json b/package.json index 06b8884718..d2efbdc05a 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "clipboard": "^2.0.4", "corejs-typeahead": "^1.1.1", "cz-conventional-changelog": "^2.1.0", - "doiuse": "~4.1.0", + "doiuse": "^4.4.1", "foundation-docs": "github:foundation/foundation-docs", "gulp": "^4.0.0", "gulp-add-src": "^1.0.0", @@ -71,7 +71,7 @@ "gulp-replace": "^1.0.0", "gulp-rsync": "0.0.8", "gulp-sass": "^4.1.1", - "gulp-sass-lint": "^1.3.2", + "gulp-sass-lint": "^1.4.0", "gulp-sourcemaps": "^2.6.4", "gulp-uglify": "^3.0.0", "gulp-zip": "^4.1.0", @@ -86,7 +86,7 @@ "motion-ui": "^2.0.2", "node-sass": "^6.0.1", "octophant": "^1.0.0", - "panini": "^1.6.2", + "panini": "^1.7.2", "patch-package": "^6.2.1", "prettyjson": "^1.1.3", "require-dir": "^1.2.0", @@ -98,7 +98,7 @@ "sassy-lists": "^3.0.1", "sinon": "^7.2.2", "strip-indent": "^2.0.0", - "supercollider": "^1.4.5", + "supercollider": "^1.5.3", "touch": "^3.1.0", "undertaker-forward-reference": "^1.0.2", "util-deprecate": "^1.0.2", diff --git a/yarn.lock b/yarn.lock index 84a830f189..dc9d293e95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1080,6 +1080,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== +"@types/minimatch@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" @@ -1268,14 +1273,6 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== -JSONStream@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-0.8.4.tgz#91657dfe6ff857483066132b4618b62e8f4887bd" - integrity sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70= - dependencies: - jsonparse "0.0.5" - through ">=2.2.7 <3" - JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -1624,6 +1621,11 @@ array-differ@^1.0.0: resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= +array-differ@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-3.0.0.tgz#3cbb3d0f316810eafcc47624734237d6aee4ae6b" + integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== + array-each@^1.0.0, array-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" @@ -1690,6 +1692,11 @@ array-union@^1.0.1: dependencies: array-uniq "^1.0.1" +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + array-uniq@^1.0.1, array-uniq@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" @@ -1720,6 +1727,11 @@ arrify@^1.0.0, arrify@^1.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= +arrify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" + integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== + asap@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -2225,15 +2237,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^3.2.1: - version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== - dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - -browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.16.7: +browserslist@^4.12.0, browserslist@^4.16.1, browserslist@^4.16.6, browserslist@^4.16.7: version "4.16.8" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== @@ -2487,7 +2491,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30000819, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001251: +caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001179, caniuse-lite@^1.0.30001251: version "1.0.30001251" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz#6853a606ec50893115db660f82c094d18f096d85" integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A== @@ -2544,7 +2548,7 @@ chalk@0.4.0: has-color "~0.1.0" strip-ansi "~0.1.0" -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2944,7 +2948,7 @@ color-support@^1.1.3: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -colorette@^1.2.1, colorette@^1.3.0: +colorette@^1.2.1, colorette@^1.2.2, colorette@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== @@ -3259,15 +3263,6 @@ cross-spawn@^3.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3677,23 +3672,21 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -doiuse@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-4.1.0.tgz#fbc83e24f000135f2711a29df99f75dddbb35a69" - integrity sha512-QBvDs4nH6uJwSNwONQkBpt7SdCfjFEuQqoSkpyoUXqX7gYd9elCTVhIiIEaAFNiykwCrjIjHVcBcx1csa6EsQg== +doiuse@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-4.4.1.tgz#efea4ecb6b04ed3228de28f5c6ad704f2c578c80" + integrity sha512-TUpr1/YNg20IB09tZmwGCTsTQoxj8jUld/hUZprZMj8vj0VpAJySXEWCr8WMvqvgzk0/kG/FxeSMGKode4UjPg== dependencies: - browserslist "^3.2.1" - caniuse-lite "^1.0.30000819" + browserslist "^4.16.1" + caniuse-lite "^1.0.30001179" css-rule-stream "^1.1.0" duplexer2 "0.0.2" - jsonfilter "^1.1.2" ldjson-stream "^1.2.1" - lodash "^4.0.0" - multimatch "^2.0.0" - postcss "^6.0.1" - source-map "^0.5.6" - through2 "^0.6.3" - yargs "^8.0.1" + multimatch "^5.0.0" + postcss "^8.2.4" + source-map "^0.7.3" + through2 "^4.0.2" + yargs "^16.2.0" dom-serializer@0: version "0.2.2" @@ -3874,7 +3867,7 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.811: +electron-to-chromium@^1.3.811: version "1.3.816" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.816.tgz#ab6488b126de92670a6459fe3e746050e0c6276f" integrity sha512-/AvJPIJldO0NkwkfpUD7u1e4YEGRFBQpFuvl9oGCcVgWOObsZB1loxVGeVUJB9kmvfsBUUChPYdgRzx6+AKNyg== @@ -4362,19 +4355,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -5447,7 +5427,7 @@ gulp-rsync@0.0.8: lodash.isstring "^2.4.1" through2 "^0.6.1" -gulp-sass-lint@^1.3.2: +gulp-sass-lint@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/gulp-sass-lint/-/gulp-sass-lint-1.4.0.tgz#6f7096c5abcbc0ce99ddf060c9e1a99067a47ebe" integrity sha512-XerYvHx7rznInkedMw5Ayif+p8EhysOVHUBvlgUa0FSl88H2cjNjaRZ3NGn5Efmp+2HxpXp4NHqMIbOSdwef3A== @@ -6653,26 +6633,11 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -jsonfilter@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/jsonfilter/-/jsonfilter-1.1.2.tgz#21ef7cedc75193813c75932e96a98be205ba5a11" - integrity sha1-Ie987cdRk4E8dZMulqmL4gW6WhE= - dependencies: - JSONStream "^0.8.4" - minimist "^1.1.0" - stream-combiner "^0.2.1" - through2 "^0.6.3" - jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsonparse@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-0.0.5.tgz#330542ad3f0a654665b778f3eb2d9a9fa507ac64" - integrity sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ= - jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" @@ -6872,16 +6837,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -7545,7 +7500,7 @@ marked@^1.1.1: resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== -marked@^2.0.3: +marked@^2, marked@^2.0.0, marked@^2.0.3: version "2.1.3" resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== @@ -7583,13 +7538,6 @@ mdurl@^1.0.1: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - memoize-decorator@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/memoize-decorator/-/memoize-decorator-1.0.2.tgz#605a41715c4171db192a90098b00ab8d6e1102f5" @@ -7977,6 +7925,17 @@ multimatch@^2.0.0: arrify "^1.0.0" minimatch "^3.0.0" +multimatch@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" + integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== + dependencies: + "@types/minimatch" "^3.0.3" + array-differ "^3.0.0" + array-union "^2.1.0" + arrify "^2.0.1" + minimatch "^3.0.4" + multipipe@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-1.0.2.tgz#cc13efd833c9cda99f224f868461b8e1a3fd939d" @@ -8012,6 +7971,11 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== +nanoid@^3.1.23: + version "3.1.25" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" + integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -8509,15 +8473,6 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-shim@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" @@ -8606,10 +8561,10 @@ pako@~1.0.5: resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== -panini@^1.6.2: - version "1.7.1" - resolved "https://registry.yarnpkg.com/panini/-/panini-1.7.1.tgz#1fb7c5ff24e64aec70f313606118e7cda5bfe1cf" - integrity sha512-iAzKEN69Tt/9nhA46SeTJWHEUOISQB0RoCf2h5Ts1jXZ2bz9UCi6o9EIPuZKR3QZQkTzxk5zqPtNbeEJMcruUg== +panini@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/panini/-/panini-1.7.2.tgz#7c2db6afc9fcc71008ec1bf16f8dfc995569c284" + integrity sha512-JCDjsWM7K3TcMxl2eb9g3FW5JM792CH5tIIYEKdAuC/Omf7Ylk0rsap84LRNRF6t8r+G0THms+aWLPCpUYpEgg== dependencies: deepmerge "^1.5.2" front-matter "^2.0.5" @@ -8617,7 +8572,7 @@ panini@^1.6.2: handlebars "^4.0.5" highlight.js "^8.9.1" js-yaml "^3.14.0" - marked "^1.1.1" + marked "^2" nopt "^4.0.1" slash "^1.0.0" strip-bom "2.0.0" @@ -8838,13 +8793,6 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -8990,15 +8938,6 @@ postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^6.0.1: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - postcss@^7.0.2, postcss@^7.0.32: version "7.0.36" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" @@ -9008,6 +8947,15 @@ postcss@^7.0.2, postcss@^7.0.32: source-map "^0.6.1" supports-color "^6.1.0" +postcss@^8.2.4: + version "8.3.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.6.tgz#2730dd76a97969f37f53b9a6096197be311cc4ea" + integrity sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -9247,14 +9195,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" @@ -9281,15 +9221,6 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -10000,7 +9931,7 @@ sassdoc-theme-default@^2.8.3: nunjucks "^3.1.7" sassdoc-extras "^2.5.0" -sassdoc@^2.1.11, sassdoc@^2.7.2: +sassdoc@^2.1.11, sassdoc@^2.7.3: version "2.7.3" resolved "https://registry.yarnpkg.com/sassdoc/-/sassdoc-2.7.3.tgz#dfde10e6cc090c28578298f985f92df7d4c6ddbc" integrity sha512-ccHlaOVoyGHF41xzj09n9WrECRHSGesFVq2EwX6DGMQdG0+avrxaLiuMLD26QfGyF2qcXVt07w5ifP5KZqy1Qw== @@ -10384,6 +10315,11 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -10425,6 +10361,11 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + sparkles@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" @@ -10569,14 +10510,6 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" -stream-combiner@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" - integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg= - dependencies: - duplexer "~0.1.1" - through "~2.3.4" - stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -10801,10 +10734,10 @@ strip-json-comments@~1.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" integrity sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E= -supercollider@^1.4.5: - version "1.5.2" - resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.5.2.tgz#cf4d408784f0cd52414e3edb9b376d8bda239232" - integrity sha512-SRsv8dMTYSEEIPJAAmXMmPN1yC86pjqsHmAYh2jfNhIs1tTQO0BL+aow0x8f7bOjUGSdoeg8NbUIXCRINXSwQg== +supercollider@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/supercollider/-/supercollider-1.5.3.tgz#e695f3f63447c3303f80b278ab5505fea6cd5bff" + integrity sha512-GUiiBsMbHayOCNK2DlR3WAvz8Sz3+/eVPnIKsPW1cRLpXRxBU/IsmfgUmHQRmCgbvcKiEX/v5lC5Ey5Mcfl/1w== dependencies: async "^0.9.0" chalk "^1.1.1" @@ -10820,10 +10753,10 @@ supercollider@^1.4.5: jsdoc-api "^5.0.2" jsdoc3-parser "^1.0.4" lodash.template ">=4.5.0" - marked "^1.1.1" + marked "^2.0.0" mkdirp "^0.5.1" rimraf "^2.2.8" - sassdoc "^2.7.2" + sassdoc "^2.7.3" string-template "^0.2.0" through2 "^0.6.3" vinyl-fs "^3.0.3" @@ -10840,7 +10773,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: +supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== @@ -11058,7 +10991,7 @@ through2@^0.6.1, through2@^0.6.3, through2@~0.6.1: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" -through2@^4.0.0: +through2@^4.0.0, through2@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== @@ -11073,7 +11006,7 @@ through2@~0.4.1: readable-stream "~1.0.17" xtend "~2.1.1" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4: +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.8, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -12030,13 +11963,6 @@ yargs-parser@^5.0.1: camelcase "^3.0.0" object.assign "^4.1.0" -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= - dependencies: - camelcase "^4.1.0" - yargs@15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" @@ -12054,7 +11980,7 @@ yargs@15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" -yargs@16.2.0: +yargs@16.2.0, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -12119,25 +12045,6 @@ yargs@^7.1.0: y18n "^3.2.1" yargs-parser "^5.0.1" -yargs@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From 3e5cdcb0db6772411ca903c38f8054884f0e9996 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:11:38 -0700 Subject: [PATCH 54/82] chore: fix vulnerabilities --- package.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d2efbdc05a..7d31e0d905 100644 --- a/package.json +++ b/package.json @@ -110,7 +110,14 @@ "yargs": "^13.3.0" }, "resolutions": { - "puppeteer": "^1.11.0" + "puppeteer": "^1.11.0", + "glob-parent": "^5.1.2", + "yargs-parser": "^20.2.4", + "marked": "^2", + "node-sass": "^6.0.1", + "lodash": "^4.17.21", + "minimist": "^1.2.3", + "dot-prop": "^5.2.0" }, "engines": { "node": ">=8.4.0" From e3dc4e55a5d22271b016faf63ca004d0a026af28 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:12:41 -0700 Subject: [PATCH 55/82] chore: fix vulnerabilities --- package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/package.json b/package.json index 7d31e0d905..78ce830d8d 100644 --- a/package.json +++ b/package.json @@ -111,8 +111,6 @@ }, "resolutions": { "puppeteer": "^1.11.0", - "glob-parent": "^5.1.2", - "yargs-parser": "^20.2.4", "marked": "^2", "node-sass": "^6.0.1", "lodash": "^4.17.21", From 9c784d14598f1ab276d4c8b5b0a8ba742ab2c8aa Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:13:01 -0700 Subject: [PATCH 56/82] chore: fix vulnerabilities --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 78ce830d8d..9df81c23b8 100644 --- a/package.json +++ b/package.json @@ -111,6 +111,7 @@ }, "resolutions": { "puppeteer": "^1.11.0", + "glob-parent": "^5.1.2", "marked": "^2", "node-sass": "^6.0.1", "lodash": "^4.17.21", From 3033dd27b1557c31366992b0e5b699d8aaac6728 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:13:50 -0700 Subject: [PATCH 57/82] chore: fix vulnerabilities --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 9df81c23b8..87aa2f3634 100644 --- a/package.json +++ b/package.json @@ -116,7 +116,8 @@ "node-sass": "^6.0.1", "lodash": "^4.17.21", "minimist": "^1.2.3", - "dot-prop": "^5.2.0" + "dot-prop": "^5.2.0", + "trim-newlines": "^3.0.1" }, "engines": { "node": ">=8.4.0" From 52e727218de86023a723d15210fbdb614a22c657 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:14:46 -0700 Subject: [PATCH 58/82] chore: fix vulnerabilities --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 87aa2f3634..d4a99f7ea3 100644 --- a/package.json +++ b/package.json @@ -112,6 +112,7 @@ "resolutions": { "puppeteer": "^1.11.0", "glob-parent": "^5.1.2", + "yargs-parser": "^20.2.9", "marked": "^2", "node-sass": "^6.0.1", "lodash": "^4.17.21", From f97e5fc0d0f25adbff6128cd45397df99e8bcd48 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:19:42 -0700 Subject: [PATCH 59/82] chore: husky conflict with yargs-parser --- package.json | 1 - yarn.lock | 244 ++++----------------------------------------------- 2 files changed, 18 insertions(+), 227 deletions(-) diff --git a/package.json b/package.json index d4a99f7ea3..87aa2f3634 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,6 @@ "resolutions": { "puppeteer": "^1.11.0", "glob-parent": "^5.1.2", - "yargs-parser": "^20.2.9", "marked": "^2", "node-sass": "^6.0.1", "lodash": "^4.17.21", diff --git a/yarn.lock b/yarn.lock index dc9d293e95..04c2385c9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2036,13 +2036,6 @@ blob@0.0.5: resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= - dependencies: - inherits "~2.0.0" - bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -2440,14 +2433,6 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -2471,11 +2456,6 @@ camelcase@5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" @@ -3255,14 +3235,6 @@ cross-spawn@^2.1.4: cross-spawn-async "^2.2.2" spawn-sync "^1.0.15" -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI= - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3500,7 +3472,7 @@ decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3774,14 +3746,7 @@ domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: domelementtype "^2.2.0" domhandler "^4.2.0" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= - dependencies: - is-obj "^1.0.0" - -dot-prop@^5.2.0: +dot-prop@^3.0.0, dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== @@ -4903,16 +4868,6 @@ fsevents@~2.3.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -fstream@^1.0.0, fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5052,15 +5007,7 @@ glob-all@^3.1.0: glob "^7.1.2" yargs "^15.3.1" -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@~5.1.2: +glob-parent@^3.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -5915,18 +5862,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= -in-publish@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c" - integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ== - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - indent-string@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" @@ -5955,7 +5890,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6184,11 +6119,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - is-fullwidth-code-point@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" @@ -6278,11 +6208,6 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - is-obj@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" @@ -7329,12 +7254,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.3.0, lodash@~4.17.10: +lodash@4.17.15, lodash@^4.0.0, lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.3.0, lodash@~4.17.10: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7379,7 +7299,7 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== -lru-cache@^4.0.0, lru-cache@^4.0.1, lru-cache@^4.1.5: +lru-cache@^4.0.0, lru-cache@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -7447,7 +7367,7 @@ map-cache@^0.2.0, map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= @@ -7490,17 +7410,7 @@ markdown-it@^10.0.0: mdurl "^1.0.1" uc.micro "^1.0.5" -marked@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.6.3.tgz#79babad78af638ba4d522a9e715cdfdd2429e946" - integrity sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ== - -marked@^1.1.1: - version "1.2.9" - resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" - integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== - -marked@^2, marked@^2.0.0, marked@^2.0.3: +marked@^0.6.2, marked@^1.1.1, marked@^2, marked@^2.0.0, marked@^2.0.3: version "2.1.3" resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== @@ -7588,22 +7498,6 @@ meow@5.0.0: trim-newlines "^2.0.0" yargs-parser "^10.0.0" -meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -7762,17 +7656,7 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@1.1.x: - version "1.1.3" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" - integrity sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag= - -minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: +minimist@0.0.8, minimist@1.1.x, minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -7833,7 +7717,7 @@ mkdirp@0.5.1: dependencies: minimist "0.0.8" -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -8041,24 +7925,6 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" -node-gyp@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c" - integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA== - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "^2.87.0" - rimraf "2" - semver "~5.3.0" - tar "^2.0.0" - which "1" - node-gyp@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" @@ -8109,30 +7975,7 @@ node-releases@^1.1.75: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== -node-sass@^4.8.3: - version "4.14.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5" - integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash "^4.17.15" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.13.2" - node-gyp "^3.8.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -node-sass@^6.0.1: +node-sass@^4.8.3, node-sass@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== @@ -8153,13 +7996,6 @@ node-sass@^6.0.1: stdout-stream "^1.4.0" "true-case-path" "^1.0.2" -"nopt@2 || 3": - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= - dependencies: - abbrev "1" - nopt@^4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" @@ -8238,7 +8074,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.1.2: +npmlog@^4.0.0, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== @@ -8483,7 +8319,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@0, osenv@^0.1.4: +osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -8718,11 +8554,6 @@ path-browserify@0.0.1: resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -9345,14 +9176,6 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" @@ -9491,13 +9314,6 @@ repeat-string@^1.5.4, repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - replace-ext@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" @@ -9526,7 +9342,7 @@ replacestream@^4.0.3: object-assign "^4.0.1" readable-stream "^2.0.2" -request@^2.55.0, request@^2.87.0, request@^2.88.0, request@^2.88.2: +request@^2.55.0, request@^2.88.0, request@^2.88.2: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -9698,7 +9514,7 @@ right-pad@^1.0.1: resolved "https://registry.yarnpkg.com/right-pad/-/right-pad-1.0.1.tgz#8ca08c2cbb5b55e74dafa96bf7fd1a27d568c8d0" integrity sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA= -rimraf@2, rimraf@2.*, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@2.*, rimraf@^2.2.8, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -10055,11 +9871,6 @@ semver@^7.3.2, semver@^7.3.4: dependencies: lru-cache "^6.0.0" -semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= - send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -10700,7 +10511,7 @@ strip-eof@^1.0.0: resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-indent@^1.0.0, strip-indent@^1.0.1: +strip-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= @@ -10844,15 +10655,6 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== -tar@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" - integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== - dependencies: - block-stream "*" - fstream "^1.0.12" - inherits "2" - tar@^6.0.2: version "6.1.10" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.10.tgz#8a320a74475fba54398fa136cd9883aa8ad11175" @@ -11135,17 +10937,7 @@ tr46@~0.0.1: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= - -trim-newlines@^3.0.0: +trim-newlines@^2.0.0, trim-newlines@^3.0.0, trim-newlines@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== @@ -11739,7 +11531,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: +which@^1.0.5, which@^1.2.14, which@^1.2.8, which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== From 6c8cb25672dc3f18da0425dcac937cf61764a5ef Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 13:47:19 -0700 Subject: [PATCH 60/82] chore: update CI to not run node 16. Not currently functioning --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 255e769a10..c5e16052bf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: build_latest_browserstack: - name: Node latest with browserstack + name: Node 14 with browserstack runs-on: ubuntu-latest strategy: matrix: @@ -24,7 +24,7 @@ jobs: run: yarn test:javascript:browserstack build_latest: - name: Node latest + name: Node 14 runs-on: ubuntu-latest strategy: matrix: @@ -44,7 +44,7 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] - node: [ '12', '10', '8' ] + node: [ '12', '10'] name: Node ${{ matrix.node }} (${{ matrix.platform }}) runs-on: ${{ matrix.platform }} steps: From cdfabe50e99ba11e1610fe1901a3a2d4761b9b50 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 14:38:57 -0700 Subject: [PATCH 61/82] Revert "chore: update CI to not run node 16. Not currently functioning" This reverts commit 640afb49041e350fa986307053870bc44fa66188. --- .github/workflows/main.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c5e16052bf..9f7424220f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,11 +4,9 @@ on: [push, pull_request] jobs: build_latest_browserstack: - name: Node 14 with browserstack + name: Node latest with browserstack runs-on: ubuntu-latest - strategy: - matrix: - node-version: [14.x] # latest (16) not functional + container: node:latest steps: - uses: actions/checkout@v1 - name: install system dependencies @@ -24,11 +22,9 @@ jobs: run: yarn test:javascript:browserstack build_latest: - name: Node 14 + name: Node latest runs-on: ubuntu-latest - strategy: - matrix: - node-version: [14.x] # latest (16) not functional + container: node:current steps: - uses: actions/checkout@v1 - name: install system dependencies @@ -44,7 +40,7 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] - node: [ '12', '10'] + node: [ '12', '10', '8' ] name: Node ${{ matrix.node }} (${{ matrix.platform }}) runs-on: ${{ matrix.platform }} steps: From 495057ca59ef49aec16168699558b9c6630e5632 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 14:45:15 -0700 Subject: [PATCH 62/82] stop running node 8 tests --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9f7424220f..4b35388e39 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,7 +40,7 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] - node: [ '12', '10', '8' ] + node: [ '12', '10' ] name: Node ${{ matrix.node }} (${{ matrix.platform }}) runs-on: ${{ matrix.platform }} steps: From 8fcf68de9179d608935c8c96112f1c14887ba6b6 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 14:48:07 -0700 Subject: [PATCH 63/82] node-sass requires node 12+ --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4b35388e39..a1069b6bac 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,7 +40,7 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] - node: [ '12', '10' ] + node: [ '12' ] name: Node ${{ matrix.node }} (${{ matrix.platform }}) runs-on: ${{ matrix.platform }} steps: From 17b1d9014b2e98c83b8036a0f18eb3a8ef5387fe Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 15:27:36 -0700 Subject: [PATCH 64/82] chore: cleanup tasks --- gulp/tasks/deploy.js | 26 -------------------------- package.json | 8 +------- 2 files changed, 1 insertion(+), 33 deletions(-) diff --git a/gulp/tasks/deploy.js b/gulp/tasks/deploy.js index 0f99d9393d..27b79fb7a8 100644 --- a/gulp/tasks/deploy.js +++ b/gulp/tasks/deploy.js @@ -3,8 +3,6 @@ var filter = require('gulp-filter'); var cleancss = require('gulp-clean-css'); var rename = require('gulp-rename'); var uglify = require('gulp-uglify'); -var confirm = require('gulp-prompt').confirm; -var rsync = require('gulp-rsync'); var replace = require('gulp-replace'); var octophant = require('octophant'); var readline = require('readline'); @@ -167,30 +165,6 @@ gulp.task('deploy:commit', function() { exec('git push origin develop --follow-tags'); }); -// Uploads the documentation to the live server -gulp.task('deploy:docs', gulp.series('build', function() { - return gulp.src('./_build/**') - .pipe(confirm('Make sure everything looks right before you deploy.')) - .pipe(rsync({ - root: './_build', - hostname: 'deployer@72.32.134.77', - destination: '/home/deployer/sites/foundation-sites-6-docs' - })); -})); - -// Uploads the documentation to the live server in beta env -gulp.task('deploy:beta', gulp.series('build', function() { - return gulp.src('./_build/**') - .pipe(confirm('Make sure everything looks right before you deploy.')) - .pipe(rsync({ - root: './_build', - hostname: 'deployer@72.32.134.77', - destination: '/home/deployer/sites/scalingsexiness/foundation-sites-6-docs' - })); -})); - - - // This part of the deploy process hasn't been tested! It should be done manually for now gulp.task('deploy:templates', function(done) { // exec('git clone https://github.com/foundation/foundation-sites-template'); diff --git a/package.json b/package.json index 87aa2f3634..1190f89a0f 100644 --- a/package.json +++ b/package.json @@ -26,9 +26,7 @@ "test:bundle:single-process": "mocha-headless-chrome -a ignore-resource-errors -a single-process -a no-sandbox -a disable-setuid-sandbox -a disable-dev-shm-usage -f test/bundle/index.html", "test:visual": "gulp test --color", "deploy": "gulp deploy --color", - "deploy:prep": "gulp deploy:prep --color", - "deploy:docs": "gulp deploy:docs --color", - "deploy:beta": "gulp deploy:beta --color" + "deploy:prep": "gulp deploy:prep --color" }, "peerDependencies": { "jquery": ">=2.2.0", @@ -40,7 +38,6 @@ "@babel/preset-env": "^7.2.3", "@commitlint/cli": "^8.1.0", "@commitlint/config-conventional": "^7.3.1", - "array-uniq": "^2.0.0", "autoprefixer": "^9.4.5", "babel-loader": "^8.0.5", "browser-sync": "^2.18.12", @@ -66,17 +63,14 @@ "gulp-newer": "^1.1.0", "gulp-plumber": "^1.2.1", "gulp-postcss": "^8.0.0", - "gulp-prompt": "^1.2.0", "gulp-rename": "^1.2.2", "gulp-replace": "^1.0.0", - "gulp-rsync": "0.0.8", "gulp-sass": "^4.1.1", "gulp-sass-lint": "^1.4.0", "gulp-sourcemaps": "^2.6.4", "gulp-uglify": "^3.0.0", "gulp-zip": "^4.1.0", "husky": "^1.3.1", - "inquirer": "^6.2.1", "is-empty-object": "^1.1.1", "jquery": "^3.3.1", "js-yaml": "^3.12.1", From 0ac9b3f40e972705afc2322484d1cc66a32b612f Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 15:35:36 -0700 Subject: [PATCH 65/82] removed potentially confusing graph --- docs/pages/media-queries.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/docs/pages/media-queries.md b/docs/pages/media-queries.md index f7f162ecc5..4450560c79 100644 --- a/docs/pages/media-queries.md +++ b/docs/pages/media-queries.md @@ -93,20 +93,6 @@ Changing the widths of any of the breakpoints is as easy as changing the pixel v Please note that the order of breakpoints must be in ascending order so that keywords like `down` in the `breakpoint` function below will work as expected e.g. -```js -├─ xlarge max -│ -├─ xlarge min -├─ large max ┓ -│ │ -├─ large min │ -├─ medium max │ -│ │ "xlarge down" Breakpoint -├─ medium min │ -├─ small max │ -│ │ -... -``` You can change that by modifying the `$breakpoint-classes` variable in your settings file. This is a list of breakpoint names. Adding or removing names from the list will change the CSS class output. It looks like this by default: From d06431e40c08478e5cf51c551a3f6c33ee228bbf Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Fri, 16 Jul 2021 19:11:22 +0300 Subject: [PATCH 66/82] refactor: get rid of slash divisions for dart sass compatibility # Conflicts: # scss/forms/_label.scss --- scss/components/_accordion-menu.scss | 2 +- scss/components/_button-group.scss | 2 +- scss/components/_dropdown-menu.scss | 2 +- scss/components/_table.scss | 2 +- scss/forms/_label.scss | 2 +- scss/forms/_range.scss | 2 +- scss/forms/_text.scss | 2 +- scss/grid/_flex-grid.scss | 2 +- scss/grid/_gutter.scss | 2 +- scss/grid/_layout.scss | 10 +++++----- scss/grid/_position.scss | 2 +- scss/grid/_row.scss | 2 +- scss/settings/_settings.scss | 4 ++-- scss/util/_breakpoint.scss | 2 +- scss/util/_color.scss | 10 +++++----- scss/util/_direction.scss | 2 +- scss/util/_math.scss | 10 +++++----- scss/util/_mixins.scss | 4 ++-- scss/util/_unit.scss | 16 +++++++++------- scss/xy-grid/_gutters.scss | 4 ++-- scss/xy-grid/_layout.scss | 2 +- scss/xy-grid/_position.scss | 2 +- test/sass/_components.scss | 2 +- 23 files changed, 46 insertions(+), 44 deletions(-) diff --git a/scss/components/_accordion-menu.scss b/scss/components/_accordion-menu.scss index 1e05469c86..321678dd98 100644 --- a/scss/components/_accordion-menu.scss +++ b/scss/components/_accordion-menu.scss @@ -58,7 +58,7 @@ $accordionmenu-arrow-size: 6px !default; @include css-triangle($accordionmenu-arrow-size, $accordionmenu-arrow-color, down); position: absolute; top: 50%; - margin-top: -1 * ($accordionmenu-arrow-size / 2); + margin-top: -1 * ($accordionmenu-arrow-size * 0.5); #{$global-right}: 1rem; } } diff --git a/scss/components/_button-group.scss b/scss/components/_button-group.scss index 035097f4ac..92da7d269d 100644 --- a/scss/components/_button-group.scss +++ b/scss/components/_button-group.scss @@ -130,7 +130,7 @@ $buttongroup-radius-on-each: true !default; &:first-child:nth-last-child(#{$i}) { &, &:first-child:nth-last-child(#{$i}) ~ #{$selector} { display: inline-block; - width: calc(#{percentage(1 / $i)} - #{$spacing}); + width: calc(#{percentage(divide(1, $i))} - #{$spacing}); margin-#{$global-right}: $spacing; &:last-child { diff --git a/scss/components/_dropdown-menu.scss b/scss/components/_dropdown-menu.scss index 3aa14cdd64..3d180a25cd 100644 --- a/scss/components/_dropdown-menu.scss +++ b/scss/components/_dropdown-menu.scss @@ -107,7 +107,7 @@ $dropdown-menu-item-background-active: transparent !default; @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, down); #{$global-right}: 5px; #{$global-left}: auto; - margin-top: -1 * ($dropdownmenu-arrow-size / 2); + margin-top: -1 * ($dropdownmenu-arrow-size * 0.5); } } } diff --git a/scss/components/_table.scss b/scss/components/_table.scss index 1627f88296..d09bc7a1b2 100644 --- a/scss/components/_table.scss +++ b/scss/components/_table.scss @@ -50,7 +50,7 @@ $table-stripe: even !default; /// Default color for header background. /// @type Color -$table-head-background: smart-scale($table-background, $table-color-scale / 2) !default; +$table-head-background: smart-scale($table-background, $table-color-scale * 0.5) !default; /// Default color of header rows on hover. /// @type List diff --git a/scss/forms/_label.scss b/scss/forms/_label.scss index ca02557584..8620876a2e 100644 --- a/scss/forms/_label.scss +++ b/scss/forms/_label.scss @@ -37,7 +37,7 @@ $form-label-line-height: 1.8 !default; margin: 0 0 $form-spacing; line-height: $global-lineheight; - padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0; + padding: ($form-spacing * 0.5 + rem-calc($input-border-width)) 0; } @mixin foundation-form-label { diff --git a/scss/forms/_range.scss b/scss/forms/_range.scss index 99a283919c..f907df9bed 100644 --- a/scss/forms/_range.scss +++ b/scss/forms/_range.scss @@ -40,7 +40,7 @@ $slider-radius: $global-radius !default; @mixin foundation-range-input { input[type='range'] { // sass-lint:disable-line no-qualifying-elements - $margin: ($slider-handle-height - $slider-height) / 2; + $margin: ($slider-handle-height - $slider-height) * 0.5; display: block; width: 100%; diff --git a/scss/forms/_text.scss b/scss/forms/_text.scss index 5b67b5ceb6..0081c53a00 100644 --- a/scss/forms/_text.scss +++ b/scss/forms/_text.scss @@ -52,7 +52,7 @@ $input-border-focus: 1px solid $dark-gray !default; /// Padding of text inputs. /// @type Color -$input-padding: $form-spacing / 2 !default; +$input-padding: $form-spacing * 0.5 !default; /// Box shadow inside text inputs when not focused. /// @type Shadow diff --git a/scss/grid/_flex-grid.scss b/scss/grid/_flex-grid.scss index 06585d5e8a..bda00e9c06 100644 --- a/scss/grid/_flex-grid.scss +++ b/scss/grid/_flex-grid.scss @@ -102,7 +102,7 @@ flex-wrap: wrap; > #{$selector} { - $pct: percentage(1/$n); + $pct: percentage(divide(1, $n)); flex: 0 0 $pct; max-width: $pct; diff --git a/scss/grid/_gutter.scss b/scss/grid/_gutter.scss index c7b5fb368f..7ec0f4599e 100644 --- a/scss/grid/_gutter.scss +++ b/scss/grid/_gutter.scss @@ -18,7 +18,7 @@ $gutters: $grid-column-gutter ) { @include -zf-breakpoint-value($gutter, $gutters) { - $padding: rem-calc($-zf-bp-value) / 2; + $padding: rem-calc($-zf-bp-value) * 0.5; padding-right: $padding; padding-left: $padding; diff --git a/scss/grid/_layout.scss b/scss/grid/_layout.scss index dde2083ed0..ba8e2812e8 100644 --- a/scss/grid/_layout.scss +++ b/scss/grid/_layout.scss @@ -21,14 +21,14 @@ ) { & > #{$selector} { float: $global-left; - width: percentage(1/$n); + width: percentage(divide(1, $n)); // If a $gutter value is passed @if($gutter) { // Gutters @if type-of($gutter) == 'map' { @each $breakpoint, $value in $gutter { - $padding: rem-calc($value) / 2; + $padding: rem-calc($value) * 0.5; @include breakpoint($breakpoint) { padding-right: $padding; @@ -37,7 +37,7 @@ } } @else if type-of($gutter) == 'number' and strip-unit($gutter) > 0 { - $padding: rem-calc($gutter) / 2; + $padding: rem-calc($gutter) * 0.5; padding-right: $padding; padding-left: $padding; } @@ -64,12 +64,12 @@ @for $i from 1 to $n { @if $i == 1 { &:nth-child(#{$n}n+1):last-child { - margin-left: (100 - 100/$n * $i) / 2 * 1%; + margin-left: (100 - divide(100, $n) * $i) * 0.5 * 1%; } } @else { &:nth-child(#{$n}n+1):nth-last-child(#{$i}) { - margin-left: (100 - 100/$n * $i) / 2 * 1%; + margin-left: (100 - divide(100, $n) * $i) * 0.5 * 1%; } } } diff --git a/scss/grid/_position.scss b/scss/grid/_position.scss index 56f6f7e1fb..40f71344e9 100644 --- a/scss/grid/_position.scss +++ b/scss/grid/_position.scss @@ -32,7 +32,7 @@ // Push/pull @else if type-of($position) == 'number' { - $offset: percentage($position / $grid-column-count); + $offset: percentage(divide($position, $grid-column-count)); position: relative; #{$global-left}: $offset; diff --git a/scss/grid/_row.scss b/scss/grid/_row.scss index 9356fb25ef..0168c41313 100644 --- a/scss/grid/_row.scss +++ b/scss/grid/_row.scss @@ -80,7 +80,7 @@ /// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use when inverting margins. Responsive gutter settings by default. @mixin grid-row-nest($gutters: $grid-column-gutter) { @include -zf-each-breakpoint { - $margin: rem-calc(-zf-get-bp-val($gutters, $-zf-size)) / 2 * -1; + $margin: rem-calc(-zf-get-bp-val($gutters, $-zf-size)) * 0.5 * -1; margin-right: $margin; margin-left: $margin; diff --git a/scss/settings/_settings.scss b/scss/settings/_settings.scss index 8a9ab56a19..952009181d 100644 --- a/scss/settings/_settings.scss +++ b/scss/settings/_settings.scss @@ -461,7 +461,7 @@ $input-background-focus: $white; $input-background-disabled: $light-gray; $input-border: 1px solid $medium-gray; $input-border-focus: 1px solid $dark-gray; -$input-padding: $form-spacing / 2; +$input-padding: $form-spacing * 0.5; $input-shadow: inset 0 1px 2px rgba($black, 0.1); $input-shadow-focus: 0 0 5px $medium-gray; $input-cursor-disabled: not-allowed; @@ -807,7 +807,7 @@ $table-row-stripe-hover: darken($table-background, $table-color-scale + $table-h $table-is-striped: true; $table-striped-background: smart-scale($table-background, $table-color-scale); $table-stripe: even; -$table-head-background: smart-scale($table-background, $table-color-scale / 2); +$table-head-background: smart-scale($table-background, $table-color-scale * 0.5); $table-head-row-hover: darken($table-head-background, $table-hover-scale); $table-foot-background: smart-scale($table-background, $table-color-scale); $table-foot-row-hover: darken($table-foot-background, $table-hover-scale); diff --git a/scss/util/_breakpoint.scss b/scss/util/_breakpoint.scss index f05325a82e..08fbdef7a7 100644 --- a/scss/util/_breakpoint.scss +++ b/scss/util/_breakpoint.scss @@ -119,7 +119,7 @@ $breakpoint-classes: (small medium large) !default; // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125). // Use a precision under 1px to support browser zoom, but not to low to avoid rounding. // See https://github.com/foundation/foundation-sites/issues/11313 - $bp-max: if($hidpi, $bp-next - (1/$std-web-dpi), -zf-bp-to-em($bp-next) - 0.00125); + $bp-max: if($hidpi, $bp-next - divide(1, $std-web-dpi), -zf-bp-to-em($bp-next) - 0.00125); } } diff --git a/scss/util/_color.scss b/scss/util/_color.scss index 8b15c813a6..262ed41742 100644 --- a/scss/util/_color.scss +++ b/scss/util/_color.scss @@ -33,9 +33,9 @@ $success-color:null; @for $i from 1 through 3 { $rgb: nth($rgba, $i); - $rgb: $rgb / 255; + $rgb: divide($rgb, 255); - $rgb: if($rgb < 0.03928, $rgb / 12.92, pow(($rgb + 0.055) / 1.055, 2.4)); + $rgb: if($rgb < 0.03928, divide($rgb, 12.92), pow(divide($rgb + 0.055, 1.055), 2.4)); $rgba2: append($rgba2, $rgb); } @@ -54,13 +54,13 @@ $success-color:null; // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef $luminance1: color-luminance($color1) + 0.05; $luminance2: color-luminance($color2) + 0.05; - $ratio: $luminance1 / $luminance2; + $ratio: divide($luminance1, $luminance2); @if $luminance2 > $luminance1 { - $ratio: 1 / $ratio; + $ratio: divide(1, $ratio); } - $ratio: round($ratio * 10) / 10; + $ratio: round($ratio * 10) * 0.1; @return $ratio; } diff --git a/scss/util/_direction.scss b/scss/util/_direction.scss index 8241e8da1f..eff40d1674 100644 --- a/scss/util/_direction.scss +++ b/scss/util/_direction.scss @@ -23,7 +23,7 @@ // Calculate the opposite place in a circle, with a starting index of 1 $length: length($dirs); - $demi: $length / 2; + $demi: $length * 0.5; $opposite-place: (($place + $demi - 1) % $length) + 1; @return nth($dirs, $opposite-place); diff --git a/scss/util/_math.scss b/scss/util/_math.scss index c94b2c9c47..a9dddcbe60 100644 --- a/scss/util/_math.scss +++ b/scss/util/_math.scss @@ -33,7 +33,7 @@ $prec2 : pow(10, $prec); $exponent: round($exponent * $prec2); $denominator: gcd($exponent, $prec2); - @return nth-root(pow($base, $exponent / $denominator), $prec2 / $denominator, $prec); + @return nth-root(pow($base, divide($exponent, $denominator)), divide($prec2, $denominator), $prec); } $value: $base; @@ -44,7 +44,7 @@ } @else if $exponent < 1 { @for $i from 0 through -$exponent { - $value: $value / $base; + $value: divide($value, $base); } } @@ -56,7 +56,7 @@ $x: 1; @for $i from 0 through $prec { - $x: 1 / $n * (($n - 1) * $x + ($num / pow($x, $n - 1))); + $x: divide(1, $n) * (($n - 1) * $x + divide($num, pow($x, $n - 1))); } @return $x; @@ -68,7 +68,7 @@ @function ratio-to-percentage($ratio) { $w: nth($ratio, 1); $h: nth($ratio, 3); - @return $h / $w * 100%; + @return divide($h, $w) * 100%; } /// Parse the given `$fraction` to numerators and denumerators. @@ -143,5 +143,5 @@ } } - @return percentage($parsed-nominator / $parsed-denominator); + @return percentage(divide($parsed-nominator, $parsed-denominator)); } diff --git a/scss/util/_mixins.scss b/scss/util/_mixins.scss index 512f2827f2..a723df58f1 100644 --- a/scss/util/_mixins.scss +++ b/scss/util/_mixins.scss @@ -96,7 +96,7 @@ $-zf-pb-value: null; $hover-shadow: (); // Spacing between bars is calculated based on the total height of the icon and the weight of each bar - $spacing: ($height - ($weight * $bars)) / ($bars - 1); + $spacing: divide($height - ($weight * $bars), $bars - 1); @if unit($spacing) == 'px' { $spacing: floor($spacing); @@ -197,7 +197,7 @@ $-zf-pb-value: null; @for $i from 2 through $max { &:nth-last-child(#{$i}):first-child, &:nth-last-child(#{$i}):first-child ~ #{$elem} { - width: percentage(1 / $i); + width: percentage(divide(1, $i)); } } } diff --git a/scss/util/_unit.scss b/scss/util/_unit.scss index beebcdf53c..e1bd81a0fd 100644 --- a/scss/util/_unit.scss +++ b/scss/util/_unit.scss @@ -2,6 +2,8 @@ // https://get.foundation // Licensed under MIT Open Source +@import 'math'; + //// /// @group functions //// @@ -14,7 +16,7 @@ $global-font-size: 100% !default; /// /// @returns {Number} The same number, sans unit. @function strip-unit($num) { - @return $num / ($num * 0 + 1); + @return divide($num, $num * 0 + 1); } /// Converts one or more pixel values into matching rem values. @@ -35,7 +37,7 @@ $global-font-size: 100% !default; // If the base font size is a %, then multiply it by 16px // This is because 100% font size = 16px in most all browsers @if unit($base) == '%' { - $base: ($base / 100%) * 16px; + $base: divide($base, 100%) * 16px; } // Using rem as base allows correct scaling @@ -86,7 +88,7 @@ $global-font-size: 100% !default; // Calculate rem if units for $value is not rem or em @if unit($value) != 'rem' { - $value: strip-unit($value) / strip-unit($base) * 1rem; + $value: divide(strip-unit($value), strip-unit($base)) * 1rem; } // Turn 0rem into 0 @@ -114,7 +116,7 @@ $global-font-size: 100% !default; // If the base font size is a %, then multiply it by 16px @if unit($base) == '%' { - $base: ($base / 100%) * 16px; + $base: divide($base, 100%) * 16px; } @if unit($base) == 'rem' { @@ -127,7 +129,7 @@ $global-font-size: 100% !default; // Now let's convert our value to pixels too @if unit($value) == '%' { - $value: ($value / 100%) * $base; + $value: divide($value, 100%) * $base; } @if unit($value) == 'rem' { @@ -140,12 +142,12 @@ $global-font-size: 100% !default; // 'px' @if unit($value) == 'px' { - @return strip-unit($value) / strip-unit($base); + @return divide(strip-unit($value), strip-unit($base)); } // assume that line-heights greater than 10 are meant to be absolute in 'px' @if unitless($value) and ($value > 10) { - @return $value / strip-unit($base); + @return divide($value, strip-unit($base)); } @return $value; diff --git a/scss/xy-grid/_gutters.scss b/scss/xy-grid/_gutters.scss index ff3ea3c90f..839e8746f6 100644 --- a/scss/xy-grid/_gutters.scss +++ b/scss/xy-grid/_gutters.scss @@ -26,7 +26,7 @@ // Output our margin gutters. @if (type-of($gutters) == 'map') { @include -zf-breakpoint-value(auto, $gutters) { - $gutter: rem-calc($-zf-bp-value) / 2; + $gutter: rem-calc($-zf-bp-value) * 0.5; // Loop through each gutter position @each $value in $gutter-position { @@ -35,7 +35,7 @@ } } @else if (type-of($gutters) == 'number') { - $gutter: rem-calc($gutters) / 2; + $gutter: rem-calc($gutters) * 0.5; // Loop through each gutter position @each $value in $gutter-position { diff --git a/scss/xy-grid/_layout.scss b/scss/xy-grid/_layout.scss index d087825acb..d62e797c10 100644 --- a/scss/xy-grid/_layout.scss +++ b/scss/xy-grid/_layout.scss @@ -28,7 +28,7 @@ $vertical: false, $output: (base size gutters) ) { - $size: percentage(1/$n); + $size: percentage(divide(1, $n)); & > #{$selector} { @include xy-cell($size, $gutter-output, $gutters, $gutter-type, $gutter-position, $breakpoint, $vertical, $output); diff --git a/scss/xy-grid/_position.scss b/scss/xy-grid/_position.scss index 414f5bb77f..b59e44a892 100644 --- a/scss/xy-grid/_position.scss +++ b/scss/xy-grid/_position.scss @@ -25,7 +25,7 @@ $offset: $size; @if ($gutter-type == 'margin') { - $gutter: rem-calc(xy-cell-gutters($gutters, $breakpoint) / 2); + $gutter: rem-calc(xy-cell-gutters($gutters, $breakpoint) * 0.5); $offset: if($gutter == 0, $size, calc(#{$size} + #{$gutter})); } @return $offset; diff --git a/test/sass/_components.scss b/test/sass/_components.scss index 0e8bf0e705..f6dd2a082c 100644 --- a/test/sass/_components.scss +++ b/test/sass/_components.scss @@ -9,7 +9,7 @@ @include test('Ratio to Percentage [function]') { $test: ratio-to-percentage(3 by 4); - $expect: 4 / 3 * 100%; + $expect: divide(4, 3) * 100%; @include assert-equal($test, $expect, 'Creates a percentage value from a ratio'); From 782785edb5ca434e5f37c46bb9db12e049441c2e Mon Sep 17 00:00:00 2001 From: Antti Hukkanen Date: Fri, 16 Jul 2021 19:14:38 +0300 Subject: [PATCH 67/82] feat: add the divide method --- scss/util/_math.scss | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/scss/util/_math.scss b/scss/util/_math.scss index a9dddcbe60..24d71722bf 100644 --- a/scss/util/_math.scss +++ b/scss/util/_math.scss @@ -145,3 +145,53 @@ @return percentage(divide($parsed-nominator, $parsed-denominator)); } + +/// Divide the given `$divident` by the given `$divisor`. +/// +/// @param {Number} $divident - The divident. +/// @param {Number} $divisor - The divisor. +/// @param {Number} $precision - The precision decimals for the division. +/// +/// @return {Number} The product of the division. +@function divide($dividend, $divisor, $precision: 12) { + $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1); + $dividend: abs($dividend); + $divisor: abs($divisor); + @if $dividend == 0 { + @return 0; + } + @if $divisor == 0 { + @error "Cannot divide by 0"; + } + $remainder: $dividend; + $result: 0; + $factor: 10; + @while ($remainder > 0 and $precision >= 0) { + $quotient: 0; + @while ($remainder >= $divisor) { + $remainder: $remainder - $divisor; + $quotient: $quotient + 1; + } + $result: $result * 10 + $quotient; + $factor: $factor * .1; + $remainder: $remainder * 10; + $precision: $precision - 1; + @if ($precision < 0 and $remainder >= $divisor * 5) { + $result: $result + 1; + } + } + $result: $result * $factor * $sign; + $dividend-unit: unit($dividend); + $divisor-unit: unit($divisor); + $unit-map: ( + "px": 1px, + "rem": 1rem, + "em": 1em, + "%": 1% + ); + @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) { + $result: $result * map-get($unit-map, $dividend-unit); + } + + @return $result; +} From 86d0183e570312127b2ebaf1b06c0a7799eeccce Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Tue, 24 Aug 2021 17:45:40 -0700 Subject: [PATCH 68/82] create security file --- SECURITY.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000000..a84aaf01cd --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,12 @@ +# Security Policy + +## Supported Versions + +| Version | Supported | +| ------- | ------------------ | +| 6.x | :white_check_mark: | +| < 5.0 | :x: | + +## Reporting a Vulnerability + +Please feel free to email us at contact@get.foundation with any details about a vulnerability that you may have found. From 93484561ef03e3bc2fd6d6d63a4fc3eca0c95f6c Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Thu, 26 Aug 2021 09:46:02 -0700 Subject: [PATCH 69/82] fix: remove tree roles from menus closes #12185 --- js/foundation.accordionMenu.js | 4 ---- js/foundation.drilldown.js | 7 +++---- test/javascript/components/drilldown.js | 5 ----- 3 files changed, 3 insertions(+), 13 deletions(-) diff --git a/js/foundation.accordionMenu.js b/js/foundation.accordionMenu.js index d24f1837a9..08368787cb 100644 --- a/js/foundation.accordionMenu.js +++ b/js/foundation.accordionMenu.js @@ -54,7 +54,6 @@ class AccordionMenu extends Plugin { this.$element.find('[data-submenu]').not('.is-active').slideUp(0);//.find('a').css('padding-left', '1rem'); this.$element.attr({ - 'role': 'tree', 'aria-multiselectable': this.options.multiOpen }); @@ -88,9 +87,6 @@ class AccordionMenu extends Plugin { 'id': subId }); }); - this.$element.find('li').attr({ - 'role': 'treeitem' - }); var initPanes = this.$element.find('.is-active'); if (initPanes.length) { initPanes.each(function() { diff --git a/js/foundation.drilldown.js b/js/foundation.drilldown.js index 236e3baf2f..c38d9f14ed 100644 --- a/js/foundation.drilldown.js +++ b/js/foundation.drilldown.js @@ -55,12 +55,11 @@ class Drilldown extends Plugin { } this.$element.attr({ - 'role': 'tree', 'aria-multiselectable': false }); this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a'); this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group'); - this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'treeitem').find('a'); + this.$menuItems = this.$element.find('li').not('.js-drilldown-back').find('a'); // Set the main menu as current by default (unless a submenu is selected) // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu @@ -415,7 +414,7 @@ class Drilldown extends Plugin { // If target menu is root, focus first link & exit if ($elem.is('[data-drilldown]')) { - if (autoFocus === true) $elem.find('li[role="treeitem"] > a').first().focus(); + if (autoFocus === true) $elem.find('li > a').first().focus(); if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight')); return; } @@ -438,7 +437,7 @@ class Drilldown extends Plugin { if (isLastChild === true) { $(this).one(transitionend($(this)), () => { if (autoFocus === true) { - $elem.find('li[role="treeitem"] > a').first().focus(); + $elem.find('li > a').first().focus(); } }); } diff --git a/test/javascript/components/drilldown.js b/test/javascript/components/drilldown.js index c1c17f4614..a33c77dbc6 100644 --- a/test/javascript/components/drilldown.js +++ b/test/javascript/components/drilldown.js @@ -71,8 +71,6 @@ describe('Drilldown Menu', function() { $html = $(template).appendTo('body'); plugin = new Foundation.Drilldown($html, {}); - plugin.$element.should.have.attr('role', 'tree'); - plugin.$element.find('[data-submenu]').each(function() { $(this).should.have.attr('role', 'group'); $(this).should.have.attr('aria-hidden', 'true'); @@ -84,9 +82,6 @@ describe('Drilldown Menu', function() { $(this).should.have.attr('aria-label', $(this).children('a').first().text()); }); - plugin.$element.find('li:not(.js-drilldown-back)').each(function() { - $(this).should.have.attr('role', 'treeitem'); - }); }); }); From 997302f88d1003947ec38ac6621dac04bd734369 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Thu, 26 Aug 2021 10:53:36 -0700 Subject: [PATCH 70/82] chore: define node 12 as min engine --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1190f89a0f..e2b4f4a27c 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "trim-newlines": "^3.0.1" }, "engines": { - "node": ">=8.4.0" + "node": ">=12.0" }, "repository": { "type": "git", From 2af269f3dee1ee7d96f3d0b127404262c73be791 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Thu, 26 Aug 2021 11:06:12 -0700 Subject: [PATCH 71/82] docs: fixed broken link close #12239 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb2fe857c8..daedb35a6f 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

    Install - | Documentation + | Documentation | Releases | Contributing

    From 94e0778938bd1118d65b1c29867d27c4312d06ec Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Thu, 26 Aug 2021 11:27:38 -0700 Subject: [PATCH 72/82] docs: remove zurb links closes #12227 --- README.md | 4 ++-- customizer/index.html | 1 - docs/assets/scss/docs.scss | 1 - docs/pages/badge.md | 2 +- docs/pages/button.md | 5 ----- docs/pages/flex-grid.md | 4 ++-- docs/pages/forms.md | 4 ++-- docs/pages/grid.md | 4 ++-- docs/pages/index.md | 4 ++-- docs/pages/media-queries.md | 4 ++-- docs/pages/menu.md | 4 ++-- docs/pages/off-canvas.md | 4 ++-- docs/pages/panini.md | 2 +- docs/pages/reveal.md | 4 ++-- docs/pages/sass.md | 4 ++-- docs/pages/top-bar.md | 4 ++-- docs/pages/xy-grid.md | 4 ++-- docs/partials/footer-contact.html | 11 ++++++----- docs/partials/footer.html | 6 ------ docs/partials/navigation.html | 7 +++---- docs/partials/off-canvi.html | 3 +-- 21 files changed, 36 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index daedb35a6f..6cab6ef59b 100644 --- a/README.md +++ b/README.md @@ -69,8 +69,8 @@ Check out [CONTRIBUTING.md](CONTRIBUTING.md) to see how to report an issue or su
    [BrowserStack Open-Source Program](https://www.browserstack.com/open-source) -## Training + Copyright © 2020 Foundation Community diff --git a/customizer/index.html b/customizer/index.html index acc018c8c1..1651a068da 100644 --- a/customizer/index.html +++ b/customizer/index.html @@ -27,7 +27,6 @@

    We’re stoked you want to try Foundation!

    Foundation Documentation
    Everything you need to know about using the framework.

    -

    Foundation Code Skills
    These online courses offer you a chance to better understand how Foundation works and how you can master it to create awesome projects.

    Foundation Forum
    Join the Foundation community to ask a question or show off your knowledge.

    diff --git a/docs/assets/scss/docs.scss b/docs/assets/scss/docs.scss index cdf9f994d7..8a9ab24d2a 100644 --- a/docs/assets/scss/docs.scss +++ b/docs/assets/scss/docs.scss @@ -53,7 +53,6 @@ a#notice { position: relative; padding: 1rem 0; width:100%; - background-image: url('https://zurb.com/university/assets/zurbwired2016-web-banner-a95e5d17264e3617a2ae4f34e84f973b.gif'); background-position: center; background-size: cover; background-repeat: no-repeat; diff --git a/docs/pages/badge.md b/docs/pages/badge.md index 7b8186f704..b3fda51bdf 100644 --- a/docs/pages/badge.md +++ b/docs/pages/badge.md @@ -105,7 +105,7 @@ The text color for each badge class is determined by either `$badge-color` or `$ ## Icons -An icon can be used in place of text. We're using the [Foundation icon font](https://zurb.com/playground/foundation-icon-fonts-3) here, but any icon fonts or image-based icons will work fine. +An icon can be used in place of text. We're using the Foundation icon font here, but any icon fonts or image-based icons will work fine.

    Watch this part in video diff --git a/docs/pages/button.md b/docs/pages/button.md index 5e8b72ebb4..5d4834cc6b 100644 --- a/docs/pages/button.md +++ b/docs/pages/button.md @@ -7,11 +7,6 @@ tags: - dropdown button --- -

    -

    To help you get the most out of Foundation and create responsive websites and apps like us we’ve put together some unique online webinar training. Learn Foundation’s Grid, how to use and modify Foundation's UI components, Foundation’s JavaScript options and functions, and tons of tips and tricks we learned from major client projects.

    - Learn more about Foundation training → -
    - ## Basics A basic button can be created with minimal markup. Because buttons can be used for many purposes, it's important to use the right tag. diff --git a/docs/pages/flex-grid.md b/docs/pages/flex-grid.md index 11e95e3dcf..d0e8156379 100644 --- a/docs/pages/flex-grid.md +++ b/docs/pages/flex-grid.md @@ -5,10 +5,10 @@ sass: scss/grid/_flex-grid.scss video: tpmQcZSPw4Q --- -
    + The flex grid works very similarly to the standard float grid, but includes a number of useful features only possible with flexbox, like horizontal and vertical alignment, automatic sizing, and easier source ordering. diff --git a/docs/pages/forms.md b/docs/pages/forms.md index d5e5326413..6f2a197b09 100644 --- a/docs/pages/forms.md +++ b/docs/pages/forms.md @@ -13,10 +13,10 @@ tags: flex: true --- -
    + ## Form Basics diff --git a/docs/pages/grid.md b/docs/pages/grid.md index 04cdbe8bc9..7c1b3a2d74 100644 --- a/docs/pages/grid.md +++ b/docs/pages/grid.md @@ -9,10 +9,10 @@ tags: - block grid --- -
    + ## Importing diff --git a/docs/pages/index.md b/docs/pages/index.md index 802a4189b1..08ca330202 100644 --- a/docs/pages/index.md +++ b/docs/pages/index.md @@ -19,10 +19,10 @@ There are a number of ways to install Foundation for Sites. Our installation pag ## New to Foundation for Sites? -
    + With an easy to understand syntax and consistent structure, you'll learn your way around Foundation in no time! diff --git a/docs/pages/media-queries.md b/docs/pages/media-queries.md index 4450560c79..d615e46067 100644 --- a/docs/pages/media-queries.md +++ b/docs/pages/media-queries.md @@ -8,10 +8,10 @@ tags: - breakpoints --- -
    + ## Default Media Queries diff --git a/docs/pages/menu.md b/docs/pages/menu.md index 9794e6c67d..d68854ffb5 100644 --- a/docs/pages/menu.md +++ b/docs/pages/menu.md @@ -12,10 +12,10 @@ tags: flex: true --- -
    + The menu is a flexible, all-purpose component for navigation. It replaces Foundation 5's inline list, side nav, sub nav, and icon bar, unifying them into one component. diff --git a/docs/pages/off-canvas.md b/docs/pages/off-canvas.md index cf1f3c8c28..00a91fab7c 100644 --- a/docs/pages/off-canvas.md +++ b/docs/pages/off-canvas.md @@ -15,10 +15,10 @@ tags: flex: true --- -
    +

    Good news! We've updated Off-canvas to offer more and better functionality. Another bonus is the markup is simplified. This new version applies to version 6.3+. We work hard to avoid breaking changes, so any markup updates are listed in the migration section of this page.

    diff --git a/docs/pages/panini.md b/docs/pages/panini.md index 423e549434..e6b2e1095b 100644 --- a/docs/pages/panini.md +++ b/docs/pages/panini.md @@ -49,7 +49,7 @@ A basic page might look like this: Note that there's no `` or `` tags, and no header or footer. This code will be injected into the `{{> body}}` declaration when Panini assembles your pages. -In the prototyping template, these finished files are compiled into a standalone folder called `dist` (short for "distribution"), which also includes your processed CSS, JavaScript, and images. This folder can easily be uploaded to any web server, or Notable's [Hosted Prototypes](https://zurb.com/notable/features/hosted) service. +In the prototyping template, these finished files are compiled into a standalone folder called `dist` (short for "distribution"), which also includes your processed CSS, JavaScript, and images. This folder can easily be uploaded to any web server, or Notable's Hosted Prototypes service. --- diff --git a/docs/pages/reveal.md b/docs/pages/reveal.md index 67e11bda6f..b55ee2ff10 100644 --- a/docs/pages/reveal.md +++ b/docs/pages/reveal.md @@ -10,10 +10,10 @@ tags: --- -
    + ## Basics diff --git a/docs/pages/sass.md b/docs/pages/sass.md index 34ee7d29bc..485c9252e5 100644 --- a/docs/pages/sass.md +++ b/docs/pages/sass.md @@ -4,10 +4,10 @@ description: Foundation is written in Sass, which allows us to make the codebase video: mYiyunVQdMY --- -
    +

    Not familiar with Sass? The [official tutorial](https://sass-lang.com/guide) on sass-lang.com is a great place to start.

    diff --git a/docs/pages/top-bar.md b/docs/pages/top-bar.md index 31cf6ba1e5..1efe6f7502 100644 --- a/docs/pages/top-bar.md +++ b/docs/pages/top-bar.md @@ -6,10 +6,10 @@ sass: ./scss/components/_top-bar.scss flex: true --- -
    + ## Basics diff --git a/docs/pages/xy-grid.md b/docs/pages/xy-grid.md index 90147417b8..716c647c32 100644 --- a/docs/pages/xy-grid.md +++ b/docs/pages/xy-grid.md @@ -5,10 +5,10 @@ video: tjjVKGeoi3A sass: scss/xy-grid/*.scss --- -
    + ## XY Grid Basics diff --git a/docs/partials/footer-contact.html b/docs/partials/footer-contact.html index 70170c6910..1404b7d372 100644 --- a/docs/partials/footer-contact.html +++ b/docs/partials/footer-contact.html @@ -2,12 +2,13 @@
    -
    Register Today
    + Foundation Classes +

    Get all the answers in our
    + Foundation Classes

    -->
    -

    Learn Foundation from the creators in our interactive online webinars which will keep you up to date with the latest trends and skills needed to win your projects.

    +
    diff --git a/docs/partials/footer.html b/docs/partials/footer.html index 7f0ed84a59..2992ef7ae4 100755 --- a/docs/partials/footer.html +++ b/docs/partials/footer.html @@ -4,12 +4,6 @@
    diff --git a/docs/pages/prototyping-utilities.md b/docs/pages/prototyping-utilities.md index c0d520d6d2..638392ccca 100644 --- a/docs/pages/prototyping-utilities.md +++ b/docs/pages/prototyping-utilities.md @@ -34,7 +34,7 @@ Not all projects require Prototyping Utilities and adding utility classes like t

    -If you're using the CSS version of Foundation, you can generate a custom download of Foundation with prototype mode enabled. If you're using the Sass version of Foundation, you can enable prototype mode in two ways: +Using the Sass version of Foundation, you can enable prototype mode in two ways: If you use the `foundation-everything()` mixin in your main Sass file, just pass in `$prototype: true` to enable the prototype mode. diff --git a/docs/pages/rtl.md b/docs/pages/rtl.md index 69cfe3c0a7..09769700ba 100644 --- a/docs/pages/rtl.md +++ b/docs/pages/rtl.md @@ -29,7 +29,7 @@ View of a [full list of language codes](https://www.loc.gov/standards/iso639-2/p ## CSS Download -If you use a CSS version of Foundation (the ones you can find on the [download page](https://download.get.foundation/sites/download)), you'll need to create a custom download that includes RTL CSS instead of LTR. Just select "Right-to-left" under the Text Direction section of the customizer. +If you use a CSS version of Foundation, you'll need to create a custom download that includes RTL CSS instead of LTR. Just select "Right-to-left" under the Text Direction section of the customizer. --- From b584a365ec2949714ba777ac05bcd526d2545a02 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Thu, 26 Aug 2021 13:58:08 -0700 Subject: [PATCH 74/82] fix: relocate menu aria attrs closes #12087 --- js/foundation.util.nest.js | 2 +- test/javascript/components/drilldown.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/js/foundation.util.nest.js b/js/foundation.util.nest.js index 661c92d791..df86d8f325 100644 --- a/js/foundation.util.nest.js +++ b/js/foundation.util.nest.js @@ -20,7 +20,7 @@ const Nest = { if ($sub.length) { $item.addClass(hasSubClass); if(applyAria) { - $item.attr({ + $item.children('a:first').attr({ 'aria-haspopup': true, 'aria-label': $item.children('a:first').text() }); diff --git a/test/javascript/components/drilldown.js b/test/javascript/components/drilldown.js index a33c77dbc6..06c98271ec 100644 --- a/test/javascript/components/drilldown.js +++ b/test/javascript/components/drilldown.js @@ -77,9 +77,9 @@ describe('Drilldown Menu', function() { }); plugin.$element.find('.is-drilldown-submenu-parent').each(function() { - $(this).should.have.attr('aria-haspopup', 'true'); $(this).should.have.attr('aria-expanded', 'false'); - $(this).should.have.attr('aria-label', $(this).children('a').first().text()); + $(this).children('a').first().should.have.attr('aria-haspopup', 'true'); + $(this).children('a').first().should.have.attr('aria-label', $(this).children('a').first().text()); }); }); From 915419f554e87010921d46492c39587fdbaf2352 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Thu, 26 Aug 2021 14:50:00 -0700 Subject: [PATCH 75/82] fix: new disableHoverOnTouch option closes #11865 closes #12026 --- js/foundation.dropdownMenu.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/js/foundation.dropdownMenu.js b/js/foundation.dropdownMenu.js index 19375da8f3..3b4bb0985b 100644 --- a/js/foundation.dropdownMenu.js +++ b/js/foundation.dropdownMenu.js @@ -141,6 +141,8 @@ class DropdownMenu extends Plugin { }); } + if (hasTouch && this.options.disableHoverOnTouch) this.options.disableHover = true; + if (!this.options.disableHover) { this.$menuItems.on('mouseenter.zf.dropdownMenu', function (e) { var $elem = $(this), @@ -399,6 +401,13 @@ DropdownMenu.defaults = { * @default false */ disableHover: false, + /** + * Disallows hover on touch devices + * @option + * @type {boolean} + * @default true + */ + disableHoverOnTouch: true, /** * Allow a submenu to automatically close on a mouseleave event, if not clicked open. * @option From 78d540c1cecf04ea1eea6ed55391553d561b27f4 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Fri, 27 Aug 2021 11:49:51 -0700 Subject: [PATCH 76/82] fix: strict not needed in module --- js/foundation.abide.js | 2 -- js/foundation.accordion.js | 4 +--- js/foundation.accordionMenu.js | 3 --- js/foundation.core.js | 2 -- js/foundation.core.plugin.js | 2 -- js/foundation.core.utils.js | 2 -- js/foundation.drilldown.js | 2 -- js/foundation.dropdown.js | 2 -- js/foundation.dropdownMenu.js | 2 -- js/foundation.equalizer.js | 2 -- js/foundation.interchange.js | 4 +--- js/foundation.magellan.js | 3 --- js/foundation.offcanvas.js | 2 -- js/foundation.orbit.js | 2 -- js/foundation.positionable.js | 2 -- js/foundation.responsiveAccordionTabs.js | 2 -- js/foundation.responsiveMenu.js | 2 -- js/foundation.responsiveToggle.js | 2 -- js/foundation.reveal.js | 2 -- js/foundation.slider.js | 2 -- js/foundation.sticky.js | 2 -- js/foundation.tabs.js | 2 -- js/foundation.toggler.js | 2 -- js/foundation.tooltip.js | 3 --- js/foundation.util.box.js | 2 -- js/foundation.util.imageLoader.js | 2 -- js/foundation.util.keyboard.js | 2 -- js/foundation.util.mediaQuery.js | 2 -- js/foundation.util.motion.js | 2 -- js/foundation.util.nest.js | 2 -- js/foundation.util.timer.js | 2 -- js/foundation.util.triggers.js | 2 -- 32 files changed, 2 insertions(+), 69 deletions(-) diff --git a/js/foundation.abide.js b/js/foundation.abide.js index ae4fb5cc85..8f16b22c68 100644 --- a/js/foundation.abide.js +++ b/js/foundation.abide.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { GetYoDigits } from './foundation.core.utils'; diff --git a/js/foundation.accordion.js b/js/foundation.accordion.js index 42da199a30..cd524c2f70 100644 --- a/js/foundation.accordion.js +++ b/js/foundation.accordion.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { onLoad, GetYoDigits } from './foundation.core.utils'; @@ -407,4 +405,4 @@ Accordion.defaults = { updateHistory: false }; -export { Accordion }; \ No newline at end of file +export { Accordion }; diff --git a/js/foundation.accordionMenu.js b/js/foundation.accordionMenu.js index 08368787cb..13c9af7cdc 100644 --- a/js/foundation.accordionMenu.js +++ b/js/foundation.accordionMenu.js @@ -1,6 +1,3 @@ -'use strict'; - - import $ from 'jquery'; import { Keyboard } from './foundation.util.keyboard'; import { Nest } from './foundation.util.nest'; diff --git a/js/foundation.core.js b/js/foundation.core.js index 76c90682fe..e78cf4e7de 100644 --- a/js/foundation.core.js +++ b/js/foundation.core.js @@ -1,5 +1,3 @@ -"use strict"; - import $ from 'jquery'; import { GetYoDigits } from './foundation.core.utils'; import { MediaQuery } from './foundation.util.mediaQuery'; diff --git a/js/foundation.core.plugin.js b/js/foundation.core.plugin.js index 884d11fb0e..a8187ec7bc 100644 --- a/js/foundation.core.plugin.js +++ b/js/foundation.core.plugin.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { GetYoDigits } from './foundation.core.utils'; diff --git a/js/foundation.core.utils.js b/js/foundation.core.utils.js index 78c53461d7..39f6f6c9a3 100644 --- a/js/foundation.core.utils.js +++ b/js/foundation.core.utils.js @@ -1,5 +1,3 @@ -"use strict"; - import $ from 'jquery'; // Core Foundation Utilities, utilized in a number of places. diff --git a/js/foundation.drilldown.js b/js/foundation.drilldown.js index c38d9f14ed..b7210c4f70 100644 --- a/js/foundation.drilldown.js +++ b/js/foundation.drilldown.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Keyboard } from './foundation.util.keyboard'; import { Nest } from './foundation.util.nest'; diff --git a/js/foundation.dropdown.js b/js/foundation.dropdown.js index 294f1ae85a..d694c7b6ee 100644 --- a/js/foundation.dropdown.js +++ b/js/foundation.dropdown.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Keyboard } from './foundation.util.keyboard'; import { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils'; diff --git a/js/foundation.dropdownMenu.js b/js/foundation.dropdownMenu.js index 3b4bb0985b..fb0444f278 100644 --- a/js/foundation.dropdownMenu.js +++ b/js/foundation.dropdownMenu.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { rtl as Rtl, ignoreMousedisappear } from './foundation.core.utils'; diff --git a/js/foundation.equalizer.js b/js/foundation.equalizer.js index 1333554674..a3e9bbe98b 100644 --- a/js/foundation.equalizer.js +++ b/js/foundation.equalizer.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { MediaQuery } from './foundation.util.mediaQuery'; import { onImagesLoaded } from './foundation.util.imageLoader'; diff --git a/js/foundation.interchange.js b/js/foundation.interchange.js index c42b2274e6..8718592815 100644 --- a/js/foundation.interchange.js +++ b/js/foundation.interchange.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { MediaQuery } from './foundation.util.mediaQuery'; import { Plugin } from './foundation.core.plugin'; @@ -30,7 +28,7 @@ class Interchange extends Plugin { // Triggers init is idempotent, just need to make sure it is initialized Triggers.init($); - + this._init(); this._events(); } diff --git a/js/foundation.magellan.js b/js/foundation.magellan.js index 9ddb6aa88c..f2d9ec479e 100644 --- a/js/foundation.magellan.js +++ b/js/foundation.magellan.js @@ -1,6 +1,3 @@ -'use strict'; - - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { onLoad, GetYoDigits } from './foundation.core.utils'; diff --git a/js/foundation.offcanvas.js b/js/foundation.offcanvas.js index 0d2bc659c2..26dbf47e40 100644 --- a/js/foundation.offcanvas.js +++ b/js/foundation.offcanvas.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { onLoad, transitionend, RegExpEscape } from './foundation.core.utils'; diff --git a/js/foundation.orbit.js b/js/foundation.orbit.js index 730f68c269..e22c0212c6 100644 --- a/js/foundation.orbit.js +++ b/js/foundation.orbit.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Keyboard } from './foundation.util.keyboard'; import { Motion } from './foundation.util.motion'; diff --git a/js/foundation.positionable.js b/js/foundation.positionable.js index 9ca87d7c99..c5832a414c 100644 --- a/js/foundation.positionable.js +++ b/js/foundation.positionable.js @@ -1,5 +1,3 @@ -'use strict'; - import { Box } from './foundation.util.box'; import { Plugin } from './foundation.core.plugin'; import { rtl as Rtl } from './foundation.core.utils'; diff --git a/js/foundation.responsiveAccordionTabs.js b/js/foundation.responsiveAccordionTabs.js index 605dc3d8ec..cc4a12b045 100644 --- a/js/foundation.responsiveAccordionTabs.js +++ b/js/foundation.responsiveAccordionTabs.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { MediaQuery } from './foundation.util.mediaQuery'; import { GetYoDigits } from './foundation.core.utils'; diff --git a/js/foundation.responsiveMenu.js b/js/foundation.responsiveMenu.js index c01c1e5b5f..34cd4bb43c 100644 --- a/js/foundation.responsiveMenu.js +++ b/js/foundation.responsiveMenu.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { MediaQuery } from './foundation.util.mediaQuery'; diff --git a/js/foundation.responsiveToggle.js b/js/foundation.responsiveToggle.js index c2c9cda8ba..9ebed9abdf 100644 --- a/js/foundation.responsiveToggle.js +++ b/js/foundation.responsiveToggle.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { MediaQuery } from './foundation.util.mediaQuery'; diff --git a/js/foundation.reveal.js b/js/foundation.reveal.js index baacfbbf85..3a999bf755 100644 --- a/js/foundation.reveal.js +++ b/js/foundation.reveal.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { onLoad } from './foundation.core.utils'; diff --git a/js/foundation.slider.js b/js/foundation.slider.js index d678134fb8..2bb6a978ab 100644 --- a/js/foundation.slider.js +++ b/js/foundation.slider.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Keyboard } from './foundation.util.keyboard'; import { Move } from './foundation.util.motion'; diff --git a/js/foundation.sticky.js b/js/foundation.sticky.js index 029bf8f112..d8990653ce 100644 --- a/js/foundation.sticky.js +++ b/js/foundation.sticky.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { onLoad, GetYoDigits } from './foundation.core.utils'; diff --git a/js/foundation.tabs.js b/js/foundation.tabs.js index f04ebb5617..02f69718bf 100644 --- a/js/foundation.tabs.js +++ b/js/foundation.tabs.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Plugin } from './foundation.core.plugin'; import { onLoad } from './foundation.core.utils'; diff --git a/js/foundation.toggler.js b/js/foundation.toggler.js index dc565f7bbf..51df273432 100644 --- a/js/foundation.toggler.js +++ b/js/foundation.toggler.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { Motion } from './foundation.util.motion'; import { Plugin } from './foundation.core.plugin'; diff --git a/js/foundation.tooltip.js b/js/foundation.tooltip.js index 1547a6e1a7..a1920d7335 100644 --- a/js/foundation.tooltip.js +++ b/js/foundation.tooltip.js @@ -1,7 +1,4 @@ -'use strict'; - import $ from 'jquery'; - import { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils'; import { MediaQuery } from './foundation.util.mediaQuery'; import { Triggers } from './foundation.util.triggers'; diff --git a/js/foundation.util.box.js b/js/foundation.util.box.js index b2a6a5ddca..b6a7d883d9 100644 --- a/js/foundation.util.box.js +++ b/js/foundation.util.box.js @@ -1,5 +1,3 @@ -'use strict'; - var Box = { ImNotTouchingYou: ImNotTouchingYou, OverlapArea: OverlapArea, diff --git a/js/foundation.util.imageLoader.js b/js/foundation.util.imageLoader.js index 4691847018..7a3b14a103 100644 --- a/js/foundation.util.imageLoader.js +++ b/js/foundation.util.imageLoader.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; /** diff --git a/js/foundation.util.keyboard.js b/js/foundation.util.keyboard.js index 8c9732954d..119f5b0ac6 100644 --- a/js/foundation.util.keyboard.js +++ b/js/foundation.util.keyboard.js @@ -6,8 +6,6 @@ * * ******************************************/ -'use strict'; - import $ from 'jquery'; import { rtl as Rtl } from './foundation.core.utils'; diff --git a/js/foundation.util.mediaQuery.js b/js/foundation.util.mediaQuery.js index 57b4d24019..e5dc7470d8 100644 --- a/js/foundation.util.mediaQuery.js +++ b/js/foundation.util.mediaQuery.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; // Default set of media queries diff --git a/js/foundation.util.motion.js b/js/foundation.util.motion.js index 4bd3e1a47d..1ba18eaae5 100644 --- a/js/foundation.util.motion.js +++ b/js/foundation.util.motion.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { transitionend } from './foundation.core.utils'; diff --git a/js/foundation.util.nest.js b/js/foundation.util.nest.js index df86d8f325..a5d468b723 100644 --- a/js/foundation.util.nest.js +++ b/js/foundation.util.nest.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; const Nest = { diff --git a/js/foundation.util.timer.js b/js/foundation.util.timer.js index 079fd914be..1427f50856 100644 --- a/js/foundation.util.timer.js +++ b/js/foundation.util.timer.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; function Timer(elem, options, cb) { diff --git a/js/foundation.util.triggers.js b/js/foundation.util.triggers.js index f4dcb610c3..fb14c61ab1 100644 --- a/js/foundation.util.triggers.js +++ b/js/foundation.util.triggers.js @@ -1,5 +1,3 @@ -'use strict'; - import $ from 'jquery'; import { onLoad } from './foundation.core.utils'; import { Motion } from './foundation.util.motion'; From b216c47565fe115660f5d22bd29a8b9b0a4fd535 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Fri, 27 Aug 2021 11:50:15 -0700 Subject: [PATCH 77/82] fix: upgraded typescript defs --- js/typescript/foundation.d.ts | 244 ++++++++++++++++++++++++++-------- 1 file changed, 191 insertions(+), 53 deletions(-) diff --git a/js/typescript/foundation.d.ts b/js/typescript/foundation.d.ts index 4515fcf362..f2c1c40ca9 100644 --- a/js/typescript/foundation.d.ts +++ b/js/typescript/foundation.d.ts @@ -9,27 +9,37 @@ declare module FoundationSites { // https://get.foundation/sites/docs/abide.html#javascript-reference interface Abide { - requiredChecked(element: JQuery): boolean; - findFormError(element: JQuery): JQuery; + enableValidation(): void; + disableValidation(): void; + requiredCheck(element: JQuery): boolean; + findFormError(element: JQuery, failedValidators?: string[]): JQuery; findLabel(element: JQuery): boolean; - addErrorClasses(element: JQuery): void; + findRadioLabels(elements: JQuery): boolean; + findCheckboxLabels(elements: JQuery): boolean; + addErrorClasses(element: JQuery, failedValidators?: string[]): void; + addA11yAttributes(element: JQuery): void; + addGlobalErrorA11yAttributes(element: JQuery): void; removeRadioErrorClasses(groupName: string): void; + removeCheckboxErrorClasses(groupName: string): void; removeErrorClasses(element: JQuery): void; validateInput(element: JQuery): boolean; validateForm(): boolean; + initialized: boolean; validateText(element: JQuery, pattern: string): boolean; validateRadio(groupName: string): boolean; + validateCheckbox(groupName: string): boolean; matchValidation(element: JQuery, validators: string, required: boolean): boolean; resetForm(): void; - destroy(): void; } interface AbideDefaults { - validateOn: string; + validateOn: string | null; labelErrorClass: string; inputErrorClass: string; formErrorSelector: string; formErrorClass: string; + a11yAttributes: boolean; + a11yErrorLevel: string; liveValidate: boolean; validateOnBlur: boolean; patterns: IAbidePatterns; @@ -53,92 +63,118 @@ declare module FoundationSites { month_day_year?: RegExp; day_month_year?: RegExp; color?: RegExp; + website?: any; } interface IAbideOptions { - validateOn?: string; + validateOn?: string | null; labelErrorClass?: string; inputErrorClass?: string; formErrorSelector?: string; formErrorClass?: string; + a11yAttributes?: boolean; + a11yErrorLevel?: string; liveValidate?: boolean; + validateOnBlur?: boolean; + patterns?: IAbidePatterns; validators?: any; } // https://get.foundation/sites/docs/accordion.html#javascript-reference interface Accordion { - toggle($target: JQuery): void; - down($target: JQuery, firstTime: boolean): void; - up($target: JQuery): void; - destroy(): void; + toggle(target: JQuery): void; + down(target: JQuery, firstTime: boolean): void; + up(target: JQuery): void; } interface IAccordionOptions { - slideSpeed?: number + slideSpeed?: number; multiExpand?: boolean; allowAllClosed?: boolean; + deepLink?: boolean; + deepLinkSmudge?: boolean; + deepLinkSmudgeDelay?: number; + deepLinkSmudgeOffset?: number; + updateHistory?: boolean; } // https://get.foundation/sites/docs/accordion-menu.html#javascript-reference interface AccordionMenu { hideAll(): void; - toggle($target: JQuery): void; - down($target: JQuery, firstTime: boolean): void; - up($target: JQuery): void; - destroy(): void; + showAll(): void; + toggle(target: JQuery): void; + down(target: JQuery, firstTime: boolean): void; + up(target: JQuery): void; } interface IAccordionMenuOptions { + parentLink?: boolean; slideSpeed?: number; + submenuToggle?: boolean; + submenuToggleText?: string; multiOpen?: boolean; } // https://get.foundation/sites/docs/drilldown-menu.html#javascript-reference interface Drilldown { - destroy(): void; + // no public methods } interface IDrilldownOptions { + autoApplyClass?: boolean; backButton?: string; + backButtonPosition?: string; wrapper?: string; parentLink?: boolean; closeOnClick?: boolean; + autoHeight?: boolean; + animateHeight?: boolean; + scrollTop?: boolean; + scrollTopElement?: string; + scrollTopOffset?: number; + animationDuration?: number; + animationEasing?: string; } // https://get.foundation/sites/docs/dropdown.html#javascript-reference interface Dropdown { - getPositionClass(): string; open(): void; close(): void; toggle(): void; - destroy(): void; } interface IDropdownOptions { + parentClass?: string | null; hoverDelay?: number; hover?: boolean; hoverPane?: boolean; vOffset?: number; hOffset?: number; - positionClass?: string; + position?: string; + alignment?: string; + allowOverlap?: boolean; + allowBottomOverlap?: boolean; trapFocus?: boolean; autoFocus?: boolean; closeOnClick?: boolean; + forceFollow?: boolean; } // https://get.foundation/sites/docs/dropdown-menu.html#javascript-reference interface DropdownMenu { - destroy(): void; + // No public methods } interface IDropdownMenuOptions { disableHover?: boolean; + disableHoverOnTouch?: boolean; autoclose?: boolean; hoverDelay?: number; clickOpen?: boolean; closingTime?: number; alignment?: string; closeOnClick?: boolean; + closeOnClickInside?: boolean; verticalClass?: string; rightClass?: string; forceFollow?: boolean; @@ -146,11 +182,10 @@ declare module FoundationSites { // https://get.foundation/sites/docs/equalizer.html#javascript-reference interface Equalizer { - getHeights(cb: Function): Array; - getHeightsByRow(cb: Function): Array; - applyHeight(heights: Array): void; - applyHeightByRow(groups: Array): void; - destroy(): void; + getHeights(cb: Function): any[]; + getHeightsByRow(cb: Function): any[]; + applyHeight(heights: any[]): void; + applyHeightByRow(groups: any[]): void; } interface IEqualizerOptions { @@ -162,11 +197,11 @@ declare module FoundationSites { // https://get.foundation/sites/docs/interchange.html#javascript-reference interface Interchange { replace(path: string): void; - destroy(): void; } interface IInterchangeOptions { - rules?: Array + rules?: any[]; + type?: string; } // https://get.foundation/sites/docs/magellan.html#javascript-reference @@ -174,7 +209,6 @@ declare module FoundationSites { calcPoints(): void; scrollToLoc(location: string): void; reflow(): void; - destroy(): void; } interface IMagellanOptions { @@ -183,7 +217,8 @@ declare module FoundationSites { threshold?: number; activeClass?: string; deepLinking?: boolean; - barOffset?: number; + updateHistory?: boolean; + offset?: number; } // https://get.foundation/sites/docs/offcanvas.html#javascript-reference @@ -192,16 +227,20 @@ declare module FoundationSites { open(event: Event, trigger: JQuery): void; close(cb?: Function): void; toggle(event: Event, trigger: JQuery): void; - destroy(): void; } interface IOffCanvasOptions { closeOnClick?: boolean; - transitionTime?: number; - position?: string; - forceTop?: boolean; + contentOverlay?: boolean; + contentId?: string | null; + nested?: boolean; + contentScroll?: boolean; + transitionTime?: string; + transition?: string; + forceTo?: string | null; isRevealed?: boolean; - revealOn?: string; + revealOn?: string | null; + inCanvasOn?: string | null; autoFocus?: boolean; revealClass?: string; trapFocus?: boolean; @@ -211,7 +250,6 @@ declare module FoundationSites { interface Orbit { geoSync(): void; changeSlide(isLTR: boolean, chosenSlide?: JQuery, idx?: number): void; - destroy(): void; } interface IOrbitOptions { @@ -235,12 +273,52 @@ declare module FoundationSites { useMUI?: boolean; } + interface Positionable { + // No public methods + } + + interface PositionableOptions { + position?: string; + alignment?: string; + allowOverlap?: boolean; + allowBottomOverlap?: boolean; + vOffset?: number; + hOffset?: number; + } + + interface ResponsiveAccordionTabs { + storezfData: any; + open(_target: any, ...args: any[]): any; + close(_target: any, ...args: any[]): any; + toggle(_target: any, ...args: any[]): any; + } + + interface ResponsiveAccordionTabsOptions { + // No Options + } + + interface ResponsiveMenu { + // No public methods + } + + interface ResponsiveMenuOptions { + // No Options + } + + interface ResponsiveToggle { + toggleMenu(): void; + } + + interface ResponsiveToggleOptions { + hideFor?: string; + animate?: boolean; + } + // https://get.foundation/sites/docs/reveal.html#javascript-reference interface Reveal { open(): void; toggle(): void; close(): void; - destroy(): void; } interface IRevealOptions { @@ -251,25 +329,27 @@ declare module FoundationSites { closeOnClick?: boolean; closeOnEsc?: boolean; multipleOpened?: boolean; - vOffset?: number; - hOffset?: number; + vOffset?: number | string; + hOffset?: number | string; fullScreen?: boolean; - btmOffsetPct?: number; overlay?: boolean; resetOnClose?: boolean; deepLink?: boolean; + updateHistory?: boolean; + appendTo?: string; + additionalOverlayClasses?: string; } // https://get.foundation/sites/docs/slider.html#javascript-reference interface Slider { - destroy(): void; + // No public methods } interface ISliderOptions { start?: number; end?: number; step?: number; - initialStart ?: number; + initialStart?: number; initialEnd?: number; binding?: boolean; clickSelect?: boolean; @@ -280,11 +360,27 @@ declare module FoundationSites { decimal?: number; moveTime?: number; disabledClass?: string; + invertVertical?: boolean; + changedDelay?: number; + nonLinearBase?: number; + positionValueFunction?: string; + } + + interface SmoothScroll { + scrollToLoc(loc: string, options: any, callback: Function): boolean; + constructor(element: any, options: any); + } + + interface SmoothScrollOptions { + animationDuration?: number; + animationEasing?: string; + threshold?: number; + offset?: number; } // https://get.foundation/sites/docs/sticky.html#javascript-reference interface Sticky { - destroy(): void; + // No public methods } interface IStickyOptions { @@ -298,30 +394,38 @@ declare module FoundationSites { stickyOn?: string; stickyClass?: string; containerClass?: string; + dynamicHeight?: boolean; checkEvery?: number; } // https://get.foundation/sites/docs/tabs.html#javascript-reference interface Tabs { selectTab(element: JQuery | string): void; - destroy(): void; } interface ITabsOptions { + deepLink?: boolean; + deepLinkSmudge?: boolean; + deepLinkSmudgeDelay?: number; + deepLinkSmudgeOffset?: number; + updateHistory?: boolean; autoFocus?: boolean; wrapOnKeys?: boolean; matchHeight?: boolean; + activeCollapse?: boolean; linkClass?: string; + linkActiveClass?: string; panelClass?: string; + panelActiveClass?: string; } // https://get.foundation/sites/docs/toggler.html#javascript-reference interface Toggler { toggle(): void; - destroy(): void; } interface ITogglerOptions { + toggler?: string; animate?: boolean; } @@ -330,7 +434,6 @@ declare module FoundationSites { show(): void; hide(): void; toggle(): void; - destroy(): void; } interface ITooltipOptions { @@ -338,16 +441,24 @@ declare module FoundationSites { fadeInDuration?: number; fadeOutDuration?: number; disableHover?: boolean; + disableForTouch?: any; templateClasses?: string; tooltipClass?: string; triggerClass?: string; showOn?: string; template?: string; tipText?: string; + touchCloseText?: string; clickOpen?: boolean; - positionClass?: string; + position?: string; + alignment?: string; + allowOverlap?: boolean; + allowBottomOverlap?: boolean; vOffset?: number; hOffset?: number; + tooltipHeight?: number; + tooltipWidth?: number; + allowHtml?: boolean; } // Utilities @@ -355,21 +466,29 @@ declare module FoundationSites { interface Box { ImNotTouchingYou(element: Object, parent?: Object, lrOnly?: boolean, tbOnly?: boolean): boolean; + OverlapArea(element: Object, parent?: Object, lrOnly?: boolean, tbOnly?: boolean, ignoreBottom?: boolean): number; GetDimensions(element: Object): Object; - GetOffsets(element: Object, anchor: Object, position: string, vOffset: number, hOffset: number, isOverflow: boolean): Object; + GetExplicitOffsets(element: any, anchor: any, position: string, alignment: any, vOffset: number, hOffset: number, isOverflow: boolean): Object } interface Keyboard { parseKey(event: any): string; handleKey(event: any, component: any, functions: any): void; - findFocusable($element: Object): Object; + findFocusable(element: JQuery): Object; + register(componentName: any, cmds: any): void; + trapFocus(element: JQuery): void; + releaseFocus(element: JQuery): void; } interface MediaQuery { - get(size: string): string; - atLeast(size: string): boolean; - queries: Array; + queries: any[]; current: string; + atLeast(size: string): boolean; + only(size: string): boolean; + upTo(size: string): boolean; + is(size: string): boolean; + get(size: string): string | null; + next(size: string): string | null; } interface Motion { @@ -393,7 +512,9 @@ declare module FoundationSites { } interface Touch { - // TODO :extension on jQuery + setupSpotSwipe(event: Object): void; + setupTouchHandler(event: Object): void; + init(event: Object): void; } interface Triggers { @@ -411,7 +532,9 @@ declare module FoundationSites { GetYoDigits(length: number, namespace?: string): string; reflow(elem: Object, plugins?: Array|string): void; getFnName(fn: string): string; - transitionend(): string; + RegExpEscape(str: string): string; + transitionend(element: JQuery): any; + onLoad(elem: any, handler: any): string; util: { throttle(func: (...args: any[]) => any, delay: number): (...args: any[]) => any; @@ -451,12 +574,27 @@ declare module FoundationSites { Orbit: { new(element: JQuery, options?: IOrbitOptions): Orbit; } + Positionable: { + new(element: JQuery, options?: PositionableOptions): Positionable; + } + ResponsiveAccordionTabs: { + new(element: JQuery, options?: ResponsiveAccordionTabsOptions): ResponsiveAccordionTabs; + }; + ResponsiveMenu: { + new(element: JQuery, options?: ResponsiveMenuOptions): ResponsiveMenu; + }; + ResponsiveToggle: { + new(element: JQuery, options?: ResponsiveToggleOptions): ResponsiveToggle; + }; Reveal: { new(element: JQuery, options?: IRevealOptions): Reveal; }; Slider: { new(element: JQuery, options?: ISliderOptions): Slider; } + SmoothScroll: { + new(element: JQuery, options?: SmoothScrollOptions): SmoothScroll; + } Sticky: { new(element: JQuery, options?: IStickyOptions): Sticky; } From 286e18082171318677ec625b41f05fc07be38497 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Fri, 27 Aug 2021 12:21:26 -0700 Subject: [PATCH 78/82] fix: fixed names of option interfaces --- js/typescript/foundation.d.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/js/typescript/foundation.d.ts b/js/typescript/foundation.d.ts index f2c1c40ca9..25b6ef1c01 100644 --- a/js/typescript/foundation.d.ts +++ b/js/typescript/foundation.d.ts @@ -277,7 +277,7 @@ declare module FoundationSites { // No public methods } - interface PositionableOptions { + interface IPositionableOptions { position?: string; alignment?: string; allowOverlap?: boolean; @@ -293,7 +293,7 @@ declare module FoundationSites { toggle(_target: any, ...args: any[]): any; } - interface ResponsiveAccordionTabsOptions { + interface IResponsiveAccordionTabsOptions { // No Options } @@ -301,7 +301,7 @@ declare module FoundationSites { // No public methods } - interface ResponsiveMenuOptions { + interface IResponsiveMenuOptions { // No Options } @@ -309,7 +309,7 @@ declare module FoundationSites { toggleMenu(): void; } - interface ResponsiveToggleOptions { + interface IResponsiveToggleOptions { hideFor?: string; animate?: boolean; } @@ -371,7 +371,7 @@ declare module FoundationSites { constructor(element: any, options: any); } - interface SmoothScrollOptions { + interface ISmoothScrollOptions { animationDuration?: number; animationEasing?: string; threshold?: number; @@ -575,16 +575,16 @@ declare module FoundationSites { new(element: JQuery, options?: IOrbitOptions): Orbit; } Positionable: { - new(element: JQuery, options?: PositionableOptions): Positionable; + new(element: JQuery, options?: IPositionableOptions): Positionable; } ResponsiveAccordionTabs: { - new(element: JQuery, options?: ResponsiveAccordionTabsOptions): ResponsiveAccordionTabs; + new(element: JQuery, options?: IResponsiveAccordionTabsOptions): ResponsiveAccordionTabs; }; ResponsiveMenu: { - new(element: JQuery, options?: ResponsiveMenuOptions): ResponsiveMenu; + new(element: JQuery, options?: IResponsiveMenuOptions): ResponsiveMenu; }; ResponsiveToggle: { - new(element: JQuery, options?: ResponsiveToggleOptions): ResponsiveToggle; + new(element: JQuery, options?: IResponsiveToggleOptions): ResponsiveToggle; }; Reveal: { new(element: JQuery, options?: IRevealOptions): Reveal; @@ -593,7 +593,7 @@ declare module FoundationSites { new(element: JQuery, options?: ISliderOptions): Slider; } SmoothScroll: { - new(element: JQuery, options?: SmoothScrollOptions): SmoothScroll; + new(element: JQuery, options?: ISmoothScrollOptions): SmoothScroll; } Sticky: { new(element: JQuery, options?: IStickyOptions): Sticky; From e33fc09f2c2fc333f3e5f2a3db95d02941e751bd Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Fri, 27 Aug 2021 12:51:08 -0700 Subject: [PATCH 79/82] fix: improved drilldown keyboard nav closes #12038 --- js/foundation.drilldown.js | 14 ++++++++++---- scss/components/_visibility.scss | 3 +++ test/javascript/components/drilldown.js | 18 ------------------ 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/js/foundation.drilldown.js b/js/foundation.drilldown.js index b7210c4f70..4119e20032 100644 --- a/js/foundation.drilldown.js +++ b/js/foundation.drilldown.js @@ -36,8 +36,6 @@ class Drilldown extends Plugin { 'ARROW_DOWN': 'down', 'ARROW_LEFT': 'previous', 'ESCAPE': 'close', - 'TAB': 'down', - 'SHIFT_TAB': 'up' }); } @@ -456,7 +454,14 @@ class Drilldown extends Plugin { $elem.attr('aria-expanded', true); this.$currentMenu = $submenu; - $submenu.addClass('is-active').removeClass('invisible').attr('aria-hidden', false); + + //hide drilldown parent menu when submenu is open + // this removes it from the dom so that the tab key will take the user to the next visible element + $elem.parent().closest('ul').addClass('invisible'); + + // add visible class to submenu to override invisible class above + $submenu.addClass('is-active visible').removeClass('invisible').attr('aria-hidden', false); + if (this.options.autoHeight) { this.$wrapper.css({ height: $submenu.data('calcHeight') }); } @@ -477,11 +482,12 @@ class Drilldown extends Plugin { _hide($elem) { if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')}); var _this = this; + $elem.parent().closest('ul').removeClass('invisible'); $elem.parent('li').attr('aria-expanded', false); $elem.attr('aria-hidden', true); $elem.addClass('is-closing') .one(transitionend($elem), function(){ - $elem.removeClass('is-active is-closing'); + $elem.removeClass('is-active is-closing visible'); $elem.blur().addClass('invisible'); }); /** diff --git a/scss/components/_visibility.scss b/scss/components/_visibility.scss index c1ef987b55..3217e7f198 100644 --- a/scss/components/_visibility.scss +++ b/scss/components/_visibility.scss @@ -69,6 +69,9 @@ .invisible { visibility: hidden; } + .visible { + visibility: visible; + } // Responsive visibility classes @each $size in $breakpoint-classes { diff --git a/test/javascript/components/drilldown.js b/test/javascript/components/drilldown.js index 06c98271ec..6a2290e43d 100644 --- a/test/javascript/components/drilldown.js +++ b/test/javascript/components/drilldown.js @@ -334,24 +334,6 @@ describe('Drilldown Menu', function() { $html.find('> li:nth-child(1) > ul').should.have.class('is-closing'); }); - it('moves focus to next element on TAB', function() { - $html = $(template).appendTo('body'); - plugin = new Foundation.Drilldown($html, {}); - - $html.find('> li:nth-child(1) > a').focus() - .trigger(window.mockKeyboardEvent('TAB')); - - document.activeElement.should.be.equal($html.find('> li:nth-child(2) > a')[0]); - }); - it('moves focus to previous element on TAB', function() { - $html = $(template).appendTo('body'); - plugin = new Foundation.Drilldown($html, {}); - - $html.find('> li:nth-child(2) > a').focus() - .trigger(window.mockKeyboardEvent('TAB', {shift: true})); - - document.activeElement.should.be.equal($html.find('> li:nth-child(1) > a')[0]); - }); it('moves focus to next element on ARROW_DOWN', function() { $html = $(template).appendTo('body'); plugin = new Foundation.Drilldown($html, {}); From 7b21689d3ad50b728b3f4ce0fdfa0e9a07703524 Mon Sep 17 00:00:00 2001 From: Rastislav Chynoransky Date: Sun, 23 Feb 2020 21:28:29 +0100 Subject: [PATCH 80/82] fix: scrolling without content scroll --- js/foundation.offcanvas.js | 56 ++++++++++---------------------------- 1 file changed, 15 insertions(+), 41 deletions(-) diff --git a/js/foundation.offcanvas.js b/js/foundation.offcanvas.js index 26dbf47e40..18ff5963f9 100644 --- a/js/foundation.offcanvas.js +++ b/js/foundation.offcanvas.js @@ -323,33 +323,8 @@ class OffCanvas extends Plugin { return false; } - /** - * Tag the element given as context whether it can be scrolled up and down. - * Used to allow or prevent it to scroll. See `_stopScrollPropagation`. - * - * Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios - * Only really works for y, not sure how to extend to x or if we need to. - * - * @function - * @private - */ _recordScrollable(event) { - let elem = this; // called from event handler context with this as elem - - // If the element is scrollable (content overflows), then... - if (elem.scrollHeight !== elem.clientHeight) { - // If we're at the top, scroll down one pixel to allow scrolling up - if (elem.scrollTop === 0) { - elem.scrollTop = 1; - } - // If we're at the bottom, scroll up one pixel to allow scrolling down - if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) { - elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1; - } - } - elem.allowUp = elem.scrollTop > 0; - elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight); - elem.lastY = event.originalEvent.pageY; + this.lastY = event.touches[0].pageY; } /** @@ -361,27 +336,26 @@ class OffCanvas extends Plugin { */ _stopScrollPropagation(event) { let elem = this; // called from event handler context with this as elem - let parent; // off-canvas elem if called from inner scrollbox - let up = event.pageY < elem.lastY; - let down = !up; - elem.lastY = event.pageY; - - if((up && elem.allowUp) || (down && elem.allowDown)) { + const delta = elem.lastY - event.touches[0].pageY; + const up = delta < 0; + const down = delta > 0; + const allowUp = elem.scrollTop > 0; + const allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight; + elem.lastY = event.touches[0].pageY; + + if (up && allowUp || down && allowDown) { // It is not recommended to stop event propagation (the user cannot watch it), // but in this case this is the only solution we have. event.stopPropagation(); - + } else if (elem.hasAttribute('data-off-canvas-scrollbox')) { // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox - if (elem.hasAttribute('data-off-canvas-scrollbox')) { - parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); - if (elem.scrollTop <= 1 && parent.scrollTop > 0) { - parent.scrollTop--; - } else if (elem.scrollTop >= elem.scrollHeight - elem.clientHeight - 1 && parent.scrollTop < parent.scrollHeight - parent.clientHeight) { - parent.scrollTop++; - } + const parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); + const allowParentScrollUp = parent.scrollTop > 0; + const allowParentScrollDown = parent.scrollTop < parent.scrollHeight - parent.clientHeight; + if (up && allowParentScrollUp || down && allowParentScrollDown) { + parent.scrollTop += delta; } - } else { event.preventDefault(); } From e45ab9a92da486e6ca3aca4824c661eef20d54ce Mon Sep 17 00:00:00 2001 From: Rastislav Chynoransky Date: Tue, 25 Feb 2020 05:22:09 +0100 Subject: [PATCH 81/82] refactor: split stop scroll propagation method --- js/foundation.offcanvas.js | 83 +++++++++++++++++++++++++------------- 1 file changed, 55 insertions(+), 28 deletions(-) diff --git a/js/foundation.offcanvas.js b/js/foundation.offcanvas.js index 18ff5963f9..37c6b17b24 100644 --- a/js/foundation.offcanvas.js +++ b/js/foundation.offcanvas.js @@ -323,44 +323,71 @@ class OffCanvas extends Plugin { return false; } + /** + * Save current finger y-position + * @param event + * @private + */ _recordScrollable(event) { - this.lastY = event.touches[0].pageY; + const elem = this; + elem.lastY = event.touches[0].pageY; } /** - * Prevent the given event propagation if the element given as context can scroll. - * Used to preserve the element scrolling on mobile (`touchmove`) when the document - * scrolling is prevented. See https://git.io/zf-9707. - * @function + * Prevent further scrolling when it hits the edges + * @param event * @private */ - _stopScrollPropagation(event) { - let elem = this; // called from event handler context with this as elem + _preventDefaultAtEdges(event) { + const elem = this; + const _this = event.data; const delta = elem.lastY - event.touches[0].pageY; - const up = delta < 0; - const down = delta > 0; - const allowUp = elem.scrollTop > 0; - const allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight; elem.lastY = event.touches[0].pageY; - if (up && allowUp || down && allowDown) { - // It is not recommended to stop event propagation (the user cannot watch it), - // but in this case this is the only solution we have. - event.stopPropagation(); - } else if (elem.hasAttribute('data-off-canvas-scrollbox')) { - // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached - // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox - const parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); - const allowParentScrollUp = parent.scrollTop > 0; - const allowParentScrollDown = parent.scrollTop < parent.scrollHeight - parent.clientHeight; - if (up && allowParentScrollUp || down && allowParentScrollDown) { + if (!_this._canScroll(delta, elem)) { + event.preventDefault(); + } + } + + /** + * Handle continuous scrolling of scrollbox + * Don't bubble up to _preventDefaultAtEdges + * @param event + * @private + */ + _scrollboxTouchMoved(event) { + const elem = this; + const _this = event.data; + const parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); + const delta = elem.lastY - event.touches[0].pageY; + parent.lastY = elem.lastY = event.touches[0].pageY; + + event.stopPropagation(); + + if (!_this._canScroll(delta, elem)) { + if (!_this._canScroll(delta, parent)) { + event.preventDefault(); + } else { parent.scrollTop += delta; } - } else { - event.preventDefault(); } } + /** + * Detect possibility of scrolling + * @param delta + * @param elem + * @returns boolean + * @private + */ + _canScroll(delta, elem) { + const up = delta < 0; + const down = delta > 0; + const allowUp = elem.scrollTop > 0; + const allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight; + return up && allowUp || down && allowDown; + } + /** * Opens the off-canvas menu. * @function @@ -400,9 +427,9 @@ class OffCanvas extends Plugin { if (this.options.contentScroll === false) { $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling); this.$element.on('touchstart', this._recordScrollable); - this.$element.on('touchmove', this._stopScrollPropagation); + this.$element.on('touchmove', this, this._preventDefaultAtEdges); this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable); - this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation); + this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved); } if (this.options.contentOverlay === true) { @@ -502,9 +529,9 @@ class OffCanvas extends Plugin { if (this.options.contentScroll === false) { $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling); this.$element.off('touchstart', this._recordScrollable); - this.$element.off('touchmove', this._stopScrollPropagation); + this.$element.off('touchmove', this._preventDefaultAtEdges); this.$element.off('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable); - this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation); + this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._scrollboxTouchMoved); } if (this.options.trapFocus === true) { From d145dd8788b480b4c81340768599aaa228763007 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Fri, 27 Aug 2021 21:09:26 -0700 Subject: [PATCH 82/82] build: foundation 6.7.0 --- bower.json | 2 +- dist/css/foundation-float.css | 114 +- dist/css/foundation-float.css.map | 2 +- dist/css/foundation-float.min.css | 2 +- dist/css/foundation-float.min.css.map | 2 +- dist/css/foundation-prototype.css | 158 ++- dist/css/foundation-prototype.css.map | 2 +- dist/css/foundation-prototype.min.css | 2 +- dist/css/foundation-prototype.min.css.map | 2 +- dist/css/foundation-rtl.css | 142 ++- dist/css/foundation-rtl.css.map | 2 +- dist/css/foundation-rtl.min.css | 2 +- dist/css/foundation-rtl.min.css.map | 2 +- dist/css/foundation.css | 142 ++- dist/css/foundation.css.map | 2 +- dist/css/foundation.min.css | 2 +- dist/css/foundation.min.css.map | 2 +- dist/js/foundation.cjs.js | 739 ++++++----- dist/js/foundation.cjs.js.map | 2 +- dist/js/foundation.d.ts | 248 +++- dist/js/foundation.es6.js | 274 ++-- dist/js/foundation.es6.js.map | 2 +- dist/js/foundation.esm.js | 739 ++++++----- dist/js/foundation.esm.js.map | 2 +- dist/js/foundation.js | 1105 +++++++++-------- dist/js/foundation.js.map | 2 +- dist/js/foundation.min.js | 2 +- dist/js/foundation.min.js.map | 2 +- dist/js/plugins/foundation.abide.js | 42 +- dist/js/plugins/foundation.abide.js.map | 2 +- dist/js/plugins/foundation.abide.min.js | 2 +- dist/js/plugins/foundation.abide.min.js.map | 2 +- dist/js/plugins/foundation.accordion.js | 68 +- dist/js/plugins/foundation.accordion.js.map | 2 +- dist/js/plugins/foundation.accordion.min.js | 2 +- .../plugins/foundation.accordion.min.js.map | 2 +- dist/js/plugins/foundation.accordionMenu.js | 34 +- .../plugins/foundation.accordionMenu.js.map | 2 +- .../plugins/foundation.accordionMenu.min.js | 2 +- .../foundation.accordionMenu.min.js.map | 2 +- dist/js/plugins/foundation.core.js | 28 +- dist/js/plugins/foundation.core.js.map | 2 +- dist/js/plugins/foundation.core.min.js | 2 +- dist/js/plugins/foundation.core.min.js.map | 2 +- dist/js/plugins/foundation.drilldown.js | 57 +- dist/js/plugins/foundation.drilldown.js.map | 2 +- dist/js/plugins/foundation.drilldown.min.js | 2 +- .../plugins/foundation.drilldown.min.js.map | 2 +- dist/js/plugins/foundation.dropdown.js | 85 +- dist/js/plugins/foundation.dropdown.js.map | 2 +- dist/js/plugins/foundation.dropdown.min.js | 2 +- .../js/plugins/foundation.dropdown.min.js.map | 2 +- dist/js/plugins/foundation.dropdownMenu.js | 40 +- .../js/plugins/foundation.dropdownMenu.js.map | 2 +- .../js/plugins/foundation.dropdownMenu.min.js | 2 +- .../foundation.dropdownMenu.min.js.map | 2 +- dist/js/plugins/foundation.equalizer.js | 30 +- dist/js/plugins/foundation.equalizer.js.map | 2 +- dist/js/plugins/foundation.equalizer.min.js | 2 +- .../plugins/foundation.equalizer.min.js.map | 2 +- dist/js/plugins/foundation.interchange.js | 65 +- dist/js/plugins/foundation.interchange.js.map | 2 +- dist/js/plugins/foundation.interchange.min.js | 2 +- .../plugins/foundation.interchange.min.js.map | 2 +- dist/js/plugins/foundation.magellan.js | 65 +- dist/js/plugins/foundation.magellan.js.map | 2 +- dist/js/plugins/foundation.magellan.min.js | 2 +- .../js/plugins/foundation.magellan.min.js.map | 2 +- dist/js/plugins/foundation.offcanvas.js | 154 +-- dist/js/plugins/foundation.offcanvas.js.map | 2 +- dist/js/plugins/foundation.offcanvas.min.js | 2 +- .../plugins/foundation.offcanvas.min.js.map | 2 +- dist/js/plugins/foundation.orbit.js | 34 +- dist/js/plugins/foundation.orbit.js.map | 2 +- dist/js/plugins/foundation.orbit.min.js | 2 +- dist/js/plugins/foundation.orbit.min.js.map | 2 +- .../foundation.responsiveAccordionTabs.js | 24 +- .../foundation.responsiveAccordionTabs.js.map | 2 +- .../foundation.responsiveAccordionTabs.min.js | 2 +- ...ndation.responsiveAccordionTabs.min.js.map | 2 +- dist/js/plugins/foundation.responsiveMenu.js | 30 +- .../plugins/foundation.responsiveMenu.js.map | 2 +- .../plugins/foundation.responsiveMenu.min.js | 2 +- .../foundation.responsiveMenu.min.js.map | 2 +- .../js/plugins/foundation.responsiveToggle.js | 36 +- .../foundation.responsiveToggle.js.map | 2 +- .../foundation.responsiveToggle.min.js | 2 +- .../foundation.responsiveToggle.min.js.map | 2 +- dist/js/plugins/foundation.reveal.js | 69 +- dist/js/plugins/foundation.reveal.js.map | 2 +- dist/js/plugins/foundation.reveal.min.js | 2 +- dist/js/plugins/foundation.reveal.min.js.map | 2 +- dist/js/plugins/foundation.slider.js | 39 +- dist/js/plugins/foundation.slider.js.map | 2 +- dist/js/plugins/foundation.slider.min.js | 2 +- dist/js/plugins/foundation.slider.min.js.map | 2 +- dist/js/plugins/foundation.smoothScroll.js | 36 +- .../js/plugins/foundation.smoothScroll.js.map | 2 +- .../js/plugins/foundation.smoothScroll.min.js | 2 +- .../foundation.smoothScroll.min.js.map | 2 +- dist/js/plugins/foundation.sticky.js | 39 +- dist/js/plugins/foundation.sticky.js.map | 2 +- dist/js/plugins/foundation.sticky.min.js | 2 +- dist/js/plugins/foundation.sticky.min.js.map | 2 +- dist/js/plugins/foundation.tabs.js | 52 +- dist/js/plugins/foundation.tabs.js.map | 2 +- dist/js/plugins/foundation.tabs.min.js | 2 +- dist/js/plugins/foundation.tabs.min.js.map | 2 +- dist/js/plugins/foundation.toggler.js | 53 +- dist/js/plugins/foundation.toggler.js.map | 2 +- dist/js/plugins/foundation.toggler.min.js | 2 +- dist/js/plugins/foundation.toggler.min.js.map | 2 +- dist/js/plugins/foundation.tooltip.js | 71 +- dist/js/plugins/foundation.tooltip.js.map | 2 +- dist/js/plugins/foundation.tooltip.min.js | 2 +- dist/js/plugins/foundation.tooltip.min.js.map | 2 +- dist/js/plugins/foundation.util.box.js | 23 +- dist/js/plugins/foundation.util.box.js.map | 2 +- dist/js/plugins/foundation.util.box.min.js | 2 +- .../js/plugins/foundation.util.box.min.js.map | 2 +- .../js/plugins/foundation.util.imageLoader.js | 2 - .../foundation.util.imageLoader.js.map | 2 +- .../foundation.util.imageLoader.min.js | 2 +- .../foundation.util.imageLoader.min.js.map | 2 +- dist/js/plugins/foundation.util.keyboard.js | 33 +- .../plugins/foundation.util.keyboard.js.map | 2 +- .../plugins/foundation.util.keyboard.min.js | 2 +- .../foundation.util.keyboard.min.js.map | 2 +- dist/js/plugins/foundation.util.mediaQuery.js | 10 +- .../plugins/foundation.util.mediaQuery.js.map | 2 +- .../plugins/foundation.util.mediaQuery.min.js | 2 +- .../foundation.util.mediaQuery.min.js.map | 2 +- dist/js/plugins/foundation.util.motion.js | 2 - dist/js/plugins/foundation.util.motion.js.map | 2 +- dist/js/plugins/foundation.util.motion.min.js | 2 +- .../plugins/foundation.util.motion.min.js.map | 2 +- dist/js/plugins/foundation.util.nest.js | 4 +- dist/js/plugins/foundation.util.nest.js.map | 2 +- dist/js/plugins/foundation.util.nest.min.js | 2 +- .../plugins/foundation.util.nest.min.js.map | 2 +- dist/js/plugins/foundation.util.timer.js | 2 - dist/js/plugins/foundation.util.timer.js.map | 2 +- dist/js/plugins/foundation.util.timer.min.js | 2 +- .../plugins/foundation.util.timer.min.js.map | 2 +- dist/js/plugins/foundation.util.touch.js | 4 +- dist/js/plugins/foundation.util.touch.js.map | 2 +- dist/js/plugins/foundation.util.touch.min.js | 2 +- .../plugins/foundation.util.touch.min.js.map | 2 +- dist/js/plugins/foundation.util.triggers.js | 9 +- .../plugins/foundation.util.triggers.js.map | 2 +- .../plugins/foundation.util.triggers.min.js | 2 +- .../foundation.util.triggers.min.js.map | 2 +- docs/pages/installation.md | 10 +- docs/partials/search-bar.html | 2 +- gulp/tasks/deploy.js | 2 +- js/foundation.core.js | 2 +- meteor-README.md | 2 +- package.js | 2 +- package.json | 2 +- package.nuspec | 2 +- scss/foundation.scss | 2 +- 161 files changed, 2900 insertions(+), 2251 deletions(-) diff --git a/bower.json b/bower.json index 0bf4238070..f7f2e97518 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "foundation-sites", - "version": "6.6.3", + "version": "6.7.0", "description": "The most advanced responsive front-end framework in the world.", "homepage": "https://get.foundation/sites", "license": "MIT", diff --git a/dist/css/foundation-float.css b/dist/css/foundation-float.css index 9b9285a659..ebb91144b7 100644 --- a/dist/css/foundation-float.css +++ b/dist/css/foundation-float.css @@ -1,7 +1,7 @@ @charset "UTF-8"; /** * Foundation for Sites - * Version 6.6.3 + * Version 6.7.0 * https://get.foundation * Licensed under MIT Open Source */ @@ -346,6 +346,7 @@ label { color: #0a0a0a; } label.middle { margin: 0 0 1rem; + line-height: 1.5; padding: 0.5625rem 0; } .help-text { @@ -1745,10 +1746,10 @@ ul.no-bullet, ol.no-bullet { display: block; width: 0; height: 0; - border: inset 0.4em; + border-style: solid; + border-width: 0.4em; content: ''; border-bottom-width: 0; - border-top-style: solid; border-color: #fefefe transparent transparent; position: relative; top: 0.4em; @@ -2565,10 +2566,10 @@ table.hover:not(.unstriped) tr:nth-of-type(even):hover { display: block; width: 0; height: 0; - border: inset 0.75rem; + border-style: solid; + border-width: 0.75rem; content: ''; border-top-width: 0; - border-bottom-style: solid; border-color: transparent transparent #0a0a0a; bottom: 100%; } .tooltip.bottom.align-center::before { @@ -2580,10 +2581,10 @@ table.hover:not(.unstriped) tr:nth-of-type(even):hover { display: block; width: 0; height: 0; - border: inset 0.75rem; + border-style: solid; + border-width: 0.75rem; content: ''; border-bottom-width: 0; - border-top-style: solid; border-color: #0a0a0a transparent transparent; top: 100%; bottom: auto; } @@ -2596,10 +2597,10 @@ table.hover:not(.unstriped) tr:nth-of-type(even):hover { display: block; width: 0; height: 0; - border: inset 0.75rem; + border-style: solid; + border-width: 0.75rem; content: ''; border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent #0a0a0a; left: 100%; } .tooltip.left.align-center::before { @@ -2612,10 +2613,10 @@ table.hover:not(.unstriped) tr:nth-of-type(even):hover { display: block; width: 0; height: 0; - border: inset 0.75rem; + border-style: solid; + border-width: 0.75rem; content: ''; border-left-width: 0; - border-right-style: solid; border-color: transparent #0a0a0a transparent transparent; right: 100%; left: auto; } @@ -2994,26 +2995,34 @@ a.thumbnail { vertical-align: middle; } .menu.icon-left li a img, .menu.icon-left li a i, - .menu.icon-left li a svg { + .menu.icon-left li a svg, .menu.nested.icon-left li a img, + .menu.nested.icon-left li a i, + .menu.nested.icon-left li a svg { margin-right: 0.25rem; display: inline-block; } .menu.icon-right li a img, .menu.icon-right li a i, - .menu.icon-right li a svg { + .menu.icon-right li a svg, .menu.nested.icon-right li a img, + .menu.nested.icon-right li a i, + .menu.nested.icon-right li a svg { margin-left: 0.25rem; display: inline-block; } - .menu.icon-top li a { + .menu.icon-top li a, .menu.nested.icon-top li a { text-align: center; } .menu.icon-top li a img, .menu.icon-top li a i, - .menu.icon-top li a svg { + .menu.icon-top li a svg, .menu.nested.icon-top li a img, + .menu.nested.icon-top li a i, + .menu.nested.icon-top li a svg { display: block; margin: 0 auto 0.25rem; } - .menu.icon-bottom li a { + .menu.icon-bottom li a, .menu.nested.icon-bottom li a { text-align: center; } .menu.icon-bottom li a img, .menu.icon-bottom li a i, - .menu.icon-bottom li a svg { + .menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img, + .menu.nested.icon-bottom li a i, + .menu.nested.icon-bottom li a svg { display: block; margin: 0.25rem auto 0; } .menu .is-active > a { @@ -3120,10 +3129,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-bottom-width: 0; - border-top-style: solid; border-color: #1779ba transparent transparent; position: absolute; top: 50%; @@ -3163,10 +3172,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-bottom-width: 0; - border-top-style: solid; border-color: #1779ba transparent transparent; top: 0; bottom: 0; @@ -3240,10 +3249,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent #1779ba; position: absolute; top: 50%; @@ -3254,10 +3263,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent #1779ba; right: 1rem; left: auto; } @@ -3266,10 +3275,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-left-width: 0; - border-right-style: solid; border-color: transparent #1779ba transparent transparent; right: auto; left: 1rem; } @@ -3278,10 +3287,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-left-width: 0; - border-right-style: solid; border-color: transparent #1779ba transparent transparent; display: inline-block; vertical-align: middle; @@ -3305,10 +3314,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-bottom-width: 0; - border-top-style: solid; border-color: #1779ba transparent transparent; right: 5px; left: auto; @@ -3350,10 +3359,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-left-width: 0; - border-right-style: solid; border-color: transparent #1779ba transparent transparent; right: auto; left: 5px; } @@ -3362,10 +3371,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent #1779ba; } @media print, screen and (min-width: 40em) { @@ -3384,10 +3393,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-bottom-width: 0; - border-top-style: solid; border-color: #1779ba transparent transparent; right: 5px; left: auto; @@ -3407,10 +3416,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-left-width: 0; - border-right-style: solid; border-color: transparent #1779ba transparent transparent; right: auto; left: 5px; } @@ -3418,10 +3427,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent #1779ba; } } @media print, screen and (min-width: 64em) { @@ -3440,10 +3449,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-bottom-width: 0; - border-top-style: solid; border-color: #1779ba transparent transparent; right: 5px; left: auto; @@ -3463,10 +3472,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-left-width: 0; - border-right-style: solid; border-color: transparent #1779ba transparent transparent; right: auto; left: 5px; } @@ -3474,10 +3483,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent #1779ba; } } .dropdown.menu.align-right .is-dropdown-submenu.first-sub { @@ -3525,10 +3534,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-left-width: 0; - border-right-style: solid; border-color: transparent #1779ba transparent transparent; right: auto; left: 5px; } @@ -3536,10 +3545,10 @@ a.thumbnail { display: block; width: 0; height: 0; - border: inset 6px; + border-style: solid; + border-width: 6px; content: ''; border-right-width: 0; - border-left-style: solid; border-color: transparent transparent transparent #1779ba; } .is-dropdown-submenu .is-dropdown-submenu { margin-top: -1px; } @@ -4146,6 +4155,9 @@ html.is-reveal-open { .invisible { visibility: hidden; } +.visible { + visibility: visible; } + @media print, screen and (max-width: 39.99875em) { .hide-for-small-only { display: none !important; } } diff --git a/dist/css/foundation-float.css.map b/dist/css/foundation-float.css.map index bc9cc3bacd..824860f03a 100644 --- a/dist/css/foundation-float.css.map +++ b/dist/css/foundation-float.css.map @@ -1 +1 @@ -{"version":3,"sources":["foundation-float.css","../scss/foundation.scss","../scss/util/_breakpoint.scss","../scss/components/_reveal.scss","../scss/vendor/normalize.scss","../scss/_global.scss","../scss/util/_unit.scss","../scss/util/_mixins.scss","../scss/forms/_text.scss","../scss/forms/_checkbox.scss","../scss/forms/_label.scss","../scss/forms/_help-text.scss","../scss/forms/_input-group.scss","../scss/forms/_fieldset.scss","../scss/forms/_select.scss","../scss/forms/_error.scss","../scss/typography/_base.scss","../scss/typography/_helpers.scss","../scss/typography/_alignment.scss","../scss/typography/_print.scss","../scss/grid/_classes.scss","../scss/grid/_row.scss","../scss/grid/_gutter.scss","../scss/grid/_size.scss","../scss/util/_math.scss","../scss/grid/_column.scss","../scss/grid/_position.scss","../scss/grid/_layout.scss","../scss/components/_button.scss","../scss/components/_button-group.scss","../scss/components/_close-button.scss","../scss/components/_label.scss","../scss/components/_progress-bar.scss","../scss/forms/_progress.scss","../scss/components/_slider.scss","../scss/forms/_range.scss","../scss/components/_switch.scss","../scss/components/_table.scss","../scss/util/_color.scss","../scss/components/_badge.scss","../scss/components/_breadcrumbs.scss","../scss/components/_callout.scss","../scss/components/_card.scss","../scss/components/_dropdown.scss","../scss/components/_pagination.scss","../scss/components/_tooltip.scss","../scss/components/_accordion.scss","../scss/components/_media-object.scss","../scss/components/_orbit.scss","../scss/components/_responsive-embed.scss","../scss/components/_tabs.scss","../scss/components/_thumbnail.scss","../scss/components/_menu.scss","../scss/components/_menu-icon.scss","../scss/components/_accordion-menu.scss","../scss/components/_drilldown.scss","../scss/components/_dropdown-menu.scss","../scss/components/_off-canvas.scss","../scss/components/_sticky.scss","../scss/components/_title-bar.scss","../scss/components/_top-bar.scss","../scss/components/_float.scss","../scss/components/_visibility.scss"],"names":[],"mappings":"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zEN,kBAAkB;EAClB,SAHmD,EAAA;;ANiF7C;EM/EN,kBAAkB;EAClB,UAHmD,EAAA;;AN2F/C;EM3DN,sBF+E2D,EAAA;;AJ3CvD;EGxFJ,gBCmI2D,EAAA;;AJpCnD;EMzEN,kBAAkB;EAClB,eAHmD,EAAA;;ANiF7C;EM/EN,kBAAkB;EAClB,gBAHmD,EAAA;;AN2F/C;EM3DN,gBF+E2D,EAAA;;AJ3CvD;EGxFJ,gBCmI2D,EAAA;;AJpCnD;EMzEN,kBAAkB;EAClB,eAHmD,EAAA;;ANiF7C;EM/EN,kBAAkB;EAClB,gBAHmD,EAAA;;AN2F/C;EM3DN,sBF+E2D,EAAA;;AJ3CvD;EGxFJ,WCmI2D,EAAA;;AJpBrD;EM3DN,sBF+E2D,EAAA;;AJZvD;EO/GF,WtBoGuD;EsBnGvD,WAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeWrD;EO/GF,WtBoGuD;EsBnGvD,UAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeWrD;EO/GF,WtBoGuD;EsBnGvD,gBAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeWrD;EO/GF,WtBoGuD;EsBnGvD,UAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeWrD;EO/GF,WtBoGuD;EsBnGvD,UAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeWrD;EO/GF,WtBoGuD;EsBnGvD,gBAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeWrD;EO/GF,WtBoGuD;EsBnGvD,gBAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeWrD;EO/GF,WtBoGuD;EsBnGvD,YAAuB,EAAA;EP8GrB;IOvFA,WAAW,EAAA;EPuFX;IOnFA,WAAW,EAAA;EPmFX;IO/EA,WtBoEqD,EAAA;;AeiBvD;EErHA,gBhBuES;EgBtET,ehBsES,EAAA;;Ac8CT;EAII,eAAe;EACf,cAAc,EAAA;;AAIlB;EACE,eAAe;EACf,cAAc,EAAA;;AAGhB;EEnIA,uBAFqC;EAGrC,sBAHqC,EAAA;;AF2InC;EMjHF,kBAAkB;EAClB,iBAAiB,EAAA;EALjB;IACE,WAAW;IACX,WAAW,EAAA;;AN+HX;EMjHJ,gBAAgB;EAChB,eAAe;EACf,cAAc,EAAA;EAzCZ;IACE,WrBsGqD;IqBrGrD,WAAW,EAAA;EAKX;IACE,YrBgGoD,EAAA;;AHqDpD;EkB1EF;IGxFJ,eCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,cAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,eAHmD,EAAA;EN2F/C;IM3DN,eF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,qBF+E2D,EAAA;EJ3CvD;IGxFJ,UCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,SAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,UAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,gBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,UCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,SAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,UAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,gBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,UCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,SAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,UAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,gBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,WCmI2D,EAAA;EJpBrD;IM3DN,sBF+E2D,EAAA;EJZvD;IO/GF,WtBoGuD;IsBnGvD,WAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,UAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,gBAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,UAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,UAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,gBAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,gBAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,YAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeiBvD;IErHA,gBhBuES;IgBtET,ehBsES,EAAA;Ec8CT;IAII,eAAe;IACf,cAAc,EAAA;EAIlB;IACE,eAAe;IACf,cAAc,EAAA;EAGhB;IEnIA,wBAFqC;IAGrC,uBAHqC,EAAA;EF2InC;IMjHF,kBAAkB;IAClB,iBAAiB,EAAA;IALjB;MACE,WAAW;MACX,WAAW,EAAA;EN+HX;IMjHJ,gBAAgB;IAChB,eAAe;IACf,cAAc,EAAA;IAzCZ;MACE,WrBsGqD;MqBrGrD,WAAW,EAAA;IAKX;MACE,YrBgGoD,EAAA,EqB/FrD;;AxBoJC;EkB1EF;IGxFJ,eCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,cAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,eAHmD,EAAA;EN2F/C;IM3DN,eF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,qBF+E2D,EAAA;EJ3CvD;IGxFJ,UCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,SAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,UAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,gBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,UCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,SAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,UAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,gBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,UCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,SAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,UAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,gBF+E2D,EAAA;EJ3CvD;IGxFJ,gBCmI2D,EAAA;EJpCnD;IMzEN,kBAAkB;IAClB,eAHmD,EAAA;ENiF7C;IM/EN,kBAAkB;IAClB,gBAHmD,EAAA;EN2F/C;IM3DN,sBF+E2D,EAAA;EJ3CvD;IGxFJ,WCmI2D,EAAA;EJpBrD;IM3DN,sBF+E2D,EAAA;EJZvD;IO/GF,WtBoGuD;IsBnGvD,WAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,UAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EAAA;IPmFX;MO/EA,WtBoEqD,EAAA;EeWrD;IO/GF,WtBoGuD;IsBnGvD,gBAAuB,EAAA;IP8GrB;MOvFA,WAAW,EAAA;IPuFX;MOnFA,WAAW,EA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","file":"foundation-float.css","sourcesContent":["@charset \"UTF-8\";\n/**\n * Foundation for Sites\n * Version 6.6.3\n * https://get.foundation\n * Licensed under MIT Open Source\n */\n@media print, screen and (min-width: 40em) {\n .reveal, .reveal.tiny, .reveal.small, .reveal.large {\n right: auto;\n left: auto;\n margin: 0 auto; } }\n\n/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\nhtml {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%; }\n\nbody {\n margin: 0; }\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0; }\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible; }\n\npre {\n font-family: monospace, monospace;\n font-size: 1em; }\n\na {\n background-color: transparent; }\n\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted; }\n\nb,\nstrong {\n font-weight: bolder; }\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline; }\n\nsub {\n bottom: -0.25em; }\n\nsup {\n top: -0.5em; }\n\nimg {\n border-style: none; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0; }\n\nbutton,\ninput {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; }\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0; }\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText; }\n\nfieldset {\n padding: 0.35em 0.75em 0.625em; }\n\nlegend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal; }\n\nprogress {\n vertical-align: baseline; }\n\ntextarea {\n overflow: auto; }\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0; }\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px; }\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit; }\n\ndetails {\n display: block; }\n\nsummary {\n display: list-item; }\n\ntemplate {\n display: none; }\n\n[hidden] {\n display: none; }\n\n.foundation-mq {\n font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\"; }\n\nhtml {\n box-sizing: border-box;\n font-size: 100%; }\n\n*,\n*::before,\n*::after {\n box-sizing: inherit; }\n\nbody {\n margin: 0;\n padding: 0;\n background: #fefefe;\n font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n font-weight: normal;\n line-height: 1.5;\n color: #0a0a0a;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\nimg {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n height: auto;\n -ms-interpolation-mode: bicubic; }\n\ntextarea {\n height: auto;\n min-height: 50px;\n border-radius: 0; }\n\nselect {\n box-sizing: border-box;\n width: 100%;\n border-radius: 0; }\n\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n max-width: none !important; }\n\nbutton {\n padding: 0;\n appearance: none;\n border: 0;\n border-radius: 0;\n background: transparent;\n line-height: 1;\n cursor: auto; }\n [data-whatinput='mouse'] button {\n outline: 0; }\n\npre {\n overflow: auto; }\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; }\n\n.is-visible {\n display: block !important; }\n\n.is-hidden {\n display: none !important; }\n\n[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],\ntextarea {\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: 2.4375rem;\n margin: 0 0 1rem;\n padding: 0.5rem;\n border: 1px solid #cacaca;\n border-radius: 0;\n background-color: #fefefe;\n box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);\n font-family: inherit;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #0a0a0a;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n appearance: none; }\n [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,\n textarea:focus {\n outline: none;\n border: 1px solid #8a8a8a;\n background-color: #fefefe;\n box-shadow: 0 0 5px #cacaca;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n\ntextarea {\n max-width: 100%; }\n textarea[rows] {\n height: auto; }\n\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n background-color: #e6e6e6;\n cursor: not-allowed; }\n\n[type='submit'],\n[type='button'] {\n appearance: none;\n border-radius: 0; }\n\ninput[type='search'] {\n box-sizing: border-box; }\n\n::placeholder {\n color: #cacaca; }\n\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n margin: 0 0 1rem; }\n\n[type='checkbox'] + label,\n[type='radio'] + label {\n display: inline-block;\n vertical-align: baseline;\n margin-left: 0.5rem;\n margin-right: 1rem;\n margin-bottom: 0; }\n [type='checkbox'] + label[for],\n [type='radio'] + label[for] {\n cursor: pointer; }\n\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n margin-right: 0.5rem; }\n\n[type='file'] {\n width: 100%; }\n\nlabel {\n display: block;\n margin: 0;\n font-size: 0.875rem;\n font-weight: normal;\n line-height: 1.8;\n color: #0a0a0a; }\n label.middle {\n margin: 0 0 1rem;\n padding: 0.5625rem 0; }\n\n.help-text {\n margin-top: -0.5rem;\n font-size: 0.8125rem;\n font-style: italic;\n color: #0a0a0a; }\n\n.input-group {\n display: table;\n width: 100%;\n margin-bottom: 1rem; }\n .input-group > :first-child, .input-group > :first-child.input-group-button > * {\n border-radius: 0 0 0 0; }\n .input-group > :last-child, .input-group > :last-child.input-group-button > * {\n border-radius: 0 0 0 0; }\n\n.input-group-label, .input-group-field, .input-group-button, .input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n margin: 0;\n white-space: nowrap;\n display: table-cell;\n vertical-align: middle; }\n\n.input-group-label {\n padding: 0 1rem;\n border: 1px solid #cacaca;\n background: #e6e6e6;\n color: #0a0a0a;\n text-align: center;\n white-space: nowrap;\n width: 1%;\n height: 100%; }\n .input-group-label:first-child {\n border-right: 0; }\n .input-group-label:last-child {\n border-left: 0; }\n\n.input-group-field {\n border-radius: 0; }\n\n.input-group-button {\n padding-top: 0;\n padding-bottom: 0;\n text-align: center;\n width: 1%;\n height: 100%; }\n .input-group-button a,\n .input-group-button input,\n .input-group-button button,\n .input-group-button label {\n height: 2.4375rem;\n padding-top: 0;\n padding-bottom: 0;\n font-size: 1rem; }\n\n.input-group .input-group-button {\n display: table-cell; }\n\nfieldset {\n margin: 0;\n padding: 0;\n border: 0; }\n\nlegend {\n max-width: 100%;\n margin-bottom: 0.5rem; }\n\n.fieldset {\n margin: 1.125rem 0;\n padding: 1.25rem;\n border: 1px solid #cacaca; }\n .fieldset legend {\n margin: 0;\n margin-left: -0.1875rem;\n padding: 0 0.1875rem; }\n\nselect {\n height: 2.4375rem;\n margin: 0 0 1rem;\n padding: 0.5rem;\n appearance: none;\n border: 1px solid #cacaca;\n border-radius: 0;\n background-color: #fefefe;\n font-family: inherit;\n font-size: 1rem;\n font-weight: normal;\n line-height: 1.5;\n color: #0a0a0a;\n background-image: url(\"data:image/svg+xml;utf8,\");\n background-origin: content-box;\n background-position: right -1rem center;\n background-repeat: no-repeat;\n background-size: 9px 6px;\n padding-right: 1.5rem;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n @media screen and (min-width: 0\\0) {\n select {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\"); } }\n select:focus {\n outline: none;\n border: 1px solid #8a8a8a;\n background-color: #fefefe;\n box-shadow: 0 0 5px #cacaca;\n transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n select:disabled {\n background-color: #e6e6e6;\n cursor: not-allowed; }\n select::-ms-expand {\n display: none; }\n select[multiple] {\n height: auto;\n background-image: none; }\n select:not([multiple]) {\n padding-top: 0;\n padding-bottom: 0; }\n\n.is-invalid-input:not(:focus) {\n border-color: #cc4b37;\n background-color: #f9ecea; }\n .is-invalid-input:not(:focus)::placeholder {\n color: #cc4b37; }\n\n.is-invalid-label {\n color: #cc4b37; }\n\n.form-error {\n display: none;\n margin-top: -0.5rem;\n margin-bottom: 1rem;\n font-size: 0.75rem;\n font-weight: bold;\n color: #cc4b37; }\n .form-error.is-visible {\n display: block; }\n\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n margin: 0;\n padding: 0; }\n\np {\n margin-bottom: 1rem;\n font-size: inherit;\n line-height: 1.6;\n text-rendering: optimizeLegibility; }\n\nem,\ni {\n font-style: italic;\n line-height: inherit; }\n\nstrong,\nb {\n font-weight: bold;\n line-height: inherit; }\n\nsmall {\n font-size: 80%;\n line-height: inherit; }\n\nh1, .h1,\nh2, .h2,\nh3, .h3,\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n color: inherit;\n text-rendering: optimizeLegibility; }\n h1 small, .h1 small,\n h2 small, .h2 small,\n h3 small, .h3 small,\n h4 small, .h4 small,\n h5 small, .h5 small,\n h6 small, .h6 small {\n line-height: 0;\n color: #cacaca; }\n\nh1, .h1 {\n font-size: 1.5rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\nh2, .h2 {\n font-size: 1.25rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\nh3, .h3 {\n font-size: 1.1875rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\nh4, .h4 {\n font-size: 1.125rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\nh5, .h5 {\n font-size: 1.0625rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\nh6, .h6 {\n font-size: 1rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\n@media print, screen and (min-width: 40em) {\n h1, .h1 {\n font-size: 3rem; }\n h2, .h2 {\n font-size: 2.5rem; }\n h3, .h3 {\n font-size: 1.9375rem; }\n h4, .h4 {\n font-size: 1.5625rem; }\n h5, .h5 {\n font-size: 1.25rem; }\n h6, .h6 {\n font-size: 1rem; } }\n\na {\n line-height: inherit;\n color: #1779ba;\n text-decoration: none;\n cursor: pointer; }\n a:hover, a:focus {\n color: #1468a0; }\n a img {\n border: 0; }\n\nhr {\n clear: both;\n max-width: 75rem;\n height: 0;\n margin: 1.25rem auto;\n border-top: 0;\n border-right: 0;\n border-bottom: 1px solid #cacaca;\n border-left: 0; }\n\nul,\nol,\ndl {\n margin-bottom: 1rem;\n list-style-position: outside;\n line-height: 1.6; }\n\nli {\n font-size: inherit; }\n\nul {\n margin-left: 1.25rem;\n list-style-type: disc; }\n\nol {\n margin-left: 1.25rem; }\n\nul ul, ol ul, ul ol, ol ol {\n margin-left: 1.25rem;\n margin-bottom: 0; }\n\ndl {\n margin-bottom: 1rem; }\n dl dt {\n margin-bottom: 0.3rem;\n font-weight: bold; }\n\nblockquote {\n margin: 0 0 1rem;\n padding: 0.5625rem 1.25rem 0 1.1875rem;\n border-left: 1px solid #cacaca; }\n blockquote, blockquote p {\n line-height: 1.6;\n color: #8a8a8a; }\n\nabbr, abbr[title] {\n border-bottom: 1px dotted #0a0a0a;\n cursor: help;\n text-decoration: none; }\n\nfigure {\n margin: 0; }\n\nkbd {\n margin: 0;\n padding: 0.125rem 0.25rem 0;\n background-color: #e6e6e6;\n font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n color: #0a0a0a; }\n\n.subheader {\n margin-top: 0.2rem;\n margin-bottom: 0.5rem;\n font-weight: normal;\n line-height: 1.4;\n color: #8a8a8a; }\n\n.lead {\n font-size: 125%;\n line-height: 1.6; }\n\n.stat {\n font-size: 2.5rem;\n line-height: 1; }\n p + .stat {\n margin-top: -1rem; }\n\nul.no-bullet, ol.no-bullet {\n margin-left: 0;\n list-style: none; }\n\n.cite-block, cite {\n display: block;\n color: #8a8a8a;\n font-size: 0.8125rem; }\n .cite-block:before, cite:before {\n content: \"— \"; }\n\n.code-inline, code {\n border: 1px solid #cacaca;\n background-color: #e6e6e6;\n font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n font-weight: normal;\n color: #0a0a0a;\n display: inline;\n max-width: 100%;\n word-wrap: break-word;\n padding: 0.125rem 0.3125rem 0.0625rem; }\n\n.code-block {\n border: 1px solid #cacaca;\n background-color: #e6e6e6;\n font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n font-weight: normal;\n color: #0a0a0a;\n display: block;\n overflow: auto;\n white-space: pre;\n padding: 1rem;\n margin-bottom: 1.5rem; }\n\n.text-left {\n text-align: left; }\n\n.text-right {\n text-align: right; }\n\n.text-center {\n text-align: center; }\n\n.text-justify {\n text-align: justify; }\n\n@media print, screen and (min-width: 40em) {\n .medium-text-left {\n text-align: left; }\n .medium-text-right {\n text-align: right; }\n .medium-text-center {\n text-align: center; }\n .medium-text-justify {\n text-align: justify; } }\n\n@media print, screen and (min-width: 64em) {\n .large-text-left {\n text-align: left; }\n .large-text-right {\n text-align: right; }\n .large-text-center {\n text-align: center; }\n .large-text-justify {\n text-align: justify; } }\n\n.show-for-print {\n display: none !important; }\n\n@media print {\n * {\n background: transparent !important;\n color: black !important;\n color-adjust: economy;\n box-shadow: none !important;\n text-shadow: none !important; }\n .show-for-print {\n display: block !important; }\n .hide-for-print {\n display: none !important; }\n table.show-for-print {\n display: table !important; }\n thead.show-for-print {\n display: table-header-group !important; }\n tbody.show-for-print {\n display: table-row-group !important; }\n tr.show-for-print {\n display: table-row !important; }\n td.show-for-print {\n display: table-cell !important; }\n th.show-for-print {\n display: table-cell !important; }\n a,\n a:visited {\n text-decoration: underline; }\n a[href]:after {\n content: \" (\" attr(href) \")\"; }\n .ir a:after,\n a[href^='javascript:']:after,\n a[href^='#']:after {\n content: ''; }\n abbr[title]:after {\n content: \" (\" attr(title) \")\"; }\n pre,\n blockquote {\n border: 1px solid #8a8a8a;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n img {\n max-width: 100% !important; }\n @page {\n margin: 0.5cm; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n .print-break-inside {\n page-break-inside: auto; } }\n\n.row {\n max-width: 75rem;\n margin-right: auto;\n margin-left: auto; }\n .row::before, .row::after {\n display: table;\n content: ' '; }\n .row::after {\n clear: both; }\n .row.collapse > .column, .row.collapse > .columns {\n padding-right: 0;\n padding-left: 0; }\n .row .row {\n margin-right: -0.625rem;\n margin-left: -0.625rem; }\n @media print, screen and (min-width: 40em) {\n .row .row {\n margin-right: -0.9375rem;\n margin-left: -0.9375rem; } }\n @media print, screen and (min-width: 64em) {\n .row .row {\n margin-right: -0.9375rem;\n margin-left: -0.9375rem; } }\n .row .row.collapse {\n margin-right: 0;\n margin-left: 0; }\n .row.expanded {\n max-width: none; }\n .row.expanded .row {\n margin-right: auto;\n margin-left: auto; }\n .row:not(.expanded) .row {\n max-width: none; }\n .row.gutter-small > .column, .row.gutter-small > .columns {\n padding-right: 0.625rem;\n padding-left: 0.625rem; }\n .row.gutter-medium > .column, .row.gutter-medium > .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem; }\n\n.column, .columns {\n width: 100%;\n float: left;\n padding-right: 0.625rem;\n padding-left: 0.625rem; }\n @media print, screen and (min-width: 40em) {\n .column, .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem; } }\n .column, .columns, .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {\n float: left;\n clear: none; }\n .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {\n float: right; }\n .column.end:last-child:last-child, .end.columns:last-child:last-child {\n float: left; }\n\n.column.row.row, .row.row.columns {\n float: none; }\n\n.row .column.row.row, .row .row.row.columns {\n margin-right: 0;\n margin-left: 0;\n padding-right: 0;\n padding-left: 0; }\n\n.small-1 {\n width: 8.33333%; }\n\n.small-push-1 {\n position: relative;\n left: 8.33333%; }\n\n.small-pull-1 {\n position: relative;\n left: -8.33333%; }\n\n.small-offset-0 {\n margin-left: 0%; }\n\n.small-2 {\n width: 16.66667%; }\n\n.small-push-2 {\n position: relative;\n left: 16.66667%; }\n\n.small-pull-2 {\n position: relative;\n left: -16.66667%; }\n\n.small-offset-1 {\n margin-left: 8.33333%; }\n\n.small-3 {\n width: 25%; }\n\n.small-push-3 {\n position: relative;\n left: 25%; }\n\n.small-pull-3 {\n position: relative;\n left: -25%; }\n\n.small-offset-2 {\n margin-left: 16.66667%; }\n\n.small-4 {\n width: 33.33333%; }\n\n.small-push-4 {\n position: relative;\n left: 33.33333%; }\n\n.small-pull-4 {\n position: relative;\n left: -33.33333%; }\n\n.small-offset-3 {\n margin-left: 25%; }\n\n.small-5 {\n width: 41.66667%; }\n\n.small-push-5 {\n position: relative;\n left: 41.66667%; }\n\n.small-pull-5 {\n position: relative;\n left: -41.66667%; }\n\n.small-offset-4 {\n margin-left: 33.33333%; }\n\n.small-6 {\n width: 50%; }\n\n.small-push-6 {\n position: relative;\n left: 50%; }\n\n.small-pull-6 {\n position: relative;\n left: -50%; }\n\n.small-offset-5 {\n margin-left: 41.66667%; }\n\n.small-7 {\n width: 58.33333%; }\n\n.small-push-7 {\n position: relative;\n left: 58.33333%; }\n\n.small-pull-7 {\n position: relative;\n left: -58.33333%; }\n\n.small-offset-6 {\n margin-left: 50%; }\n\n.small-8 {\n width: 66.66667%; }\n\n.small-push-8 {\n position: relative;\n left: 66.66667%; }\n\n.small-pull-8 {\n position: relative;\n left: -66.66667%; }\n\n.small-offset-7 {\n margin-left: 58.33333%; }\n\n.small-9 {\n width: 75%; }\n\n.small-push-9 {\n position: relative;\n left: 75%; }\n\n.small-pull-9 {\n position: relative;\n left: -75%; }\n\n.small-offset-8 {\n margin-left: 66.66667%; }\n\n.small-10 {\n width: 83.33333%; }\n\n.small-push-10 {\n position: relative;\n left: 83.33333%; }\n\n.small-pull-10 {\n position: relative;\n left: -83.33333%; }\n\n.small-offset-9 {\n margin-left: 75%; }\n\n.small-11 {\n width: 91.66667%; }\n\n.small-push-11 {\n position: relative;\n left: 91.66667%; }\n\n.small-pull-11 {\n position: relative;\n left: -91.66667%; }\n\n.small-offset-10 {\n margin-left: 83.33333%; }\n\n.small-12 {\n width: 100%; }\n\n.small-offset-11 {\n margin-left: 91.66667%; }\n\n.small-up-1 > .column, .small-up-1 > .columns {\n float: left;\n width: 100%; }\n .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {\n clear: both; }\n .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {\n float: left; }\n\n.small-up-2 > .column, .small-up-2 > .columns {\n float: left;\n width: 50%; }\n .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {\n clear: both; }\n .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {\n float: left; }\n\n.small-up-3 > .column, .small-up-3 > .columns {\n float: left;\n width: 33.33333%; }\n .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {\n clear: both; }\n .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {\n float: left; }\n\n.small-up-4 > .column, .small-up-4 > .columns {\n float: left;\n width: 25%; }\n .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {\n clear: both; }\n .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {\n float: left; }\n\n.small-up-5 > .column, .small-up-5 > .columns {\n float: left;\n width: 20%; }\n .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {\n clear: both; }\n .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {\n float: left; }\n\n.small-up-6 > .column, .small-up-6 > .columns {\n float: left;\n width: 16.66667%; }\n .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {\n clear: both; }\n .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {\n float: left; }\n\n.small-up-7 > .column, .small-up-7 > .columns {\n float: left;\n width: 14.28571%; }\n .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {\n clear: both; }\n .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {\n float: left; }\n\n.small-up-8 > .column, .small-up-8 > .columns {\n float: left;\n width: 12.5%; }\n .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {\n clear: none; }\n .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {\n clear: both; }\n .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {\n float: left; }\n\n.small-collapse > .column, .small-collapse > .columns {\n padding-right: 0;\n padding-left: 0; }\n\n.small-collapse .row {\n margin-right: 0;\n margin-left: 0; }\n\n.expanded.row .small-collapse.row {\n margin-right: 0;\n margin-left: 0; }\n\n.small-uncollapse > .column, .small-uncollapse > .columns {\n padding-right: 0.625rem;\n padding-left: 0.625rem; }\n\n.small-centered {\n margin-right: auto;\n margin-left: auto; }\n .small-centered, .small-centered:last-child:not(:first-child) {\n float: none;\n clear: both; }\n\n.small-uncentered, .small-push-0, .small-pull-0 {\n position: static;\n margin-right: 0;\n margin-left: 0; }\n .small-uncentered, .small-uncentered:last-child:not(:first-child), .small-push-0, .small-push-0:last-child:not(:first-child), .small-pull-0, .small-pull-0:last-child:not(:first-child) {\n float: left;\n clear: none; }\n .small-uncentered:last-child:not(:first-child), .small-push-0:last-child:not(:first-child), .small-pull-0:last-child:not(:first-child) {\n float: right; }\n\n@media print, screen and (min-width: 40em) {\n .medium-1 {\n width: 8.33333%; }\n .medium-push-1 {\n position: relative;\n left: 8.33333%; }\n .medium-pull-1 {\n position: relative;\n left: -8.33333%; }\n .medium-offset-0 {\n margin-left: 0%; }\n .medium-2 {\n width: 16.66667%; }\n .medium-push-2 {\n position: relative;\n left: 16.66667%; }\n .medium-pull-2 {\n position: relative;\n left: -16.66667%; }\n .medium-offset-1 {\n margin-left: 8.33333%; }\n .medium-3 {\n width: 25%; }\n .medium-push-3 {\n position: relative;\n left: 25%; }\n .medium-pull-3 {\n position: relative;\n left: -25%; }\n .medium-offset-2 {\n margin-left: 16.66667%; }\n .medium-4 {\n width: 33.33333%; }\n .medium-push-4 {\n position: relative;\n left: 33.33333%; }\n .medium-pull-4 {\n position: relative;\n left: -33.33333%; }\n .medium-offset-3 {\n margin-left: 25%; }\n .medium-5 {\n width: 41.66667%; }\n .medium-push-5 {\n position: relative;\n left: 41.66667%; }\n .medium-pull-5 {\n position: relative;\n left: -41.66667%; }\n .medium-offset-4 {\n margin-left: 33.33333%; }\n .medium-6 {\n width: 50%; }\n .medium-push-6 {\n position: relative;\n left: 50%; }\n .medium-pull-6 {\n position: relative;\n left: -50%; }\n .medium-offset-5 {\n margin-left: 41.66667%; }\n .medium-7 {\n width: 58.33333%; }\n .medium-push-7 {\n position: relative;\n left: 58.33333%; }\n .medium-pull-7 {\n position: relative;\n left: -58.33333%; }\n .medium-offset-6 {\n margin-left: 50%; }\n .medium-8 {\n width: 66.66667%; }\n .medium-push-8 {\n position: relative;\n left: 66.66667%; }\n .medium-pull-8 {\n position: relative;\n left: -66.66667%; }\n .medium-offset-7 {\n margin-left: 58.33333%; }\n .medium-9 {\n width: 75%; }\n .medium-push-9 {\n position: relative;\n left: 75%; }\n .medium-pull-9 {\n position: relative;\n left: -75%; }\n .medium-offset-8 {\n margin-left: 66.66667%; }\n .medium-10 {\n width: 83.33333%; }\n .medium-push-10 {\n position: relative;\n left: 83.33333%; }\n .medium-pull-10 {\n position: relative;\n left: -83.33333%; }\n .medium-offset-9 {\n margin-left: 75%; }\n .medium-11 {\n width: 91.66667%; }\n .medium-push-11 {\n position: relative;\n left: 91.66667%; }\n .medium-pull-11 {\n position: relative;\n left: -91.66667%; }\n .medium-offset-10 {\n margin-left: 83.33333%; }\n .medium-12 {\n width: 100%; }\n .medium-offset-11 {\n margin-left: 91.66667%; }\n .medium-up-1 > .column, .medium-up-1 > .columns {\n float: left;\n width: 100%; }\n .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {\n clear: both; }\n .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {\n float: left; }\n .medium-up-2 > .column, .medium-up-2 > .columns {\n float: left;\n width: 50%; }\n .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {\n clear: both; }\n .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {\n float: left; }\n .medium-up-3 > .column, .medium-up-3 > .columns {\n float: left;\n width: 33.33333%; }\n .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {\n clear: both; }\n .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {\n float: left; }\n .medium-up-4 > .column, .medium-up-4 > .columns {\n float: left;\n width: 25%; }\n .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {\n clear: both; }\n .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {\n float: left; }\n .medium-up-5 > .column, .medium-up-5 > .columns {\n float: left;\n width: 20%; }\n .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {\n clear: both; }\n .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {\n float: left; }\n .medium-up-6 > .column, .medium-up-6 > .columns {\n float: left;\n width: 16.66667%; }\n .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {\n clear: both; }\n .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {\n float: left; }\n .medium-up-7 > .column, .medium-up-7 > .columns {\n float: left;\n width: 14.28571%; }\n .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {\n clear: both; }\n .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {\n float: left; }\n .medium-up-8 > .column, .medium-up-8 > .columns {\n float: left;\n width: 12.5%; }\n .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {\n clear: none; }\n .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {\n clear: both; }\n .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {\n float: left; }\n .medium-collapse > .column, .medium-collapse > .columns {\n padding-right: 0;\n padding-left: 0; }\n .medium-collapse .row {\n margin-right: 0;\n margin-left: 0; }\n .expanded.row .medium-collapse.row {\n margin-right: 0;\n margin-left: 0; }\n .medium-uncollapse > .column, .medium-uncollapse > .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem; }\n .medium-centered {\n margin-right: auto;\n margin-left: auto; }\n .medium-centered, .medium-centered:last-child:not(:first-child) {\n float: none;\n clear: both; }\n .medium-uncentered, .medium-push-0, .medium-pull-0 {\n position: static;\n margin-right: 0;\n margin-left: 0; }\n .medium-uncentered, .medium-uncentered:last-child:not(:first-child), .medium-push-0, .medium-push-0:last-child:not(:first-child), .medium-pull-0, .medium-pull-0:last-child:not(:first-child) {\n float: left;\n clear: none; }\n .medium-uncentered:last-child:not(:first-child), .medium-push-0:last-child:not(:first-child), .medium-pull-0:last-child:not(:first-child) {\n float: right; } }\n\n@media print, screen and (min-width: 64em) {\n .large-1 {\n width: 8.33333%; }\n .large-push-1 {\n position: relative;\n left: 8.33333%; }\n .large-pull-1 {\n position: relative;\n left: -8.33333%; }\n .large-offset-0 {\n margin-left: 0%; }\n .large-2 {\n width: 16.66667%; }\n .large-push-2 {\n position: relative;\n left: 16.66667%; }\n .large-pull-2 {\n position: relative;\n left: -16.66667%; }\n .large-offset-1 {\n margin-left: 8.33333%; }\n .large-3 {\n width: 25%; }\n .large-push-3 {\n position: relative;\n left: 25%; }\n .large-pull-3 {\n position: relative;\n left: -25%; }\n .large-offset-2 {\n margin-left: 16.66667%; }\n .large-4 {\n width: 33.33333%; }\n .large-push-4 {\n position: relative;\n left: 33.33333%; }\n .large-pull-4 {\n position: relative;\n left: -33.33333%; }\n .large-offset-3 {\n margin-left: 25%; }\n .large-5 {\n width: 41.66667%; }\n .large-push-5 {\n position: relative;\n left: 41.66667%; }\n .large-pull-5 {\n position: relative;\n left: -41.66667%; }\n .large-offset-4 {\n margin-left: 33.33333%; }\n .large-6 {\n width: 50%; }\n .large-push-6 {\n position: relative;\n left: 50%; }\n .large-pull-6 {\n position: relative;\n left: -50%; }\n .large-offset-5 {\n margin-left: 41.66667%; }\n .large-7 {\n width: 58.33333%; }\n .large-push-7 {\n position: relative;\n left: 58.33333%; }\n .large-pull-7 {\n position: relative;\n left: -58.33333%; }\n .large-offset-6 {\n margin-left: 50%; }\n .large-8 {\n width: 66.66667%; }\n .large-push-8 {\n position: relative;\n left: 66.66667%; }\n .large-pull-8 {\n position: relative;\n left: -66.66667%; }\n .large-offset-7 {\n margin-left: 58.33333%; }\n .large-9 {\n width: 75%; }\n .large-push-9 {\n position: relative;\n left: 75%; }\n .large-pull-9 {\n position: relative;\n left: -75%; }\n .large-offset-8 {\n margin-left: 66.66667%; }\n .large-10 {\n width: 83.33333%; }\n .large-push-10 {\n position: relative;\n left: 83.33333%; }\n .large-pull-10 {\n position: relative;\n left: -83.33333%; }\n .large-offset-9 {\n margin-left: 75%; }\n .large-11 {\n width: 91.66667%; }\n .large-push-11 {\n position: relative;\n left: 91.66667%; }\n .large-pull-11 {\n position: relative;\n left: -91.66667%; }\n .large-offset-10 {\n margin-left: 83.33333%; }\n .large-12 {\n width: 100%; }\n .large-offset-11 {\n margin-left: 91.66667%; }\n .large-up-1 > .column, .large-up-1 > .columns {\n float: left;\n width: 100%; }\n .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {\n clear: both; }\n .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {\n float: left; }\n .large-up-2 > .column, .large-up-2 > .columns {\n float: left;\n width: 50%; }\n .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {\n clear: both; }\n .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {\n float: left; }\n .large-up-3 > .column, .large-up-3 > .columns {\n float: left;\n width: 33.33333%; }\n .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {\n clear: both; }\n .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {\n float: left; }\n .large-up-4 > .column, .large-up-4 > .columns {\n float: left;\n width: 25%; }\n .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {\n clear: both; }\n .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {\n float: left; }\n .large-up-5 > .column, .large-up-5 > .columns {\n float: left;\n width: 20%; }\n .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {\n clear: both; }\n .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {\n float: left; }\n .large-up-6 > .column, .large-up-6 > .columns {\n float: left;\n width: 16.66667%; }\n .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {\n clear: both; }\n .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {\n float: left; }\n .large-up-7 > .column, .large-up-7 > .columns {\n float: left;\n width: 14.28571%; }\n .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {\n clear: both; }\n .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {\n float: left; }\n .large-up-8 > .column, .large-up-8 > .columns {\n float: left;\n width: 12.5%; }\n .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {\n clear: none; }\n .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {\n clear: both; }\n .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {\n float: left; }\n .large-collapse > .column, .large-collapse > .columns {\n padding-right: 0;\n padding-left: 0; }\n .large-collapse .row {\n margin-right: 0;\n margin-left: 0; }\n .expanded.row .large-collapse.row {\n margin-right: 0;\n margin-left: 0; }\n .large-uncollapse > .column, .large-uncollapse > .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem; }\n .large-centered {\n margin-right: auto;\n margin-left: auto; }\n .large-centered, .large-centered:last-child:not(:first-child) {\n float: none;\n clear: both; }\n .large-uncentered, .large-push-0, .large-pull-0 {\n position: static;\n margin-right: 0;\n margin-left: 0; }\n .large-uncentered, .large-uncentered:last-child:not(:first-child), .large-push-0, .large-push-0:last-child:not(:first-child), .large-pull-0, .large-pull-0:last-child:not(:first-child) {\n float: left;\n clear: none; }\n .large-uncentered:last-child:not(:first-child), .large-push-0:last-child:not(:first-child), .large-pull-0:last-child:not(:first-child) {\n float: right; } }\n\n.column-block {\n margin-bottom: 1.25rem; }\n .column-block > :last-child {\n margin-bottom: 0; }\n @media print, screen and (min-width: 40em) {\n .column-block {\n margin-bottom: 1.875rem; }\n .column-block > :last-child {\n margin-bottom: 0; } }\n\n.button {\n display: inline-block;\n vertical-align: middle;\n margin: 0 0 1rem 0;\n padding: 0.85em 1em;\n border: 1px solid transparent;\n border-radius: 0;\n transition: background-color 0.25s ease-out, color 0.25s ease-out;\n font-family: inherit;\n font-size: 0.9rem;\n -webkit-appearance: none;\n line-height: 1;\n text-align: center;\n cursor: pointer; }\n [data-whatinput='mouse'] .button {\n outline: 0; }\n .button.tiny {\n font-size: 0.6rem; }\n .button.small {\n font-size: 0.75rem; }\n .button.large {\n font-size: 1.25rem; }\n .button.expanded {\n display: block;\n width: 100%;\n margin-right: 0;\n margin-left: 0; }\n .button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus {\n background-color: #1779ba;\n color: #fefefe; }\n .button:hover, .button:focus {\n background-color: #14679e;\n color: #fefefe; }\n .button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus {\n background-color: #1779ba;\n color: #fefefe; }\n .button.primary:hover, .button.primary:focus {\n background-color: #126195;\n color: #fefefe; }\n .button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus {\n background-color: #767676;\n color: #fefefe; }\n .button.secondary:hover, .button.secondary:focus {\n background-color: #5e5e5e;\n color: #fefefe; }\n .button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus {\n background-color: #3adb76;\n color: #0a0a0a; }\n .button.success:hover, .button.success:focus {\n background-color: #22bb5b;\n color: #0a0a0a; }\n .button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus {\n background-color: #ffae00;\n color: #0a0a0a; }\n .button.warning:hover, .button.warning:focus {\n background-color: #cc8b00;\n color: #0a0a0a; }\n .button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus {\n background-color: #cc4b37;\n color: #fefefe; }\n .button.alert:hover, .button.alert:focus {\n background-color: #a53b2a;\n color: #fefefe; }\n .button.hollow, .button.hollow:hover, .button.hollow:focus, .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {\n background-color: transparent; }\n .button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus {\n border: 1px solid #1779ba;\n color: #1779ba; }\n .button.hollow:hover, .button.hollow:focus {\n border-color: #0c3d5d;\n color: #0c3d5d; }\n .button.hollow.primary, .button.hollow.primary.disabled, .button.hollow.primary[disabled], .button.hollow.primary.disabled:hover, .button.hollow.primary[disabled]:hover, .button.hollow.primary.disabled:focus, .button.hollow.primary[disabled]:focus {\n border: 1px solid #1779ba;\n color: #1779ba; }\n .button.hollow.primary:hover, .button.hollow.primary:focus {\n border-color: #0c3d5d;\n color: #0c3d5d; }\n .button.hollow.secondary, .button.hollow.secondary.disabled, .button.hollow.secondary[disabled], .button.hollow.secondary.disabled:hover, .button.hollow.secondary[disabled]:hover, .button.hollow.secondary.disabled:focus, .button.hollow.secondary[disabled]:focus {\n border: 1px solid #767676;\n color: #767676; }\n .button.hollow.secondary:hover, .button.hollow.secondary:focus {\n border-color: #3b3b3b;\n color: #3b3b3b; }\n .button.hollow.success, .button.hollow.success.disabled, .button.hollow.success[disabled], .button.hollow.success.disabled:hover, .button.hollow.success[disabled]:hover, .button.hollow.success.disabled:focus, .button.hollow.success[disabled]:focus {\n border: 1px solid #3adb76;\n color: #3adb76; }\n .button.hollow.success:hover, .button.hollow.success:focus {\n border-color: #157539;\n color: #157539; }\n .button.hollow.warning, .button.hollow.warning.disabled, .button.hollow.warning[disabled], .button.hollow.warning.disabled:hover, .button.hollow.warning[disabled]:hover, .button.hollow.warning.disabled:focus, .button.hollow.warning[disabled]:focus {\n border: 1px solid #ffae00;\n color: #ffae00; }\n .button.hollow.warning:hover, .button.hollow.warning:focus {\n border-color: #805700;\n color: #805700; }\n .button.hollow.alert, .button.hollow.alert.disabled, .button.hollow.alert[disabled], .button.hollow.alert.disabled:hover, .button.hollow.alert[disabled]:hover, .button.hollow.alert.disabled:focus, .button.hollow.alert[disabled]:focus {\n border: 1px solid #cc4b37;\n color: #cc4b37; }\n .button.hollow.alert:hover, .button.hollow.alert:focus {\n border-color: #67251a;\n color: #67251a; }\n .button.clear, .button.clear:hover, .button.clear:focus, .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {\n border-color: transparent;\n background-color: transparent; }\n .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus {\n color: #1779ba; }\n .button.clear:hover, .button.clear:focus {\n color: #0c3d5d; }\n .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary.disabled:hover, .button.clear.primary[disabled]:hover, .button.clear.primary.disabled:focus, .button.clear.primary[disabled]:focus {\n color: #1779ba; }\n .button.clear.primary:hover, .button.clear.primary:focus {\n color: #0c3d5d; }\n .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary.disabled:hover, .button.clear.secondary[disabled]:hover, .button.clear.secondary.disabled:focus, .button.clear.secondary[disabled]:focus {\n color: #767676; }\n .button.clear.secondary:hover, .button.clear.secondary:focus {\n color: #3b3b3b; }\n .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success.disabled:hover, .button.clear.success[disabled]:hover, .button.clear.success.disabled:focus, .button.clear.success[disabled]:focus {\n color: #3adb76; }\n .button.clear.success:hover, .button.clear.success:focus {\n color: #157539; }\n .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning.disabled:hover, .button.clear.warning[disabled]:hover, .button.clear.warning.disabled:focus, .button.clear.warning[disabled]:focus {\n color: #ffae00; }\n .button.clear.warning:hover, .button.clear.warning:focus {\n color: #805700; }\n .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert.disabled:hover, .button.clear.alert[disabled]:hover, .button.clear.alert.disabled:focus, .button.clear.alert[disabled]:focus {\n color: #cc4b37; }\n .button.clear.alert:hover, .button.clear.alert:focus {\n color: #67251a; }\n .button.disabled, .button[disabled] {\n opacity: 0.25;\n cursor: not-allowed; }\n .button.dropdown::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.4em;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #fefefe transparent transparent;\n position: relative;\n top: 0.4em;\n display: inline-block;\n float: right;\n margin-left: 1em; }\n .button.dropdown.hollow::after, .button.dropdown.clear::after {\n border-top-color: #1779ba; }\n .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {\n border-top-color: #1779ba; }\n .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {\n border-top-color: #767676; }\n .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {\n border-top-color: #3adb76; }\n .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {\n border-top-color: #ffae00; }\n .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {\n border-top-color: #cc4b37; }\n .button.arrow-only::after {\n top: -0.1em;\n float: none;\n margin-left: 0; }\n\na.button:hover, a.button:focus {\n text-decoration: none; }\n\n.button-group {\n margin-bottom: 1rem;\n font-size: 0; }\n .button-group::before, .button-group::after {\n display: table;\n content: ' '; }\n .button-group::after {\n clear: both; }\n .button-group .button {\n margin: 0;\n margin-right: 1px;\n margin-bottom: 1px;\n font-size: 0.9rem; }\n .button-group .button:last-child {\n margin-right: 0; }\n .button-group.tiny .button {\n font-size: 0.6rem; }\n .button-group.small .button {\n font-size: 0.75rem; }\n .button-group.large .button {\n font-size: 1.25rem; }\n .button-group.expanded {\n margin-right: -1px; }\n .button-group.expanded::before, .button-group.expanded::after {\n display: none; }\n .button-group.expanded .button:first-child:last-child {\n width: calc(100% - 1px); }\n .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {\n display: inline-block;\n width: calc(50% - 1px);\n margin-right: 1px; }\n .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {\n display: inline-block;\n width: calc(33.33333% - 1px);\n margin-right: 1px; }\n .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {\n display: inline-block;\n width: calc(25% - 1px);\n margin-right: 1px; }\n .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {\n display: inline-block;\n width: calc(20% - 1px);\n margin-right: 1px; }\n .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {\n display: inline-block;\n width: calc(16.66667% - 1px);\n margin-right: 1px; }\n .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {\n background-color: #1779ba;\n color: #fefefe; }\n .button-group.primary .button:hover, .button-group.primary .button:focus {\n background-color: #126195;\n color: #fefefe; }\n .button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {\n background-color: #767676;\n color: #fefefe; }\n .button-group.secondary .button:hover, .button-group.secondary .button:focus {\n background-color: #5e5e5e;\n color: #fefefe; }\n .button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {\n background-color: #3adb76;\n color: #0a0a0a; }\n .button-group.success .button:hover, .button-group.success .button:focus {\n background-color: #22bb5b;\n color: #0a0a0a; }\n .button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {\n background-color: #ffae00;\n color: #0a0a0a; }\n .button-group.warning .button:hover, .button-group.warning .button:focus {\n background-color: #cc8b00;\n color: #0a0a0a; }\n .button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {\n background-color: #cc4b37;\n color: #fefefe; }\n .button-group.alert .button:hover, .button-group.alert .button:focus {\n background-color: #a53b2a;\n color: #fefefe; }\n .button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {\n background-color: transparent; }\n .button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {\n border: 1px solid #1779ba;\n color: #1779ba; }\n .button-group.hollow .button:hover, .button-group.hollow .button:focus {\n border-color: #0c3d5d;\n color: #0c3d5d; }\n .button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {\n border: 1px solid #1779ba;\n color: #1779ba; }\n .button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {\n border-color: #0c3d5d;\n color: #0c3d5d; }\n .button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {\n border: 1px solid #767676;\n color: #767676; }\n .button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {\n border-color: #3b3b3b;\n color: #3b3b3b; }\n .button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {\n border: 1px solid #3adb76;\n color: #3adb76; }\n .button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {\n border-color: #157539;\n color: #157539; }\n .button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {\n border: 1px solid #ffae00;\n color: #ffae00; }\n .button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {\n border-color: #805700;\n color: #805700; }\n .button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {\n border: 1px solid #cc4b37;\n color: #cc4b37; }\n .button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {\n border-color: #67251a;\n color: #67251a; }\n .button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {\n border-color: transparent;\n background-color: transparent; }\n .button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {\n color: #1779ba; }\n .button-group.clear .button:hover, .button-group.clear .button:focus {\n color: #0c3d5d; }\n .button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {\n color: #1779ba; }\n .button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {\n color: #0c3d5d; }\n .button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {\n color: #767676; }\n .button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {\n color: #3b3b3b; }\n .button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {\n color: #3adb76; }\n .button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {\n color: #157539; }\n .button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {\n color: #ffae00; }\n .button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {\n color: #805700; }\n .button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {\n color: #cc4b37; }\n .button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {\n color: #67251a; }\n .button-group.no-gaps .button {\n margin-right: -0.0625rem; }\n .button-group.no-gaps .button + .button {\n border-left-color: transparent; }\n .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n width: 100%; }\n .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {\n margin-bottom: 0; }\n .button-group.stacked.expanded, .button-group.stacked-for-small.expanded, .button-group.stacked-for-medium.expanded {\n margin-right: -1px; }\n .button-group.stacked.expanded::before, .button-group.stacked.expanded::after, .button-group.stacked-for-small.expanded::before, .button-group.stacked-for-small.expanded::after, .button-group.stacked-for-medium.expanded::before, .button-group.stacked-for-medium.expanded::after {\n display: none; }\n .button-group.stacked.expanded .button:first-child:last-child, .button-group.stacked-for-small.expanded .button:first-child:last-child, .button-group.stacked-for-medium.expanded .button:first-child:last-child {\n width: calc(100% - 1px); }\n .button-group.stacked.expanded .button:first-child:nth-last-child(2), .button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {\n display: inline-block;\n width: calc(50% - 1px);\n margin-right: 1px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(3), .button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {\n display: inline-block;\n width: calc(33.33333% - 1px);\n margin-right: 1px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(4), .button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {\n display: inline-block;\n width: calc(25% - 1px);\n margin-right: 1px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(5), .button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {\n display: inline-block;\n width: calc(20% - 1px);\n margin-right: 1px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {\n margin-right: -6px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(6), .button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {\n display: inline-block;\n width: calc(16.66667% - 1px);\n margin-right: 1px; }\n .button-group.stacked.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {\n margin-right: -6px; }\n @media print, screen and (min-width: 40em) {\n .button-group.stacked-for-small .button {\n width: auto;\n margin-bottom: 0; } }\n @media print, screen and (min-width: 64em) {\n .button-group.stacked-for-medium .button {\n width: auto;\n margin-bottom: 0; } }\n @media print, screen and (max-width: 39.99875em) {\n .button-group.stacked-for-small.expanded {\n display: block; }\n .button-group.stacked-for-small.expanded .button {\n display: block;\n margin-right: 0; } }\n @media print, screen and (max-width: 63.99875em) {\n .button-group.stacked-for-medium.expanded {\n display: block; }\n .button-group.stacked-for-medium.expanded .button {\n display: block;\n margin-right: 0; } }\n\n.close-button {\n position: absolute;\n z-index: 10;\n color: #8a8a8a;\n cursor: pointer; }\n [data-whatinput='mouse'] .close-button {\n outline: 0; }\n .close-button:hover, .close-button:focus {\n color: #0a0a0a; }\n .close-button.small {\n right: 0.66rem;\n top: 0.33em;\n font-size: 1.5em;\n line-height: 1; }\n .close-button.medium, .close-button {\n right: 1rem;\n top: 0.5rem;\n font-size: 2em;\n line-height: 1; }\n\n.label {\n display: inline-block;\n padding: 0.33333rem 0.5rem;\n border-radius: 0;\n font-size: 0.8rem;\n line-height: 1;\n white-space: nowrap;\n cursor: default;\n background: #1779ba;\n color: #fefefe; }\n .label.primary {\n background: #1779ba;\n color: #fefefe; }\n .label.secondary {\n background: #767676;\n color: #fefefe; }\n .label.success {\n background: #3adb76;\n color: #0a0a0a; }\n .label.warning {\n background: #ffae00;\n color: #0a0a0a; }\n .label.alert {\n background: #cc4b37;\n color: #fefefe; }\n\n.progress {\n height: 1rem;\n margin-bottom: 1rem;\n border-radius: 0;\n background-color: #cacaca; }\n .progress.primary .progress-meter {\n background-color: #1779ba; }\n .progress.secondary .progress-meter {\n background-color: #767676; }\n .progress.success .progress-meter {\n background-color: #3adb76; }\n .progress.warning .progress-meter {\n background-color: #ffae00; }\n .progress.alert .progress-meter {\n background-color: #cc4b37; }\n\n.progress-meter {\n position: relative;\n display: block;\n width: 0%;\n height: 100%;\n background-color: #1779ba; }\n\n.progress-meter-text {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n margin: 0;\n font-size: 0.75rem;\n font-weight: bold;\n color: #fefefe;\n white-space: nowrap; }\n\n.slider {\n position: relative;\n height: 0.5rem;\n margin-top: 1.25rem;\n margin-bottom: 2.25rem;\n background-color: #e6e6e6;\n cursor: pointer;\n user-select: none;\n touch-action: none; }\n\n.slider-fill {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-block;\n max-width: 100%;\n height: 0.5rem;\n background-color: #cacaca;\n transition: all 0.2s ease-in-out; }\n .slider-fill.is-dragging {\n transition: all 0s linear; }\n\n.slider-handle {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 0;\n z-index: 1;\n display: inline-block;\n width: 1.4rem;\n height: 1.4rem;\n border-radius: 0;\n background-color: #1779ba;\n transition: all 0.2s ease-in-out;\n touch-action: manipulation; }\n [data-whatinput='mouse'] .slider-handle {\n outline: 0; }\n .slider-handle:hover {\n background-color: #14679e; }\n .slider-handle.is-dragging {\n transition: all 0s linear; }\n\n.slider.disabled,\n.slider[disabled] {\n opacity: 0.25;\n cursor: not-allowed; }\n\n.slider.vertical {\n display: inline-block;\n width: 0.5rem;\n height: 12.5rem;\n margin: 0 1.25rem;\n transform: scale(1, -1); }\n .slider.vertical .slider-fill {\n top: 0;\n width: 0.5rem;\n max-height: 100%; }\n .slider.vertical .slider-handle {\n position: absolute;\n top: 0;\n left: 50%;\n width: 1.4rem;\n height: 1.4rem;\n transform: translateX(-50%); }\n\n.switch {\n height: 2rem;\n position: relative;\n margin-bottom: 1rem;\n outline: 0;\n font-size: 0.875rem;\n font-weight: bold;\n color: #fefefe;\n user-select: none; }\n\n.switch-input {\n position: absolute;\n margin-bottom: 0;\n opacity: 0; }\n\n.switch-paddle {\n position: relative;\n display: block;\n width: 4rem;\n height: 2rem;\n border-radius: 0;\n background: #cacaca;\n transition: all 0.25s ease-out;\n font-weight: inherit;\n color: inherit;\n cursor: pointer; }\n input + .switch-paddle {\n margin: 0; }\n .switch-paddle::after {\n position: absolute;\n top: 0.25rem;\n left: 0.25rem;\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n transform: translate3d(0, 0, 0);\n border-radius: 0;\n background: #fefefe;\n transition: all 0.25s ease-out;\n content: ''; }\n input:checked ~ .switch-paddle {\n background: #1779ba; }\n input:checked ~ .switch-paddle::after {\n left: 2.25rem; }\n input:disabled ~ .switch-paddle {\n cursor: not-allowed;\n opacity: 0.5; }\n [data-whatinput='mouse'] input:focus ~ .switch-paddle {\n outline: 0; }\n\n.switch-active, .switch-inactive {\n position: absolute;\n top: 50%;\n transform: translateY(-50%); }\n\n.switch-active {\n left: 8%;\n display: none; }\n input:checked + label > .switch-active {\n display: block; }\n\n.switch-inactive {\n right: 15%; }\n input:checked + label > .switch-inactive {\n display: none; }\n\n.switch.tiny {\n height: 1.5rem; }\n .switch.tiny .switch-paddle {\n width: 3rem;\n height: 1.5rem;\n font-size: 0.625rem; }\n .switch.tiny .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 1rem;\n height: 1rem; }\n .switch.tiny input:checked ~ .switch-paddle::after {\n left: 1.75rem; }\n\n.switch.small {\n height: 1.75rem; }\n .switch.small .switch-paddle {\n width: 3.5rem;\n height: 1.75rem;\n font-size: 0.75rem; }\n .switch.small .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 1.25rem;\n height: 1.25rem; }\n .switch.small input:checked ~ .switch-paddle::after {\n left: 2rem; }\n\n.switch.large {\n height: 2.5rem; }\n .switch.large .switch-paddle {\n width: 5rem;\n height: 2.5rem;\n font-size: 1rem; }\n .switch.large .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 2rem;\n height: 2rem; }\n .switch.large input:checked ~ .switch-paddle::after {\n left: 2.75rem; }\n\ntable {\n border-collapse: collapse;\n width: 100%;\n margin-bottom: 1rem;\n border-radius: 0; }\n thead,\n tbody,\n tfoot {\n border: 1px solid #f1f1f1;\n background-color: #fefefe; }\n caption {\n padding: 0.5rem 0.625rem 0.625rem;\n font-weight: bold; }\n thead {\n background: #f8f8f8;\n color: #0a0a0a; }\n tfoot {\n background: #f1f1f1;\n color: #0a0a0a; }\n thead tr,\n tfoot tr {\n background: transparent; }\n thead th,\n thead td,\n tfoot th,\n tfoot td {\n padding: 0.5rem 0.625rem 0.625rem;\n font-weight: bold;\n text-align: left; }\n tbody th,\n tbody td {\n padding: 0.5rem 0.625rem 0.625rem; }\n tbody tr:nth-child(even) {\n border-bottom: 0;\n background-color: #f1f1f1; }\n table.unstriped tbody {\n background-color: #fefefe; }\n table.unstriped tbody tr {\n border-bottom: 0;\n border-bottom: 1px solid #f1f1f1;\n background-color: #fefefe; }\n\n@media print, screen and (max-width: 63.99875em) {\n table.stack thead {\n display: none; }\n table.stack tfoot {\n display: none; }\n table.stack tr,\n table.stack th,\n table.stack td {\n display: block; }\n table.stack td {\n border-top: 0; } }\n\ntable.scroll {\n display: block;\n width: 100%;\n overflow-x: auto; }\n\ntable.hover thead tr:hover {\n background-color: #f3f3f3; }\n\ntable.hover tfoot tr:hover {\n background-color: #ececec; }\n\ntable.hover tbody tr:hover {\n background-color: #f9f9f9; }\n\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n background-color: #ececec; }\n\n.table-scroll {\n overflow-x: auto; }\n\n.badge {\n display: inline-block;\n min-width: 2.1em;\n padding: 0.3em;\n border-radius: 50%;\n font-size: 0.6rem;\n text-align: center;\n background: #1779ba;\n color: #fefefe; }\n .badge.primary {\n background: #1779ba;\n color: #fefefe; }\n .badge.secondary {\n background: #767676;\n color: #fefefe; }\n .badge.success {\n background: #3adb76;\n color: #0a0a0a; }\n .badge.warning {\n background: #ffae00;\n color: #0a0a0a; }\n .badge.alert {\n background: #cc4b37;\n color: #fefefe; }\n\n.breadcrumbs {\n margin: 0 0 1rem 0;\n list-style: none; }\n .breadcrumbs::before, .breadcrumbs::after {\n display: table;\n content: ' '; }\n .breadcrumbs::after {\n clear: both; }\n .breadcrumbs li {\n float: left;\n font-size: 0.6875rem;\n color: #0a0a0a;\n cursor: default;\n text-transform: uppercase; }\n .breadcrumbs li:not(:last-child)::after {\n position: relative;\n margin: 0 0.75rem;\n opacity: 1;\n content: \"/\";\n color: #cacaca; }\n .breadcrumbs a {\n color: #1779ba; }\n .breadcrumbs a:hover {\n text-decoration: underline; }\n .breadcrumbs .disabled {\n color: #cacaca;\n cursor: not-allowed; }\n\n.callout {\n position: relative;\n margin: 0 0 1rem 0;\n padding: 1rem;\n border: 1px solid rgba(10, 10, 10, 0.25);\n border-radius: 0;\n background-color: white;\n color: #0a0a0a; }\n .callout > :first-child {\n margin-top: 0; }\n .callout > :last-child {\n margin-bottom: 0; }\n .callout.primary {\n background-color: #d7ecfa;\n color: #0a0a0a; }\n .callout.secondary {\n background-color: #eaeaea;\n color: #0a0a0a; }\n .callout.success {\n background-color: #e1faea;\n color: #0a0a0a; }\n .callout.warning {\n background-color: #fff3d9;\n color: #0a0a0a; }\n .callout.alert {\n background-color: #f7e4e1;\n color: #0a0a0a; }\n .callout.small {\n padding-top: 0.5rem;\n padding-right: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 0.5rem; }\n .callout.large {\n padding-top: 3rem;\n padding-right: 3rem;\n padding-bottom: 3rem;\n padding-left: 3rem; }\n\n.card {\n margin-bottom: 1rem;\n border: 1px solid #e6e6e6;\n border-radius: 0;\n background: #fefefe;\n box-shadow: none;\n overflow: hidden;\n color: #0a0a0a; }\n .card > :last-child {\n margin-bottom: 0; }\n\n.card-divider {\n padding: 1rem;\n background: #e6e6e6; }\n .card-divider > :last-child {\n margin-bottom: 0; }\n\n.card-section {\n padding: 1rem; }\n .card-section > :last-child {\n margin-bottom: 0; }\n\n.card-image {\n min-height: 1px; }\n\n.dropdown-pane {\n position: absolute;\n z-index: 10;\n display: none;\n width: 300px;\n padding: 1rem;\n visibility: hidden;\n border: 1px solid #cacaca;\n border-radius: 0;\n background-color: #fefefe;\n font-size: 1rem; }\n .dropdown-pane.is-opening {\n display: block; }\n .dropdown-pane.is-open {\n display: block;\n visibility: visible; }\n\n.dropdown-pane.tiny {\n width: 100px; }\n\n.dropdown-pane.small {\n width: 200px; }\n\n.dropdown-pane.large {\n width: 400px; }\n\n.pagination {\n margin-left: 0;\n margin-bottom: 1rem; }\n .pagination::before, .pagination::after {\n display: table;\n content: ' '; }\n .pagination::after {\n clear: both; }\n .pagination li {\n margin-right: 0.0625rem;\n border-radius: 0;\n font-size: 0.875rem;\n display: none; }\n .pagination li:last-child, .pagination li:first-child {\n display: inline-block; }\n @media print, screen and (min-width: 40em) {\n .pagination li {\n display: inline-block; } }\n .pagination a,\n .pagination button {\n display: block;\n padding: 0.1875rem 0.625rem;\n border-radius: 0;\n color: #0a0a0a; }\n .pagination a:hover,\n .pagination button:hover {\n background: #e6e6e6; }\n .pagination .current {\n padding: 0.1875rem 0.625rem;\n background: #1779ba;\n color: #fefefe;\n cursor: default; }\n .pagination .disabled {\n padding: 0.1875rem 0.625rem;\n color: #cacaca;\n cursor: not-allowed; }\n .pagination .disabled:hover {\n background: transparent; }\n .pagination .ellipsis::after {\n padding: 0.1875rem 0.625rem;\n content: '\\2026';\n color: #0a0a0a; }\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n display: inline-block;\n margin-right: 0.5rem;\n content: \"«\"; }\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n display: inline-block;\n margin-left: 0.5rem;\n content: \"»\"; }\n\n.has-tip {\n position: relative;\n display: inline-block;\n border-bottom: dotted 1px #8a8a8a;\n font-weight: bold;\n cursor: help; }\n\n.tooltip {\n position: absolute;\n top: calc(100% + 0.6495rem);\n z-index: 1200;\n max-width: 10rem;\n padding: 0.75rem;\n border-radius: 0;\n background-color: #0a0a0a;\n font-size: 80%;\n color: #fefefe; }\n .tooltip::before {\n position: absolute; }\n .tooltip.bottom::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-top-width: 0;\n border-bottom-style: solid;\n border-color: transparent transparent #0a0a0a;\n bottom: 100%; }\n .tooltip.bottom.align-center::before {\n left: 50%;\n transform: translateX(-50%); }\n .tooltip.top::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #0a0a0a transparent transparent;\n top: 100%;\n bottom: auto; }\n .tooltip.top.align-center::before {\n left: 50%;\n transform: translateX(-50%); }\n .tooltip.left::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #0a0a0a;\n left: 100%; }\n .tooltip.left.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%); }\n .tooltip.right::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 0.75rem;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #0a0a0a transparent transparent;\n right: 100%;\n left: auto; }\n .tooltip.right.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%); }\n .tooltip.align-top::before {\n bottom: auto;\n top: 10%; }\n .tooltip.align-bottom::before {\n bottom: 10%;\n top: auto; }\n .tooltip.align-left::before {\n left: 10%;\n right: auto; }\n .tooltip.align-right::before {\n left: auto;\n right: 10%; }\n\n.accordion {\n margin-left: 0;\n background: #fefefe;\n list-style-type: none; }\n .accordion[disabled] .accordion-title {\n cursor: not-allowed; }\n\n.accordion-item:first-child > :first-child {\n border-radius: 0 0 0 0; }\n\n.accordion-item:last-child > :last-child {\n border-radius: 0 0 0 0; }\n\n.accordion-title {\n position: relative;\n display: block;\n padding: 1.25rem 1rem;\n border: 1px solid #e6e6e6;\n border-bottom: 0;\n font-size: 0.75rem;\n line-height: 1;\n color: #1779ba; }\n :last-child:not(.is-active) > .accordion-title {\n border-bottom: 1px solid #e6e6e6;\n border-radius: 0 0 0 0; }\n .accordion-title:hover, .accordion-title:focus {\n background-color: #e6e6e6; }\n .accordion-title::before {\n position: absolute;\n top: 50%;\n right: 1rem;\n margin-top: -0.5rem;\n content: \"+\"; }\n .is-active > .accordion-title::before {\n content: \"–\"; }\n\n.accordion-content {\n display: none;\n padding: 1rem;\n border: 1px solid #e6e6e6;\n border-bottom: 0;\n background-color: #fefefe;\n color: #0a0a0a; }\n :last-child > .accordion-content:last-child {\n border-bottom: 1px solid #e6e6e6; }\n\n.media-object {\n display: block;\n margin-bottom: 1rem; }\n .media-object img {\n max-width: none; }\n\n.media-object-section {\n display: table-cell;\n vertical-align: top; }\n .media-object-section:first-child {\n padding-right: 1rem; }\n .media-object-section:last-child:not(:nth-child(2)) {\n padding-left: 1rem; }\n .media-object-section > :last-child {\n margin-bottom: 0; }\n @media print, screen and (max-width: 39.99875em) {\n .stack-for-small .media-object-section {\n padding: 0;\n padding-bottom: 1rem;\n display: block; }\n .stack-for-small .media-object-section img {\n width: 100%; } }\n .media-object-section.middle {\n vertical-align: middle; }\n .media-object-section.bottom {\n vertical-align: bottom; }\n\n.orbit {\n position: relative; }\n\n.orbit-container {\n position: relative;\n height: 0;\n margin: 0;\n list-style: none;\n overflow: hidden; }\n\n.orbit-slide {\n width: 100%;\n position: absolute; }\n .orbit-slide.no-motionui.is-active {\n top: 0;\n left: 0; }\n\n.orbit-figure {\n margin: 0; }\n\n.orbit-image {\n width: 100%;\n max-width: 100%;\n margin: 0; }\n\n.orbit-caption {\n position: absolute;\n bottom: 0;\n width: 100%;\n margin-bottom: 0;\n padding: 1rem;\n background-color: rgba(10, 10, 10, 0.5);\n color: #fefefe; }\n\n.orbit-previous, .orbit-next {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 10;\n padding: 1rem;\n color: #fefefe; }\n [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {\n outline: 0; }\n .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {\n background-color: rgba(10, 10, 10, 0.5); }\n\n.orbit-previous {\n left: 0; }\n\n.orbit-next {\n left: auto;\n right: 0; }\n\n.orbit-bullets {\n position: relative;\n margin-top: 0.8rem;\n margin-bottom: 0.8rem;\n text-align: center; }\n [data-whatinput='mouse'] .orbit-bullets {\n outline: 0; }\n .orbit-bullets button {\n width: 1.2rem;\n height: 1.2rem;\n margin: 0.1rem;\n border-radius: 50%;\n background-color: #cacaca; }\n .orbit-bullets button:hover {\n background-color: #8a8a8a; }\n .orbit-bullets button.is-active {\n background-color: #8a8a8a; }\n\n.responsive-embed,\n.flex-video {\n position: relative;\n height: 0;\n margin-bottom: 1rem;\n padding-bottom: 75%;\n overflow: hidden; }\n .responsive-embed iframe,\n .responsive-embed object,\n .responsive-embed embed,\n .responsive-embed video,\n .flex-video iframe,\n .flex-video object,\n .flex-video embed,\n .flex-video video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%; }\n .responsive-embed.widescreen,\n .flex-video.widescreen {\n padding-bottom: 56.25%; }\n\n.tabs {\n margin: 0;\n border: 1px solid #e6e6e6;\n background: #fefefe;\n list-style-type: none; }\n .tabs::before, .tabs::after {\n display: table;\n content: ' '; }\n .tabs::after {\n clear: both; }\n\n.tabs.vertical > li {\n display: block;\n float: none;\n width: auto; }\n\n.tabs.simple > li > a {\n padding: 0; }\n .tabs.simple > li > a:hover {\n background: transparent; }\n\n.tabs.primary {\n background: #1779ba; }\n .tabs.primary > li > a {\n color: #fefefe; }\n .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n background: #1673b1; }\n\n.tabs-title {\n float: left; }\n .tabs-title > a {\n display: block;\n padding: 1.25rem 1.5rem;\n font-size: 0.75rem;\n line-height: 1;\n color: #1779ba; }\n [data-whatinput='mouse'] .tabs-title > a {\n outline: 0; }\n .tabs-title > a:hover {\n background: #fefefe;\n color: #1468a0; }\n .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {\n background: #e6e6e6;\n color: #1779ba; }\n\n.tabs-content {\n border: 1px solid #e6e6e6;\n border-top: 0;\n background: #fefefe;\n color: #0a0a0a;\n transition: all 0.5s ease; }\n\n.tabs-content.vertical {\n border: 1px solid #e6e6e6;\n border-left: 0; }\n\n.tabs-panel {\n display: none;\n padding: 1rem; }\n .tabs-panel.is-active {\n display: block; }\n\n.thumbnail {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 1rem;\n border: 4px solid #fefefe;\n border-radius: 0;\n box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n line-height: 0; }\n\na.thumbnail {\n transition: box-shadow 200ms ease-out; }\n a.thumbnail:hover, a.thumbnail:focus {\n box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }\n a.thumbnail image {\n box-shadow: none; }\n\n.menu {\n padding: 0;\n margin: 0;\n list-style: none;\n position: relative; }\n [data-whatinput='mouse'] .menu li {\n outline: 0; }\n .menu a,\n .menu .button {\n line-height: 1;\n text-decoration: none;\n display: block;\n padding: 0.7rem 1rem; }\n .menu input,\n .menu select,\n .menu a,\n .menu button {\n margin-bottom: 0; }\n .menu input {\n display: inline-block; }\n .menu li, .menu.horizontal li {\n display: inline-block; }\n .menu.vertical li {\n display: block; }\n .menu.expanded {\n display: table;\n width: 100%; }\n .menu.expanded > li {\n display: table-cell;\n vertical-align: middle; }\n .menu.simple li + li {\n margin-left: 1rem; }\n .menu.simple a {\n padding: 0; }\n @media print, screen and (min-width: 40em) {\n .menu.medium-horizontal li {\n display: inline-block; }\n .menu.medium-vertical li {\n display: block; }\n .menu.medium-expanded {\n display: table;\n width: 100%; }\n .menu.medium-expanded > li {\n display: table-cell;\n vertical-align: middle; }\n .menu.medium-simple {\n display: table;\n width: 100%; }\n .menu.medium-simple > li {\n display: table-cell;\n vertical-align: middle; } }\n @media print, screen and (min-width: 64em) {\n .menu.large-horizontal li {\n display: inline-block; }\n .menu.large-vertical li {\n display: block; }\n .menu.large-expanded {\n display: table;\n width: 100%; }\n .menu.large-expanded > li {\n display: table-cell;\n vertical-align: middle; }\n .menu.large-simple {\n display: table;\n width: 100%; }\n .menu.large-simple > li {\n display: table-cell;\n vertical-align: middle; } }\n .menu.nested {\n margin-right: 0;\n margin-left: 1rem; }\n .menu.icons img,\n .menu.icons i,\n .menu.icons svg {\n vertical-align: middle; }\n .menu.icons img + span,\n .menu.icons i + span,\n .menu.icons svg + span {\n vertical-align: middle; }\n .menu.icon-top img,\n .menu.icon-top i,\n .menu.icon-top svg, .menu.icon-right img,\n .menu.icon-right i,\n .menu.icon-right svg, .menu.icon-bottom img,\n .menu.icon-bottom i,\n .menu.icon-bottom svg, .menu.icon-left img,\n .menu.icon-left i,\n .menu.icon-left svg {\n vertical-align: middle; }\n .menu.icon-top img + span,\n .menu.icon-top i + span,\n .menu.icon-top svg + span, .menu.icon-right img + span,\n .menu.icon-right i + span,\n .menu.icon-right svg + span, .menu.icon-bottom img + span,\n .menu.icon-bottom i + span,\n .menu.icon-bottom svg + span, .menu.icon-left img + span,\n .menu.icon-left i + span,\n .menu.icon-left svg + span {\n vertical-align: middle; }\n .menu.icon-left li a img,\n .menu.icon-left li a i,\n .menu.icon-left li a svg {\n margin-right: 0.25rem;\n display: inline-block; }\n .menu.icon-right li a img,\n .menu.icon-right li a i,\n .menu.icon-right li a svg {\n margin-left: 0.25rem;\n display: inline-block; }\n .menu.icon-top li a {\n text-align: center; }\n .menu.icon-top li a img,\n .menu.icon-top li a i,\n .menu.icon-top li a svg {\n display: block;\n margin: 0 auto 0.25rem; }\n .menu.icon-bottom li a {\n text-align: center; }\n .menu.icon-bottom li a img,\n .menu.icon-bottom li a i,\n .menu.icon-bottom li a svg {\n display: block;\n margin: 0.25rem auto 0; }\n .menu .is-active > a {\n background: #1779ba;\n color: #fefefe; }\n .menu .active > a {\n background: #1779ba;\n color: #fefefe; }\n .menu.align-left {\n text-align: left; }\n .menu.align-right {\n text-align: right; }\n .menu.align-right .submenu li {\n text-align: left; }\n .menu.align-right.vertical .submenu li {\n text-align: right; }\n .menu.align-right .nested {\n margin-right: 1rem;\n margin-left: 0; }\n .menu.align-center {\n text-align: center; }\n .menu.align-center .submenu li {\n text-align: left; }\n .menu .menu-text {\n padding: 0.7rem 1rem;\n font-weight: bold;\n line-height: 1;\n color: inherit; }\n\n.menu-centered > .menu {\n text-align: center; }\n .menu-centered > .menu .submenu li {\n text-align: left; }\n\n.no-js [data-responsive-menu] ul {\n display: none; }\n\n.menu-icon {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 16px;\n cursor: pointer; }\n .menu-icon::after {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 2px;\n background: #fefefe;\n box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n content: ''; }\n .menu-icon:hover::after {\n background: #cacaca;\n box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }\n\n.menu-icon.dark {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 16px;\n cursor: pointer; }\n .menu-icon.dark::after {\n position: absolute;\n top: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 2px;\n background: #0a0a0a;\n box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;\n content: ''; }\n .menu-icon.dark:hover::after {\n background: #8a8a8a;\n box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }\n\n.accordion-menu li {\n width: 100%; }\n\n.accordion-menu a {\n padding: 0.7rem 1rem; }\n\n.accordion-menu .is-accordion-submenu a {\n padding: 0.7rem 1rem; }\n\n.accordion-menu .nested.is-accordion-submenu {\n margin-right: 0;\n margin-left: 1rem; }\n\n.accordion-menu.align-right .nested.is-accordion-submenu {\n margin-right: 1rem;\n margin-left: 0; }\n\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n position: relative; }\n .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #1779ba transparent transparent;\n position: absolute;\n top: 50%;\n margin-top: -3px;\n right: 1rem; }\n\n.accordion-menu.align-left .is-accordion-submenu-parent > a::after {\n right: 1rem;\n left: auto; }\n\n.accordion-menu.align-right .is-accordion-submenu-parent > a::after {\n right: auto;\n left: 1rem; }\n\n.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n transform: rotate(180deg);\n transform-origin: 50% 50%; }\n\n.is-accordion-submenu-parent {\n position: relative; }\n\n.has-submenu-toggle > a {\n margin-right: 40px; }\n\n.submenu-toggle {\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n height: 40px;\n cursor: pointer; }\n .submenu-toggle::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #1779ba transparent transparent;\n top: 0;\n bottom: 0;\n margin: auto; }\n\n.submenu-toggle[aria-expanded='true']::after {\n transform: scaleY(-1);\n transform-origin: 50% 50%; }\n\n.submenu-toggle-text {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important; }\n\n.is-drilldown {\n position: relative;\n overflow: hidden; }\n .is-drilldown li {\n display: block; }\n .is-drilldown.animate-height {\n transition: height 0.5s; }\n\n.drilldown a {\n padding: 0.7rem 1rem;\n background: #fefefe; }\n\n.drilldown .is-drilldown-submenu {\n position: absolute;\n top: 0;\n left: 100%;\n z-index: -1;\n width: 100%;\n background: #fefefe;\n transition: transform 0.15s linear; }\n .drilldown .is-drilldown-submenu.is-active {\n z-index: 1;\n display: block;\n transform: translateX(-100%); }\n .drilldown .is-drilldown-submenu.is-closing {\n transform: translateX(100%); }\n .drilldown .is-drilldown-submenu a {\n padding: 0.7rem 1rem; }\n\n.drilldown .nested.is-drilldown-submenu {\n margin-right: 0;\n margin-left: 0; }\n\n.drilldown .drilldown-submenu-cover-previous {\n min-height: 100%; }\n\n.drilldown .is-drilldown-submenu-parent > a {\n position: relative; }\n .drilldown .is-drilldown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #1779ba;\n position: absolute;\n top: 50%;\n margin-top: -6px;\n right: 1rem; }\n\n.drilldown.align-left .is-drilldown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #1779ba;\n right: 1rem;\n left: auto; }\n\n.drilldown.align-right .is-drilldown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 1rem; }\n\n.drilldown .js-drilldown-back > a::before {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #1779ba transparent transparent;\n display: inline-block;\n vertical-align: middle;\n margin-right: 0.75rem; }\n\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto; }\n\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem; }\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #1779ba transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px; }\n\n[data-whatinput='mouse'] .dropdown.menu a {\n outline: 0; }\n\n.dropdown.menu > li > a {\n padding: 0.7rem 1rem; }\n\n.dropdown.menu > li.is-active > a {\n background: transparent;\n color: #1779ba; }\n\n.no-js .dropdown.menu ul {\n display: none; }\n\n.dropdown.menu .nested.is-dropdown-submenu {\n margin-right: 0;\n margin-left: 0; }\n\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n top: 0; }\n\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto; }\n\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n\n.dropdown.menu.vertical > li > a::after {\n right: 14px; }\n\n.dropdown.menu.vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 5px; }\n\n.dropdown.menu.vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #1779ba; }\n\n@media print, screen and (min-width: 40em) {\n .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto; }\n .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0; }\n .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem; }\n .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #1779ba transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px; }\n .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n top: 0; }\n .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto; }\n .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n .dropdown.menu.medium-vertical > li > a::after {\n right: 14px; }\n .dropdown.menu.medium-vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 5px; }\n .dropdown.menu.medium-vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #1779ba; } }\n\n@media print, screen and (min-width: 64em) {\n .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n top: 100%;\n right: 0;\n left: auto; }\n .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0; }\n .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem; }\n .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-bottom-width: 0;\n border-top-style: solid;\n border-color: #1779ba transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px; }\n .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n top: 0; }\n .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto; }\n .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n .dropdown.menu.large-vertical > li > a::after {\n right: 14px; }\n .dropdown.menu.large-vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 5px; }\n .dropdown.menu.large-vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #1779ba; } }\n\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n top: 100%;\n right: 0;\n left: auto; }\n\n.is-dropdown-menu.vertical {\n width: 100px; }\n .is-dropdown-menu.vertical.align-right {\n float: right; }\n\n.is-dropdown-submenu-parent {\n position: relative; }\n .is-dropdown-submenu-parent a::after {\n position: absolute;\n top: 50%;\n right: 5px;\n left: auto;\n margin-top: -6px; }\n .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n top: 100%;\n left: auto; }\n .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n right: 100%;\n left: auto; }\n .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%; }\n\n.is-dropdown-submenu {\n position: absolute;\n top: 0;\n left: 100%;\n z-index: 1;\n display: none;\n min-width: 200px;\n border: 1px solid #cacaca;\n background: #fefefe; }\n .dropdown .is-dropdown-submenu a {\n padding: 0.7rem 1rem; }\n .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n right: 14px; }\n .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-left-width: 0;\n border-right-style: solid;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 5px; }\n .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border: inset 6px;\n content: '';\n border-right-width: 0;\n border-left-style: solid;\n border-color: transparent transparent transparent #1779ba; }\n .is-dropdown-submenu .is-dropdown-submenu {\n margin-top: -1px; }\n .is-dropdown-submenu > li {\n width: 100%; }\n .is-dropdown-submenu.js-dropdown-active {\n display: block; }\n\n.is-off-canvas-open {\n overflow: hidden; }\n\n.js-off-canvas-overlay {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 11;\n width: 100%;\n height: 100%;\n transition: opacity 0.5s ease, visibility 0.5s ease;\n background: rgba(254, 254, 254, 0.25);\n opacity: 0;\n visibility: hidden;\n overflow: hidden; }\n .js-off-canvas-overlay.is-visible {\n opacity: 1;\n visibility: visible; }\n .js-off-canvas-overlay.is-closable {\n cursor: pointer; }\n .js-off-canvas-overlay.is-overlay-absolute {\n position: absolute; }\n .js-off-canvas-overlay.is-overlay-fixed {\n position: fixed; }\n\n.off-canvas-wrapper {\n position: relative;\n overflow: hidden; }\n\n.off-canvas {\n position: fixed;\n z-index: 12;\n transition: transform 0.5s ease;\n backface-visibility: hidden;\n background: #e6e6e6; }\n [data-whatinput='mouse'] .off-canvas {\n outline: 0; }\n .off-canvas.is-transition-push {\n z-index: 12; }\n .off-canvas.is-closed {\n visibility: hidden; }\n .off-canvas.is-transition-overlap {\n z-index: 13; }\n .off-canvas.is-transition-overlap.is-open {\n box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n .off-canvas.is-open {\n transform: translate(0, 0); }\n\n.off-canvas-absolute {\n position: absolute;\n z-index: 12;\n transition: transform 0.5s ease;\n backface-visibility: hidden;\n background: #e6e6e6; }\n [data-whatinput='mouse'] .off-canvas-absolute {\n outline: 0; }\n .off-canvas-absolute.is-transition-push {\n z-index: 12; }\n .off-canvas-absolute.is-closed {\n visibility: hidden; }\n .off-canvas-absolute.is-transition-overlap {\n z-index: 13; }\n .off-canvas-absolute.is-transition-overlap.is-open {\n box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }\n .off-canvas-absolute.is-open {\n transform: translate(0, 0); }\n\n.position-left {\n top: 0;\n left: 0;\n height: 100%;\n overflow-y: auto;\n width: 250px;\n transform: translateX(-250px); }\n .off-canvas-content .off-canvas.position-left {\n transform: translateX(-250px); }\n .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-left.has-transition-push {\n transform: translateX(250px); }\n .position-left.is-transition-push {\n box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); }\n\n.position-right {\n top: 0;\n right: 0;\n height: 100%;\n overflow-y: auto;\n width: 250px;\n transform: translateX(250px); }\n .off-canvas-content .off-canvas.position-right {\n transform: translateX(250px); }\n .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-right.has-transition-push {\n transform: translateX(-250px); }\n .position-right.is-transition-push {\n box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); }\n\n.position-top {\n top: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n height: 250px;\n transform: translateY(-250px); }\n .off-canvas-content .off-canvas.position-top {\n transform: translateY(-250px); }\n .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-top.has-transition-push {\n transform: translateY(250px); }\n .position-top.is-transition-push {\n box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); }\n\n.position-bottom {\n bottom: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n height: 250px;\n transform: translateY(250px); }\n .off-canvas-content .off-canvas.position-bottom {\n transform: translateY(250px); }\n .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {\n transform: translate(0, 0); }\n .off-canvas-content.is-open-bottom.has-transition-push {\n transform: translateY(-250px); }\n .position-bottom.is-transition-push {\n box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); }\n\n.off-canvas-content {\n transform: none;\n backface-visibility: hidden; }\n .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {\n transition: transform 0.5s ease; }\n .off-canvas-content.has-transition-push {\n transform: translate(0, 0); }\n .off-canvas-content .off-canvas.is-open {\n transform: translate(0, 0); }\n\n@media print, screen and (min-width: 40em) {\n .position-left.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-left.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-left.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-left {\n margin-left: 250px; }\n .position-left.reveal-for-medium ~ .off-canvas-content {\n margin-left: 250px; }\n .position-right.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-right.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-right.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-right {\n margin-right: 250px; }\n .position-right.reveal-for-medium ~ .off-canvas-content {\n margin-right: 250px; }\n .position-top.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-top.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-top.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-top {\n margin-top: 250px; }\n .position-top.reveal-for-medium ~ .off-canvas-content {\n margin-top: 250px; }\n .position-bottom.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-bottom.reveal-for-medium .close-button {\n display: none; }\n .off-canvas-content .position-bottom.reveal-for-medium {\n transform: none; }\n .off-canvas-content.has-reveal-bottom {\n margin-bottom: 250px; }\n .position-bottom.reveal-for-medium ~ .off-canvas-content {\n margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 64em) {\n .position-left.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-left.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-left.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-left {\n margin-left: 250px; }\n .position-left.reveal-for-large ~ .off-canvas-content {\n margin-left: 250px; }\n .position-right.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-right.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-right.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-right {\n margin-right: 250px; }\n .position-right.reveal-for-large ~ .off-canvas-content {\n margin-right: 250px; }\n .position-top.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-top.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-top.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-top {\n margin-top: 250px; }\n .position-top.reveal-for-large ~ .off-canvas-content {\n margin-top: 250px; }\n .position-bottom.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible; }\n .position-bottom.reveal-for-large .close-button {\n display: none; }\n .off-canvas-content .position-bottom.reveal-for-large {\n transform: none; }\n .off-canvas-content.has-reveal-bottom {\n margin-bottom: 250px; }\n .position-bottom.reveal-for-large ~ .off-canvas-content {\n margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 40em) {\n .off-canvas.in-canvas-for-medium {\n visibility: visible;\n height: auto;\n position: static;\n background: none;\n width: auto;\n overflow: visible;\n transition: none; }\n .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {\n box-shadow: none;\n transform: none; }\n .off-canvas.in-canvas-for-medium .close-button {\n display: none; } }\n\n@media print, screen and (min-width: 64em) {\n .off-canvas.in-canvas-for-large {\n visibility: visible;\n height: auto;\n position: static;\n background: none;\n width: auto;\n overflow: visible;\n transition: none; }\n .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {\n box-shadow: none;\n transform: none; }\n .off-canvas.in-canvas-for-large .close-button {\n display: none; } }\n\nhtml.is-reveal-open {\n position: fixed;\n width: 100%;\n overflow-y: hidden; }\n html.is-reveal-open.zf-has-scroll {\n overflow-y: scroll; }\n html.is-reveal-open body {\n overflow-y: hidden; }\n\n.reveal-overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1005;\n display: none;\n background-color: rgba(10, 10, 10, 0.45);\n overflow-y: auto; }\n\n.reveal {\n z-index: 1006;\n backface-visibility: hidden;\n display: none;\n padding: 1rem;\n border: 1px solid #cacaca;\n border-radius: 0;\n background-color: #fefefe;\n position: relative;\n top: 100px;\n margin-right: auto;\n margin-left: auto;\n overflow-y: auto; }\n [data-whatinput='mouse'] .reveal {\n outline: 0; }\n @media print, screen and (min-width: 40em) {\n .reveal {\n min-height: 0; } }\n .reveal .column, .reveal .columns {\n min-width: 0; }\n .reveal > :last-child {\n margin-bottom: 0; }\n @media print, screen and (min-width: 40em) {\n .reveal {\n width: 600px;\n max-width: 75rem; } }\n .reveal.collapse {\n padding: 0; }\n @media print, screen and (min-width: 40em) {\n .reveal.tiny {\n width: 30%;\n max-width: 75rem; } }\n @media print, screen and (min-width: 40em) {\n .reveal.small {\n width: 50%;\n max-width: 75rem; } }\n @media print, screen and (min-width: 40em) {\n .reveal.large {\n width: 90%;\n max-width: 75rem; } }\n .reveal.full {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n min-height: 100%;\n margin-left: 0;\n border: 0;\n border-radius: 0; }\n @media print, screen and (max-width: 39.99875em) {\n .reveal {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n max-width: none;\n height: 100%;\n min-height: 100%;\n margin-left: 0;\n border: 0;\n border-radius: 0; } }\n .reveal.without-overlay {\n position: fixed; }\n\n.sticky-container {\n position: relative; }\n\n.sticky {\n position: relative;\n z-index: 0;\n transform: translate3d(0, 0, 0); }\n\n.sticky.is-stuck {\n position: fixed;\n z-index: 5;\n width: 100%; }\n .sticky.is-stuck.is-at-top {\n top: 0; }\n .sticky.is-stuck.is-at-bottom {\n bottom: 0; }\n\n.sticky.is-anchored {\n position: relative;\n right: auto;\n left: auto; }\n .sticky.is-anchored.is-at-bottom {\n bottom: 0; }\n\n.title-bar {\n padding: 0.5rem;\n background: #0a0a0a;\n color: #fefefe; }\n .title-bar::before, .title-bar::after {\n display: table;\n content: ' '; }\n .title-bar::after {\n clear: both; }\n .title-bar .menu-icon {\n margin-left: 0.25rem;\n margin-right: 0.25rem; }\n\n.title-bar-left {\n float: left; }\n\n.title-bar-right {\n float: right;\n text-align: right; }\n\n.title-bar-title {\n display: inline-block;\n vertical-align: middle;\n font-weight: bold; }\n\n.top-bar {\n padding: 0.5rem; }\n .top-bar::before, .top-bar::after {\n display: table;\n content: ' '; }\n .top-bar::after {\n clear: both; }\n .top-bar,\n .top-bar ul {\n background-color: #e6e6e6; }\n .top-bar input {\n max-width: 200px;\n margin-right: 1rem; }\n .top-bar .input-group-field {\n width: 100%;\n margin-right: 0; }\n .top-bar input.button {\n width: auto; }\n .top-bar .top-bar-left,\n .top-bar .top-bar-right {\n width: 100%; }\n @media print, screen and (min-width: 40em) {\n .top-bar .top-bar-left,\n .top-bar .top-bar-right {\n width: auto; } }\n @media print, screen and (max-width: 63.99875em) {\n .top-bar.stacked-for-medium .top-bar-left,\n .top-bar.stacked-for-medium .top-bar-right {\n width: 100%; } }\n @media print, screen and (max-width: 74.99875em) {\n .top-bar.stacked-for-large .top-bar-left,\n .top-bar.stacked-for-large .top-bar-right {\n width: 100%; } }\n\n.top-bar-title {\n display: inline-block;\n float: left;\n padding: 0.5rem 1rem 0.5rem 0; }\n .top-bar-title .menu-icon {\n bottom: 2px; }\n\n.top-bar-left {\n float: left; }\n\n.top-bar-right {\n float: right; }\n\n.float-left {\n float: left !important; }\n\n.float-right {\n float: right !important; }\n\n.float-center {\n display: block;\n margin-right: auto;\n margin-left: auto; }\n\n.clearfix::before, .clearfix::after {\n display: table;\n content: ' '; }\n\n.clearfix::after {\n clear: both; }\n\n.hide {\n display: none !important; }\n\n.invisible {\n visibility: hidden; }\n\n@media print, screen and (max-width: 39.99875em) {\n .hide-for-small-only {\n display: none !important; } }\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n .show-for-small-only {\n display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n .hide-for-medium {\n display: none !important; } }\n\n@media screen and (max-width: 39.99875em) {\n .show-for-medium {\n display: none !important; } }\n\n@media print, screen and (min-width: 40em) and (max-width: 63.99875em) {\n .hide-for-medium-only {\n display: none !important; } }\n\n@media screen and (max-width: 39.99875em), screen and (min-width: 64em) {\n .show-for-medium-only {\n display: none !important; } }\n\n@media print, screen and (min-width: 64em) {\n .hide-for-large {\n display: none !important; } }\n\n@media screen and (max-width: 63.99875em) {\n .show-for-large {\n display: none !important; } }\n\n@media print, screen and (min-width: 64em) and (max-width: 74.99875em) {\n .hide-for-large-only {\n display: none !important; } }\n\n@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {\n .show-for-large-only {\n display: none !important; } }\n\n.show-for-sr,\n.show-on-focus {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important; }\n\n.show-on-focus:active, .show-on-focus:focus {\n position: static !important;\n width: auto !important;\n height: auto !important;\n overflow: visible !important;\n clip: auto !important;\n white-space: normal !important; }\n\n.show-for-landscape,\n.hide-for-portrait {\n display: block !important; }\n @media screen and (orientation: landscape) {\n .show-for-landscape,\n .hide-for-portrait {\n display: block !important; } }\n @media screen and (orientation: portrait) {\n .show-for-landscape,\n .hide-for-portrait {\n display: none !important; } }\n\n.hide-for-landscape,\n.show-for-portrait {\n display: none !important; }\n @media screen and (orientation: landscape) {\n .hide-for-landscape,\n .show-for-portrait {\n display: none !important; } }\n @media screen and (orientation: portrait) {\n .hide-for-landscape,\n .show-for-portrait {\n display: block !important; } }\n","/**\n * Foundation for Sites\n * Version 6.6.3\n * https://get.foundation\n * Licensed under MIT Open Source\n */\n\n// --- Dependencies ---\n@import 'vendor/normalize';\n@import '../_vendor/sassy-lists/stylesheets/helpers/missing-dependencies';\n@import '../_vendor/sassy-lists/stylesheets/helpers/true';\n@import '../_vendor/sassy-lists/stylesheets/functions/contain';\n@import '../_vendor/sassy-lists/stylesheets/functions/purge';\n@import '../_vendor/sassy-lists/stylesheets/functions/remove';\n@import '../_vendor/sassy-lists/stylesheets/functions/replace';\n@import '../_vendor/sassy-lists/stylesheets/functions/to-list';\n\n// --- Settings ---\n// import your own `settings` here or\n// import and modify the default settings through\n// @import 'settings/settings';\n\n// --- Components ---\n// Utilities\n@import 'util/util';\n// Global styles\n@import 'global';\n@import 'forms/forms';\n@import 'typography/typography';\n\n// Grids\n@import 'grid/grid';\n@import 'xy-grid/xy-grid';\n// Generic components\n@import 'components/button';\n@import 'components/button-group';\n@import 'components/close-button';\n@import 'components/label';\n@import 'components/progress-bar';\n@import 'components/slider';\n@import 'components/switch';\n@import 'components/table';\n// Basic components\n@import 'components/badge';\n@import 'components/breadcrumbs';\n@import 'components/callout';\n@import 'components/card';\n@import 'components/dropdown';\n@import 'components/pagination';\n@import 'components/tooltip';\n\n// Containers\n@import 'components/accordion';\n@import 'components/media-object';\n@import 'components/orbit';\n@import 'components/responsive-embed';\n@import 'components/tabs';\n@import 'components/thumbnail';\n// Menu-based containers\n@import 'components/menu';\n@import 'components/menu-icon';\n@import 'components/accordion-menu';\n@import 'components/drilldown';\n@import 'components/dropdown-menu';\n\n// Layout components\n@import 'components/off-canvas';\n@import 'components/reveal';\n@import 'components/sticky';\n@import 'components/title-bar';\n@import 'components/top-bar';\n\n// Helpers\n@import 'components/float';\n@import 'components/flex';\n@import 'components/visibility';\n@import 'prototype/prototype';\n\n\n@mixin foundation-everything(\n $flex: true,\n $prototype: false,\n $xy-grid: $xy-grid\n) {\n @if $flex {\n $global-flexbox: true !global;\n }\n\n @if $xy-grid {\n $xy-grid: true !global;\n }\n\n // Global styles\n @include foundation-global-styles;\n @include foundation-forms;\n @include foundation-typography;\n\n // Grids\n @if not $flex {\n @include foundation-grid;\n }\n @else {\n @if $xy-grid {\n @include foundation-xy-grid-classes;\n }\n @else {\n @include foundation-flex-grid;\n }\n }\n\n // Generic components\n @include foundation-button;\n @include foundation-button-group;\n @include foundation-close-button;\n @include foundation-label;\n @include foundation-progress-bar;\n @include foundation-slider;\n @include foundation-switch;\n @include foundation-table;\n // Basic components\n @include foundation-badge;\n @include foundation-breadcrumbs;\n @include foundation-callout;\n @include foundation-card;\n @include foundation-dropdown;\n @include foundation-pagination;\n @include foundation-tooltip;\n\n // Containers\n @include foundation-accordion;\n @include foundation-media-object;\n @include foundation-orbit;\n @include foundation-responsive-embed;\n @include foundation-tabs;\n @include foundation-thumbnail;\n // Menu-based containers\n @include foundation-menu;\n @include foundation-menu-icon;\n @include foundation-accordion-menu;\n @include foundation-drilldown-menu;\n @include foundation-dropdown-menu;\n\n // Layout components\n @include foundation-off-canvas;\n @include foundation-reveal;\n @include foundation-sticky;\n @include foundation-title-bar;\n @include foundation-top-bar;\n\n // Helpers\n @include foundation-float-classes;\n @if $flex { @include foundation-flex-classes; }\n @include foundation-visibility-classes;\n @if $prototype { @include foundation-prototype-classes; }\n}\n","// Foundation for Sites\n// https://get.foundation\n// Licensed under MIT Open Source\n\n////\n/// @group breakpoints\n////\n\n/// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.\n/// @type Map\n$breakpoints: (\n small: 0,\n medium: 640px,\n large: 1024px,\n xlarge: 1200px,\n xxlarge: 1440px,\n) !default;\n\n/// A list of named HiDPI breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries for resolutions.\n/// Values must represent the device pixels / web pixels ration and be unitless or in DPPX.\n/// @type Map\n$breakpoints-hidpi: (\n hidpi-1: 1,\n hidpi-1-5: 1.5,\n hidpi-2: 2,\n retina: 2,\n hidpi-3: 3\n) !default;\n\n/// The largest named breakpoint in which to include print as a media type\n/// @type Keyword\n$print-breakpoint: large !default;\n\n$-zf-zero-breakpoint: small !default;\n\n$-zf-breakpoints-keys: map-to-list($breakpoints, 'keys');\n\n@if nth(map-values($breakpoints), 1) != 0 {\n @error 'The first key in the $breakpoints map must have a value of \"0\".';\n}\n@else {\n $-zf-zero-breakpoint: nth(map-keys($breakpoints), 1);\n}\n\n/// All of the names in this list will be output as classes in your CSS, like `.small-12`, `.medium-6`, and so on. Each value in this list must also be in the `$breakpoints` map.\n/// @type List\n$breakpoint-classes: (small medium large) !default;\n\n/// Generates a media query string matching the input value. Refer to the documentation for the `breakpoint()` mixin to see what the possible inputs are.\n///\n/// @param {Keyword|Number} $val [small] - Breakpoint name, or px, rem, or em value to process.\n@function breakpoint($val: $-zf-zero-breakpoint) {\n // Web standard Pixels per inch. (1ddpx / $std-web-dpi) = 1dpi\n // See https://www.w3.org/TR/css-values-3/#absolute-lengths\n $std-web-dpi: 96;\n\n // Size or keyword\n $bp: nth($val, 1);\n // Value of the following breakpoint\n $bp-next: null;\n // Value for max-width media queries\n $bp-min: null;\n // Value for min-width media queries\n $bp-max: null;\n // Direction of media query (up, down, or only)\n $dir: if(length($val) > 1, nth($val, 2), up);\n // If named, name of the breakpoint\n $name: null;\n // If the breakpoint is a HiDPI breakpoint\n $hidpi: false;\n\n // Orientation media queries have a unique syntax\n @if $bp == 'landscape' or $bp == 'portrait' {\n @return '(orientation: #{$bp})';\n }\n\n // If a breakpoint name is given, get its value from the $breakpoints/$breakpoints-hidpi map.\n @if type-of($bp) == 'string' {\n @if map-has-key($breakpoints, $bp) {\n $name: $bp;\n $bp: map-get($breakpoints, $name);\n $bp-next: -zf-map-next($breakpoints, $name);\n }\n @else if map-has-key($breakpoints-hidpi, $bp) {\n $name: $bp;\n $bp: map-get($breakpoints-hidpi, $name);\n $bp-next: -zf-map-next-number($breakpoints-hidpi, $bp);\n $hidpi: true;\n }\n @else {\n $bp: 0;\n @warn 'breakpoint(): \"#{$val}\" is not defined in your `$breakpoints` or `$breakpoints-hidpi` setting.';\n }\n }\n\n @if not $name and $dir == 'only' {\n @warn 'breakpoint(): Only named media queries can have an `only` range.';\n @return null;\n }\n\n // Only 'only' and 'up' have a min limit.\n @if $dir == 'only' or $dir == 'up' {\n $bp-min: if($hidpi, strip-unit($bp), -zf-bp-to-em($bp));\n }\n // Only 'only' and 'down' have a max limit.\n @if $dir == 'only' or $dir == 'down' {\n // If the breakpoint is a value, use it as max limit.\n @if not $name {\n $bp-max: if($hidpi, strip-unit($bp), -zf-bp-to-em($bp));\n }\n // If the breakpoint is named, the max limit is the following breakpoint - 1px.\n @else if $bp-next {\n // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).\n // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.\n // See https://github.com/foundation/foundation-sites/issues/11313\n $bp-max: if($hidpi, $bp-next - (1/$std-web-dpi), -zf-bp-to-em($bp-next) - 0.00125);\n }\n }\n\n // Generate the media query string from min and max limits.\n @if $hidpi {\n // Generate values in DPI instead of DPPX for an IE9-11/Opera mini compatibility.\n // See https://caniuse.com/#feat=css-media-resolution\n $bp-min-dpi: if($bp-min, $bp-min * $std-web-dpi * 1dpi, $bp-min);\n $bp-max-dpi: if($bp-max, $bp-max * $std-web-dpi * 1dpi, $bp-max);\n @return zf-str-join(\n -zf-bp-join($bp-min, $bp-max, '-webkit-min-device-pixel-ratio', '-webkit-max-device-pixel-ratio'),\n -zf-bp-join($bp-min-dpi, $bp-max-dpi, 'min-resolution', 'max-resolution'),\n ', ');\n }\n @else {\n @return -zf-bp-join($bp-min, $bp-max);\n }\n}\n\n/// Wraps a media query around the content you put inside the mixin. This mixin accepts a number of values:\n/// - If a string is passed, the mixin will look for it in the `$breakpoints` and `$breakpoints-hidpi` maps, and use a media query there.\n/// - If a pixel value is passed, it will be converted to an em value using `$global-font-size` as the base.\n/// - If a rem value is passed, the unit will be changed to em.\n/// - If an em value is passed, the value will be used as-is.\n///\n/// If multiple values are passed, the mixin will generate a media query for each of them as described above.\n/// Since the content is duplicated for each breakpoint, this mixin should only be used with properties that\n/// change across breakpoints.\n///\n/// @param {Keyword|Number} $values... - Breakpoint name or px/rem/em value to process.\n///\n/// @output If the breakpoint is \"0px and larger\", outputs the content as-is. Otherwise, outputs the content wrapped in a media query.\n@mixin breakpoint($values...) {\n @for $i from 1 through length($values) {\n $value: nth($values, $i);\n $str: breakpoint($value);\n $bp: index($-zf-breakpoints-keys, nth($value, 1));\n $pbp: index($-zf-breakpoints-keys, $print-breakpoint);\n // Direction of media query (up, down, or only)\n $dir: if(length($value) > 1, nth($value, 2), up);\n\n $old-zf-size: null;\n\n // Make breakpoint size available as a variable\n @if global-variable-exists(-zf-size) {\n $old-zf-size: $-zf-size;\n }\n $-zf-size: nth($value, 1) !global; // get the first value to account for `only` and `down` keywords\n\n // If $str is still an empty string, no media query is needed\n @if $str == '' {\n @content;\n }\n\n // Otherwise, wrap the content in a media query\n @else {\n // For named breakpoints less than or equal to $print-breakpoint, add print to the media types\n // generate print if the breakpoint affects the print-breakpoint (or smaller).\n // This means the current condition only needs to be extended so 'down' always generates print.\n @if $bp != null and ($bp <= $pbp or $dir == down) {\n @media print, screen and #{$str} {\n @content;\n }\n }\n @else {\n @media screen and #{$str} {\n @content;\n }\n }\n }\n\n $-zf-size: $old-zf-size !global;\n }\n}\n\n/// Converts the breakpoints map to a URL-encoded string, like this: `key1=value1&key2=value2`. The value is then dropped into the CSS for a special `` tag, which is read by the Foundation JavaScript. This is how we transfer values from Sass to JavaScript, so they can be defined in one place.\n/// @access private\n///\n/// @param {Map} $map - Map to convert.\n///\n/// @returns {String} A string containing the map's contents.\n@function -zf-bp-serialize($map) {\n $str: '';\n @each $key, $value in $map {\n $str: $str + $key + '=' + -zf-bp-to-em($value) + '&';\n }\n $str: str-slice($str, 1, -2);\n\n @return $str;\n}\n\n/// Find the next key in a map.\n/// @access private\n///\n/// @param {Map} $map - Map to traverse.\n/// @param {Mixed} $key - Key to use as a starting point.\n///\n/// @returns {Mixed} The value for the key after `$key`, if `$key` was found. If `$key` was not found, or `$key` was the last value in the map, returns `null`.\n@function -zf-map-next($map, $key) {\n\n // Store the keys of the map as a list\n $values: map-keys($map);\n\n $i: 0;\n\n // If the Key Exists, Get the index of the key within the map and add 1 to it for the next breakpoint in the map\n @if (map-has-key($map, $key)) {\n $i: index($values, $key) + 1;\n }\n\n // If the key doesn't exist, or it's the last key in the map, return null\n @if ($i > length($map) or $i == 0) {\n @return null;\n }\n // Otherwise, return the value\n @else {\n @return map-get($map, nth($values, $i));\n }\n\n}\n\n/// Find the next number in a map.\n/// @access private\n///\n/// @param {Map} $map - Map to traverse.\n/// @param {Mixed} $number - Number to use as a starting point.\n///\n/// @returns {Mixed} The number following `$number`, if `$number` was found. If `$number` was not found, or `$number` was the biggest number in the map, returns `null`.\n@function -zf-map-next-number($map, $number) {\n\n $next_number: null;\n\n @each $k, $v in $map {\n @if type-of($v) == 'number' and $v > $number and ($next_number == null or $v < $next_number) {\n $next_number: $v;\n }\n }\n\n @return $next_number;\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $key - Key to use as last breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-breakpoints-less-than($key) {\n $list: ();\n $found_key: false;\n\n @each $name in $-zf-breakpoints-keys {\n @if ($name == $key) {\n $found_key: true;\n }\n @if not $found_key {\n $list: append($list, $name);\n }\n }\n @return $list;\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $breakpoint - a named or non-named breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-closest-named-breakpoint($breakpoint) {\n $last: $-zf-zero-breakpoint;\n $found: false;\n\n $value: unitless-calc($breakpoint, 1px);\n @each $key, $val in $breakpoints {\n @if not $found {\n @if unitless-calc($val) > $value {\n $found: true;\n } @else {\n $last: $key;\n }\n }\n }\n\n @return $last;\n}\n\n/// Get a value for a breakpoint from a responsive config map or single value.\n/// - If the config is a single value, return it regardless of `$value`.\n/// - If the config is a map and has the key `$value`, the exact breakpoint value is returned.\n/// - If the config is a map and does *not* have the breakpoint, the value matching the next lowest breakpoint in the config map is returned.\n/// @access private\n///\n/// @param {Number|Map} $map - Responsive config map or single value.\n/// @param {Keyword} $value - Breakpoint name to use.\n///\n/// @return {Mixed} The corresponding breakpoint value.\n@function -zf-get-bp-val($map, $value) {\n // If the given map is a single value, return it\n @if type-of($map) == 'number' {\n @return $map;\n }\n\n\n // Check if the breakpoint name exists globally\n @if not map-has-key($breakpoints, $value) {\n @if type-of($value) == 'number' {\n $value: -zf-closest-named-breakpoint($value);\n } @else {\n @return null;\n }\n }\n // Check if the breakpoint name exists in the local config map\n @else if map-has-key($map, $value) {\n // If it does, just return the value\n @return map-get($map, $value);\n }\n // Otherwise, find the next lowest breakpoint and return that value\n @else {\n $anchor: null;\n $found: false;\n\n @each $key, $val in $breakpoints {\n @if not $found {\n @if map-has-key($map, $key) {\n $anchor: $key;\n }\n @if $key == $value {\n $found: true;\n }\n }\n }\n\n @return map-get($map, $anchor);\n }\n}\n\n/// Return the best breakpoint to use according to the calling context. It returns in order:\n/// 1. the given `$value` argument if it is not null.\n/// 2. the global breakpoint context `$-zf-size` if it is not null (like if called inside then `breakpoint()` mixin)\n/// 3. the given `$default` argument.\n/// @access private\n///\n/// @param {Keyword} $value [null] - Breakpoint to use in priority if non-null.\n/// @param {Keyword} $default [null] - Breakpoint to use by default if no other value can be used.\n///\n/// @return {Keyword} The resolved breakpoint.\n@function -zf-current-breakpoint($value: null, $default: null) {\n @if ($value != null) {\n @return $value;\n }\n @else if (variable-exists(-zf-size) and type-of($-zf-size) != 'number') and $-zf-size != null {\n @return $-zf-size;\n }\n @else {\n @return $default;\n }\n}\n\n/// Return media query string from the given min and/or max limits.\n/// If a limit is equal to `null` or `0`, it is ignored.\n/// @access private\n///\n/// @param {Number} $min [0] - Min media query limit.\n/// @param {Number} $max [0] - Max media query limit.\n/// @param {String} $min-name ['min-width'] - Name of the min media query limit.\n/// @param {String} $delimiter ['max-width'] - Name of the max media query limit.\n///\n/// @returns {String} Media Query string.\n@function -zf-bp-join(\n $min: 0,\n $max: 0,\n $min-name: 'min-width',\n $max-name: 'max-width'\n) {\n @return zf-str-join(\n if($min and $min > 0, '(#{$min-name}: #{$min})', null),\n if($max and $max > 0, '(#{$max-name}: #{$max})', null),\n ' and ');\n}\n\n$small-up: '';\n$small-only: '';\n\n@if map-has-key($breakpoints, small) {\n $small-up: screen;\n $small-only: unquote('screen and #{breakpoint(small only)}');\n}\n\n$medium-up: '';\n$medium-only: '';\n\n@if map-has-key($breakpoints, medium) {\n $medium-up: unquote('screen and #{breakpoint(medium)}');\n $medium-only: unquote('screen and #{breakpoint(medium only)}');\n}\n\n$large-up: '';\n$large-only: '';\n\n@if map-has-key($breakpoints, large) {\n $large-up: unquote('screen and #{breakpoint(large)}');\n $large-only: unquote('screen and #{breakpoint(large only)}');\n}\n\n$xlarge-up: '';\n$xlarge-only: '';\n\n@if map-has-key($breakpoints, xlarge) {\n $xlarge-up: unquote('screen and #{breakpoint(xlarge)}');\n $xlarge-only: unquote('screen and #{breakpoint(xlarge only)}');\n}\n\n$xxlarge-up: '';\n\n@if map-has-key($breakpoints, xxlarge) {\n $xxlarge-up: unquote('screen and #{breakpoint(xxlarge)}');\n}\n","// Foundation for Sites\n// https://get.foundation\n// Licensed under MIT Open Source\n\n////\n/// @group reveal\n////\n\n/// Default background color of a modal.\n/// @type Color\n$reveal-background: $white !default;\n\n/// Default width of a modal, with no class applied.\n/// @type Number\n$reveal-width: 600px !default;\n\n/// Default maximum width of a modal.\n/// @type Number\n$reveal-max-width: $global-width !default;\n\n/// Default padding inside a modal.\n/// @type Number\n$reveal-padding: $global-padding !default;\n\n/// Default border around a modal.\n/// @type Number\n$reveal-border: 1px solid $medium-gray !default;\n\n/// Default radius for modal.\n/// @type Number\n$reveal-radius: $global-radius !default;\n\n/// z-index for modals. The overlay uses this value, while the modal itself uses this value plus one.\n/// @type Number\n$reveal-zindex: 1005 !default;\n\n/// Background color of modal overlays.\n/// @type Color\n$reveal-overlay-background: rgba($black, 0.45) !default;\n\n\n// Placeholder selector for medium-and-up modals\n// Prevents duplicate CSS when defining multiple Reveal sizes\n// This should be in the same breakpoint then `@mixin reveal-modal-width`\n@include breakpoint(medium) {\n %reveal-centered {\n right: auto;\n left: auto;\n margin: 0 auto;\n }\n}\n\n\n/// Adds styles for a modal overlay.\n/// @param {Color} $background [$reveal-overlay-background] - Background color of the overlay.\n@mixin reveal-overlay($background: $reveal-overlay-background) {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: $reveal-zindex;\n\n display: none;\n background-color: $background;\n overflow-y: auto;\n}\n\n/// Adds base styles for a modal.\n@mixin reveal-modal-base {\n @include disable-mouse-outline;\n z-index: $reveal-zindex + 1;\n // Workaround android browser z-index bug\n backface-visibility: hidden;\n\n display: none;\n padding: $reveal-padding;\n\n border: $reveal-border;\n border-radius: $reveal-radius;\n background-color: $reveal-background;\n\n @include breakpoint(medium) {\n min-height: 0;\n }\n\n // Make sure rows don't have a min-width on them\n .column {\n min-width: 0;\n }\n\n // Strip margins from the last item in the modal\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n/// Adjusts the width of a modal.\n/// @param {Number} $width - Width of the modal. Generally a percentage.\n/// @param {Number} $max-width [$reveal-max-width] - Maximum width of the modal.\n@mixin reveal-modal-width(\n $width: $reveal-width,\n $max-width: $reveal-max-width\n) {\n // Extends must be made outside of breakpoints for compatibility with newer Sass versions (libsass v3.5)\n @extend %reveal-centered;\n @include breakpoint(medium) {\n width: $width;\n max-width: $max-width;\n }\n}\n\n/// Creates a full-screen modal, which stretches the full width and height of the window.\n@mixin reveal-modal-fullscreen {\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n width: 100%;\n max-width: none;\n height: 100%;\n min-height: 100%;\n margin-left: 0;\n\n border: 0;\n border-radius: 0;\n}\n\n@mixin foundation-reveal {\n\n /// Disables the scroll when Reveal is shown to prevent the background from shifting\n html.is-reveal-open {\n position: fixed;\n width: 100%;\n overflow-y: hidden;\n\n &.zf-has-scroll {\n overflow-y: scroll;\n }\n\n body { // sass-lint:disable-line no-qualifying-elements\n overflow-y: hidden;\n }\n }\n\n // Overlay\n .reveal-overlay {\n @include reveal-overlay;\n }\n\n // Modal container\n .reveal {\n @include reveal-modal-base;\n @include reveal-modal-width($reveal-width);\n position: relative;\n top: 100px;\n margin-right: auto;\n margin-left: auto;\n overflow-y: auto;\n\n // Remove padding\n &.collapse {\n padding: 0;\n }\n\n // Sizing classes\n &.tiny { @include reveal-modal-width(30%); }\n &.small { @include reveal-modal-width(50%); }\n &.large { @include reveal-modal-width(90%); }\n\n // Full-screen mode\n &.full {\n @include reveal-modal-fullscreen;\n }\n\n @include breakpoint($-zf-zero-breakpoint only) {\n @include reveal-modal-fullscreen;\n }\n\n &.without-overlay {\n position: fixed;\n }\n }\n}\n","@mixin foundation-normalize() {\n /*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\n\n // Document\n // ==========================================================================\n\n // 1. Correct the line height in all browsers.\n // 2. Prevent adjustments of font size after orientation changes in iOS.\n\n html {\n line-height: 1.15; // 1\n -webkit-text-size-adjust: 100%; // 2\n }\n\n // Sections\n // ==========================================================================\n\n // Remove the margin in all browsers.\n\n body {\n margin: 0;\n }\n\n // Correct the font size and margin on `h1` elements within `section` and\n // `article` contexts in Chrome, Firefox, and Safari.\n\n h1 {\n font-size: 2em;\n margin: 0.67em 0;\n }\n\n // Grouping content\n // ==========================================================================\n\n // 1. Add the correct box sizing in Firefox.\n // 2. Show the overflow in Edge and IE.\n\n hr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n }\n\n // 1. Correct the inheritance and scaling of font size in all browsers.\n // 2. Correct the odd `em` font sizing in all browsers.\n\n pre {\n font-family: monospace, monospace; // 1\n font-size: 1em; // 2\n }\n\n // Text-level semantics\n // ==========================================================================\n\n // Remove the gray background on active links in IE 10.\n\n a {\n background-color: transparent;\n }\n\n // 1. Remove the bottom border in Chrome 57-\n // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n\n abbr[title] {\n border-bottom: none; // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n }\n\n // Add the correct font weight in Chrome, Edge, and Safari.\n\n b,\n strong {\n font-weight: bolder;\n }\n\n // 1. Correct the inheritance and scaling of font size in all browsers.\n // 2. Correct the odd `em` font sizing in all browsers.\n\n code,\n kbd,\n samp {\n font-family: monospace, monospace; // 1\n font-size: 1em; // 2\n }\n\n // Add the correct font size in all browsers.\n\n small {\n font-size: 80%;\n }\n\n // Prevent `sub` and `sup` elements from affecting the line height in\n // all browsers.\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n // Embedded content\n // ==========================================================================\n\n // Remove the border on images inside links in IE 10.\n\n img {\n border-style: none;\n }\n\n // Forms\n // ==========================================================================\n\n // 1. Change the font styles in all browsers.\n // 2. Remove the margin in Firefox and Safari.\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit; // 1\n font-size: 100%; // 1\n line-height: 1.15; // 1\n margin: 0; // 2\n }\n\n // Show the overflow in IE.\n // 1. Show the overflow in Edge.\n\n button,\n input { // 1\n overflow: visible;\n }\n\n // Remove the inheritance of text transform in Edge, Firefox, and IE.\n // 1. Remove the inheritance of text transform in Firefox.\n\n button,\n select { // 1\n text-transform: none;\n }\n\n // Correct the inability to style clickable types in iOS and Safari.\n\n button,\n [type=\"button\"],\n [type=\"reset\"],\n [type=\"submit\"] {\n -webkit-appearance: button;\n }\n\n // Remove the inner border and padding in Firefox.\n\n button::-moz-focus-inner,\n [type=\"button\"]::-moz-focus-inner,\n [type=\"reset\"]::-moz-focus-inner,\n [type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n // Restore the focus styles unset by the previous rule.\n\n button:-moz-focusring,\n [type=\"button\"]:-moz-focusring,\n [type=\"reset\"]:-moz-focusring,\n [type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n // Correct the padding in Firefox.\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n // 1. Correct the text wrapping in Edge and IE.\n // 2. Correct the color inheritance from `fieldset` elements in IE.\n // 3. Remove the padding so developers are not caught out when they zero out\n // `fieldset` elements in all browsers.\n\n legend {\n box-sizing: border-box; // 1\n color: inherit; // 2\n display: table; // 1\n max-width: 100%; // 1\n padding: 0; // 3\n white-space: normal; // 1\n }\n\n // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n progress {\n vertical-align: baseline;\n }\n\n // Remove the default vertical scrollbar in IE 10+.\n\n textarea {\n overflow: auto;\n }\n\n // 1. Add the correct box sizing in IE 10.\n // 2. Remove the padding in IE 10.\n\n [type=\"checkbox\"],\n [type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n }\n\n // Correct the cursor style of increment and decrement buttons in Chrome.\n\n [type=\"number\"]::-webkit-inner-spin-button,\n [type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n // 1. Correct the odd appearance in Chrome and Safari.\n // 2. Correct the outline style in Safari.\n\n [type=\"search\"] {\n -webkit-appearance: textfield; // 1\n outline-offset: -2px; // 2\n }\n\n // Remove the inner padding in Chrome and Safari on macOS.\n\n [type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n // 1. Correct the inability to style clickable types in iOS and Safari.\n // 2. Change font properties to `inherit` in Safari.\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button; // 1\n font: inherit; // 2\n }\n\n // Interactive\n // ==========================================================================\n\n // Add the correct display in Edge, IE 10+, and Firefox.\n\n details {\n display: block;\n }\n\n // Add the correct display in all browsers.\n\n summary {\n display: list-item;\n }\n\n // Misc\n // ==========================================================================\n\n // Add the correct display in IE 10+.\n\n template {\n display: none;\n }\n\n // Add the correct display in IE 10.\n\n [hidden] {\n display: none;\n }\n}\n","// Foundation for Sites\n// https://get.foundation\n// Licensed under MIT Open Source\n\n// sass-lint:disable no-color-literals, no-qualifying-elements\n\n////\n/// @group global\n////\n\n@import 'util/util';\n\n/// Font size attribute applied to `` and ``. We use 100% by default so the value is inherited from the user's browser settings.\n/// @type Number\n$global-font-size: 100% !default;\n\n/// Global width of your site. Used by the grid to determine row width.\n/// @type Number\n$global-width: rem-calc(1200) !default;\n\n/// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px\n/// @type Number\n$global-lineheight: 1.5 !default;\n\n/// Colors used for buttons, callouts, links, etc. There must always be a color called `primary`.\n/// @type Map\n$foundation-palette: (\n primary: #1779ba,\n secondary: #767676,\n success: #3adb76,\n warning: #ffae00,\n alert: #cc4b37,\n) !default;\n\n/// Color used for light gray UI items.\n/// @type Color\n$light-gray: #e6e6e6 !default;\n\n/// Color used for medium gray UI items.\n/// @type Color\n$medium-gray: #cacaca !default;\n\n/// Color used for dark gray UI items.\n/// @type Color\n$dark-gray: #8a8a8a !default;\n\n/// Color used for black ui items.\n/// @type Color\n$black: #0a0a0a !default;\n\n/// Color used for white ui items.\n/// @type Color\n$white: #fefefe !default;\n\n/// Background color of the body.\n/// @type Color\n$body-background: $white !default;\n\n/// Text color of the body.\n/// @type Color\n$body-font-color: $black !default;\n\n/// Font stack of the body.\n/// @type List\n$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif !default;\n\n/// Set to `true` to enable antialiased type, using the `-webkit-font-smoothing` and `-moz-osx-font-smoothing` CSS properties.\n/// @type Boolean\n$body-antialiased: true !default;\n\n/// Global value used for margin on components.\n/// @type Number\n$global-margin: 1rem !default;\n\n/// Global value used for padding on components.\n/// @type Number\n$global-padding: 1rem !default;\n\n/// Global value used for positioning on components.\n/// @type Number\n$global-position: 1rem !default;\n\n/// Global font weight used for normal type.\n/// @type Keyword | Number\n$global-weight-normal: normal !default;\n\n/// Global font weight used for bold type.\n/// @type Keyword | Number\n$global-weight-bold: bold !default;\n\n/// Global value used for all elements that have a border radius.\n/// @type Number\n$global-radius: 0 !default;\n\n/// Global value used for all menu styles. Can be overwritten at individual menu component level.\n/// @type Number\n$global-menu-padding: 0.7rem 1rem !default;\n\n/// Global value used for all menu styles. Nested margin for submenu.\n$global-menu-nested-margin: 1rem !default;\n\n/// Sets the text direction of the CSS. Can be either `ltr` or `rtl`.\n/// @type Keyword\n$global-text-direction: ltr !default;\n\n/// Enables flexbox for components that support it.\n/// @type Boolean\n$global-flexbox: true !default;\n\n/// Enabled responsive breakpoints for prototypes if applicable\n/// @type Boolean\n$global-prototype-breakpoints: false !default;\n\n/// Button cursor's value, `auto` by default\n/// @type Keyword\n$global-button-cursor: auto !default;\n\n@if not map-has-key($foundation-palette, primary) {\n @error 'In $foundation-palette, you must have a color named \"primary\".';\n}\n\n// Internal variables used for text direction\n$global-left: if($global-text-direction == rtl, right, left);\n$global-right: if($global-text-direction == rtl, left, right);\n\n// Internal variable that contains the flex justifying options\n$-zf-flex-justify: -zf-flex-justify($global-text-direction);\n\n/// Global tolerance for color pick contrast.\n/// @type Number\n$global-color-pick-contrast-tolerance: 0 !default;\n\n// Internal variables used for colors\n@include add-foundation-colors;\n\n@mixin foundation-global-styles {\n @include foundation-normalize;\n\n // These styles are applied to a tag, which is read by the Foundation JavaScript\n .foundation-mq {\n font-family: '#{-zf-bp-serialize($breakpoints)}';\n }\n\n html {\n box-sizing: border-box;\n font-size: $global-font-size;\n }\n\n // Set box-sizing globally to handle padding and border widths\n *,\n *::before,\n *::after {\n box-sizing: inherit;\n }\n\n // Default body styles\n body {\n margin: 0;\n padding: 0;\n\n background: $body-background;\n\n font-family: $body-font-family;\n font-weight: $global-weight-normal;\n line-height: $global-lineheight;\n color: $body-font-color;\n\n @if ($body-antialiased) {\n -webkit-font-smoothing: antialiased; // sass-lint:disable-line no-vendor-prefixes\n -moz-osx-font-smoothing: grayscale; // sass-lint:disable-line no-vendor-prefixes\n }\n }\n\n img {\n // Get rid of gap under images by making them display: inline-block; by default\n display: inline-block;\n vertical-align: middle;\n\n // Grid defaults to get images and embeds to work properly\n max-width: 100%;\n height: auto;\n -ms-interpolation-mode: bicubic;\n }\n\n // Make sure textarea takes on height automatically\n textarea {\n height: auto;\n min-height: 50px;\n border-radius: $global-radius;\n }\n\n // Make select elements are 100% width by default\n select {\n box-sizing: border-box;\n width: 100%;\n border-radius: $global-radius;\n }\n\n // Styles Google Maps and MapQuest embeds properly\n // sass-lint:disable-line no-ids\n .map_canvas,\n .mqa-display {\n img,\n embed,\n object {\n max-width: none !important;\n }\n }\n\n // Reset ');\n } else {\n $elem.attr({\n 'aria-controls': subId,\n 'aria-expanded': isActive,\n 'id': linkId\n });\n }\n $sub.attr({\n 'aria-labelledby': linkId,\n 'aria-hidden': !isActive,\n 'role': 'group',\n 'id': subId\n });\n });\n this.$element.find('li').attr({\n 'role': 'treeitem'\n });\n var initPanes = this.$element.find('.is-active');\n if (initPanes.length) {\n initPanes.each(function() {\n _this.down($(this));\n });\n }\n this._events();\n }\n\n /**\n * Adds event handlers for items within the menu.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.find('li').each(function() {\n var $submenu = $(this).children('[data-submenu]');\n\n if ($submenu.length) {\n if (_this.options.submenuToggle) {\n $(this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function(e) {\n _this.toggle($submenu);\n });\n } else {\n $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function(e) {\n e.preventDefault();\n _this.toggle($submenu);\n });\n }\n }\n }).on('keydown.zf.accordionMenu', function(e) {\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement,\n $target = $element.children('[data-submenu]');\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n $prevElement = $elements.eq(Math.max(0, i-1)).find('a').first();\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1)).find('a').first();\n\n if ($(this).children('[data-submenu]:visible').length) { // has open sub menu\n $nextElement = $element.find('li:first-child').find('a').first();\n }\n if ($(this).is(':first-child')) { // is first element of sub menu\n $prevElement = $element.parents('li').first().find('a').first();\n } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) { // if previous element has open sub menu\n $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first();\n }\n if ($(this).is(':last-child')) { // is last element of sub menu\n $nextElement = $element.parents('li').first().next('li').find('a').first();\n }\n\n return;\n }\n });\n\n Keyboard.handleKey(e, 'AccordionMenu', {\n open: function() {\n if ($target.is(':hidden')) {\n _this.down($target);\n $target.find('li').first().find('a').first().focus();\n }\n },\n close: function() {\n if ($target.length && !$target.is(':hidden')) { // close active sub of this item\n _this.up($target);\n } else if ($element.parent('[data-submenu]').length) { // close currently open sub\n _this.up($element.parent('[data-submenu]'));\n $element.parents('li').first().find('a').first().focus();\n }\n },\n up: function() {\n $prevElement.focus();\n return true;\n },\n down: function() {\n $nextElement.focus();\n return true;\n },\n toggle: function() {\n if (_this.options.submenuToggle) {\n return false;\n }\n if ($element.children('[data-submenu]').length) {\n _this.toggle($element.children('[data-submenu]'));\n return true;\n }\n },\n closeAll: function() {\n _this.hideAll();\n },\n handled: function(preventDefault) {\n if (preventDefault) {\n e.preventDefault();\n }\n }\n });\n });//.attr('tabindex', 0);\n }\n\n /**\n * Closes all panes of the menu.\n * @function\n */\n hideAll() {\n this.up(this.$element.find('[data-submenu]'));\n }\n\n /**\n * Opens all panes of the menu.\n * @function\n */\n showAll() {\n this.down(this.$element.find('[data-submenu]'));\n }\n\n /**\n * Toggles the open/close state of a submenu.\n * @function\n * @param {jQuery} $target - the submenu to toggle\n */\n toggle($target) {\n if (!$target.is(':animated')) {\n if (!$target.is(':hidden')) {\n this.up($target);\n }\n else {\n this.down($target);\n }\n }\n }\n\n /**\n * Opens the sub-menu defined by `$target`.\n * @param {jQuery} $target - Sub-menu to open.\n * @fires AccordionMenu#down\n */\n down($target) {\n // If having multiple submenus active is disabled, close all the submenus\n // that are not parents or children of the targeted submenu.\n if (!this.options.multiOpen) {\n // The \"branch\" of the targetted submenu, from the component root to\n // the active submenus nested in it.\n const $targetBranch = $target.parentsUntil(this.$element)\n .add($target)\n .add($target.find('.is-active'));\n // All the active submenus that are not in the branch.\n const $othersActiveSubmenus = this.$element.find('.is-active').not($targetBranch);\n\n this.up($othersActiveSubmenus);\n }\n\n $target\n .addClass('is-active')\n .attr({ 'aria-hidden': false });\n\n if (this.options.submenuToggle) {\n $target.prev('.submenu-toggle').attr({'aria-expanded': true});\n }\n else {\n $target.parent('.is-accordion-submenu-parent').attr({'aria-expanded': true});\n }\n\n $target.slideDown(this.options.slideSpeed, () => {\n /**\n * Fires when the menu is done opening.\n * @event AccordionMenu#down\n */\n this.$element.trigger('down.zf.accordionMenu', [$target]);\n });\n }\n\n /**\n * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.\n * @param {jQuery} $target - Sub-menu to close.\n * @fires AccordionMenu#up\n */\n up($target) {\n const $submenus = $target.find('[data-submenu]');\n const $allmenus = $target.add($submenus);\n\n $submenus.slideUp(0);\n $allmenus\n .removeClass('is-active')\n .attr('aria-hidden', true);\n\n if (this.options.submenuToggle) {\n $allmenus.prev('.submenu-toggle').attr('aria-expanded', false);\n }\n else {\n $allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);\n }\n\n $target.slideUp(this.options.slideSpeed, () => {\n /**\n * Fires when the menu is done collapsing up.\n * @event AccordionMenu#up\n */\n this.$element.trigger('up.zf.accordionMenu', [$target]);\n });\n }\n\n /**\n * Destroys an instance of accordion menu.\n * @fires AccordionMenu#destroyed\n */\n _destroy() {\n this.$element.find('[data-submenu]').slideDown(0).css('display', '');\n this.$element.find('a').off('click.zf.accordionMenu');\n this.$element.find('[data-is-parent-link]').detach();\n\n if (this.options.submenuToggle) {\n this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle');\n this.$element.find('.submenu-toggle').remove();\n }\n\n Nest.Burn(this.$element, 'accordion');\n }\n}\n\nAccordionMenu.defaults = {\n /**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */\n parentLink: false,\n /**\n * Amount of time to animate the opening of a submenu in ms.\n * @option\n * @type {number}\n * @default 250\n */\n slideSpeed: 250,\n /**\n * Adds a separate submenu toggle button. This allows the parent item to have a link.\n * @option\n * @example true\n */\n submenuToggle: false,\n /**\n * The text used for the submenu toggle if enabled. This is used for screen readers only.\n * @option\n * @example true\n */\n submenuToggleText: 'Toggle menu',\n /**\n * Allow the menu to have multiple open panes.\n * @option\n * @type {boolean}\n * @default true\n */\n multiOpen: true\n};\n\nexport { AccordionMenu };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Nest } from './foundation.util.nest';\nimport { GetYoDigits, transitionend } from './foundation.core.utils';\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * Drilldown module.\n * @module foundation.drilldown\n * @requires foundation.util.keyboard\n * @requires foundation.util.nest\n * @requires foundation.util.box\n */\n\nclass Drilldown extends Plugin {\n /**\n * Creates a new instance of a drilldown menu.\n * @class\n * @name Drilldown\n * @param {jQuery} element - jQuery object to make into an accordion menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);\n this.className = 'Drilldown'; // ie9 back compat\n\n this._init();\n\n Keyboard.register('Drilldown', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'up',\n 'ARROW_DOWN': 'down',\n 'ARROW_LEFT': 'previous',\n 'ESCAPE': 'close',\n 'TAB': 'down',\n 'SHIFT_TAB': 'up'\n });\n }\n\n /**\n * Initializes the drilldown by creating jQuery collections of elements\n * @private\n */\n _init() {\n Nest.Feather(this.$element, 'drilldown');\n\n if(this.options.autoApplyClass) {\n this.$element.addClass('drilldown');\n }\n\n this.$element.attr({\n 'role': 'tree',\n 'aria-multiselectable': false\n });\n this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');\n this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group');\n this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'treeitem').find('a');\n\n // Set the main menu as current by default (unless a submenu is selected)\n // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu\n this.$currentMenu = this.$element;\n\n this.$element.attr('data-mutate', (this.$element.attr('data-drilldown') || GetYoDigits(6, 'drilldown')));\n\n this._prepareMenu();\n this._registerEvents();\n\n this._keyboardEvents();\n }\n\n /**\n * prepares drilldown menu by setting attributes to links and elements\n * sets a min height to prevent content jumping\n * wraps the element if not already wrapped\n * @private\n * @function\n */\n _prepareMenu() {\n var _this = this;\n // if(!this.options.holdOpen){\n // this._menuLinkEvents();\n // }\n this.$submenuAnchors.each(function(){\n var $link = $(this);\n var $sub = $link.parent();\n if(_this.options.parentLink){\n $link.clone().prependTo($sub.children('[data-submenu]')).wrap('
  • ');\n }\n $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0);\n $link.children('[data-submenu]')\n .attr({\n 'aria-hidden': true,\n 'tabindex': 0,\n 'role': 'group'\n });\n _this._events($link);\n });\n this.$submenus.each(function(){\n var $menu = $(this),\n $back = $menu.find('.js-drilldown-back');\n if(!$back.length){\n switch (_this.options.backButtonPosition) {\n case \"bottom\":\n $menu.append(_this.options.backButton);\n break;\n case \"top\":\n $menu.prepend(_this.options.backButton);\n break;\n default:\n console.error(\"Unsupported backButtonPosition value '\" + _this.options.backButtonPosition + \"'\");\n }\n }\n _this._back($menu);\n });\n\n this.$submenus.addClass('invisible');\n if(!this.options.autoHeight) {\n this.$submenus.addClass('drilldown-submenu-cover-previous');\n }\n\n // create a wrapper on element if it doesn't exist.\n if(!this.$element.parent().hasClass('is-drilldown')){\n this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');\n if(this.options.animateHeight) this.$wrapper.addClass('animate-height');\n this.$element.wrap(this.$wrapper);\n }\n // set wrapper\n this.$wrapper = this.$element.parent();\n this.$wrapper.css(this._getMaxDims());\n }\n\n _resize() {\n this.$wrapper.css({'max-width': 'none', 'min-height': 'none'});\n // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths\n this.$wrapper.css(this._getMaxDims());\n }\n\n /**\n * Adds event handlers to elements in the menu.\n * @function\n * @private\n * @param {jQuery} $elem - the current menu item to add handlers to.\n */\n _events($elem) {\n var _this = this;\n\n $elem.off('click.zf.drilldown')\n .on('click.zf.drilldown', function(e){\n if($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')){\n e.preventDefault();\n }\n\n // if(e.target !== e.currentTarget.firstElementChild){\n // return false;\n // }\n _this._show($elem.parent('li'));\n\n if(_this.options.closeOnClick){\n var $body = $('body');\n $body.off('.zf.drilldown').on('click.zf.drilldown', function(e){\n if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) { return; }\n e.preventDefault();\n _this._hideAll();\n $body.off('.zf.drilldown');\n });\n }\n });\n }\n\n /**\n * Adds event handlers to the menu element.\n * @function\n * @private\n */\n _registerEvents() {\n if(this.options.scrollTop){\n this._bindHandler = this._scrollTop.bind(this);\n this.$element.on('open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown',this._bindHandler);\n }\n this.$element.on('mutateme.zf.trigger', this._resize.bind(this));\n }\n\n /**\n * Scroll to Top of Element or data-scroll-top-element\n * @function\n * @fires Drilldown#scrollme\n */\n _scrollTop() {\n var _this = this;\n var $scrollTopElement = _this.options.scrollTopElement!=''?$(_this.options.scrollTopElement):_this.$element,\n scrollPos = parseInt($scrollTopElement.offset().top+_this.options.scrollTopOffset, 10);\n $('html, body').stop(true).animate({ scrollTop: scrollPos }, _this.options.animationDuration, _this.options.animationEasing,function(){\n /**\n * Fires after the menu has scrolled\n * @event Drilldown#scrollme\n */\n if(this===$('html')[0])_this.$element.trigger('scrollme.zf.drilldown');\n });\n }\n\n /**\n * Adds keydown event listener to `li`'s in the menu.\n * @private\n */\n _keyboardEvents() {\n var _this = this;\n\n this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function(e){\n var $element = $(this),\n $elements = $element.parent('li').parent('ul').children('li').children('a'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n return;\n }\n });\n\n Keyboard.handleKey(e, 'Drilldown', {\n next: function() {\n if ($element.is(_this.$submenuAnchors)) {\n _this._show($element.parent('li'));\n $element.parent('li').one(transitionend($element), function(){\n $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n });\n return true;\n }\n },\n previous: function() {\n _this._hide($element.parent('li').parent('ul'));\n $element.parent('li').parent('ul').one(transitionend($element), function(){\n setTimeout(function() {\n $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n }, 1);\n });\n return true;\n },\n up: function() {\n $prevElement.focus();\n // Don't tap focus on first element in root ul\n return !$element.is(_this.$element.find('> li:first-child > a'));\n },\n down: function() {\n $nextElement.focus();\n // Don't tap focus on last element in root ul\n return !$element.is(_this.$element.find('> li:last-child > a'));\n },\n close: function() {\n // Don't close on element in root ul\n if (!$element.is(_this.$element.find('> li > a'))) {\n _this._hide($element.parent().parent());\n $element.parent().parent().siblings('a').focus();\n }\n },\n open: function() {\n if (_this.options.parentLink && $element.attr('href')) { // Link with href\n return false;\n } else if (!$element.is(_this.$menuItems)) { // not menu item means back button\n _this._hide($element.parent('li').parent('ul'));\n $element.parent('li').parent('ul').one(transitionend($element), function(){\n setTimeout(function() {\n $element.parent('li').parent('ul').parent('li').children('a').first().focus();\n }, 1);\n });\n return true;\n } else if ($element.is(_this.$submenuAnchors)) { // Sub menu item\n _this._show($element.parent('li'));\n $element.parent('li').one(transitionend($element), function(){\n $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus();\n });\n return true;\n }\n },\n handled: function(preventDefault) {\n if (preventDefault) {\n e.preventDefault();\n }\n }\n });\n }); // end keyboardAccess\n }\n\n /**\n * Closes all open elements, and returns to root menu.\n * @function\n * @fires Drilldown#close\n * @fires Drilldown#closed\n */\n _hideAll() {\n var $elem = this.$element.find('.is-drilldown-submenu.is-active')\n $elem.addClass('is-closing');\n\n if (this.options.autoHeight) {\n const calcHeight = $elem.parent().closest('ul').data('calcHeight');\n this.$wrapper.css({ height: calcHeight });\n }\n\n /**\n * Fires when the menu is closing.\n * @event Drilldown#close\n */\n this.$element.trigger('close.zf.drilldown');\n\n $elem.one(transitionend($elem), () => {\n $elem.removeClass('is-active is-closing');\n\n /**\n * Fires when the menu is fully closed.\n * @event Drilldown#closed\n */\n this.$element.trigger('closed.zf.drilldown');\n });\n }\n\n /**\n * Adds event listener for each `back` button, and closes open menus.\n * @function\n * @fires Drilldown#back\n * @param {jQuery} $elem - the current sub-menu to add `back` event.\n */\n _back($elem) {\n var _this = this;\n $elem.off('click.zf.drilldown');\n $elem.children('.js-drilldown-back')\n .on('click.zf.drilldown', function(e){\n // console.log('mouseup on back');\n _this._hide($elem);\n\n // If there is a parent submenu, call show\n let parentSubMenu = $elem.parent('li').parent('ul').parent('li');\n if (parentSubMenu.length) {\n _this._show(parentSubMenu);\n }\n });\n }\n\n /**\n * Adds event listener to menu items w/o submenus to close open menus on click.\n * @function\n * @private\n */\n _menuLinkEvents() {\n var _this = this;\n this.$menuItems.not('.is-drilldown-submenu-parent')\n .off('click.zf.drilldown')\n .on('click.zf.drilldown', function(e){\n setTimeout(function(){\n _this._hideAll();\n }, 0);\n });\n }\n\n /**\n * Sets the CSS classes for submenu to show it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */\n _setShowSubMenuClasses($elem, trigger) {\n $elem.addClass('is-active').removeClass('invisible').attr('aria-hidden', false);\n $elem.parent('li').attr('aria-expanded', true);\n if (trigger === true) {\n this.$element.trigger('open.zf.drilldown', [$elem]);\n }\n }\n\n /**\n * Sets the CSS classes for submenu to hide it.\n * @function\n * @private\n * @param {jQuery} $elem - the target submenu (`ul` tag)\n * @param {boolean} trigger - trigger drilldown event\n */\n _setHideSubMenuClasses($elem, trigger) {\n $elem.removeClass('is-active').addClass('invisible').attr('aria-hidden', true);\n $elem.parent('li').attr('aria-expanded', false);\n if (trigger === true) {\n $elem.trigger('hide.zf.drilldown', [$elem]);\n }\n }\n\n /**\n * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible.\n * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the target (sub)menu (`ul` tag)\n * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused\n */\n _showMenu($elem, autoFocus) {\n\n var _this = this;\n\n // Reset drilldown\n var $expandedSubmenus = this.$element.find('li[aria-expanded=\"true\"] > ul[data-submenu]');\n $expandedSubmenus.each(function(index) {\n _this._setHideSubMenuClasses($(this));\n });\n\n // Save the menu as the currently displayed one.\n this.$currentMenu = $elem;\n\n // If target menu is root, focus first link & exit\n if ($elem.is('[data-drilldown]')) {\n if (autoFocus === true) $elem.find('li[role=\"treeitem\"] > a').first().focus();\n if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight'));\n return;\n }\n\n // Find all submenus on way to root incl. the element itself\n var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]');\n\n // Open target menu and all submenus on its way to root\n $submenus.each(function(index) {\n\n // Update height of first child (target menu) if autoHeight option true\n if (index === 0 && _this.options.autoHeight) {\n _this.$wrapper.css('height', $(this).data('calcHeight'));\n }\n\n var isLastChild = index == $submenus.length - 1;\n\n // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link\n // Last child makes sure the event gets always triggered even if going through several menus\n if (isLastChild === true) {\n $(this).one(transitionend($(this)), () => {\n if (autoFocus === true) {\n $elem.find('li[role=\"treeitem\"] > a').first().focus();\n }\n });\n }\n\n _this._setShowSubMenuClasses($(this), isLastChild);\n });\n }\n\n /**\n * Opens a submenu.\n * @function\n * @fires Drilldown#open\n * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.\n */\n _show($elem) {\n const $submenu = $elem.children('[data-submenu]');\n\n $elem.attr('aria-expanded', true);\n\n this.$currentMenu = $submenu;\n $submenu.addClass('is-active').removeClass('invisible').attr('aria-hidden', false);\n if (this.options.autoHeight) {\n this.$wrapper.css({ height: $submenu.data('calcHeight') });\n }\n\n /**\n * Fires when the submenu has opened.\n * @event Drilldown#open\n */\n this.$element.trigger('open.zf.drilldown', [$elem]);\n }\n\n /**\n * Hides a submenu\n * @function\n * @fires Drilldown#hide\n * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.\n */\n _hide($elem) {\n if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')});\n var _this = this;\n $elem.parent('li').attr('aria-expanded', false);\n $elem.attr('aria-hidden', true);\n $elem.addClass('is-closing')\n .one(transitionend($elem), function(){\n $elem.removeClass('is-active is-closing');\n $elem.blur().addClass('invisible');\n });\n /**\n * Fires when the submenu has closed.\n * @event Drilldown#hide\n */\n $elem.trigger('hide.zf.drilldown', [$elem]);\n }\n\n /**\n * Iterates through the nested menus to calculate the min-height, and max-width for the menu.\n * Prevents content jumping.\n * @function\n * @private\n */\n _getMaxDims() {\n var maxHeight = 0, result = {}, _this = this;\n\n // Recalculate menu heights and total max height\n this.$submenus.add(this.$element).each(function(){\n var numOfElems = $(this).children('li').length;\n var height = Box.GetDimensions(this).height;\n\n maxHeight = height > maxHeight ? height : maxHeight;\n\n if(_this.options.autoHeight) {\n $(this).data('calcHeight',height);\n }\n });\n\n if (this.options.autoHeight)\n result['height'] = this.$currentMenu.data('calcHeight');\n else\n result['min-height'] = `${maxHeight}px`;\n\n result['max-width'] = `${this.$element[0].getBoundingClientRect().width}px`;\n\n return result;\n }\n\n /**\n * Destroys the Drilldown Menu\n * @function\n */\n _destroy() {\n if(this.options.scrollTop) this.$element.off('.zf.drilldown',this._bindHandler);\n this._hideAll();\n\t this.$element.off('mutateme.zf.trigger');\n Nest.Burn(this.$element, 'drilldown');\n this.$element.unwrap()\n .find('.js-drilldown-back, .is-submenu-parent-item').remove()\n .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu')\n .end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');\n this.$submenuAnchors.each(function() {\n $(this).off('.zf.drilldown');\n });\n\n this.$element.find('[data-is-parent-link]').detach();\n this.$submenus.removeClass('drilldown-submenu-cover-previous invisible');\n\n this.$element.find('a').each(function(){\n var $link = $(this);\n $link.removeAttr('tabindex');\n if($link.data('savedHref')){\n $link.attr('href', $link.data('savedHref')).removeData('savedHref');\n }else{ return; }\n });\n };\n}\n\nDrilldown.defaults = {\n /**\n * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are\n * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization.\n * @option\n * @type {boolean}\n * @default true\n */\n autoApplyClass: true,\n /**\n * Markup used for JS generated back button. Prepended or appended (see backButtonPosition) to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '
  • Back
  • '\n */\n backButton: '
  • Back
  • ',\n /**\n * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.\n * @option\n * @type {string}\n * @default top\n */\n backButtonPosition: 'top',\n /**\n * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '
    '\n */\n wrapper: '
    ',\n /**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */\n parentLink: false,\n /**\n * Allow the menu to return to root list on body click.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * Allow the menu to auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n autoHeight: false,\n /**\n * Animate the auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n animateHeight: false,\n /**\n * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n * @option\n * @type {boolean}\n * @default false\n */\n scrollTop: false,\n /**\n * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n * @option\n * @type {string}\n * @default ''\n */\n scrollTopElement: '',\n /**\n * ScrollTop offset\n * @option\n * @type {number}\n * @default 0\n */\n scrollTopOffset: 0,\n /**\n * Scroll animation duration\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Scroll animation easing. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @see {@link https://api.jquery.com/animate|JQuery animate}\n * @default 'swing'\n */\n animationEasing: 'swing'\n // holdOpen: false\n};\n\nexport {Drilldown};\n","'use strict';\n\nimport { Box } from './foundation.util.box';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst POSITIONS = ['left', 'right', 'top', 'bottom'];\nconst VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center'];\nconst HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center'];\n\nconst ALIGNMENTS = {\n 'left': VERTICAL_ALIGNMENTS,\n 'right': VERTICAL_ALIGNMENTS,\n 'top': HORIZONTAL_ALIGNMENTS,\n 'bottom': HORIZONTAL_ALIGNMENTS\n}\n\nfunction nextItem(item, array) {\n var currentIdx = array.indexOf(item);\n if(currentIdx === array.length - 1) {\n return array[0];\n } else {\n return array[currentIdx + 1];\n }\n}\n\n\nclass Positionable extends Plugin {\n /**\n * Abstract class encapsulating the tether-like explicit positioning logic\n * including repositioning based on overlap.\n * Expects classes to define defaults for vOffset, hOffset, position,\n * alignment, allowOverlap, and allowBottomOverlap. They can do this by\n * extending the defaults, or (for now recommended due to the way docs are\n * generated) by explicitly declaring them.\n *\n **/\n\n _init() {\n this.triedPositions = {};\n this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position;\n this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment;\n this.originalPosition = this.position;\n this.originalAlignment = this.alignment;\n }\n\n _getDefaultPosition () {\n return 'bottom';\n }\n\n _getDefaultAlignment() {\n switch(this.position) {\n case 'bottom':\n case 'top':\n return Rtl() ? 'right' : 'left';\n case 'left':\n case 'right':\n return 'bottom';\n }\n }\n\n /**\n * Adjusts the positionable possible positions by iterating through alignments\n * and positions.\n * @function\n * @private\n */\n _reposition() {\n if(this._alignmentsExhausted(this.position)) {\n this.position = nextItem(this.position, POSITIONS);\n this.alignment = ALIGNMENTS[this.position][0];\n } else {\n this._realign();\n }\n }\n\n /**\n * Adjusts the dropdown pane possible positions by iterating through alignments\n * on the current position.\n * @function\n * @private\n */\n _realign() {\n this._addTriedPosition(this.position, this.alignment)\n this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position])\n }\n\n _addTriedPosition(position, alignment) {\n this.triedPositions[position] = this.triedPositions[position] || []\n this.triedPositions[position].push(alignment);\n }\n\n _positionsExhausted() {\n var isExhausted = true;\n for(var i = 0; i < POSITIONS.length; i++) {\n isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]);\n }\n return isExhausted;\n }\n\n _alignmentsExhausted(position) {\n return this.triedPositions[position] && this.triedPositions[position].length == ALIGNMENTS[position].length;\n }\n\n\n // When we're trying to center, we don't want to apply offset that's going to\n // take us just off center, so wrap around to return 0 for the appropriate\n // offset in those alignments. TODO: Figure out if we want to make this\n // configurable behavior... it feels more intuitive, especially for tooltips, but\n // it's possible someone might actually want to start from center and then nudge\n // slightly off.\n _getVOffset() {\n return this.options.vOffset;\n }\n\n _getHOffset() {\n return this.options.hOffset;\n }\n\n _setPosition($anchor, $element, $parent) {\n if($anchor.attr('aria-expanded') === 'false'){ return false; }\n\n if (!this.options.allowOverlap) {\n // restore original position & alignment before checking overlap\n this.position = this.originalPosition;\n this.alignment = this.originalAlignment;\n }\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n\n if(!this.options.allowOverlap) {\n var minOverlap = 100000000;\n // default coordinates to how we start, in case we can't figure out better\n var minCoordinates = {position: this.position, alignment: this.alignment};\n while(!this._positionsExhausted()) {\n let overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap);\n if(overlap === 0) {\n return;\n }\n\n if(overlap < minOverlap) {\n minOverlap = overlap;\n minCoordinates = {position: this.position, alignment: this.alignment};\n }\n\n this._reposition();\n\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n // If we get through the entire loop, there was no non-overlapping\n // position available. Pick the version with least overlap.\n this.position = minCoordinates.position;\n this.alignment = minCoordinates.alignment;\n $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset()));\n }\n }\n\n}\n\nPositionable.defaults = {\n /**\n * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown positionable first\n * try to position as defined by data-position and data-alignment, but\n * reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Number of pixels the positionable should be separated vertically from anchor\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels the positionable should be separated horizontally from anchor\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n}\n\nexport {Positionable};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { Positionable } from './foundation.positionable';\n\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n */\nclass Dropdown extends Positionable {\n /**\n * Creates a new instance of a dropdown.\n * @class\n * @name Dropdown\n * @param {jQuery} element - jQuery object to make into a dropdown.\n * Object should be of the dropdown panel, rather than its anchor.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n this.className = 'Dropdown'; // ie9 back compat\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Dropdown', {\n 'ENTER': 'toggle',\n 'SPACE': 'toggle',\n 'ESCAPE': 'close'\n });\n }\n\n /**\n * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n * @function\n * @private\n */\n _init() {\n var $id = this.$element.attr('id');\n\n this.$anchors = $(`[data-toggle=\"${$id}\"]`).length ? $(`[data-toggle=\"${$id}\"]`) : $(`[data-open=\"${$id}\"]`);\n this.$anchors.attr({\n 'aria-controls': $id,\n 'data-is-focus': false,\n 'data-yeti-box': $id,\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n\n this._setCurrentAnchor(this.$anchors.first());\n\n if(this.options.parentClass){\n this.$parent = this.$element.parents('.' + this.options.parentClass);\n }else{\n this.$parent = null;\n }\n\n // Set [aria-labelledby] on the Dropdown if it is not set\n if (typeof this.$element.attr('aria-labelledby') === 'undefined') {\n // Get the anchor ID or create one\n if (typeof this.$currentAnchor.attr('id') === 'undefined') {\n this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor'));\n }\n\n this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));\n }\n\n this.$element.attr({\n 'aria-hidden': 'true',\n 'data-yeti-box': $id,\n 'data-resize': $id,\n });\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/(top|left|right|bottom)/g);\n if(position) {\n return position[0];\n } else {\n return 'bottom'\n }\n }\n\n _getDefaultAlignment() {\n // handle legacy float approach\n var horizontalPosition = /float-(\\S+)/.exec(this.$currentAnchor.attr('class'));\n if(horizontalPosition) {\n return horizontalPosition[1];\n }\n\n return super._getDefaultAlignment();\n }\n\n\n\n /**\n * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.\n * Recursively calls itself if a collision is detected, with a new position class.\n * @function\n * @private\n */\n _setPosition() {\n this.$element.removeClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n super._setPosition(this.$currentAnchor, this.$element, this.$parent);\n this.$element.addClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n }\n\n /**\n * Make it a current anchor.\n * Current anchor as the reference for the position of Dropdown panes.\n * @param {HTML} el - DOM element of the anchor.\n * @function\n * @private\n */\n _setCurrentAnchor(el) {\n this.$currentAnchor = $(el);\n }\n\n /**\n * Adds event listeners to the element utilizing the triggers utility library.\n * @function\n * @private\n */\n _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': this._setPosition.bind(this)\n });\n\n this.$anchors.off('click.zf.trigger')\n .on('click.zf.trigger', function(e) {\n _this._setCurrentAnchor(this);\n\n if (\n // if forceFollow false, always prevent default action\n (_this.options.forceFollow === false) ||\n // if forceFollow true and hover option true, only prevent default action on 1st click\n // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed\n (hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false)\n ) {\n e.preventDefault();\n }\n });\n\n if(this.options.hover){\n this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n _this._setCurrentAnchor(this);\n\n var bodyData = $('body').data();\n if(typeof(bodyData.whatinput) === 'undefined' || bodyData.whatinput === 'mouse') {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.open();\n _this.$anchors.data('hover', true);\n }, _this.options.hoverDelay);\n }\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n if(this.options.hoverPane){\n this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n clearTimeout(_this.timeout);\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n }\n }\n this.$anchors.add(this.$element).on('keydown.zf.dropdown', function(e) {\n\n var $target = $(this),\n visibleFocusableElements = Keyboard.findFocusable(_this.$element);\n\n Keyboard.handleKey(e, 'Dropdown', {\n open: function() {\n if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {\n _this.open();\n _this.$element.attr('tabindex', -1).focus();\n e.preventDefault();\n }\n },\n close: function() {\n _this.close();\n _this.$anchors.focus();\n }\n });\n });\n }\n\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n _addBodyHandler() {\n var $body = $(document.body).not(this.$element),\n _this = this;\n $body.off('click.zf.dropdown tap.zf.dropdown')\n .on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if(_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {\n return;\n }\n if(_this.$element.is(e.target) || _this.$element.find(e.target).length) {\n return;\n }\n _this.close();\n $body.off('click.zf.dropdown tap.zf.dropdown');\n });\n }\n\n /**\n * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n * @function\n * @fires Dropdown#closeme\n * @fires Dropdown#show\n */\n open() {\n // var _this = this;\n /**\n * Fires to close other open dropdowns, typically when dropdown is opening\n * @event Dropdown#closeme\n */\n this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n this.$anchors.addClass('hover')\n .attr({'aria-expanded': true});\n // this.$element/*.show()*/;\n\n this.$element.addClass('is-opening');\n this._setPosition();\n this.$element.removeClass('is-opening').addClass('is-open')\n .attr({'aria-hidden': false});\n\n if(this.options.autoFocus){\n var $focusable = Keyboard.findFocusable(this.$element);\n if($focusable.length){\n $focusable.eq(0).focus();\n }\n }\n\n if(this.options.closeOnClick){ this._addBodyHandler(); }\n\n if (this.options.trapFocus) {\n Keyboard.trapFocus(this.$element);\n }\n\n /**\n * Fires once the dropdown is visible.\n * @event Dropdown#show\n */\n this.$element.trigger('show.zf.dropdown', [this.$element]);\n }\n\n /**\n * Closes the open dropdown pane.\n * @function\n * @fires Dropdown#hide\n */\n close() {\n if(!this.$element.hasClass('is-open')){\n return false;\n }\n this.$element.removeClass('is-open')\n .attr({'aria-hidden': true});\n\n this.$anchors.removeClass('hover')\n .attr('aria-expanded', false);\n\n /**\n * Fires once the dropdown is no longer visible.\n * @event Dropdown#hide\n */\n this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n if (this.options.trapFocus) {\n Keyboard.releaseFocus(this.$element);\n }\n }\n\n /**\n * Toggles the dropdown pane's visibility.\n * @function\n */\n toggle() {\n if(this.$element.hasClass('is-open')){\n if(this.$anchors.data('hover')) return;\n this.close();\n }else{\n this.open();\n }\n }\n\n /**\n * Destroys the dropdown.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger').hide();\n this.$anchors.off('.zf.dropdown');\n $(document.body).off('click.zf.dropdown tap.zf.dropdown');\n\n }\n}\n\nDropdown.defaults = {\n /**\n * Class that designates bounding container of Dropdown (default: window)\n * @option\n * @type {?string}\n * @default null\n */\n parentClass: null,\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 250\n */\n hoverDelay: 250,\n /**\n * Allow submenus to open on hover events\n * @option\n * @type {boolean}\n * @default false\n */\n hover: false,\n /**\n * Don't close dropdown when hovering over dropdown pane\n * @option\n * @type {boolean}\n * @default false\n */\n hoverPane: false,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Position of dropdown. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false,\n /**\n * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n /**\n * Allows a click on the body to close the dropdown.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\nexport {Dropdown};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl, ignoreMousedisappear } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Nest } from './foundation.util.nest';\nimport { Box } from './foundation.util.box';\nimport { Touch } from './foundation.util.touch'\n\n\n/**\n * DropdownMenu module.\n * @module foundation.dropdownMenu\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.nest\n * @requires foundation.util.touch\n */\n\nclass DropdownMenu extends Plugin {\n /**\n * Creates a new instance of DropdownMenu.\n * @class\n * @name DropdownMenu\n * @fires DropdownMenu#init\n * @param {jQuery} element - jQuery object to make into a dropdown menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);\n this.className = 'DropdownMenu'; // ie9 back compat\n\n Touch.init($); // Touch init is idempotent, we just need to make sure it's initialied.\n\n this._init();\n\n Keyboard.register('DropdownMenu', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'up',\n 'ARROW_DOWN': 'down',\n 'ARROW_LEFT': 'previous',\n 'ESCAPE': 'close'\n });\n }\n\n /**\n * Initializes the plugin, and calls _prepareMenu\n * @private\n * @function\n */\n _init() {\n Nest.Feather(this.$element, 'dropdown');\n\n var subs = this.$element.find('li.is-dropdown-submenu-parent');\n this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');\n\n this.$menuItems = this.$element.find('li[role=\"none\"]');\n this.$tabs = this.$element.children('li[role=\"none\"]');\n this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);\n\n if (this.options.alignment === 'auto') {\n if (this.$element.hasClass(this.options.rightClass) || Rtl() || this.$element.parents('.top-bar-right').is('*')) {\n this.options.alignment = 'right';\n subs.addClass('opens-left');\n } else {\n this.options.alignment = 'left';\n subs.addClass('opens-right');\n }\n } else {\n if (this.options.alignment === 'right') {\n subs.addClass('opens-left');\n } else {\n subs.addClass('opens-right');\n }\n }\n this.changed = false;\n this._events();\n };\n\n _isVertical() {\n return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column';\n }\n\n _isRtl() {\n return this.$element.hasClass('align-right') || (Rtl() && !this.$element.hasClass('align-left'));\n }\n\n /**\n * Adds event listeners to elements within the menu\n * @private\n * @function\n */\n _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined'),\n parClass = 'is-dropdown-submenu-parent';\n\n // used for onClick and in the keyboard handlers\n var handleClickFn = function(e) {\n var $elem = $(e.target).parentsUntil('ul', `.${parClass}`),\n hasSub = $elem.hasClass(parClass),\n hasClicked = $elem.attr('data-is-click') === 'true',\n $sub = $elem.children('.is-dropdown-submenu');\n\n if (hasSub) {\n if (hasClicked) {\n if (!_this.options.closeOnClick\n || (!_this.options.clickOpen && !hasTouch)\n || (_this.options.forceFollow && hasTouch)) {\n return;\n }\n e.stopImmediatePropagation();\n e.preventDefault();\n _this._hide($elem);\n }\n else {\n e.stopImmediatePropagation();\n e.preventDefault();\n _this._show($sub);\n $elem.add($elem.parentsUntil(_this.$element, `.${parClass}`)).attr('data-is-click', true);\n }\n }\n };\n\n if (this.options.clickOpen || hasTouch) {\n this.$menuItems.on('click.zf.dropdownMenu touchstart.zf.dropdownMenu', handleClickFn);\n }\n\n // Handle Leaf element Clicks\n if(_this.options.closeOnClickInside){\n this.$menuItems.on('click.zf.dropdownMenu', function(e) {\n var $elem = $(this),\n hasSub = $elem.hasClass(parClass);\n if(!hasSub){\n _this._hide();\n }\n });\n }\n\n if (!this.options.disableHover) {\n this.$menuItems.on('mouseenter.zf.dropdownMenu', function (e) {\n var $elem = $(this),\n hasSub = $elem.hasClass(parClass);\n\n if (hasSub) {\n clearTimeout($elem.data('_delay'));\n $elem.data('_delay', setTimeout(function () {\n _this._show($elem.children('.is-dropdown-submenu'));\n }, _this.options.hoverDelay));\n }\n }).on('mouseleave.zf.dropdownMenu', ignoreMousedisappear(function (e) {\n var $elem = $(this),\n hasSub = $elem.hasClass(parClass);\n if (hasSub && _this.options.autoclose) {\n if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { return false; }\n\n clearTimeout($elem.data('_delay'));\n $elem.data('_delay', setTimeout(function () {\n _this._hide($elem);\n }, _this.options.closingTime));\n }\n }));\n }\n this.$menuItems.on('keydown.zf.dropdownMenu', function(e) {\n var $element = $(e.target).parentsUntil('ul', '[role=\"none\"]'),\n isTab = _this.$tabs.index($element) > -1,\n $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n $prevElement = $elements.eq(i-1);\n $nextElement = $elements.eq(i+1);\n return;\n }\n });\n\n var nextSibling = function() {\n $nextElement.children('a:first').focus();\n e.preventDefault();\n }, prevSibling = function() {\n $prevElement.children('a:first').focus();\n e.preventDefault();\n }, openSub = function() {\n var $sub = $element.children('ul.is-dropdown-submenu');\n if ($sub.length) {\n _this._show($sub);\n $element.find('li > a:first').focus();\n e.preventDefault();\n } else { return; }\n }, closeSub = function() {\n //if ($element.is(':first-child')) {\n var close = $element.parent('ul').parent('li');\n close.children('a:first').focus();\n _this._hide(close);\n e.preventDefault();\n //}\n };\n var functions = {\n open: openSub,\n close: function() {\n _this._hide(_this.$element);\n _this.$menuItems.eq(0).children('a').focus(); // focus to first element\n e.preventDefault();\n }\n };\n\n if (isTab) {\n if (_this._isVertical()) { // vertical menu\n if (_this._isRtl()) { // right aligned\n $.extend(functions, {\n down: nextSibling,\n up: prevSibling,\n next: closeSub,\n previous: openSub\n });\n } else { // left aligned\n $.extend(functions, {\n down: nextSibling,\n up: prevSibling,\n next: openSub,\n previous: closeSub\n });\n }\n } else { // horizontal menu\n if (_this._isRtl()) { // right aligned\n $.extend(functions, {\n next: prevSibling,\n previous: nextSibling,\n down: openSub,\n up: closeSub\n });\n } else { // left aligned\n $.extend(functions, {\n next: nextSibling,\n previous: prevSibling,\n down: openSub,\n up: closeSub\n });\n }\n }\n } else { // not tabs -> one sub\n if (_this._isRtl()) { // right aligned\n $.extend(functions, {\n next: closeSub,\n previous: openSub,\n down: nextSibling,\n up: prevSibling\n });\n } else { // left aligned\n $.extend(functions, {\n next: openSub,\n previous: closeSub,\n down: nextSibling,\n up: prevSibling\n });\n }\n }\n Keyboard.handleKey(e, 'DropdownMenu', functions);\n\n });\n }\n\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n _addBodyHandler() {\n const $body = $(document.body);\n this._removeBodyHandler();\n $body.on('click.zf.dropdownMenu tap.zf.dropdownMenu', (e) => {\n var isItself = !!$(e.target).closest(this.$element).length;\n if (isItself) return;\n\n this._hide();\n this._removeBodyHandler();\n });\n }\n\n /**\n * Remove the body event handler. See `_addBodyHandler`.\n * @function\n * @private\n */\n _removeBodyHandler() {\n $(document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu');\n }\n\n /**\n * Opens a dropdown pane, and checks for collisions first.\n * @param {jQuery} $sub - ul element that is a submenu to show\n * @function\n * @private\n * @fires DropdownMenu#show\n */\n _show($sub) {\n var idx = this.$tabs.index(this.$tabs.filter(function(i, el) {\n return $(el).find($sub).length > 0;\n }));\n var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');\n this._hide($sibs, idx);\n $sub.css('visibility', 'hidden').addClass('js-dropdown-active')\n .parent('li.is-dropdown-submenu-parent').addClass('is-active');\n var clear = Box.ImNotTouchingYou($sub, null, true);\n if (!clear) {\n var oldClass = this.options.alignment === 'left' ? '-right' : '-left',\n $parentLi = $sub.parent('.is-dropdown-submenu-parent');\n $parentLi.removeClass(`opens${oldClass}`).addClass(`opens-${this.options.alignment}`);\n clear = Box.ImNotTouchingYou($sub, null, true);\n if (!clear) {\n $parentLi.removeClass(`opens-${this.options.alignment}`).addClass('opens-inner');\n }\n this.changed = true;\n }\n $sub.css('visibility', '');\n if (this.options.closeOnClick) { this._addBodyHandler(); }\n /**\n * Fires when the new dropdown pane is visible.\n * @event DropdownMenu#show\n */\n this.$element.trigger('show.zf.dropdownMenu', [$sub]);\n }\n\n /**\n * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n * @function\n * @param {jQuery} $elem - element with a submenu to hide\n * @param {Number} idx - index of the $tabs collection to hide\n * @fires DropdownMenu#hide\n * @private\n */\n _hide($elem, idx) {\n var $toClose;\n if ($elem && $elem.length) {\n $toClose = $elem;\n } else if (typeof idx !== 'undefined') {\n $toClose = this.$tabs.not(function(i, el) {\n return i === idx;\n });\n }\n else {\n $toClose = this.$element;\n }\n var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;\n\n if (somethingToClose) {\n var $activeItem = $toClose.find('li.is-active');\n $activeItem.add($toClose).attr({\n 'data-is-click': false\n }).removeClass('is-active');\n\n $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');\n\n if (this.changed || $toClose.find('opens-inner').length) {\n var oldClass = this.options.alignment === 'left' ? 'right' : 'left';\n $toClose.find('li.is-dropdown-submenu-parent').add($toClose)\n .removeClass(`opens-inner opens-${this.options.alignment}`)\n .addClass(`opens-${oldClass}`);\n this.changed = false;\n }\n\n clearTimeout($activeItem.data('_delay'));\n this._removeBodyHandler();\n\n /**\n * Fires when the open menus are closed.\n * @event DropdownMenu#hide\n */\n this.$element.trigger('hide.zf.dropdownMenu', [$toClose]);\n }\n }\n\n /**\n * Destroys the plugin.\n * @function\n */\n _destroy() {\n this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click')\n .removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');\n $(document.body).off('.zf.dropdownMenu');\n Nest.Burn(this.$element, 'dropdown');\n }\n}\n\n/**\n * Default settings for plugin\n */\nDropdownMenu.defaults = {\n /**\n * Disallows hover events from opening submenus\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n * @option\n * @type {boolean}\n * @default true\n */\n autoclose: true,\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 50\n */\n hoverDelay: 50,\n /**\n * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n * @option\n * @type {boolean}\n * @default false\n */\n clickOpen: false,\n /**\n * Amount of time to delay closing a submenu on a mouseleave event.\n * @option\n * @type {number}\n * @default 500\n */\n\n closingTime: 500,\n /**\n * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow clicks on the body to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allow clicks on leaf anchor links to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClickInside: true,\n /**\n * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'vertical'\n */\n verticalClass: 'vertical',\n /**\n * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'align-right'\n */\n rightClass: 'align-right',\n /**\n * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\nexport {DropdownMenu};\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * Equalizer module.\n * @module foundation.equalizer\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.imageLoader if equalizer contains images\n */\n\nclass Equalizer extends Plugin {\n /**\n * Creates a new instance of Equalizer.\n * @class\n * @name Equalizer\n * @fires Equalizer#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options){\n this.$element = element;\n this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options);\n this.className = 'Equalizer'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var eqId = this.$element.attr('data-equalizer') || '';\n var $watched = this.$element.find(`[data-equalizer-watch=\"${eqId}\"]`);\n\n MediaQuery._init();\n\n this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');\n this.$element.attr('data-resize', (eqId || GetYoDigits(6, 'eq')));\n this.$element.attr('data-mutate', (eqId || GetYoDigits(6, 'eq')));\n\n this.hasNested = this.$element.find('[data-equalizer]').length > 0;\n this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;\n this.isOn = false;\n this._bindHandler = {\n onResizeMeBound: this._onResizeMe.bind(this),\n onPostEqualizedBound: this._onPostEqualized.bind(this)\n };\n\n var imgs = this.$element.find('img');\n var tooSmall;\n if(this.options.equalizeOn){\n tooSmall = this._checkMQ();\n $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));\n }else{\n this._events();\n }\n if((typeof tooSmall !== 'undefined' && tooSmall === false) || typeof tooSmall === 'undefined'){\n if(imgs.length){\n onImagesLoaded(imgs, this._reflow.bind(this));\n }else{\n this._reflow();\n }\n }\n }\n\n /**\n * Removes event listeners if the breakpoint is too small.\n * @private\n */\n _pauseEvents() {\n this.isOn = false;\n this.$element.off({\n '.zf.equalizer': this._bindHandler.onPostEqualizedBound,\n 'resizeme.zf.trigger': this._bindHandler.onResizeMeBound,\n\t 'mutateme.zf.trigger': this._bindHandler.onResizeMeBound\n });\n }\n\n /**\n * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound\n * @private\n */\n _onResizeMe(e) {\n this._reflow();\n }\n\n /**\n * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound\n * @private\n */\n _onPostEqualized(e) {\n if(e.target !== this.$element[0]){ this._reflow(); }\n }\n\n /**\n * Initializes events for Equalizer.\n * @private\n */\n _events() {\n var _this = this;\n this._pauseEvents();\n if(this.hasNested){\n this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);\n }else{\n this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);\n\t this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound);\n }\n this.isOn = true;\n }\n\n /**\n * Checks the current breakpoint to the minimum required size.\n * @private\n */\n _checkMQ() {\n var tooSmall = !MediaQuery.is(this.options.equalizeOn);\n if(tooSmall){\n if(this.isOn){\n this._pauseEvents();\n this.$watched.css('height', 'auto');\n }\n }else{\n if(!this.isOn){\n this._events();\n }\n }\n return tooSmall;\n }\n\n /**\n * A noop version for the plugin\n * @private\n */\n _killswitch() {\n return;\n }\n\n /**\n * Calls necessary functions to update Equalizer upon DOM change\n * @private\n */\n _reflow() {\n if(!this.options.equalizeOnStack){\n if(this._isStacked()){\n this.$watched.css('height', 'auto');\n return false;\n }\n }\n if (this.options.equalizeByRow) {\n this.getHeightsByRow(this.applyHeightByRow.bind(this));\n }else{\n this.getHeights(this.applyHeight.bind(this));\n }\n }\n\n /**\n * Manually determines if the first 2 elements are *NOT* stacked.\n * @private\n */\n _isStacked() {\n if (!this.$watched[0] || !this.$watched[1]) {\n return true;\n }\n return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;\n }\n\n /**\n * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n * @param {Function} cb - A non-optional callback to return the heights array to.\n * @returns {Array} heights - An array of heights of children within Equalizer container\n */\n getHeights(cb) {\n var heights = [];\n for(var i = 0, len = this.$watched.length; i < len; i++){\n this.$watched[i].style.height = 'auto';\n heights.push(this.$watched[i].offsetHeight);\n }\n cb(heights);\n }\n\n /**\n * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n * @param {Function} cb - A non-optional callback to return the heights array to.\n * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n */\n getHeightsByRow(cb) {\n var lastElTopOffset = (this.$watched.length ? this.$watched.first().offset().top : 0),\n groups = [],\n group = 0;\n //group by Row\n groups[group] = [];\n for(var i = 0, len = this.$watched.length; i < len; i++){\n this.$watched[i].style.height = 'auto';\n //maybe could use this.$watched[i].offsetTop\n var elOffsetTop = $(this.$watched[i]).offset().top;\n if (elOffsetTop!=lastElTopOffset) {\n group++;\n groups[group] = [];\n lastElTopOffset=elOffsetTop;\n }\n groups[group].push([this.$watched[i],this.$watched[i].offsetHeight]);\n }\n\n for (var j = 0, ln = groups.length; j < ln; j++) {\n var heights = $(groups[j]).map(function(){ return this[1]; }).get();\n var max = Math.max.apply(null, heights);\n groups[j].push(max);\n }\n cb(groups);\n }\n\n /**\n * Changes the CSS height property of each child in an Equalizer parent to match the tallest\n * @param {array} heights - An array of heights of children within Equalizer container\n * @fires Equalizer#preequalized\n * @fires Equalizer#postequalized\n */\n applyHeight(heights) {\n var max = Math.max.apply(null, heights);\n /**\n * Fires before the heights are applied\n * @event Equalizer#preequalized\n */\n this.$element.trigger('preequalized.zf.equalizer');\n\n this.$watched.css('height', max);\n\n /**\n * Fires when the heights have been applied\n * @event Equalizer#postequalized\n */\n this.$element.trigger('postequalized.zf.equalizer');\n }\n\n /**\n * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row\n * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n * @fires Equalizer#preequalized\n * @fires Equalizer#preequalizedrow\n * @fires Equalizer#postequalizedrow\n * @fires Equalizer#postequalized\n */\n applyHeightByRow(groups) {\n /**\n * Fires before the heights are applied\n */\n this.$element.trigger('preequalized.zf.equalizer');\n for (var i = 0, len = groups.length; i < len ; i++) {\n var groupsILength = groups[i].length,\n max = groups[i][groupsILength - 1];\n if (groupsILength<=2) {\n $(groups[i][0][0]).css({'height':'auto'});\n continue;\n }\n /**\n * Fires before the heights per row are applied\n * @event Equalizer#preequalizedrow\n */\n this.$element.trigger('preequalizedrow.zf.equalizer');\n for (var j = 0, lenJ = (groupsILength-1); j < lenJ ; j++) {\n $(groups[i][j][0]).css({'height':max});\n }\n /**\n * Fires when the heights per row have been applied\n * @event Equalizer#postequalizedrow\n */\n this.$element.trigger('postequalizedrow.zf.equalizer');\n }\n /**\n * Fires when the heights have been applied\n */\n this.$element.trigger('postequalized.zf.equalizer');\n }\n\n /**\n * Destroys an instance of Equalizer.\n * @function\n */\n _destroy() {\n this._pauseEvents();\n this.$watched.css('height', 'auto');\n }\n}\n\n/**\n * Default settings for plugin\n */\nEqualizer.defaults = {\n /**\n * Enable height equalization when stacked on smaller screens.\n * @option\n * @type {boolean}\n * @default false\n */\n equalizeOnStack: false,\n /**\n * Enable height equalization row by row.\n * @option\n * @type {boolean}\n * @default false\n */\n equalizeByRow: false,\n /**\n * String representing the minimum breakpoint size the plugin should equalize heights on.\n * @option\n * @type {string}\n * @default ''\n */\n equalizeOn: ''\n};\n\nexport {Equalizer};\n","'use strict';\n\nimport $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\n\nclass Interchange extends Plugin {\n /**\n * Creates a new instance of Interchange.\n * @class\n * @name Interchange\n * @fires Interchange#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Interchange.defaults, this.$element.data(), options);\n this.rules = [];\n this.currentPath = '';\n this.className = 'Interchange'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n \n this._init();\n this._events();\n }\n\n /**\n * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var id = this.$element[0].id || GetYoDigits(6, 'interchange');\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n this._parseOptions();\n this._addBreakpoints();\n this._generateRules();\n this._reflow();\n }\n\n /**\n * Initializes events for Interchange.\n * @function\n * @private\n */\n _events() {\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', () => this._reflow());\n }\n\n /**\n * Calls necessary functions to update Interchange upon DOM change\n * @function\n * @private\n */\n _reflow() {\n var match;\n\n // Iterate through each rule, but only save the last match\n for (var i in this.rules) {\n if(this.rules.hasOwnProperty(i)) {\n var rule = this.rules[i];\n if (window.matchMedia(rule.query).matches) {\n match = rule;\n }\n }\n }\n\n if (match) {\n this.replace(match.path);\n }\n }\n\n /**\n * Check options valifity and set defaults for:\n * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n * @function\n * @private\n */\n _parseOptions() {\n var types = ['auto', 'src', 'background', 'html'];\n if (typeof this.options.type === 'undefined')\n this.options.type = 'auto';\n else if (types.indexOf(this.options.type) === -1) {\n console.log(`Warning: invalid value \"${this.options.type}\" for Interchange option \"type\"`);\n this.options.type = 'auto';\n }\n }\n\n /**\n * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n * @function\n * @private\n */\n _addBreakpoints() {\n for (var i in MediaQuery.queries) {\n if (MediaQuery.queries.hasOwnProperty(i)) {\n var query = MediaQuery.queries[i];\n Interchange.SPECIAL_QUERIES[query.name] = query.value;\n }\n }\n }\n\n /**\n * Checks the Interchange element for the provided media query + content pairings\n * @function\n * @private\n * @param {Object} element - jQuery object that is an Interchange instance\n * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n _generateRules(element) {\n var rulesList = [];\n var rules;\n\n if (this.options.rules) {\n rules = this.options.rules;\n }\n else {\n rules = this.$element.data('interchange');\n }\n\n rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n\n for (var i in rules) {\n if(rules.hasOwnProperty(i)) {\n var rule = rules[i].slice(1, -1).split(', ');\n var path = rule.slice(0, -1).join('');\n var query = rule[rule.length - 1];\n\n if (Interchange.SPECIAL_QUERIES[query]) {\n query = Interchange.SPECIAL_QUERIES[query];\n }\n\n rulesList.push({\n path: path,\n query: query\n });\n }\n }\n\n this.rules = rulesList;\n }\n\n /**\n * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n * @function\n * @param {String} path - Path to the image or HTML partial.\n * @fires Interchange#replaced\n */\n replace(path) {\n if (this.currentPath === path) return;\n\n var trigger = 'replaced.zf.interchange';\n\n var type = this.options.type;\n if (type === 'auto') {\n if (this.$element[0].nodeName === 'IMG')\n type = 'src';\n else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i))\n type = 'background';\n else\n type = 'html';\n }\n\n // Replacing images\n if (type === 'src') {\n this.$element.attr('src', path)\n .on('load', () => { this.currentPath = path; })\n .trigger(trigger);\n }\n // Replacing background images\n else if (type === 'background') {\n path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n this.$element\n .css({ 'background-image': 'url(' + path + ')' })\n .trigger(trigger);\n }\n // Replacing HTML\n else if (type === 'html') {\n $.get(path, (response) => {\n this.$element\n .html(response)\n .trigger(trigger);\n $(response).foundation();\n this.currentPath = path;\n });\n }\n\n /**\n * Fires when content in an Interchange element is done being loaded.\n * @event Interchange#replaced\n */\n // this.$element.trigger('replaced.zf.interchange');\n }\n\n /**\n * Destroys an instance of interchange.\n * @function\n */\n _destroy() {\n this.$element.off('resizeme.zf.trigger')\n }\n}\n\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n /**\n * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n * @option\n * @type {?array}\n * @default null\n */\n rules: null,\n\n /**\n * Type of the responsive ressource to replace. It can take the following options:\n * - `auto` (default): choose the type according to the element tag or the ressource extension,\n * - `src`: replace the `[src]` attribute, recommended for images ``.\n * - `background`: replace the `background-image` CSS property.\n * - `html`: replace the element content.\n * @option\n * @type {string}\n * @default 'auto'\n */\n type: 'auto'\n};\n\nInterchange.SPECIAL_QUERIES = {\n 'landscape': 'screen and (orientation: landscape)',\n 'portrait': 'screen and (orientation: portrait)',\n 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\nexport {Interchange};\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","'use strict';\n\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this;\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\n }\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0]){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n if(this.options.updateHistory){\n window.history.pushState({}, '', url);\n }else{\n window.history.replaceState({}, '', url);\n }\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Update the browser history with the active link, if deep linking is enabled.\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {Magellan};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, transitionend, RegExpEscape } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * OffCanvas module.\n * @module foundation.offCanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass OffCanvas extends Plugin {\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.className = 'OffCanvas'; // ie9 back compat\n this.$element = element;\n this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = { base: [], reveal: [] };\n this.$lastTrigger = $();\n this.$triggers = $();\n this.position = 'left';\n this.$content = $();\n this.nested = !!(this.options.nested);\n this.$sticky = $();\n this.isInCanvas = false;\n\n // Defines the CSS transition/position classes of the off-canvas content container.\n $(['push', 'overlap']).each((index, val) => {\n this.contentClasses.base.push('has-transition-'+val);\n });\n $(['left', 'right', 'top', 'bottom']).each((index, val) => {\n this.contentClasses.base.push('has-position-'+val);\n this.contentClasses.reveal.push('has-reveal-'+val);\n });\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n MediaQuery._init();\n\n this._init();\n this._events();\n\n Keyboard.register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n\n }\n\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n _init() {\n var id = this.$element.attr('id');\n\n this.$element.attr('aria-hidden', 'true');\n\n // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n if (this.options.contentId) {\n this.$content = $('#'+this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap';\n // Remove appropriate classes if already assigned in markup\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(`is-transition-${this.options.transition} is-closed`);\n\n // Find triggers that affect this element and add aria-expanded to them\n this.$triggers = $(document)\n .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n .attr('aria-expanded', 'false')\n .attr('aria-controls', id);\n\n // Get position by checking for related CSS class\n this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position;\n\n // Add an overlay over the content if necessary\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = $(overlay);\n if(overlayPosition === 'is-overlay-fixed') {\n $(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n }\n\n // Get the revealOn option from the class.\n var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n }\n\n // Ensure the `reveal-on-*` class is set.\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(`${this.options.revealClass}${this.options.revealOn}`);\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n }\n\n // Find fixed elements that should stay fixed while off-canvas is opened\n this.$sticky = this.$content.find('[data-off-canvas-sticky]');\n if (this.$sticky.length > 0 && this.options.transition === 'push') {\n // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n // Limit to push transition since there's no transform scope for overlap\n this.options.contentScroll = false;\n }\n\n let inCanvasFor = this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);\n if (inCanvasFor && inCanvasFor.length === 2) {\n // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\n this.options.inCanvasOn = inCanvasFor[1];\n } else if (this.options.inCanvasOn) {\n // Ensure the CSS class is set\n this.$element.addClass(`in-canvas-for-${this.options.inCanvasOn}`);\n }\n\n if (this.options.inCanvasOn) {\n this._checkInCanvas();\n }\n\n // Initally remove all transition/position CSS classes from off-canvas content container.\n this._removeContentClasses();\n }\n\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n _events() {\n this.$element.off('.zf.trigger .zf.offCanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offCanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({'click.zf.offCanvas': this.close.bind(this)});\n }\n\n if (this.options.inCanvasOn) {\n $(window).on('changed.zf.mediaquery', () => {\n this._checkInCanvas();\n });\n }\n\n }\n\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = onLoad($(window), function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n\n $(window).on('changed.zf.mediaquery', function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n\n /**\n * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n * @private\n */\n _checkInCanvas() {\n this.isInCanvas = MediaQuery.atLeast(this.options.inCanvasOn);\n if (this.isInCanvas === true) {\n this.close();\n }\n }\n\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(`has-transition-${this.options.transition} has-position-${this.position}`);\n } else if (hasReveal === true) {\n this.$content.addClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\n * @private\n */\n _fixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n\n // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\n if ($el.css('position') === 'fixed') {\n\n // Save current inline styling to restore it if undoing the absolute fixing\n let topVal = parseInt($el.css('top'), 10);\n $el.data('offCanvasSticky', { top: topVal });\n\n let absoluteTopVal = $(document).scrollTop() + topVal;\n $el.css({ top: `${absoluteTopVal}px`, width: '100%', transition: 'none' });\n }\n });\n }\n\n /**\n * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n * This reverts the changes of _fixStickyElements()\n * @private\n */\n _unfixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n let stickyData = $el.data('offCanvasSticky');\n\n // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\n if (typeof stickyData === 'object') {\n $el.css({ top: `${stickyData.top}px`, width: '', transition: '' })\n $el.data('offCanvasSticky', '');\n }\n });\n }\n\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n this._addContentClasses(isRevealed);\n }\n\n /**\n * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n * @function\n * @private\n */\n _stopScrolling(event) {\n return false;\n }\n\n /**\n * Tag the element given as context whether it can be scrolled up and down.\n * Used to allow or prevent it to scroll. See `_stopScrollPropagation`.\n *\n * Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios\n * Only really works for y, not sure how to extend to x or if we need to.\n *\n * @function\n * @private\n */\n _recordScrollable(event) {\n let elem = this; // called from event handler context with this as elem\n\n // If the element is scrollable (content overflows), then...\n if (elem.scrollHeight !== elem.clientHeight) {\n // If we're at the top, scroll down one pixel to allow scrolling up\n if (elem.scrollTop === 0) {\n elem.scrollTop = 1;\n }\n // If we're at the bottom, scroll up one pixel to allow scrolling down\n if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) {\n elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1;\n }\n }\n elem.allowUp = elem.scrollTop > 0;\n elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight);\n elem.lastY = event.originalEvent.pageY;\n }\n\n /**\n * Prevent the given event propagation if the element given as context can scroll.\n * Used to preserve the element scrolling on mobile (`touchmove`) when the document\n * scrolling is prevented. See https://git.io/zf-9707.\n * @function\n * @private\n */\n _stopScrollPropagation(event) {\n let elem = this; // called from event handler context with this as elem\n let parent; // off-canvas elem if called from inner scrollbox\n let up = event.pageY < elem.lastY;\n let down = !up;\n elem.lastY = event.pageY;\n\n if((up && elem.allowUp) || (down && elem.allowDown)) {\n // It is not recommended to stop event propagation (the user cannot watch it),\n // but in this case this is the only solution we have.\n event.stopPropagation();\n\n // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached\n // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox\n if (elem.hasAttribute('data-off-canvas-scrollbox')) {\n parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n if (elem.scrollTop <= 1 && parent.scrollTop > 0) {\n parent.scrollTop--;\n } else if (elem.scrollTop >= elem.scrollHeight - elem.clientHeight - 1 && parent.scrollTop < parent.scrollHeight - parent.clientHeight) {\n parent.scrollTop++;\n }\n }\n\n } else {\n event.preventDefault();\n }\n }\n\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires OffCanvas#opened\n * @todo also trigger 'open' event?\n */\n open(event, trigger) {\n if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { return; }\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0,document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n\n this.$content.addClass('is-open-' + this.position);\n\n // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this._stopScrollPropagation);\n this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(transitionend(this.$element), function() {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n var canvasFocus = _this.$element.find('[data-autofocus]');\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n Keyboard.trapFocus(this.$element);\n }\n\n if (this.options.transition === 'push') {\n this._fixStickyElements();\n }\n\n this._addContentClasses();\n\n /**\n * Fires when the off-canvas menu opens.\n * @event OffCanvas#opened\n */\n this.$element.trigger('opened.zf.offCanvas');\n\n /**\n * Fires when the off-canvas menu open transition is done.\n * @event OffCanvas#openedEnd\n */\n this.$element.one(transitionend(this.$element), () => {\n this.$element.trigger('openedEnd.zf.offCanvas');\n });\n }\n\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires OffCanvas#close\n * @fires OffCanvas#closed\n */\n close(cb) {\n if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n /**\n * Fires when the off-canvas menu closes.\n * @event OffCanvas#close\n */\n this.$element.trigger('close.zf.offCanvas');\n\n var _this = this;\n\n this.$element.removeClass('is-open');\n\n this.$element.attr('aria-hidden', 'true');\n\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false');\n\n\n // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n this.$element.one(transitionend(this.$element), (e) => {\n\n this.$element.addClass('is-closed');\n this._removeContentClasses();\n\n if (this.options.transition === 'push') {\n this._unfixStickyElements();\n }\n\n // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n this.$element.off('touchstart', this._recordScrollable);\n this.$element.off('touchmove', this._stopScrollPropagation);\n this.$element.off('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation);\n }\n\n if (this.options.trapFocus === true) {\n this.$content.removeAttr('tabindex');\n Keyboard.releaseFocus(this.$element);\n }\n\n /**\n * Fires when the off-canvas menu close transition is done.\n * @event OffCanvas#closed\n */\n this.$element.trigger('closed.zf.offCanvas');\n });\n }\n\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n }\n else {\n this.open(event, trigger);\n }\n }\n\n /**\n * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n * @function\n * @private\n */\n _handleKeyboard(e) {\n Keyboard.handleKey(e, 'OffCanvas', {\n close: () => {\n this.close();\n this.$lastTrigger.focus();\n return true;\n },\n handled: () => {\n e.preventDefault();\n }\n });\n }\n\n /**\n * Destroys the OffCanvas plugin.\n * @function\n */\n _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offCanvas');\n this.$overlay.off('.zf.offCanvas');\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n * @option\n * @type {string}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the OffCanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n * @option\n * @type {?string}\n * @default null\n */\n inCanvasOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n}\n\nexport {OffCanvas};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Motion } from './foundation.util.motion';\nimport { Timer } from './foundation.util.timer';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\nimport { Touch } from './foundation.util.touch'\n\n\n/**\n * Orbit module.\n * @module foundation.orbit\n * @requires foundation.util.keyboard\n * @requires foundation.util.motion\n * @requires foundation.util.timer\n * @requires foundation.util.imageLoader\n * @requires foundation.util.touch\n */\n\nclass Orbit extends Plugin {\n /**\n * Creates a new instance of an orbit carousel.\n * @class\n * @name Orbit\n * @param {jQuery} element - jQuery object to make into an Orbit Carousel.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options){\n this.$element = element;\n this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);\n this.className = 'Orbit'; // ie9 back compat\n\n Touch.init($); // Touch init is idempotent, we just need to make sure it's initialied.\n\n this._init();\n\n Keyboard.register('Orbit', {\n 'ltr': {\n 'ARROW_RIGHT': 'next',\n 'ARROW_LEFT': 'previous'\n },\n 'rtl': {\n 'ARROW_LEFT': 'next',\n 'ARROW_RIGHT': 'previous'\n }\n });\n }\n\n /**\n * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.\n * @function\n * @private\n */\n _init() {\n // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide\n this._reset();\n\n this.$wrapper = this.$element.find(`.${this.options.containerClass}`);\n this.$slides = this.$element.find(`.${this.options.slideClass}`);\n\n var $images = this.$element.find('img'),\n initActive = this.$slides.filter('.is-active'),\n id = this.$element[0].id || GetYoDigits(6, 'orbit');\n\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n if (!initActive.length) {\n this.$slides.eq(0).addClass('is-active');\n }\n\n if (!this.options.useMUI) {\n this.$slides.addClass('no-motionui');\n }\n\n if ($images.length) {\n onImagesLoaded($images, this._prepareForOrbit.bind(this));\n } else {\n this._prepareForOrbit();//hehe\n }\n\n if (this.options.bullets) {\n this._loadBullets();\n }\n\n this._events();\n\n if (this.options.autoPlay && this.$slides.length > 1) {\n this.geoSync();\n }\n\n if (this.options.accessible) { // allow wrapper to be focusable to enable arrow navigation\n this.$wrapper.attr('tabindex', 0);\n }\n }\n\n /**\n * Creates a jQuery collection of bullets, if they are being used.\n * @function\n * @private\n */\n _loadBullets() {\n this.$bullets = this.$element.find(`.${this.options.boxOfBullets}`).find('button');\n }\n\n /**\n * Sets a `timer` object on the orbit, and starts the counter for the next slide.\n * @function\n */\n geoSync() {\n var _this = this;\n this.timer = new Timer(\n this.$element,\n {\n duration: this.options.timerDelay,\n infinite: false\n },\n function() {\n _this.changeSlide(true);\n });\n this.timer.start();\n }\n\n /**\n * Sets wrapper and slide heights for the orbit.\n * @function\n * @private\n */\n _prepareForOrbit() {\n var _this = this;\n this._setWrapperHeight();\n }\n\n /**\n * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.\n * @function\n * @private\n * @param {Function} cb - a callback function to fire when complete.\n */\n _setWrapperHeight(cb) {//rewrite this to `for` loop\n var max = 0, temp, counter = 0, _this = this;\n\n this.$slides.each(function() {\n temp = this.getBoundingClientRect().height;\n $(this).attr('data-slide', counter);\n\n // hide all slides but the active one\n if (!/mui/g.test($(this)[0].className) && _this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) {\n $(this).css({'display': 'none'});\n }\n max = temp > max ? temp : max;\n counter++;\n });\n\n if (counter === this.$slides.length) {\n this.$wrapper.css({'height': max}); //only change the wrapper height property once.\n if(cb) {cb(max);} //fire callback with max height dimension.\n }\n }\n\n /**\n * Sets the max-height of each slide.\n * @function\n * @private\n */\n _setSlideHeight(height) {\n this.$slides.each(function() {\n $(this).css('max-height', height);\n });\n }\n\n /**\n * Adds event listeners to basically everything within the element.\n * @function\n * @private\n */\n _events() {\n var _this = this;\n\n //***************************************\n //**Now using custom event - thanks to:**\n //** Yohai Ararat of Toronto **\n //***************************************\n //\n this.$element.off('.resizeme.zf.trigger').on({\n 'resizeme.zf.trigger': this._prepareForOrbit.bind(this)\n })\n if (this.$slides.length > 1) {\n\n if (this.options.swipe) {\n this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit')\n .on('swipeleft.zf.orbit', function(e){\n e.preventDefault();\n _this.changeSlide(true);\n }).on('swiperight.zf.orbit', function(e){\n e.preventDefault();\n _this.changeSlide(false);\n });\n }\n //***************************************\n\n if (this.options.autoPlay) {\n this.$slides.on('click.zf.orbit', function() {\n _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);\n _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();\n });\n\n if (this.options.pauseOnHover) {\n this.$element.on('mouseenter.zf.orbit', function() {\n _this.timer.pause();\n }).on('mouseleave.zf.orbit', function() {\n if (!_this.$element.data('clickedOn')) {\n _this.timer.start();\n }\n });\n }\n }\n\n if (this.options.navButtons) {\n var $controls = this.$element.find(`.${this.options.nextClass}, .${this.options.prevClass}`);\n $controls.attr('tabindex', 0)\n //also need to handle enter/return and spacebar key presses\n .on('click.zf.orbit touchend.zf.orbit', function(e){\n\t e.preventDefault();\n _this.changeSlide($(this).hasClass(_this.options.nextClass));\n });\n }\n\n if (this.options.bullets) {\n this.$bullets.on('click.zf.orbit touchend.zf.orbit', function() {\n if (/is-active/g.test(this.className)) { return false; }//if this is active, kick out of function.\n var idx = $(this).data('slide'),\n ltr = idx > _this.$slides.filter('.is-active').data('slide'),\n $slide = _this.$slides.eq(idx);\n\n _this.changeSlide(ltr, $slide, idx);\n });\n }\n\n if (this.options.accessible) {\n this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function(e) {\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Orbit', {\n next: function() {\n _this.changeSlide(true);\n },\n previous: function() {\n _this.changeSlide(false);\n },\n handled: function() { // if bullet is focused, make sure focus moves\n if ($(e.target).is(_this.$bullets)) {\n _this.$bullets.filter('.is-active').focus();\n }\n }\n });\n });\n }\n }\n }\n\n /**\n * Resets Orbit so it can be reinitialized\n */\n _reset() {\n // Don't do anything if there are no slides (first run)\n if (typeof this.$slides == 'undefined') {\n return;\n }\n\n if (this.$slides.length > 1) {\n // Remove old events\n this.$element.off('.zf.orbit').find('*').off('.zf.orbit')\n\n // Restart timer if autoPlay is enabled\n if (this.options.autoPlay) {\n this.timer.restart();\n }\n\n // Reset all sliddes\n this.$slides.each(function(el) {\n $(el).removeClass('is-active is-active is-in')\n .removeAttr('aria-live')\n .hide();\n });\n\n // Show the first slide\n this.$slides.first().addClass('is-active').show();\n\n // Triggers when the slide has finished animating\n this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]);\n\n // Select first bullet if bullets are present\n if (this.options.bullets) {\n this._updateBullets(0);\n }\n }\n }\n\n /**\n * Changes the current slide to a new one.\n * @function\n * @param {Boolean} isLTR - if true the slide moves from right to left, if false the slide moves from left to right.\n * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.\n * @param {Number} idx - the index of the new slide in its collection, if one chosen.\n * @fires Orbit#slidechange\n */\n changeSlide(isLTR, chosenSlide, idx) {\n if (!this.$slides) {return; } // Don't freak out if we're in the middle of cleanup\n var $curSlide = this.$slides.filter('.is-active').eq(0);\n\n if (/mui/g.test($curSlide[0].className)) { return false; } //if the slide is currently animating, kick out of the function\n\n var $firstSlide = this.$slides.first(),\n $lastSlide = this.$slides.last(),\n dirIn = isLTR ? 'Right' : 'Left',\n dirOut = isLTR ? 'Left' : 'Right',\n _this = this,\n $newSlide;\n\n if (!chosenSlide) { //most of the time, this will be auto played or clicked from the navButtons.\n $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!\n (this.options.infiniteWrap ? $curSlide.next(`.${this.options.slideClass}`).length ? $curSlide.next(`.${this.options.slideClass}`) : $firstSlide : $curSlide.next(`.${this.options.slideClass}`))//pick next slide if moving left to right\n :\n (this.options.infiniteWrap ? $curSlide.prev(`.${this.options.slideClass}`).length ? $curSlide.prev(`.${this.options.slideClass}`) : $lastSlide : $curSlide.prev(`.${this.options.slideClass}`));//pick prev slide if moving right to left\n } else {\n $newSlide = chosenSlide;\n }\n\n if ($newSlide.length) {\n /**\n * Triggers before the next slide starts animating in and only if a next slide has been found.\n * @event Orbit#beforeslidechange\n */\n this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]);\n\n if (this.options.bullets) {\n idx = idx || this.$slides.index($newSlide); //grab index to update bullets\n this._updateBullets(idx);\n }\n\n if (this.options.useMUI && !this.$element.is(':hidden')) {\n Motion.animateIn(\n $newSlide.addClass('is-active'),\n this.options[`animInFrom${dirIn}`],\n function(){\n $newSlide.css({'display': 'block'}).attr('aria-live', 'polite');\n });\n\n Motion.animateOut(\n $curSlide.removeClass('is-active'),\n this.options[`animOutTo${dirOut}`],\n function(){\n $curSlide.removeAttr('aria-live');\n if(_this.options.autoPlay && !_this.timer.isPaused){\n _this.timer.restart();\n }\n //do stuff?\n });\n } else {\n $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();\n $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();\n if (this.options.autoPlay && !this.timer.isPaused) {\n this.timer.restart();\n }\n }\n /**\n * Triggers when the slide has finished animating in.\n * @event Orbit#slidechange\n */\n this.$element.trigger('slidechange.zf.orbit', [$newSlide]);\n }\n }\n\n /**\n * Updates the active state of the bullets, if displayed.\n * Move the descriptor of the current slide `[data-slide-active-label]` to the newly active bullet.\n * If no `[data-slide-active-label]` is set, will move the exceeding `span` element.\n *\n * @function\n * @private\n * @param {Number} idx - the index of the current slide.\n */\n _updateBullets(idx) {\n var $oldBullet = this.$bullets.filter('.is-active');\n var $othersBullets = this.$bullets.not('.is-active');\n var $newBullet = this.$bullets.eq(idx);\n\n $oldBullet.removeClass('is-active').blur();\n $newBullet.addClass('is-active');\n\n // Find the descriptor for the current slide to move it to the new slide button\n var activeStateDescriptor = $oldBullet.children('[data-slide-active-label]').last();\n\n // If not explicitely given, search for the last \"exceeding\" span element (compared to others bullets).\n if (!activeStateDescriptor.length) {\n var spans = $oldBullet.children('span');\n var spanCountInOthersBullets = $othersBullets.toArray().map(b => $(b).children('span').length);\n\n // If there is an exceeding span element, use it as current slide descriptor\n if (spanCountInOthersBullets.every(count => count < spans.length)) {\n activeStateDescriptor = spans.last();\n activeStateDescriptor.attr('data-slide-active-label', '');\n }\n }\n\n // Move the current slide descriptor to the new slide button\n if (activeStateDescriptor.length) {\n activeStateDescriptor.detach();\n $newBullet.append(activeStateDescriptor);\n }\n }\n\n /**\n * Destroys the carousel and hides the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();\n }\n}\n\nOrbit.defaults = {\n /**\n * Tells the JS to look for and loadBullets.\n * @option\n * @type {boolean}\n * @default true\n */\n bullets: true,\n /**\n * Tells the JS to apply event listeners to nav buttons\n * @option\n * @type {boolean}\n * @default true\n */\n navButtons: true,\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-in-right'\n */\n animInFromRight: 'slide-in-right',\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-out-right'\n */\n animOutToRight: 'slide-out-right',\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-in-left'\n *\n */\n animInFromLeft: 'slide-in-left',\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-out-left'\n */\n animOutToLeft: 'slide-out-left',\n /**\n * Allows Orbit to automatically animate on page load.\n * @option\n * @type {boolean}\n * @default true\n */\n autoPlay: true,\n /**\n * Amount of time, in ms, between slide transitions\n * @option\n * @type {number}\n * @default 5000\n */\n timerDelay: 5000,\n /**\n * Allows Orbit to infinitely loop through the slides\n * @option\n * @type {boolean}\n * @default true\n */\n infiniteWrap: true,\n /**\n * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library\n * @option\n * @type {boolean}\n * @default true\n */\n swipe: true,\n /**\n * Allows the timing function to pause animation on hover.\n * @option\n * @type {boolean}\n * @default true\n */\n pauseOnHover: true,\n /**\n * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys\n * @option\n * @type {boolean}\n * @default true\n */\n accessible: true,\n /**\n * Class applied to the container of Orbit\n * @option\n * @type {string}\n * @default 'orbit-container'\n */\n containerClass: 'orbit-container',\n /**\n * Class applied to individual slides.\n * @option\n * @type {string}\n * @default 'orbit-slide'\n */\n slideClass: 'orbit-slide',\n /**\n * Class applied to the bullet container. You're welcome.\n * @option\n * @type {string}\n * @default 'orbit-bullets'\n */\n boxOfBullets: 'orbit-bullets',\n /**\n * Class applied to the `next` navigation button.\n * @option\n * @type {string}\n * @default 'orbit-next'\n */\n nextClass: 'orbit-next',\n /**\n * Class applied to the `previous` navigation button.\n * @option\n * @type {string}\n * @default 'orbit-previous'\n */\n prevClass: 'orbit-previous',\n /**\n * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatibility.\n * @option\n * @type {boolean}\n * @default true\n */\n useMUI: true\n};\n\nexport {Orbit};\n","'use strict';\n\nimport $ from 'jquery';\n\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\nimport { DropdownMenu } from './foundation.dropdownMenu';\nimport { Drilldown } from './foundation.drilldown';\nimport { AccordionMenu } from './foundation.accordionMenu';\n\nlet MenuPlugins = {\n dropdown: {\n cssClass: 'dropdown',\n plugin: DropdownMenu\n },\n drilldown: {\n cssClass: 'drilldown',\n plugin: Drilldown\n },\n accordion: {\n cssClass: 'accordion-menu',\n plugin: AccordionMenu\n }\n};\n\n // import \"foundation.util.triggers.js\";\n\n\n/**\n * ResponsiveMenu module.\n * @module foundation.responsiveMenu\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass ResponsiveMenu extends Plugin {\n /**\n * Creates a new instance of a responsive menu.\n * @class\n * @name ResponsiveMenu\n * @fires ResponsiveMenu#init\n * @param {jQuery} element - jQuery object to make into a dropdown menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.rules = this.$element.data('responsive-menu');\n this.currentMq = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveMenu'; // ie9 back compat\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.\n * @function\n * @private\n */\n _init() {\n\n MediaQuery._init();\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n // Add data-mutate since children may need it.\n this.$element.attr('data-mutate', (this.$element.attr('data-mutate') || GetYoDigits(6, 'responsive-menu')));\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n var _this = this;\n\n $(window).on('changed.zf.mediaquery', function() {\n _this._checkMediaQueries();\n });\n // $(window).on('resize.zf.ResponsiveMenu', function() {\n // _this._checkMediaQueries();\n // });\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) this.currentPlugin.destroy();\n this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n this.currentPlugin.destroy();\n $(window).off('.zf.ResponsiveMenu');\n }\n}\n\nResponsiveMenu.defaults = {};\n\nexport {ResponsiveMenu};\n","'use strict';\n\nimport $ from 'jquery';\n\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * ResponsiveToggle module.\n * @module foundation.responsiveToggle\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion\n */\n\nclass ResponsiveToggle extends Plugin {\n /**\n * Creates a new instance of Tab Bar.\n * @class\n * @name ResponsiveToggle\n * @fires ResponsiveToggle#init\n * @param {jQuery} element - jQuery object to attach tab bar functionality to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);\n this.className = 'ResponsiveToggle'; // ie9 back compat\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the tab bar by finding the target element, toggling element, and running update().\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n var targetID = this.$element.data('responsive-toggle');\n if (!targetID) {\n console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');\n }\n\n this.$targetMenu = $(`#${targetID}`);\n this.$toggler = this.$element.find('[data-toggle]').filter(function() {\n var target = $(this).data('toggle');\n return (target === targetID || target === \"\");\n });\n this.options = $.extend({}, this.options, this.$targetMenu.data());\n\n // If they were set, parse the animation classes\n if(this.options.animate) {\n let input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n }\n\n this._update();\n }\n\n /**\n * Adds necessary event handlers for the tab bar to work.\n * @function\n * @private\n */\n _events() {\n var _this = this;\n\n this._updateMqHandler = this._update.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._updateMqHandler);\n\n this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));\n }\n\n /**\n * Checks the current media query to determine if the tab bar should be visible or hidden.\n * @function\n * @private\n */\n _update() {\n // Mobile\n if (!MediaQuery.atLeast(this.options.hideFor)) {\n this.$element.show();\n this.$targetMenu.hide();\n }\n\n // Desktop\n else {\n this.$element.hide();\n this.$targetMenu.show();\n }\n }\n\n /**\n * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.\n * @function\n * @fires ResponsiveToggle#toggled\n */\n toggleMenu() {\n if (!MediaQuery.atLeast(this.options.hideFor)) {\n /**\n * Fires when the element attached to the tab bar toggles.\n * @event ResponsiveToggle#toggled\n */\n if(this.options.animate) {\n if (this.$targetMenu.is(':hidden')) {\n Motion.animateIn(this.$targetMenu, this.animationIn, () => {\n this.$element.trigger('toggled.zf.responsiveToggle');\n this.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$targetMenu, this.animationOut, () => {\n this.$element.trigger('toggled.zf.responsiveToggle');\n });\n }\n }\n else {\n this.$targetMenu.toggle(0);\n this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');\n this.$element.trigger('toggled.zf.responsiveToggle');\n }\n }\n };\n\n _destroy() {\n this.$element.off('.zf.responsiveToggle');\n this.$toggler.off('.zf.responsiveToggle');\n\n $(window).off('changed.zf.mediaquery', this._updateMqHandler);\n }\n}\n\nResponsiveToggle.defaults = {\n /**\n * The breakpoint after which the menu is always shown, and the tab bar is hidden.\n * @option\n * @type {string}\n * @default 'medium'\n */\n hideFor: 'medium',\n\n /**\n * To decide if the toggle should be animated or not.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport { ResponsiveToggle };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': true,\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('
    ')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if ($('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/foundation/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if ($('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.core.utils';\n\nimport { Plugin } from './foundation.core.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider extends Plugin {\n /**\n * Creates a new instance of a slider control.\n * @class\n * @name Slider\n * @param {jQuery} element - jQuery object to make into a slider control.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n this.className = 'Slider'; // ie9 back compat\n\n // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Slider', {\n 'ltr': {\n 'ARROW_RIGHT': 'increase',\n 'ARROW_UP': 'increase',\n 'ARROW_DOWN': 'decrease',\n 'ARROW_LEFT': 'decrease',\n 'SHIFT_ARROW_RIGHT': 'increase_fast',\n 'SHIFT_ARROW_UP': 'increase_fast',\n 'SHIFT_ARROW_DOWN': 'decrease_fast',\n 'SHIFT_ARROW_LEFT': 'decrease_fast',\n 'HOME': 'min',\n 'END': 'max'\n },\n 'rtl': {\n 'ARROW_LEFT': 'increase',\n 'ARROW_RIGHT': 'decrease',\n 'SHIFT_ARROW_LEFT': 'increase_fast',\n 'SHIFT_ARROW_RIGHT': 'decrease_fast'\n }\n });\n }\n\n /**\n * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n * @function\n * @private\n */\n _init() {\n this.inputs = this.$element.find('input');\n this.handles = this.$element.find('[data-slider-handle]');\n\n this.$handle = this.handles.eq(0);\n this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n var _this = this;\n if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n this.options.disabled = true;\n this.$element.addClass(this.options.disabledClass);\n }\n if (!this.inputs.length) {\n this.inputs = $().add(this.$input);\n this.options.binding = true;\n }\n\n this._setInitAttr(0);\n\n if (this.handles[1]) {\n this.options.doubleSided = true;\n this.$handle2 = this.handles.eq(1);\n this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n if (!this.inputs[1]) {\n this.inputs = this.inputs.add(this.$input2);\n }\n\n // this.$handle.triggerHandler('click.zf.slider');\n this._setInitAttr(1);\n }\n\n // Set handle positions\n this.setHandles();\n\n this._events();\n }\n\n setHandles() {\n if(this.handles[1]) {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n }\n }\n\n _reflow() {\n this.setHandles();\n }\n /**\n * @function\n * @private\n * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n */\n _pctOfBar(value) {\n var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n }\n\n return pctOfBar.toFixed(2)\n }\n\n /**\n * @function\n * @private\n * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n */\n _value(pctOfBar) {\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n }\n\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\n\n return value\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n */\n _logTransform(value) {\n return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n */\n _powTransform(value) {\n return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n }\n\n /**\n * Sets the position of the selected handle and fill bar.\n * @function\n * @private\n * @param {jQuery} $hndl - the selected handle to move.\n * @param {Number} location - floating point between the start and end values of the slider bar.\n * @param {Function} cb - callback function to fire on completion.\n * @fires Slider#moved\n * @fires Slider#changed\n */\n _setHandlePos($hndl, location, cb) {\n // don't move if the slider has been disabled since its initialization\n if (this.$element.hasClass(this.options.disabledClass)) {\n return;\n }\n //might need to alter that slightly for bars that will have odd number selections.\n location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n if (location < this.options.start) { location = this.options.start; }\n else if (location > this.options.end) { location = this.options.end; }\n\n var isDbl = this.options.doubleSided;\n\n if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n if (this.handles.index($hndl) === 0) {\n var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n location = location >= h2Val ? h2Val - this.options.step : location;\n } else {\n var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n location = location <= h1Val ? h1Val + this.options.step : location;\n }\n }\n\n var _this = this,\n vert = this.options.vertical,\n hOrW = vert ? 'height' : 'width',\n lOrT = vert ? 'top' : 'left',\n handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n //percentage of bar min/max value based on click or drag point\n pctOfBar = this._pctOfBar(location),\n //number of actual pixels to shift the handle, based on the percentage obtained above\n pxToMove = (elemDim - handleDim) * pctOfBar,\n //percentage of bar to shift the handle\n movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n location = parseFloat(location.toFixed(this.options.decimal));\n // declare empty object for css adjustments, only used with 2 handled-sliders\n var css = {};\n\n this._setValues($hndl, location);\n\n // TODO update to calculate based on values set to respective inputs??\n if (isDbl) {\n var isLeftHndl = this.handles.index($hndl) === 0,\n //empty variable, will be used for min-height/width for fill bar\n dim,\n //percentage w/h of the handle compared to the slider bar\n handlePct = ~~(percent(handleDim, elemDim) * 100);\n //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n if (isLeftHndl) {\n //left or top percentage value to apply to the fill bar.\n css[lOrT] = `${movement}%`;\n //calculate the new min-height/width for the fill bar.\n dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n } else {\n //just caching the value of the left/bottom handle's left/top property\n var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n }\n // assign the min-height/width to our css object\n css[`min-${hOrW}`] = `${dim}%`;\n }\n\n this.$element.one('finished.zf.animate', function() {\n /**\n * Fires when the handle is done moving.\n * @event Slider#moved\n */\n _this.$element.trigger('moved.zf.slider', [$hndl]);\n });\n\n //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n Move(moveTime, $hndl, function() {\n // adjusting the left/top property of the handle, based on the percentage calculated above\n // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n // fall back to next best guess.\n if (isNaN(movement)) {\n $hndl.css(lOrT, `${pctOfBar * 100}%`);\n }\n else {\n $hndl.css(lOrT, `${movement}%`);\n }\n\n if (!_this.options.doubleSided) {\n //if single-handled, a simple method to expand the fill bar\n _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n } else {\n //otherwise, use the css object we created above\n _this.$fill.css(css);\n }\n });\n\n\n /**\n * Fires when the value has not been change for a given time.\n * @event Slider#changed\n */\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.$element.trigger('changed.zf.slider', [$hndl]);\n }, _this.options.changedDelay);\n }\n\n /**\n * Sets the initial attribute for the slider element.\n * @function\n * @private\n * @param {Number} idx - index of the current handle/input to use.\n */\n _setInitAttr(idx) {\n var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n this.inputs.eq(idx).attr({\n 'id': id,\n 'max': this.options.end,\n 'min': this.options.start,\n 'step': this.options.step\n });\n this.inputs.eq(idx).val(initVal);\n this.handles.eq(idx).attr({\n 'role': 'slider',\n 'aria-controls': id,\n 'aria-valuemax': this.options.end,\n 'aria-valuemin': this.options.start,\n 'aria-valuenow': initVal,\n 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n 'tabindex': 0\n });\n }\n\n /**\n * Sets the input and `aria-valuenow` values for the slider element.\n * @function\n * @private\n * @param {jQuery} $handle - the currently selected handle.\n * @param {Number} val - floating point of the new value.\n */\n _setValues($handle, val) {\n var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n this.inputs.eq(idx).val(val);\n $handle.attr('aria-valuenow', val);\n }\n\n /**\n * Handles events on the slider element.\n * Calculates the new location of the current handle.\n * If there are two handles and the bar was clicked, it determines which handle to move.\n * @function\n * @private\n * @param {Object} e - the `event` object passed from the listener.\n * @param {jQuery} $handle - the current handle to calculate for, if selected.\n * @param {Number} val - floating point number for the new value of the slider.\n * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n */\n _handleEvent(e, $handle, val) {\n var value, hasVal;\n if (!val) {//click or drag events\n e.preventDefault();\n var _this = this,\n vertical = this.options.vertical,\n param = vertical ? 'height' : 'width',\n direction = vertical ? 'top' : 'left',\n eventOffset = vertical ? e.pageY : e.pageX,\n barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n var elemOffset = this.$element.offset()[direction];\n\n // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n // best way to guess this is simulated is if clientY == pageY\n if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n var eventFromBar = eventOffset - elemOffset;\n var barXY;\n if (eventFromBar < 0) {\n barXY = 0;\n } else if (eventFromBar > barDim) {\n barXY = barDim;\n } else {\n barXY = eventFromBar;\n }\n var offsetPct = percent(barXY, barDim);\n\n value = this._value(offsetPct);\n\n // turn everything around for RTL, yay math!\n if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n value = _this._adjustValue(null, value);\n //boolean flag for the setHandlePos fn, specifically for vertical sliders\n hasVal = false;\n\n if (!$handle) {//figure out which handle it is, pass it to the next function.\n var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n }\n\n } else {//change event on input\n value = this._adjustValue(null, val);\n hasVal = true;\n }\n\n this._setHandlePos($handle, value);\n }\n\n /**\n * Adjustes value for handle in regard to step value. returns adjusted value\n * @function\n * @private\n * @param {jQuery} $handle - the selected handle.\n * @param {Number} value - value to adjust. used if $handle is falsy\n */\n _adjustValue($handle, value) {\n var val,\n step = this.options.step,\n div = parseFloat(step/2),\n left, prev_val, next_val;\n if (!!$handle) {\n val = parseFloat($handle.attr('aria-valuenow'));\n }\n else {\n val = value;\n }\n if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\n prev_val = val - left;\n next_val = prev_val + step;\n if (left === 0) {\n return val;\n }\n val = val >= prev_val + div ? next_val : prev_val;\n return val;\n }\n\n /**\n * Adds event listeners to the slider elements.\n * @function\n * @private\n */\n _events() {\n this._eventsForHandle(this.$handle);\n if(this.handles[1]) {\n this._eventsForHandle(this.$handle2);\n }\n }\n\n\n /**\n * Adds event listeners a particular handle\n * @function\n * @private\n * @param {jQuery} $handle - the current handle to apply listeners to.\n */\n _eventsForHandle($handle) {\n var _this = this,\n curHandle;\n\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n\n if (this.options.clickSelect) {\n this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n if (_this.$element.data('dragging')) { return false; }\n\n if (!$(e.target).is('[data-slider-handle]')) {\n if (_this.options.doubleSided) {\n _this._handleEvent(e);\n } else {\n _this._handleEvent(e, _this.$handle);\n }\n }\n });\n }\n\n if (this.options.draggable) {\n this.handles.addTouch();\n\n var $body = $('body');\n $handle\n .off('mousedown.zf.slider')\n .on('mousedown.zf.slider', function(e) {\n $handle.addClass('is-dragging');\n _this.$fill.addClass('is-dragging');//\n _this.$element.data('dragging', true);\n\n curHandle = $(e.currentTarget);\n\n $body.on('mousemove.zf.slider', function(e) {\n e.preventDefault();\n _this._handleEvent(e, curHandle);\n\n }).on('mouseup.zf.slider', function(e) {\n _this._handleEvent(e, curHandle);\n\n $handle.removeClass('is-dragging');\n _this.$fill.removeClass('is-dragging');\n _this.$element.data('dragging', false);\n\n $body.off('mousemove.zf.slider mouseup.zf.slider');\n });\n })\n // prevent events triggered by touch\n .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n e.preventDefault();\n });\n }\n\n $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n var _$handle = $(this),\n idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n oldValue = parseFloat(_this.inputs.eq(idx).val()),\n newValue;\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Slider', {\n decrease: function() {\n newValue = oldValue - _this.options.step;\n },\n increase: function() {\n newValue = oldValue + _this.options.step;\n },\n decrease_fast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increase_fast: function() {\n newValue = oldValue + _this.options.step * 10;\n },\n min: function() {\n newValue = _this.options.start;\n },\n max: function() {\n newValue = _this.options.end;\n },\n handled: function() { // only set handle pos when event was handled specially\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }\n });\n /*if (newValue) { // if pressed key has special function, update value\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }*/\n });\n }\n\n /**\n * Destroys the slider plugin.\n */\n _destroy() {\n this.handles.off('.zf.slider');\n this.inputs.off('.zf.slider');\n this.$element.off('.zf.slider');\n\n clearTimeout(this.timeout);\n }\n}\n\nSlider.defaults = {\n /**\n * Minimum value for the slider scale.\n * @option\n * @type {number}\n * @default 0\n */\n start: 0,\n /**\n * Maximum value for the slider scale.\n * @option\n * @type {number}\n * @default 100\n */\n end: 100,\n /**\n * Minimum value change per change event.\n * @option\n * @type {number}\n * @default 1\n */\n step: 1,\n /**\n * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n * @option\n * @type {number}\n * @default 0\n */\n initialStart: 0,\n /**\n * Value at which the right handle/second input should be set to on initialization.\n * @option\n * @type {number}\n * @default 100\n */\n initialEnd: 100,\n /**\n * Allows the input to be located outside the container and visible. Set to by the JS\n * @option\n * @type {boolean}\n * @default false\n */\n binding: false,\n /**\n * Allows the user to click/tap on the slider bar to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n clickSelect: true,\n /**\n * Set to true and use the `vertical` class to change alignment to vertical.\n * @option\n * @type {boolean}\n * @default false\n */\n vertical: false,\n /**\n * Allows the user to drag the slider handle(s) to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n draggable: true,\n /**\n * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n * @option\n * @type {boolean}\n * @default false\n */\n disabled: false,\n /**\n * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n * @option\n * @type {boolean}\n * @default false\n */\n doubleSided: false,\n /**\n * Potential future feature.\n */\n // steps: 100,\n /**\n * Number of decimal places the plugin should go to for floating point precision.\n * @option\n * @type {number}\n * @default 2\n */\n decimal: 2,\n /**\n * Time delay for dragged elements.\n */\n // dragDelay: 0,\n /**\n * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n * @option\n * @type {number}\n * @default 200\n */\n moveTime: 200,//update this if changing the transition time in the sass\n /**\n * Class applied to disabled sliders.\n * @option\n * @type {string}\n * @default 'disabled'\n */\n disabledClass: 'disabled',\n /**\n * Will invert the default layout for a vertical slider.\n * @option\n * @type {boolean}\n * @default false\n */\n invertVertical: false,\n /**\n * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n * @option\n * @type {number}\n * @default 500\n */\n changedDelay: 500,\n /**\n * Basevalue for non-linear sliders\n * @option\n * @type {number}\n * @default 5\n */\n nonLinearBase: 5,\n /**\n * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n * @option\n * @type {string}\n * @default 'linear'\n */\n positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\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 sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
    ',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n // Collect triggers to set ARIA attributes to\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n }\n // Otherwise, parse toggle class\n else {\n input = this.options.toggler;\n if (typeof input !== 'string' || !input.length) {\n throw new Error(`The 'toogler' option containing the target class is required, got \"${input}\"`);\n }\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n\n // - aria-expanded: according to the elements class set.\n $triggers.attr('aria-expanded', this.$element.hasClass(this.className));\n }\n\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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 = $('
    ').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 { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin }from './foundation.core.plugin';\n\nimport { Accordion } from './foundation.accordion';\nimport { Tabs } from './foundation.tabs';\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n tabs: {\n cssClass: 'tabs',\n plugin: Tabs,\n open: (plugin, target) => plugin.selectTab(target),\n close: null /* not supported */,\n toggle: null /* not supported */,\n },\n accordion: {\n cssClass: 'accordion',\n plugin: Accordion,\n open: (plugin, target) => plugin.down($(target)),\n close: (plugin, target) => plugin.up($(target)),\n toggle: (plugin, target) => plugin.toggle($(target)),\n }\n};\n\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\n\nclass ResponsiveAccordionTabs extends Plugin{\n constructor(element, options) {\n super(element, options);\n return this.options.reflow && this.storezfData || this;\n }\n\n /**\n * Creates a new instance of a responsive accordion tabs.\n * @class\n * @name ResponsiveAccordionTabs\n * @fires ResponsiveAccordionTabs#init\n * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.$element.data('zfPluginBase', this);\n this.options = $.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options);\n\n this.rules = this.$element.data('responsive-accordion-tabs');\n this.currentMq = null;\n this.currentRule = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveAccordionTabs'; // ie9 back compat\n if (!this.$element.attr('id')) {\n this.$element.attr('id',GetYoDigits(6, 'responsiveaccordiontabs'));\n }\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n this._getAllOptions();\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n }\n\n _getAllOptions() {\n //get all defaults and options\n var _this = this;\n _this.allOptions = {};\n for (var key in MenuPlugins) {\n if (MenuPlugins.hasOwnProperty(key)) {\n var obj = MenuPlugins[key];\n try {\n var dummyPlugin = $('
      ');\n var tmpPlugin = new obj.plugin(dummyPlugin,_this.options);\n for (var keyKey in tmpPlugin.options) {\n if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n var objObj = tmpPlugin.options[keyKey];\n _this.allOptions[keyKey] = objObj;\n }\n }\n tmpPlugin.destroy();\n }\n catch(e) {\n }\n }\n }\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this);\n $(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) {\n //don't know why but on nested elements data zfPlugin get's lost\n if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin',this.storezfData);\n this.currentPlugin.destroy();\n }\n this._handleMarkup(this.rules[matchedMq].cssClass);\n this.currentRule = this.rules[matchedMq];\n this.currentPlugin = new this.currentRule.plugin(this.$element, this.options);\n this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n\n }\n\n _handleMarkup(toSet){\n var _this = this, fromString = 'accordion';\n var $panels = $('[data-tabs-content='+this.$element.attr('id')+']');\n if ($panels.length) fromString = 'tabs';\n if (fromString === toSet) {\n return;\n }\n\n var tabsTitle = _this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';\n var tabsPanel = _this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';\n\n this.$element.removeAttr('role');\n var $liHeads = this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n if (fromString === 'tabs') {\n $panels = $panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n } else {\n $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n }\n\n $panels.css({display:'',visibility:''});\n $liHeads.css({display:'',visibility:''});\n if (toSet === 'accordion') {\n $panels.each(function(key,value){\n $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});\n $('[data-tabs-content='+_this.$element.attr('id')+']').after('
      ').detach();\n $liHeads.addClass('accordion-item').attr('data-accordion-item','');\n $liHeadsA.addClass('accordion-title');\n });\n } else if (toSet === 'tabs') {\n var $tabsContent = $('[data-tabs-content='+_this.$element.attr('id')+']');\n var $placeholder = $('#tabs-placeholder-'+_this.$element.attr('id'));\n if ($placeholder.length) {\n $tabsContent = $('
      ').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));\n $placeholder.remove();\n } else {\n $tabsContent = $('
      ').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));\n }\n $panels.each(function(key,value){\n var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n var hash = $liHeadsA.get(key).hash.slice(1);\n var id = $(value).attr('id') || GetYoDigits(6, 'accordion');\n if (hash !== id) {\n if (hash !== '') {\n $(value).attr('id',hash);\n } else {\n hash = id;\n $(value).attr('id',hash);\n $($liHeadsA.get(key)).attr('href',$($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);\n }\n }\n var isActive = $($liHeads.get(key)).hasClass('is-active');\n if (isActive) {\n tempValue.addClass('is-active');\n }\n });\n $liHeads.addClass(tabsTitle);\n };\n }\n\n /**\n * Opens the plugin pane defined by `target`.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to open.\n * @see Accordion.down\n * @see Tabs.selectTab\n * @function\n */\n open(_target) {\n if (this.currentRule && typeof this.currentRule.open === 'function') {\n return this.currentRule.open(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Closes the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to close.\n * @see Accordion.up\n * @function\n */\n close(_target) {\n if (this.currentRule && typeof this.currentRule.close === 'function') {\n return this.currentRule.close(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Toggles the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle.\n * @see Accordion.toggle\n * @function\n */\n toggle(_target) {\n if (this.currentRule && typeof this.currentRule.toggle === 'function') {\n return this.currentRule.toggle(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n if (this.currentPlugin) this.currentPlugin.destroy();\n $(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n}\n\nResponsiveAccordionTabs.defaults = {};\n\nexport {ResponsiveAccordionTabs};\n","import $ from 'jquery';\n\nimport { Foundation } from '../foundation.core';\nimport * as CoreUtils from '../foundation.core.utils';\nimport { Box } from '../foundation.util.box'\nimport { onImagesLoaded } from '../foundation.util.imageLoader';\nimport { Keyboard } from '../foundation.util.keyboard';\nimport { MediaQuery } from '../foundation.util.mediaQuery';\nimport { Motion, Move } from '../foundation.util.motion';\nimport { Nest } from '../foundation.util.nest';\nimport { Timer } from '../foundation.util.timer';\nimport { Touch } from '../foundation.util.touch';\nimport { Triggers } from '../foundation.util.triggers';\nimport { Abide } from '../foundation.abide';\nimport { Accordion } from '../foundation.accordion';\nimport { AccordionMenu } from '../foundation.accordionMenu';\nimport { Drilldown } from '../foundation.drilldown';\nimport { Dropdown } from '../foundation.dropdown';\nimport { DropdownMenu } from '../foundation.dropdownMenu';\nimport { Equalizer } from '../foundation.equalizer';\nimport { Interchange } from '../foundation.interchange';\nimport { Magellan } from '../foundation.magellan';\nimport { OffCanvas } from '../foundation.offcanvas';\nimport { Orbit } from '../foundation.orbit';\nimport { ResponsiveMenu } from '../foundation.responsiveMenu';\nimport { ResponsiveToggle } from '../foundation.responsiveToggle';\nimport { Reveal } from '../foundation.reveal';\nimport { Slider } from '../foundation.slider';\nimport { SmoothScroll } from '../foundation.smoothScroll';\nimport { Sticky } from '../foundation.sticky';\nimport { Tabs } from '../foundation.tabs';\nimport { Toggler } from '../foundation.toggler';\nimport { Tooltip } from '../foundation.tooltip';\nimport { ResponsiveAccordionTabs } from '../foundation.responsiveAccordionTabs';\n\nFoundation.addToJquery($);\n\n// Add Foundation Utils to Foundation global namespace for backwards\n// compatibility.\nFoundation.rtl = CoreUtils.rtl;\nFoundation.GetYoDigits = CoreUtils.GetYoDigits;\nFoundation.transitionend = CoreUtils.transitionend;\nFoundation.RegExpEscape = CoreUtils.RegExpEscape;\nFoundation.onLoad = CoreUtils.onLoad;\n\nFoundation.Box = Box;\nFoundation.onImagesLoaded = onImagesLoaded;\nFoundation.Keyboard = Keyboard;\nFoundation.MediaQuery = MediaQuery;\nFoundation.Motion = Motion;\nFoundation.Move = Move;\nFoundation.Nest = Nest;\nFoundation.Timer = Timer;\n\n// Touch and Triggers previously were almost purely sede effect driven,\n// so no need to add it to Foundation, just init them.\nTouch.init($);\nTriggers.init($, Foundation);\nMediaQuery._init();\n\nFoundation.plugin(Abide, 'Abide');\nFoundation.plugin(Accordion, 'Accordion');\nFoundation.plugin(AccordionMenu, 'AccordionMenu');\nFoundation.plugin(Drilldown, 'Drilldown');\nFoundation.plugin(Dropdown, 'Dropdown');\nFoundation.plugin(DropdownMenu, 'DropdownMenu');\nFoundation.plugin(Equalizer, 'Equalizer');\nFoundation.plugin(Interchange, 'Interchange');\nFoundation.plugin(Magellan, 'Magellan');\nFoundation.plugin(OffCanvas, 'OffCanvas');\nFoundation.plugin(Orbit, 'Orbit');\nFoundation.plugin(ResponsiveMenu, 'ResponsiveMenu');\nFoundation.plugin(ResponsiveToggle, 'ResponsiveToggle');\nFoundation.plugin(Reveal, 'Reveal');\nFoundation.plugin(Slider, 'Slider');\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\nFoundation.plugin(Sticky, 'Sticky');\nFoundation.plugin(Tabs, 'Tabs');\nFoundation.plugin(Toggler, 'Toggler');\nFoundation.plugin(Tooltip, 'Tooltip');\nFoundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n\nexport {\n Foundation,\n CoreUtils,\n Box,\n onImagesLoaded,\n Keyboard,\n MediaQuery,\n Motion,\n Nest,\n Timer,\n Touch,\n Triggers,\n Abide,\n Accordion,\n AccordionMenu,\n Drilldown,\n Dropdown,\n DropdownMenu,\n Equalizer,\n Interchange,\n Magellan,\n OffCanvas,\n Orbit,\n ResponsiveMenu,\n ResponsiveToggle,\n Reveal,\n Slider,\n SmoothScroll,\n Sticky,\n Tabs,\n Toggler,\n Tooltip,\n ResponsiveAccordionTabs\n}\n\nexport default Foundation;\n\n"],"names":["rtl","$","attr","GetYoDigits","length","namespace","str","chars","charsLength","i","Math","floor","random","RegExpEscape","replace","transitionend","$elem","transitions","elem","document","createElement","end","transition","style","setTimeout","triggerHandler","onLoad","handler","didLoad","readyState","eventType","cb","one","window","ignoreMousedisappear","ignoreLeaveWindow","ignoreReappear","leaveEventHandler","eLeave","rest","callback","bind","relatedTarget","leaveEventDebouncer","hasFocus","reenterEventHandler","eReenter","currentTarget","has","target","matchMedia","styleMedia","media","script","getElementsByTagName","info","type","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","MediaQuery","queries","current","_init","isInitialized","self","$meta","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","push","name","value","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","parts","trim","split","filter","p","bpSize","bpModifier","Error","queryIndex","findIndex","q","_getQueryName","nextQuery","TypeError","matched","off","on","newSize","currentSize","trigger","styleObject","slice","reduce","ret","param","val","decodeURIComponent","Array","isArray","FOUNDATION_VERSION","Foundation","version","_plugins","_uuids","plugin","className","functionName","attrName","hyphenate","registerPlugin","pluginName","constructor","toLowerCase","uuid","$element","data","unregisterPlugin","splice","indexOf","removeAttr","removeData","prop","reInit","plugins","isJQ","each","_this","fns","plgs","forEach","foundation","Object","keys","err","console","error","reflow","find","addBack","$el","opts","option","_index","opt","map","el","parseValue","er","getFnName","addToJquery","method","$noJS","removeClass","args","prototype","call","arguments","plugClass","apply","ReferenceError","fn","util","throttle","func","delay","timer","context","Date","now","getTime","vendors","requestAnimationFrame","vp","cancelAnimationFrame","test","navigator","userAgent","lastTime","nextTime","max","clearTimeout","performance","start","Function","oThis","aArgs","fToBind","fNOP","fBound","concat","funcNameRegex","results","exec","toString","isNaN","parseFloat","Box","ImNotTouchingYou","OverlapArea","GetDimensions","GetExplicitOffsets","element","parent","lrOnly","tbOnly","ignoreBottom","eleDims","topOver","bottomOver","leftOver","rightOver","parDims","height","offset","top","left","windowDims","min","sqrt","rect","getBoundingClientRect","parRect","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","anchor","position","alignment","vOffset","hOffset","isOverflow","$eleDims","$anchorDims","topVal","leftVal","onImagesLoaded","images","unloaded","complete","naturalWidth","singleImageLoaded","image","Image","events","me","event","src","keyCodes","commands","findFocusable","parseKey","which","keyCode","String","fromCharCode","toUpperCase","shiftKey","ctrlKey","altKey","Keyboard","getKeyCodes","handleKey","component","functions","commandList","cmds","command","warn","zfIsKeyHandled","ltr","Rtl","extend","returnValue","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","preventDefault","focus","releaseFocus","kcs","k","kc","initClasses","activeClasses","Motion","animateIn","animation","animate","animateOut","Move","duration","anim","prog","move","ts","isIn","initClass","activeClass","reset","addClass","show","offsetWidth","finish","hide","transitionDuration","Nest","Feather","menu","items","subMenuClass","subItemClass","hasSubClass","applyAria","$item","$sub","children","Burn","Timer","options","nameSpace","remain","isPaused","restart","infinite","pause","Touch","startPosX","startPosY","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","removeEventListener","onTouchMove","tapEvent","Event","spotSwipe","x","touches","pageX","y","pageY","dx","dir","abs","moveThreshold","timeThreshold","assign","onTouchStart","addEventListener","init","SpotSwipe","enabled","documentElement","special","swipe","setup","tap","noop","setupSpotSwipe","setupTouchHandler","addTouch","handleTouch","changedTouches","first","eventTypes","touchstart","touchmove","touchend","simulatedEvent","MouseEvent","screenX","screenY","clientX","clientY","createEvent","initMouseEvent","dispatchEvent","MutationObserver","prefixes","triggers","Triggers","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","stopPropagation","fadeOut","toggleFocusListener","addOpenListener","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","not","addClosemeListener","yetiBoxes","plugNames","listeners","join","debounceGlobalListener","debounce","listener","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou","Plugin","_setup","getPluginName","_destroy","obj","Abide","defaults","isEnabled","formnovalidate","$inputs","merge","$submits","$globalErrors","a11yAttributes","input","addA11yAttributes","addGlobalErrorA11yAttributes","_events","resetForm","validateForm","getAttribute","submit","validateOn","validateInput","liveValidate","validateOnBlur","isGood","checked","failedValidators","$error","siblings","formErrorSelector","add","v","$label","$els","labels","findLabel","$formError","findFormError","labelErrorClass","formErrorClass","inputErrorClass","$errors","$labels","errorId","elemId","label","a11yErrorLevel","groupName","findRadioLabels","$formErrors","findCheckboxLabels","removeRadioErrorClasses","removeCheckboxErrorClasses","clearRequire","requiredCheck","validator","manageErrorClasses","_validationIsDisabled","validateRadio","validateCheckbox","validateText","required","validators","equalTo","goodToGo","message","dependentElements","removeErrorClasses","addErrorClasses","acc","checkboxGroupName","initialized","noError","pattern","inputText","valid","patterns","RegExp","$group","minRequired","parseInt","clear","$form","alpha","alpha_numeric","integer","number","card","cvv","email","url","domain","datetime","date","time","dateISO","month_day_year","day_month_year","color","website","Accordion","_isInitializing","$tabs","idx","$content","linkId","$initActive","_initialAnchor","prev","_openSingleTab","_checkDeepLink","location","hash","$anchor","$link","isOwnAnchor","hasClass","_closeAllTabs","deepLinkSmudge","scrollTop","deepLinkSmudgeOffset","deepLinkSmudgeDelay","deepLink","$tabContent","toggle","$a","multiExpand","previous","up","down","updateHistory","history","pushState","replaceState","_openTab","$targetItem","$othersItems","allowAllClosed","_closeTab","$activeContents","targetContentId","slideDown","slideSpeed","slideUp","$activeTabs","stop","AccordionMenu","multiOpen","$menuLinks","subId","isActive","parentLink","clone","prependTo","wrap","submenuToggle","after","submenuToggleText","initPanes","$submenu","$elements","$prevElement","$nextElement","parents","open","close","closeAll","hideAll","$targetBranch","parentsUntil","$othersActiveSubmenus","$submenus","$allmenus","detach","remove","Drilldown","autoApplyClass","$submenuAnchors","$menuItems","$currentMenu","_prepareMenu","_registerEvents","_keyboardEvents","$menu","$back","backButtonPosition","append","backButton","prepend","_back","autoHeight","$wrapper","wrapper","animateHeight","_getMaxDims","_show","closeOnClick","$body","contains","_hideAll","_bindHandler","_scrollTop","_resize","$scrollTopElement","scrollTopElement","scrollPos","scrollTopOffset","animationDuration","animationEasing","_hide","calcHeight","parentSubMenu","autoFocus","$expandedSubmenus","index","_setHideSubMenuClasses","isLastChild","_setShowSubMenuClasses","blur","maxHeight","result","numOfElems","unwrap","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","item","array","currentIdx","Positionable","triedPositions","_getDefaultPosition","_getDefaultAlignment","originalPosition","originalAlignment","_alignmentsExhausted","_realign","_addTriedPosition","isExhausted","$parent","allowOverlap","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","allowBottomOverlap","_reposition","Dropdown","$id","$anchors","_setCurrentAnchor","parentClass","$currentAnchor","match","horizontalPosition","hasTouch","ontouchstart","_setPosition","forceFollow","hover","bodyData","whatinput","timeout","hoverDelay","hoverPane","visibleFocusableElements","_addBodyHandler","DropdownMenu","subs","verticalClass","rightClass","changed","parClass","handleClickFn","hasSub","hasClicked","clickOpen","stopImmediatePropagation","closeOnClickInside","disableHover","autoclose","closingTime","isTab","nextSibling","prevSibling","openSub","closeSub","_isVertical","_isRtl","_removeBodyHandler","isItself","$sibs","oldClass","$parentLi","$toClose","somethingToClose","$activeItem","Equalizer","eqId","$watched","hasNested","isNested","isOn","onResizeMeBound","_onResizeMe","onPostEqualizedBound","_onPostEqualized","imgs","tooSmall","equalizeOn","_checkMQ","_reflow","_pauseEvents","equalizeOnStack","_isStacked","equalizeByRow","getHeightsByRow","applyHeightByRow","getHeights","applyHeight","heights","len","offsetHeight","lastElTopOffset","groups","group","elOffsetTop","j","ln","groupsILength","lenJ","Interchange","rules","currentPath","_parseOptions","_addBreakpoints","_generateRules","rule","path","types","log","SPECIAL_QUERIES","rulesList","nodeName","response","html","SmoothScroll","_linkClickListener","_handleLinkClick","arrival","_inTransition","scrollToLoc","loc","$loc","round","threshold","Magellan","calcPoints","$targets","$links","$active","points","winHeight","innerHeight","clientHeight","docHeight","scrollHeight","$tar","pt","targetPoint","deepLinking","_updateActive","onLoadListener","_deepLinkScroll","newScrollPos","isScrollingUp","activeIdx","visibleLinks","$oldActive","activeHash","isNewActive","isNewHash","pathname","search","OffCanvas","contentClasses","base","reveal","$lastTrigger","$triggers","nested","$sticky","isInCanvas","contentId","contentOverlay","overlay","overlayPosition","setAttribute","$overlay","insertAfter","revealOnRegExp","revealClass","revealOnClass","isRevealed","revealOn","_setMQChecker","transitionTime","contentScroll","inCanvasFor","inCanvasOn","_checkInCanvas","_removeContentClasses","_handleKeyboard","hasReveal","_","absoluteTopVal","stickyData","_addContentClasses","allowUp","allowDown","lastY","originalEvent","hasAttribute","forceTo","scrollTo","_stopScrolling","_recordScrollable","_stopScrollPropagation","canvasFocus","_fixStickyElements","_unfixStickyElements","Orbit","_reset","containerClass","$slides","slideClass","$images","initActive","useMUI","_prepareForOrbit","bullets","_loadBullets","autoPlay","geoSync","accessible","$bullets","boxOfBullets","timerDelay","changeSlide","_setWrapperHeight","temp","counter","pauseOnHover","navButtons","$controls","nextClass","prevClass","$slide","_updateBullets","isLTR","chosenSlide","$curSlide","$firstSlide","$lastSlide","last","dirIn","dirOut","$newSlide","infiniteWrap","$oldBullet","$othersBullets","$newBullet","activeStateDescriptor","spans","spanCountInOthersBullets","toArray","b","every","count","animInFromRight","animOutToRight","animInFromLeft","animOutToLeft","MenuPlugins","dropdown","cssClass","drilldown","accordion","ResponsiveMenu","currentMq","currentPlugin","rulesTree","ruleSize","rulePlugin","isEmptyObject","_checkMediaQueries","matchedMq","destroy","ResponsiveToggle","targetID","$targetMenu","$toggler","animationIn","animationOut","_update","_updateMqHandler","toggleMenu","hideFor","Reveal","cached","mq","fullScreen","_makeOverlay","additionalOverlayClasses","outerWidth","outerHeight","margin","_updatePosition","_handleState","$activeAnchor","activeElement","multipleOpened","_disableScroll","afterAnimation","_addGlobalClasses","focusableElements","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","closeOnEsc","finishUp","hideDelay","_removeGlobalClasses","_enableScroll","resetOnClose","urlWithoutHash","title","Slider","inputs","handles","$handle","$input","$fill","vertical","disabled","disabledClass","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_setHandlePos","pctOfBar","percent","positionValueFunction","_logTransform","_powTransform","toFixed","baseLog","nonLinearBase","pow","$hndl","isDbl","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","elemDim","_pctOfBar","pxToMove","movement","decimal","_setValues","isLeftHndl","dim","handlePct","handlePos","initialStart","moveTime","changedDelay","initVal","initialEnd","direction","eventOffset","barDim","windowScroll","scrollLeft","elemOffset","eventFromBar","barXY","offsetPct","_value","_adjustValue","firstHndlPos","absPosition","secndHndlPos","hasVal","div","prev_val","next_val","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","clickSelect","draggable","_$handle","oldValue","newValue","decrease","increase","decrease_fast","increase_fast","invertVertical","frac","num","clickPos","Sticky","$container","wasWrapped","container","stickyClass","scrollCount","checkEvery","isStuck","containerHeight","elemHeight","_parsePoints","_setSizes","scroll","_calc","_removeSticky","topPoint","reverse","topAnchor","btm","btmAnchor","pts","breaks","place","canStick","_eventsHandler","_pauseListeners","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","stickyOn","newElemWidth","comp","pdngl","pdngr","dynamicHeight","newContainerHeight","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","bottom","em","fontSize","Tabs","$tabTitles","linkClass","linkActiveClass","matchHeight","_setHeight","anchorNoHash","selectTab","_collapse","_addKeyHandler","_addClickHandler","_setHeightMqHandler","_handleTabChange","wrapOnKeys","historyHandled","activeCollapse","$oldTab","$tabLink","$targetContent","_collapseTab","panelActiveClass","$target_anchor","$activeTab","idStr","hashIdStr","panelClass","panel","Toggler","toggler","$trigger","controls","containsId","_updateARIA","undefined","Tooltip","isClick","tipText","template","_buildTemplate","allowHtml","triggerClass","elementClassName","SVGElement","baseVal","tooltipWidth","tooltipHeight","templateClasses","tooltipClass","$template","showOn","fadeIn","fadeInDuration","fadeOutDuration","isFocus","disableForTouch","touchCloseText","tabs","ResponsiveAccordionTabs","storezfData","currentRule","_getAllOptions","allOptions","dummyPlugin","tmpPlugin","keyKey","objObj","_changedZfMediaQueryHandler","_handleMarkup","toSet","fromString","$panels","tabsTitle","tabsPanel","$liHeads","$liHeadsA","display","visibility","$tabsContent","$placeholder","tempValue","_target","CoreUtils"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"foundation.cjs.js","sources":["../../js/foundation.core.utils.js","../../js/foundation.util.mediaQuery.js","../../js/foundation.core.js","../../js/foundation.util.box.js","../../js/foundation.util.imageLoader.js","../../js/foundation.util.keyboard.js","../../js/foundation.util.motion.js","../../js/foundation.util.nest.js","../../js/foundation.util.timer.js","../../js/foundation.util.touch.js","../../js/foundation.util.triggers.js","../../js/foundation.core.plugin.js","../../js/foundation.abide.js","../../js/foundation.accordion.js","../../js/foundation.accordionMenu.js","../../js/foundation.drilldown.js","../../js/foundation.positionable.js","../../js/foundation.dropdown.js","../../js/foundation.dropdownMenu.js","../../js/foundation.equalizer.js","../../js/foundation.interchange.js","../../js/foundation.smoothScroll.js","../../js/foundation.magellan.js","../../js/foundation.offcanvas.js","../../js/foundation.orbit.js","../../js/foundation.responsiveMenu.js","../../js/foundation.responsiveToggle.js","../../js/foundation.reveal.js","../../js/foundation.slider.js","../../js/foundation.sticky.js","../../js/foundation.tabs.js","../../js/foundation.toggler.js","../../js/foundation.tooltip.js","../../js/foundation.responsiveAccordionTabs.js","../../js/entries/foundation.js"],"sourcesContent":["import $ from 'jquery';\n\n// Core Foundation Utilities, utilized in a number of places.\n\n /**\n * Returns a boolean for RTL support\n */\nfunction rtl() {\n return $('html').attr('dir') === 'rtl';\n}\n\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\nfunction GetYoDigits(length = 6, namespace){\n let str = '';\n const chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n const charsLength = chars.length;\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * charsLength)];\n }\n return namespace ? `${str}-${namespace}` : str;\n}\n\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\nfunction RegExpEscape(str){\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nfunction transitionend($elem){\n var transitions = {\n 'transition': 'transitionend',\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'transitionend',\n 'OTransition': 'otransitionend'\n };\n var elem = document.createElement('div'),\n end;\n\n for (let transition in transitions){\n if (typeof elem.style[transition] !== 'undefined'){\n end = transitions[transition];\n }\n }\n if (end) {\n return end;\n } else {\n setTimeout(function(){\n $elem.triggerHandler('transitionend', [$elem]);\n }, 1);\n return 'transitionend';\n }\n}\n\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\nfunction onLoad($elem, handler) {\n const didLoad = document.readyState === 'complete';\n const eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n const cb = () => $elem.triggerHandler(eventType);\n\n if ($elem) {\n if (handler) $elem.one(eventType, handler);\n\n if (didLoad)\n setTimeout(cb);\n else\n $(window).one('load', cb);\n }\n\n return eventType;\n}\n\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n * (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n * outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\nfunction ignoreMousedisappear(handler, { ignoreLeaveWindow = false, ignoreReappear = false } = {}) {\n return function leaveEventHandler(eLeave, ...rest) {\n const callback = handler.bind(this, eLeave, ...rest);\n\n // The mouse left: call the given callback if the mouse entered elsewhere\n if (eLeave.relatedTarget !== null) {\n return callback();\n }\n\n // Otherwise, check if the mouse actually left the window.\n // In firefox if the user switched between windows, the window sill have the focus by the time\n // the event is triggered. We have to debounce the event to test this case.\n setTimeout(function leaveEventDebouncer() {\n if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n return callback();\n }\n\n // Otherwise, wait for the mouse to reeapear outside of the element,\n if (!ignoreReappear) {\n $(document).one('mouseenter', function reenterEventHandler(eReenter) {\n if (!$(eLeave.currentTarget).has(eReenter.target).length) {\n // Fill where the mouse finally entered.\n eLeave.relatedTarget = eReenter.target;\n callback();\n }\n });\n }\n\n }, 0);\n };\n}\n\n\nexport { rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear };\n","import $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nvar FOUNDATION_VERSION = '6.7.0';\n\n// Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\nvar Foundation = {\n version: FOUNDATION_VERSION,\n\n /**\n * Stores initialized plugins.\n */\n _plugins: {},\n\n /**\n * Stores generated unique ids for plugin instances\n */\n _uuids: [],\n\n /**\n * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n * @param {Object} plugin - The constructor of the plugin.\n */\n plugin: function(plugin, name) {\n // Object key to use when adding to global Foundation object\n // Examples: Foundation.Reveal, Foundation.OffCanvas\n var className = (name || functionName(plugin));\n // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n // Examples: data-reveal, data-off-canvas\n var attrName = hyphenate(className);\n\n // Add to the Foundation object and the plugins list (for reflowing)\n this._plugins[attrName] = this[className] = plugin;\n },\n /**\n * @function\n * Populates the _uuids array with pointers to each individual plugin instance.\n * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n * Also fires the initialization event for each plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @param {String} name - the name of the plugin, passed as a camelCased string.\n * @fires Plugin#init\n */\n registerPlugin: function(plugin, name){\n var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n plugin.uuid = GetYoDigits(6, pluginName);\n\n if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); }\n if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n plugin.$element.trigger(`init.zf.${pluginName}`);\n\n this._uuids.push(plugin.uuid);\n\n return;\n },\n /**\n * @function\n * Removes the plugins uuid from the _uuids array.\n * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n * Also fires the destroyed event for the plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @fires Plugin#destroyed\n */\n unregisterPlugin: function(plugin){\n var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(`destroyed.zf.${pluginName}`);\n for(var prop in plugin){\n plugin[prop] = null;//clean up script to prep for garbage collection.\n }\n return;\n },\n\n /**\n * @function\n * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n * @default If no argument is passed, reflow all currently active plugins.\n */\n reInit: function(plugins){\n var isJQ = plugins instanceof $;\n try{\n if(isJQ){\n plugins.each(function(){\n $(this).data('zfPlugin')._init();\n });\n }else{\n var type = typeof plugins,\n _this = this,\n fns = {\n 'object': function(plgs){\n plgs.forEach(function(p){\n p = hyphenate(p);\n $('[data-'+ p +']').foundation('_init');\n });\n },\n 'string': function(){\n plugins = hyphenate(plugins);\n $('[data-'+ plugins +']').foundation('_init');\n },\n 'undefined': function(){\n this['object'](Object.keys(_this._plugins));\n }\n };\n fns[type](plugins);\n }\n }catch(err){\n console.error(err);\n }finally{\n return plugins;\n }\n },\n\n /**\n * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n */\n reflow: function(elem, plugins) {\n\n // If plugins is undefined, just grab everything\n if (typeof plugins === 'undefined') {\n plugins = Object.keys(this._plugins);\n }\n // If plugins is a string, convert it to an array with one item\n else if (typeof plugins === 'string') {\n plugins = [plugins];\n }\n\n var _this = this;\n\n // Iterate through each plugin\n $.each(plugins, function(i, name) {\n // Get the current plugin\n var plugin = _this._plugins[name];\n\n // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']').filter(function () {\n return typeof $(this).data(\"zfPlugin\") === 'undefined';\n });\n\n // For each plugin found, initialize it\n $elem.each(function() {\n var $el = $(this),\n opts = { reflow: true };\n\n if($el.attr('data-options')){\n $el.attr('data-options').split(';').forEach(function(option, _index){\n var opt = option.split(':').map(function(el){ return el.trim(); });\n if(opt[0]) opts[opt[0]] = parseValue(opt[1]);\n });\n }\n try{\n $el.data('zfPlugin', new plugin($(this), opts));\n }catch(er){\n console.error(er);\n }finally{\n return;\n }\n });\n });\n },\n getFnName: functionName,\n\n addToJquery: function($) {\n // TODO: consider not making this a jQuery function\n // TODO: need way to reflow vs. re-initialize\n /**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */\n var foundation = function(method) {\n var type = typeof method,\n $noJS = $('.no-js');\n\n if($noJS.length){\n $noJS.removeClass('no-js');\n }\n\n if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin.\n MediaQuery._init();\n Foundation.reflow(this);\n }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins\n var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary\n var plugClass = this.data('zfPlugin');//determine the class of plugin\n\n if(typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined'){//make sure both the class and method exist\n if(this.length === 1){//if there's only one, call it directly.\n plugClass[method].apply(plugClass, args);\n }else{\n this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each\n plugClass[method].apply($(el).data('zfPlugin'), args);\n });\n }\n }else{//error for no class or no method\n throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n }\n }else{//error for invalid argument type\n throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`);\n }\n return this;\n };\n $.fn.foundation = foundation;\n return $;\n }\n};\n\nFoundation.util = {\n /**\n * Function for applying a debounce effect to a function call.\n * @function\n * @param {Function} func - Function to be called at end of timeout.\n * @param {Number} delay - Time in ms to delay the call of `func`.\n * @returns function\n */\n throttle: function (func, delay) {\n var timer = null;\n\n return function () {\n var context = this, args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n func.apply(context, args);\n timer = null;\n }, delay);\n }\n };\n }\n};\n\nwindow.Foundation = Foundation;\n\n// Polyfill for requestAnimationFrame\n(function() {\n if (!Date.now || !window.Date.now)\n window.Date.now = Date.now = function() { return new Date().getTime(); };\n\n var vendors = ['webkit', 'moz'];\n for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n var vp = vendors[i];\n window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];\n window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']\n || window[vp+'CancelRequestAnimationFrame']);\n }\n if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)\n || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n var lastTime = 0;\n window.requestAnimationFrame = function(callback) {\n var now = Date.now();\n var nextTime = Math.max(lastTime + 16, now);\n return setTimeout(function() { callback(lastTime = nextTime); },\n nextTime - now);\n };\n window.cancelAnimationFrame = clearTimeout;\n }\n /**\n * Polyfill for performance.now, required by rAF\n */\n if(!window.performance || !window.performance.now){\n window.performance = {\n start: Date.now(),\n now: function(){ return Date.now() - this.start; }\n };\n }\n})();\nif (!Function.prototype.bind) {\n Function.prototype.bind = function(oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function() {},\n fBound = function() {\n return fToBind.apply(this instanceof fNOP\n ? this\n : oThis,\n aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n fBound.prototype = new fNOP();\n\n return fBound;\n };\n}\n// Polyfill to get the name of a function in IE9\nfunction functionName(fn) {\n if (typeof Function.prototype.name === 'undefined') {\n var funcNameRegex = /function\\s([^(]{1,})\\(/;\n var results = (funcNameRegex).exec((fn).toString());\n return (results && results.length > 1) ? results[1].trim() : \"\";\n }\n else if (typeof fn.prototype === 'undefined') {\n return fn.constructor.name;\n }\n else {\n return fn.prototype.constructor.name;\n }\n}\nfunction parseValue(str){\n if ('true' === str) return true;\n else if ('false' === str) return false;\n else if (!isNaN(str * 1)) return parseFloat(str);\n return str;\n}\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport {Foundation};\n","var Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n }\n\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n","import $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n })\n .sort( function( a, b ) {\n if ($(a).attr('tabindex') == $(b).attr('tabindex')) {\n return 0;\n }\n let aTabIndex = parseInt($(a).attr('tabindex')),\n bTabIndex = parseInt($(b).attr('tabindex'));\n // Undefined is treated the same as 0\n if (typeof $(a).attr('tabindex') == 'undefined' && bTabIndex > 0) {\n return 1;\n }\n if (typeof $(b).attr('tabindex') == 'undefined' && aTabIndex > 0) {\n return -1;\n }\n if (aTabIndex == 0 && bTabIndex > 0) {\n return 1;\n }\n if (bTabIndex == 0 && aTabIndex > 0) {\n return -1;\n }\n if (aTabIndex < bTabIndex) {\n return -1;\n }\n if (aTabIndex > bTabIndex) {\n return 1;\n }\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","import $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","import $ from 'jquery';\n\nconst Nest = {\n Feather(menu, type = 'zf') {\n menu.attr('role', 'menubar');\n menu.find('a').attr({'role': 'menuitem'});\n\n var items = menu.find('li').attr({'role': 'none'}),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`,\n applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes.\n\n items.each(function() {\n var $item = $(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n if(applyAria) {\n $item.children('a:first').attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n });\n // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n if(type === 'drilldown') {\n $item.attr({'aria-expanded': false});\n }\n }\n $sub\n .addClass(`submenu ${subMenuClass}`)\n .attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n if(type === 'drilldown') {\n $sub.attr({'aria-hidden': true});\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(`is-submenu-item ${subItemClass}`);\n }\n });\n\n return;\n },\n\n Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`;\n\n menu\n .find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li')\n .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)\n .removeAttr('data-submenu').css('display', '');\n\n }\n}\n\nexport {Nest};\n","import $ from 'jquery';\n\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,//options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function() {\n remain = -1;\n clearTimeout(timer);\n this.start();\n }\n\n this.start = function() {\n this.isPaused = false;\n // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function(){\n if(options.infinite){\n _this.restart();//rerun the timer.\n }\n if (cb && typeof cb === 'function') { cb(); }\n }, remain);\n elem.trigger(`timerstart.zf.${nameSpace}`);\n }\n\n this.pause = function() {\n this.isPaused = true;\n //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(`timerpaused.zf.${nameSpace}`);\n }\n}\n\nexport {Timer};\n","//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nimport $ from 'jquery';\n\nvar Touch = {};\n\nvar startPosX,\n startPosY,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd);\n\n // If the touch did not move, consider it as a \"tap\"\n if (!didMoved) {\n var tapEvent = $.Event('tap', startEvent || e);\n $(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if ($.spotSwipe.preventDefault) { e.preventDefault(); }\n\n if(isMoving) {\n var x = e.touches[0].pageX;\n var y = e.touches[0].pageY;\n var dx = startPosX - x;\n var dy = startPosY - y;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n }\n // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n if(dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n $(this)\n .trigger($.Event('swipe', Object.assign({}, e)), dir)\n .trigger($.Event(`swipe${dir}`, Object.assign({}, e)));\n }\n }\n\n}\n\nfunction onTouchStart(e) {\n\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nfunction teardown() {\n this.removeEventListener('touchstart', onTouchStart);\n}\n\nclass SpotSwipe {\n constructor($) {\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n this._init();\n }\n\n _init() {\n var $ = this.$;\n $.event.special.swipe = { setup: init };\n $.event.special.tap = { setup: init };\n\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[`swipe${this}`] = { setup: function(){\n $(this).on('swipe', $.noop);\n } };\n });\n }\n}\n\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\nTouch.setupSpotSwipe = function($) {\n $.spotSwipe = new SpotSwipe($);\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function($) {\n $.fn.addTouch = function(){\n this.each(function(i,el){\n $(el).bind('touchstart touchmove touchend touchcancel', function(event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function(event){\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent\n ;\n\n if('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);\n }\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n\n if(typeof($.spotSwipe) === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\nexport {Touch};\n","import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).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","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\n\n// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\nclass Plugin {\n\n constructor(element, options) {\n this._setup(element, options);\n var pluginName = getPluginName(this);\n this.uuid = GetYoDigits(6, pluginName);\n\n if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); }\n if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n this.$element.trigger(`init.zf.${pluginName}`);\n }\n\n destroy() {\n this._destroy();\n var pluginName = getPluginName(this);\n this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(`destroyed.zf.${pluginName}`);\n for(var prop in this){\n this[prop] = null;//clean up script to prep for garbage collection.\n }\n }\n}\n\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n return hyphenate(obj.className);\n}\n\nexport {Plugin};\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\n\n/**\n * Abide module.\n * @module foundation.abide\n */\n\nclass Abide extends Plugin {\n /**\n * Creates a new instance of Abide.\n * @class\n * @name Abide\n * @fires Abide#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options = {}) {\n this.$element = element;\n this.options = $.extend(true, {}, Abide.defaults, this.$element.data(), options);\n this.isEnabled = true;\n this.formnovalidate = null;\n\n this.className = 'Abide'; // ie9 back compat\n this._init();\n }\n\n /**\n * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n * @private\n */\n _init() {\n this.$inputs = $.merge( // Consider as input to validate:\n this.$element.find('input').not('[type=\"submit\"]'), // * all input fields expect submit\n this.$element.find('textarea, select') // * all textareas and select fields\n );\n this.$submits = this.$element.find('[type=\"submit\"]');\n const $globalErrors = this.$element.find('[data-abide-error]');\n\n // Add a11y attributes to all fields\n if (this.options.a11yAttributes) {\n this.$inputs.each((i, input) => this.addA11yAttributes($(input)));\n $globalErrors.each((i, error) => this.addGlobalErrorA11yAttributes($(error)));\n }\n\n this._events();\n }\n\n /**\n * Initializes events for Abide.\n * @private\n */\n _events() {\n this.$element.off('.abide')\n .on('reset.zf.abide', () => {\n this.resetForm();\n })\n .on('submit.zf.abide', () => {\n return this.validateForm();\n });\n\n this.$submits\n .off('click.zf.abide keydown.zf.abide')\n .on('click.zf.abide keydown.zf.abide', (e) => {\n if (!e.key || (e.key === ' ' || e.key === 'Enter')) {\n e.preventDefault();\n this.formnovalidate = e.target.getAttribute('formnovalidate') !== null;\n this.$element.submit();\n }\n });\n\n if (this.options.validateOn === 'fieldChange') {\n this.$inputs\n .off('change.zf.abide')\n .on('change.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.liveValidate) {\n this.$inputs\n .off('input.zf.abide')\n .on('input.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.validateOnBlur) {\n this.$inputs\n .off('blur.zf.abide')\n .on('blur.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n }\n\n /**\n * Calls necessary functions to update Abide upon DOM change\n * @private\n */\n _reflow() {\n this._init();\n }\n\n /**\n * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled\n * @returns {Boolean}\n * @private\n */\n _validationIsDisabled() {\n if (this.isEnabled === false) { // whole validation disabled\n return true;\n } else if (typeof this.formnovalidate === 'boolean') { // triggered by $submit\n return this.formnovalidate;\n }\n // triggered by Enter in non-submit input\n return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;\n }\n\n /**\n * Enables the whole validation\n */\n enableValidation() {\n this.isEnabled = true;\n }\n\n /**\n * Disables the whole validation\n */\n disableValidation() {\n this.isEnabled = false;\n }\n\n /**\n * Checks whether or not a form element has the required attribute and if it's checked or not\n * @param {Object} element - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n requiredCheck($el) {\n if (!$el.attr('required')) return true;\n\n var isGood = true;\n\n switch ($el[0].type) {\n case 'checkbox':\n isGood = $el[0].checked;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n var opt = $el.find('option:selected');\n if (!opt.length || !opt.val()) isGood = false;\n break;\n\n default:\n if (!$el.val() || !$el.val().length) isGood = false;\n }\n\n return isGood;\n }\n\n /**\n * Get:\n * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:\n * 1. The element's direct sibling('s).\n * 2. The element's parent's children.\n * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.\n *\n * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n *\n * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n * @param {String[]} [failedValidators] - List of failed validators.\n * @returns {Object} jQuery object with the selector.\n */\n findFormError($el, failedValidators) {\n var id = $el.length ? $el[0].id : '';\n var $error = $el.siblings(this.options.formErrorSelector);\n\n if (!$error.length) {\n $error = $el.parent().find(this.options.formErrorSelector);\n }\n\n if (id) {\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"]`));\n }\n\n if (!!failedValidators) {\n $error = $error.not('[data-form-error-on]')\n\n failedValidators.forEach((v) => {\n $error = $error.add($el.siblings(`[data-form-error-on=\"${v}\"]`));\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"][data-form-error-on=\"${v}\"]`));\n });\n }\n\n return $error;\n }\n\n /**\n * Get the first element in this order:\n * 2. The '\n */\n backButton: '
    • Back
    • ',\n /**\n * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`.\n * @option\n * @type {string}\n * @default top\n */\n backButtonPosition: 'top',\n /**\n * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\\`) if copy and pasting.\n * @option\n * @type {string}\n * @default '
      '\n */\n wrapper: '
      ',\n /**\n * Adds the parent link to the submenu.\n * @option\n * @type {boolean}\n * @default false\n */\n parentLink: false,\n /**\n * Allow the menu to return to root list on body click.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * Allow the menu to auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n autoHeight: false,\n /**\n * Animate the auto adjust height.\n * @option\n * @type {boolean}\n * @default false\n */\n animateHeight: false,\n /**\n * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button\n * @option\n * @type {boolean}\n * @default false\n */\n scrollTop: false,\n /**\n * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken\n * @option\n * @type {string}\n * @default ''\n */\n scrollTopElement: '',\n /**\n * ScrollTop offset\n * @option\n * @type {number}\n * @default 0\n */\n scrollTopOffset: 0,\n /**\n * Scroll animation duration\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Scroll animation easing. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @see {@link https://api.jquery.com/animate|JQuery animate}\n * @default 'swing'\n */\n animationEasing: 'swing'\n // holdOpen: false\n};\n\nexport {Drilldown};\n","import { 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","import $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils';\nimport { Positionable } from './foundation.positionable';\n\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Dropdown module.\n * @module foundation.dropdown\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n */\nclass Dropdown extends Positionable {\n /**\n * Creates a new instance of a dropdown.\n * @class\n * @name Dropdown\n * @param {jQuery} element - jQuery object to make into a dropdown.\n * Object should be of the dropdown panel, rather than its anchor.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);\n this.className = 'Dropdown'; // ie9 back compat\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Dropdown', {\n 'ENTER': 'toggle',\n 'SPACE': 'toggle',\n 'ESCAPE': 'close'\n });\n }\n\n /**\n * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.\n * @function\n * @private\n */\n _init() {\n var $id = this.$element.attr('id');\n\n this.$anchors = $(`[data-toggle=\"${$id}\"]`).length ? $(`[data-toggle=\"${$id}\"]`) : $(`[data-open=\"${$id}\"]`);\n this.$anchors.attr({\n 'aria-controls': $id,\n 'data-is-focus': false,\n 'data-yeti-box': $id,\n 'aria-haspopup': true,\n 'aria-expanded': false\n });\n\n this._setCurrentAnchor(this.$anchors.first());\n\n if(this.options.parentClass){\n this.$parent = this.$element.parents('.' + this.options.parentClass);\n }else{\n this.$parent = null;\n }\n\n // Set [aria-labelledby] on the Dropdown if it is not set\n if (typeof this.$element.attr('aria-labelledby') === 'undefined') {\n // Get the anchor ID or create one\n if (typeof this.$currentAnchor.attr('id') === 'undefined') {\n this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor'));\n }\n\n this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id'));\n }\n\n this.$element.attr({\n 'aria-hidden': 'true',\n 'data-yeti-box': $id,\n 'data-resize': $id,\n });\n\n super._init();\n this._events();\n }\n\n _getDefaultPosition() {\n // handle legacy classnames\n var position = this.$element[0].className.match(/(top|left|right|bottom)/g);\n if(position) {\n return position[0];\n } else {\n return 'bottom'\n }\n }\n\n _getDefaultAlignment() {\n // handle legacy float approach\n var horizontalPosition = /float-(\\S+)/.exec(this.$currentAnchor.attr('class'));\n if(horizontalPosition) {\n return horizontalPosition[1];\n }\n\n return super._getDefaultAlignment();\n }\n\n\n\n /**\n * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true.\n * Recursively calls itself if a collision is detected, with a new position class.\n * @function\n * @private\n */\n _setPosition() {\n this.$element.removeClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n super._setPosition(this.$currentAnchor, this.$element, this.$parent);\n this.$element.addClass(`has-position-${this.position} has-alignment-${this.alignment}`);\n }\n\n /**\n * Make it a current anchor.\n * Current anchor as the reference for the position of Dropdown panes.\n * @param {HTML} el - DOM element of the anchor.\n * @function\n * @private\n */\n _setCurrentAnchor(el) {\n this.$currentAnchor = $(el);\n }\n\n /**\n * Adds event listeners to the element utilizing the triggers utility library.\n * @function\n * @private\n */\n _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined');\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': this._setPosition.bind(this)\n });\n\n this.$anchors.off('click.zf.trigger')\n .on('click.zf.trigger', function(e) {\n _this._setCurrentAnchor(this);\n\n if (\n // if forceFollow false, always prevent default action\n (_this.options.forceFollow === false) ||\n // if forceFollow true and hover option true, only prevent default action on 1st click\n // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed\n (hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false)\n ) {\n e.preventDefault();\n }\n });\n\n if(this.options.hover){\n this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n _this._setCurrentAnchor(this);\n\n var bodyData = $('body').data();\n if(typeof(bodyData.whatinput) === 'undefined' || bodyData.whatinput === 'mouse') {\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.open();\n _this.$anchors.data('hover', true);\n }, _this.options.hoverDelay);\n }\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n if(this.options.hoverPane){\n this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown')\n .on('mouseenter.zf.dropdown', function(){\n clearTimeout(_this.timeout);\n }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.close();\n _this.$anchors.data('hover', false);\n }, _this.options.hoverDelay);\n }));\n }\n }\n this.$anchors.add(this.$element).on('keydown.zf.dropdown', function(e) {\n\n var $target = $(this),\n visibleFocusableElements = Keyboard.findFocusable(_this.$element);\n\n Keyboard.handleKey(e, 'Dropdown', {\n open: function() {\n if ($target.is(_this.$anchors) && !$target.is('input, textarea')) {\n _this.open();\n _this.$element.attr('tabindex', -1).focus();\n e.preventDefault();\n }\n },\n close: function() {\n _this.close();\n _this.$anchors.focus();\n }\n });\n });\n }\n\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n _addBodyHandler() {\n var $body = $(document.body).not(this.$element),\n _this = this;\n $body.off('click.zf.dropdown tap.zf.dropdown')\n .on('click.zf.dropdown tap.zf.dropdown', function (e) {\n if(_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) {\n return;\n }\n if(_this.$element.is(e.target) || _this.$element.find(e.target).length) {\n return;\n }\n _this.close();\n $body.off('click.zf.dropdown tap.zf.dropdown');\n });\n }\n\n /**\n * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.\n * @function\n * @fires Dropdown#closeme\n * @fires Dropdown#show\n */\n open() {\n // var _this = this;\n /**\n * Fires to close other open dropdowns, typically when dropdown is opening\n * @event Dropdown#closeme\n */\n this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));\n this.$anchors.addClass('hover')\n .attr({'aria-expanded': true});\n // this.$element/*.show()*/;\n\n this.$element.addClass('is-opening');\n this._setPosition();\n this.$element.removeClass('is-opening').addClass('is-open')\n .attr({'aria-hidden': false});\n\n if(this.options.autoFocus){\n var $focusable = Keyboard.findFocusable(this.$element);\n if($focusable.length){\n $focusable.eq(0).focus();\n }\n }\n\n if(this.options.closeOnClick){ this._addBodyHandler(); }\n\n if (this.options.trapFocus) {\n Keyboard.trapFocus(this.$element);\n }\n\n /**\n * Fires once the dropdown is visible.\n * @event Dropdown#show\n */\n this.$element.trigger('show.zf.dropdown', [this.$element]);\n }\n\n /**\n * Closes the open dropdown pane.\n * @function\n * @fires Dropdown#hide\n */\n close() {\n if(!this.$element.hasClass('is-open')){\n return false;\n }\n this.$element.removeClass('is-open')\n .attr({'aria-hidden': true});\n\n this.$anchors.removeClass('hover')\n .attr('aria-expanded', false);\n\n /**\n * Fires once the dropdown is no longer visible.\n * @event Dropdown#hide\n */\n this.$element.trigger('hide.zf.dropdown', [this.$element]);\n\n if (this.options.trapFocus) {\n Keyboard.releaseFocus(this.$element);\n }\n }\n\n /**\n * Toggles the dropdown pane's visibility.\n * @function\n */\n toggle() {\n if(this.$element.hasClass('is-open')){\n if(this.$anchors.data('hover')) return;\n this.close();\n }else{\n this.open();\n }\n }\n\n /**\n * Destroys the dropdown.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger').hide();\n this.$anchors.off('.zf.dropdown');\n $(document.body).off('click.zf.dropdown tap.zf.dropdown');\n\n }\n}\n\nDropdown.defaults = {\n /**\n * Class that designates bounding container of Dropdown (default: window)\n * @option\n * @type {?string}\n * @default null\n */\n parentClass: null,\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 250\n */\n hoverDelay: 250,\n /**\n * Allow submenus to open on hover events\n * @option\n * @type {boolean}\n * @default false\n */\n hover: false,\n /**\n * Don't close dropdown when hovering over dropdown pane\n * @option\n * @type {boolean}\n * @default false\n */\n hoverPane: false,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n vOffset: 0,\n /**\n * Number of pixels between the dropdown pane and the triggering element on open.\n * @option\n * @type {number}\n * @default 0\n */\n hOffset: 0,\n /**\n * Position of dropdown. Can be left, right, bottom, top, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n position: 'auto',\n /**\n * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow overlap of container/window. If false, dropdown will first try to position as defined by data-position and data-alignment, but reposition if it would cause an overflow.\n * @option\n * @type {boolean}\n * @default false\n */\n allowOverlap: false,\n /**\n * Allow overlap of only the bottom of the container. This is the most common\n * behavior for dropdowns, allowing the dropdown to extend the bottom of the\n * screen but not otherwise influence or break out of the container.\n * @option\n * @type {boolean}\n * @default true\n */\n allowBottomOverlap: true,\n /**\n * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false,\n /**\n * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n /**\n * Allows a click on the body to close the dropdown.\n * @option\n * @type {boolean}\n * @default false\n */\n closeOnClick: false,\n /**\n * If true the default action of the toggle (e.g. follow a link with href) gets executed on click. If hover option is also true the default action gets prevented on first click for mobile / touch devices and executed on second click.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\nexport {Dropdown};\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { rtl as Rtl, ignoreMousedisappear } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Nest } from './foundation.util.nest';\nimport { Box } from './foundation.util.box';\nimport { Touch } from './foundation.util.touch'\n\n\n/**\n * DropdownMenu module.\n * @module foundation.dropdownMenu\n * @requires foundation.util.keyboard\n * @requires foundation.util.box\n * @requires foundation.util.nest\n * @requires foundation.util.touch\n */\n\nclass DropdownMenu extends Plugin {\n /**\n * Creates a new instance of DropdownMenu.\n * @class\n * @name DropdownMenu\n * @fires DropdownMenu#init\n * @param {jQuery} element - jQuery object to make into a dropdown menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);\n this.className = 'DropdownMenu'; // ie9 back compat\n\n Touch.init($); // Touch init is idempotent, we just need to make sure it's initialied.\n\n this._init();\n\n Keyboard.register('DropdownMenu', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'up',\n 'ARROW_DOWN': 'down',\n 'ARROW_LEFT': 'previous',\n 'ESCAPE': 'close'\n });\n }\n\n /**\n * Initializes the plugin, and calls _prepareMenu\n * @private\n * @function\n */\n _init() {\n Nest.Feather(this.$element, 'dropdown');\n\n var subs = this.$element.find('li.is-dropdown-submenu-parent');\n this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');\n\n this.$menuItems = this.$element.find('li[role=\"none\"]');\n this.$tabs = this.$element.children('li[role=\"none\"]');\n this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);\n\n if (this.options.alignment === 'auto') {\n if (this.$element.hasClass(this.options.rightClass) || Rtl() || this.$element.parents('.top-bar-right').is('*')) {\n this.options.alignment = 'right';\n subs.addClass('opens-left');\n } else {\n this.options.alignment = 'left';\n subs.addClass('opens-right');\n }\n } else {\n if (this.options.alignment === 'right') {\n subs.addClass('opens-left');\n } else {\n subs.addClass('opens-right');\n }\n }\n this.changed = false;\n this._events();\n };\n\n _isVertical() {\n return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column';\n }\n\n _isRtl() {\n return this.$element.hasClass('align-right') || (Rtl() && !this.$element.hasClass('align-left'));\n }\n\n /**\n * Adds event listeners to elements within the menu\n * @private\n * @function\n */\n _events() {\n var _this = this,\n hasTouch = 'ontouchstart' in window || (typeof window.ontouchstart !== 'undefined'),\n parClass = 'is-dropdown-submenu-parent';\n\n // used for onClick and in the keyboard handlers\n var handleClickFn = function(e) {\n var $elem = $(e.target).parentsUntil('ul', `.${parClass}`),\n hasSub = $elem.hasClass(parClass),\n hasClicked = $elem.attr('data-is-click') === 'true',\n $sub = $elem.children('.is-dropdown-submenu');\n\n if (hasSub) {\n if (hasClicked) {\n if (!_this.options.closeOnClick\n || (!_this.options.clickOpen && !hasTouch)\n || (_this.options.forceFollow && hasTouch)) {\n return;\n }\n e.stopImmediatePropagation();\n e.preventDefault();\n _this._hide($elem);\n }\n else {\n e.stopImmediatePropagation();\n e.preventDefault();\n _this._show($sub);\n $elem.add($elem.parentsUntil(_this.$element, `.${parClass}`)).attr('data-is-click', true);\n }\n }\n };\n\n if (this.options.clickOpen || hasTouch) {\n this.$menuItems.on('click.zf.dropdownMenu touchstart.zf.dropdownMenu', handleClickFn);\n }\n\n // Handle Leaf element Clicks\n if(_this.options.closeOnClickInside){\n this.$menuItems.on('click.zf.dropdownMenu', function(e) {\n var $elem = $(this),\n hasSub = $elem.hasClass(parClass);\n if(!hasSub){\n _this._hide();\n }\n });\n }\n\n if (hasTouch && this.options.disableHoverOnTouch) this.options.disableHover = true;\n\n if (!this.options.disableHover) {\n this.$menuItems.on('mouseenter.zf.dropdownMenu', function (e) {\n var $elem = $(this),\n hasSub = $elem.hasClass(parClass);\n\n if (hasSub) {\n clearTimeout($elem.data('_delay'));\n $elem.data('_delay', setTimeout(function () {\n _this._show($elem.children('.is-dropdown-submenu'));\n }, _this.options.hoverDelay));\n }\n }).on('mouseleave.zf.dropdownMenu', ignoreMousedisappear(function (e) {\n var $elem = $(this),\n hasSub = $elem.hasClass(parClass);\n if (hasSub && _this.options.autoclose) {\n if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { return false; }\n\n clearTimeout($elem.data('_delay'));\n $elem.data('_delay', setTimeout(function () {\n _this._hide($elem);\n }, _this.options.closingTime));\n }\n }));\n }\n this.$menuItems.on('keydown.zf.dropdownMenu', function(e) {\n var $element = $(e.target).parentsUntil('ul', '[role=\"none\"]'),\n isTab = _this.$tabs.index($element) > -1,\n $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n $prevElement = $elements.eq(i-1);\n $nextElement = $elements.eq(i+1);\n return;\n }\n });\n\n var nextSibling = function() {\n $nextElement.children('a:first').focus();\n e.preventDefault();\n }, prevSibling = function() {\n $prevElement.children('a:first').focus();\n e.preventDefault();\n }, openSub = function() {\n var $sub = $element.children('ul.is-dropdown-submenu');\n if ($sub.length) {\n _this._show($sub);\n $element.find('li > a:first').focus();\n e.preventDefault();\n } else { return; }\n }, closeSub = function() {\n //if ($element.is(':first-child')) {\n var close = $element.parent('ul').parent('li');\n close.children('a:first').focus();\n _this._hide(close);\n e.preventDefault();\n //}\n };\n var functions = {\n open: openSub,\n close: function() {\n _this._hide(_this.$element);\n _this.$menuItems.eq(0).children('a').focus(); // focus to first element\n e.preventDefault();\n }\n };\n\n if (isTab) {\n if (_this._isVertical()) { // vertical menu\n if (_this._isRtl()) { // right aligned\n $.extend(functions, {\n down: nextSibling,\n up: prevSibling,\n next: closeSub,\n previous: openSub\n });\n } else { // left aligned\n $.extend(functions, {\n down: nextSibling,\n up: prevSibling,\n next: openSub,\n previous: closeSub\n });\n }\n } else { // horizontal menu\n if (_this._isRtl()) { // right aligned\n $.extend(functions, {\n next: prevSibling,\n previous: nextSibling,\n down: openSub,\n up: closeSub\n });\n } else { // left aligned\n $.extend(functions, {\n next: nextSibling,\n previous: prevSibling,\n down: openSub,\n up: closeSub\n });\n }\n }\n } else { // not tabs -> one sub\n if (_this._isRtl()) { // right aligned\n $.extend(functions, {\n next: closeSub,\n previous: openSub,\n down: nextSibling,\n up: prevSibling\n });\n } else { // left aligned\n $.extend(functions, {\n next: openSub,\n previous: closeSub,\n down: nextSibling,\n up: prevSibling\n });\n }\n }\n Keyboard.handleKey(e, 'DropdownMenu', functions);\n\n });\n }\n\n /**\n * Adds an event handler to the body to close any dropdowns on a click.\n * @function\n * @private\n */\n _addBodyHandler() {\n const $body = $(document.body);\n this._removeBodyHandler();\n $body.on('click.zf.dropdownMenu tap.zf.dropdownMenu', (e) => {\n var isItself = !!$(e.target).closest(this.$element).length;\n if (isItself) return;\n\n this._hide();\n this._removeBodyHandler();\n });\n }\n\n /**\n * Remove the body event handler. See `_addBodyHandler`.\n * @function\n * @private\n */\n _removeBodyHandler() {\n $(document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu');\n }\n\n /**\n * Opens a dropdown pane, and checks for collisions first.\n * @param {jQuery} $sub - ul element that is a submenu to show\n * @function\n * @private\n * @fires DropdownMenu#show\n */\n _show($sub) {\n var idx = this.$tabs.index(this.$tabs.filter(function(i, el) {\n return $(el).find($sub).length > 0;\n }));\n var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');\n this._hide($sibs, idx);\n $sub.css('visibility', 'hidden').addClass('js-dropdown-active')\n .parent('li.is-dropdown-submenu-parent').addClass('is-active');\n var clear = Box.ImNotTouchingYou($sub, null, true);\n if (!clear) {\n var oldClass = this.options.alignment === 'left' ? '-right' : '-left',\n $parentLi = $sub.parent('.is-dropdown-submenu-parent');\n $parentLi.removeClass(`opens${oldClass}`).addClass(`opens-${this.options.alignment}`);\n clear = Box.ImNotTouchingYou($sub, null, true);\n if (!clear) {\n $parentLi.removeClass(`opens-${this.options.alignment}`).addClass('opens-inner');\n }\n this.changed = true;\n }\n $sub.css('visibility', '');\n if (this.options.closeOnClick) { this._addBodyHandler(); }\n /**\n * Fires when the new dropdown pane is visible.\n * @event DropdownMenu#show\n */\n this.$element.trigger('show.zf.dropdownMenu', [$sub]);\n }\n\n /**\n * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.\n * @function\n * @param {jQuery} $elem - element with a submenu to hide\n * @param {Number} idx - index of the $tabs collection to hide\n * @fires DropdownMenu#hide\n * @private\n */\n _hide($elem, idx) {\n var $toClose;\n if ($elem && $elem.length) {\n $toClose = $elem;\n } else if (typeof idx !== 'undefined') {\n $toClose = this.$tabs.not(function(i, el) {\n return i === idx;\n });\n }\n else {\n $toClose = this.$element;\n }\n var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;\n\n if (somethingToClose) {\n var $activeItem = $toClose.find('li.is-active');\n $activeItem.add($toClose).attr({\n 'data-is-click': false\n }).removeClass('is-active');\n\n $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active');\n\n if (this.changed || $toClose.find('opens-inner').length) {\n var oldClass = this.options.alignment === 'left' ? 'right' : 'left';\n $toClose.find('li.is-dropdown-submenu-parent').add($toClose)\n .removeClass(`opens-inner opens-${this.options.alignment}`)\n .addClass(`opens-${oldClass}`);\n this.changed = false;\n }\n\n clearTimeout($activeItem.data('_delay'));\n this._removeBodyHandler();\n\n /**\n * Fires when the open menus are closed.\n * @event DropdownMenu#hide\n */\n this.$element.trigger('hide.zf.dropdownMenu', [$toClose]);\n }\n }\n\n /**\n * Destroys the plugin.\n * @function\n */\n _destroy() {\n this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click')\n .removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');\n $(document.body).off('.zf.dropdownMenu');\n Nest.Burn(this.$element, 'dropdown');\n }\n}\n\n/**\n * Default settings for plugin\n */\nDropdownMenu.defaults = {\n /**\n * Disallows hover events from opening submenus\n * @option\n * @type {boolean}\n * @default false\n */\n disableHover: false,\n /**\n * Disallows hover on touch devices\n * @option\n * @type {boolean}\n * @default true\n */\n disableHoverOnTouch: true,\n /**\n * Allow a submenu to automatically close on a mouseleave event, if not clicked open.\n * @option\n * @type {boolean}\n * @default true\n */\n autoclose: true,\n /**\n * Amount of time to delay opening a submenu on hover event.\n * @option\n * @type {number}\n * @default 50\n */\n hoverDelay: 50,\n /**\n * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.\n * @option\n * @type {boolean}\n * @default false\n */\n clickOpen: false,\n /**\n * Amount of time to delay closing a submenu on a mouseleave event.\n * @option\n * @type {number}\n * @default 500\n */\n\n closingTime: 500,\n /**\n * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`.\n * @option\n * @type {string}\n * @default 'auto'\n */\n alignment: 'auto',\n /**\n * Allow clicks on the body to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allow clicks on leaf anchor links to close any open submenus.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClickInside: true,\n /**\n * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'vertical'\n */\n verticalClass: 'vertical',\n /**\n * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.\n * @option\n * @type {string}\n * @default 'align-right'\n */\n rightClass: 'align-right',\n /**\n * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.\n * @option\n * @type {boolean}\n * @default true\n */\n forceFollow: true\n};\n\nexport {DropdownMenu};\n","import $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * Equalizer module.\n * @module foundation.equalizer\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.imageLoader if equalizer contains images\n */\n\nclass Equalizer extends Plugin {\n /**\n * Creates a new instance of Equalizer.\n * @class\n * @name Equalizer\n * @fires Equalizer#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options){\n this.$element = element;\n this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options);\n this.className = 'Equalizer'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var eqId = this.$element.attr('data-equalizer') || '';\n var $watched = this.$element.find(`[data-equalizer-watch=\"${eqId}\"]`);\n\n MediaQuery._init();\n\n this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');\n this.$element.attr('data-resize', (eqId || GetYoDigits(6, 'eq')));\n this.$element.attr('data-mutate', (eqId || GetYoDigits(6, 'eq')));\n\n this.hasNested = this.$element.find('[data-equalizer]').length > 0;\n this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;\n this.isOn = false;\n this._bindHandler = {\n onResizeMeBound: this._onResizeMe.bind(this),\n onPostEqualizedBound: this._onPostEqualized.bind(this)\n };\n\n var imgs = this.$element.find('img');\n var tooSmall;\n if(this.options.equalizeOn){\n tooSmall = this._checkMQ();\n $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));\n }else{\n this._events();\n }\n if((typeof tooSmall !== 'undefined' && tooSmall === false) || typeof tooSmall === 'undefined'){\n if(imgs.length){\n onImagesLoaded(imgs, this._reflow.bind(this));\n }else{\n this._reflow();\n }\n }\n }\n\n /**\n * Removes event listeners if the breakpoint is too small.\n * @private\n */\n _pauseEvents() {\n this.isOn = false;\n this.$element.off({\n '.zf.equalizer': this._bindHandler.onPostEqualizedBound,\n 'resizeme.zf.trigger': this._bindHandler.onResizeMeBound,\n\t 'mutateme.zf.trigger': this._bindHandler.onResizeMeBound\n });\n }\n\n /**\n * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound\n * @private\n */\n _onResizeMe(e) {\n this._reflow();\n }\n\n /**\n * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound\n * @private\n */\n _onPostEqualized(e) {\n if(e.target !== this.$element[0]){ this._reflow(); }\n }\n\n /**\n * Initializes events for Equalizer.\n * @private\n */\n _events() {\n var _this = this;\n this._pauseEvents();\n if(this.hasNested){\n this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);\n }else{\n this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);\n\t this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound);\n }\n this.isOn = true;\n }\n\n /**\n * Checks the current breakpoint to the minimum required size.\n * @private\n */\n _checkMQ() {\n var tooSmall = !MediaQuery.is(this.options.equalizeOn);\n if(tooSmall){\n if(this.isOn){\n this._pauseEvents();\n this.$watched.css('height', 'auto');\n }\n }else{\n if(!this.isOn){\n this._events();\n }\n }\n return tooSmall;\n }\n\n /**\n * A noop version for the plugin\n * @private\n */\n _killswitch() {\n return;\n }\n\n /**\n * Calls necessary functions to update Equalizer upon DOM change\n * @private\n */\n _reflow() {\n if(!this.options.equalizeOnStack){\n if(this._isStacked()){\n this.$watched.css('height', 'auto');\n return false;\n }\n }\n if (this.options.equalizeByRow) {\n this.getHeightsByRow(this.applyHeightByRow.bind(this));\n }else{\n this.getHeights(this.applyHeight.bind(this));\n }\n }\n\n /**\n * Manually determines if the first 2 elements are *NOT* stacked.\n * @private\n */\n _isStacked() {\n if (!this.$watched[0] || !this.$watched[1]) {\n return true;\n }\n return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;\n }\n\n /**\n * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n * @param {Function} cb - A non-optional callback to return the heights array to.\n * @returns {Array} heights - An array of heights of children within Equalizer container\n */\n getHeights(cb) {\n var heights = [];\n for(var i = 0, len = this.$watched.length; i < len; i++){\n this.$watched[i].style.height = 'auto';\n heights.push(this.$watched[i].offsetHeight);\n }\n cb(heights);\n }\n\n /**\n * Finds the outer heights of children contained within an Equalizer parent and returns them in an array\n * @param {Function} cb - A non-optional callback to return the heights array to.\n * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n */\n getHeightsByRow(cb) {\n var lastElTopOffset = (this.$watched.length ? this.$watched.first().offset().top : 0),\n groups = [],\n group = 0;\n //group by Row\n groups[group] = [];\n for(var i = 0, len = this.$watched.length; i < len; i++){\n this.$watched[i].style.height = 'auto';\n //maybe could use this.$watched[i].offsetTop\n var elOffsetTop = $(this.$watched[i]).offset().top;\n if (elOffsetTop!=lastElTopOffset) {\n group++;\n groups[group] = [];\n lastElTopOffset=elOffsetTop;\n }\n groups[group].push([this.$watched[i],this.$watched[i].offsetHeight]);\n }\n\n for (var j = 0, ln = groups.length; j < ln; j++) {\n var heights = $(groups[j]).map(function(){ return this[1]; }).get();\n var max = Math.max.apply(null, heights);\n groups[j].push(max);\n }\n cb(groups);\n }\n\n /**\n * Changes the CSS height property of each child in an Equalizer parent to match the tallest\n * @param {array} heights - An array of heights of children within Equalizer container\n * @fires Equalizer#preequalized\n * @fires Equalizer#postequalized\n */\n applyHeight(heights) {\n var max = Math.max.apply(null, heights);\n /**\n * Fires before the heights are applied\n * @event Equalizer#preequalized\n */\n this.$element.trigger('preequalized.zf.equalizer');\n\n this.$watched.css('height', max);\n\n /**\n * Fires when the heights have been applied\n * @event Equalizer#postequalized\n */\n this.$element.trigger('postequalized.zf.equalizer');\n }\n\n /**\n * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row\n * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child\n * @fires Equalizer#preequalized\n * @fires Equalizer#preequalizedrow\n * @fires Equalizer#postequalizedrow\n * @fires Equalizer#postequalized\n */\n applyHeightByRow(groups) {\n /**\n * Fires before the heights are applied\n */\n this.$element.trigger('preequalized.zf.equalizer');\n for (var i = 0, len = groups.length; i < len ; i++) {\n var groupsILength = groups[i].length,\n max = groups[i][groupsILength - 1];\n if (groupsILength<=2) {\n $(groups[i][0][0]).css({'height':'auto'});\n continue;\n }\n /**\n * Fires before the heights per row are applied\n * @event Equalizer#preequalizedrow\n */\n this.$element.trigger('preequalizedrow.zf.equalizer');\n for (var j = 0, lenJ = (groupsILength-1); j < lenJ ; j++) {\n $(groups[i][j][0]).css({'height':max});\n }\n /**\n * Fires when the heights per row have been applied\n * @event Equalizer#postequalizedrow\n */\n this.$element.trigger('postequalizedrow.zf.equalizer');\n }\n /**\n * Fires when the heights have been applied\n */\n this.$element.trigger('postequalized.zf.equalizer');\n }\n\n /**\n * Destroys an instance of Equalizer.\n * @function\n */\n _destroy() {\n this._pauseEvents();\n this.$watched.css('height', 'auto');\n }\n}\n\n/**\n * Default settings for plugin\n */\nEqualizer.defaults = {\n /**\n * Enable height equalization when stacked on smaller screens.\n * @option\n * @type {boolean}\n * @default false\n */\n equalizeOnStack: false,\n /**\n * Enable height equalization row by row.\n * @option\n * @type {boolean}\n * @default false\n */\n equalizeByRow: false,\n /**\n * String representing the minimum breakpoint size the plugin should equalize heights on.\n * @option\n * @type {string}\n * @default ''\n */\n equalizeOn: ''\n};\n\nexport {Equalizer};\n","import $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Interchange module.\n * @module foundation.interchange\n * @requires foundation.util.mediaQuery\n */\n\nclass Interchange extends Plugin {\n /**\n * Creates a new instance of Interchange.\n * @class\n * @name Interchange\n * @fires Interchange#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Interchange.defaults, this.$element.data(), options);\n this.rules = [];\n this.currentPath = '';\n this.className = 'Interchange'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Interchange plugin and calls functions to get interchange functioning on load.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var id = this.$element[0].id || GetYoDigits(6, 'interchange');\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n this._parseOptions();\n this._addBreakpoints();\n this._generateRules();\n this._reflow();\n }\n\n /**\n * Initializes events for Interchange.\n * @function\n * @private\n */\n _events() {\n this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', () => this._reflow());\n }\n\n /**\n * Calls necessary functions to update Interchange upon DOM change\n * @function\n * @private\n */\n _reflow() {\n var match;\n\n // Iterate through each rule, but only save the last match\n for (var i in this.rules) {\n if(this.rules.hasOwnProperty(i)) {\n var rule = this.rules[i];\n if (window.matchMedia(rule.query).matches) {\n match = rule;\n }\n }\n }\n\n if (match) {\n this.replace(match.path);\n }\n }\n\n /**\n * Check options valifity and set defaults for:\n * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html)\n * @function\n * @private\n */\n _parseOptions() {\n var types = ['auto', 'src', 'background', 'html'];\n if (typeof this.options.type === 'undefined')\n this.options.type = 'auto';\n else if (types.indexOf(this.options.type) === -1) {\n console.log(`Warning: invalid value \"${this.options.type}\" for Interchange option \"type\"`);\n this.options.type = 'auto';\n }\n }\n\n /**\n * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.\n * @function\n * @private\n */\n _addBreakpoints() {\n for (var i in MediaQuery.queries) {\n if (MediaQuery.queries.hasOwnProperty(i)) {\n var query = MediaQuery.queries[i];\n Interchange.SPECIAL_QUERIES[query.name] = query.value;\n }\n }\n }\n\n /**\n * Checks the Interchange element for the provided media query + content pairings\n * @function\n * @private\n * @param {Object} element - jQuery object that is an Interchange instance\n * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n _generateRules(element) {\n var rulesList = [];\n var rules;\n\n if (this.options.rules) {\n rules = this.options.rules;\n }\n else {\n rules = this.$element.data('interchange');\n }\n\n rules = typeof rules === 'string' ? rules.match(/\\[.*?, .*?\\]/g) : rules;\n\n for (var i in rules) {\n if(rules.hasOwnProperty(i)) {\n var rule = rules[i].slice(1, -1).split(', ');\n var path = rule.slice(0, -1).join('');\n var query = rule[rule.length - 1];\n\n if (Interchange.SPECIAL_QUERIES[query]) {\n query = Interchange.SPECIAL_QUERIES[query];\n }\n\n rulesList.push({\n path: path,\n query: query\n });\n }\n }\n\n this.rules = rulesList;\n }\n\n /**\n * Update the `src` property of an image, or change the HTML of a container, to the specified path.\n * @function\n * @param {String} path - Path to the image or HTML partial.\n * @fires Interchange#replaced\n */\n replace(path) {\n if (this.currentPath === path) return;\n\n var trigger = 'replaced.zf.interchange';\n\n var type = this.options.type;\n if (type === 'auto') {\n if (this.$element[0].nodeName === 'IMG')\n type = 'src';\n else if (path.match(/\\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i))\n type = 'background';\n else\n type = 'html';\n }\n\n // Replacing images\n if (type === 'src') {\n this.$element.attr('src', path)\n .on('load', () => { this.currentPath = path; })\n .trigger(trigger);\n }\n // Replacing background images\n else if (type === 'background') {\n path = path.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\n this.$element\n .css({ 'background-image': 'url(' + path + ')' })\n .trigger(trigger);\n }\n // Replacing HTML\n else if (type === 'html') {\n $.get(path, (response) => {\n this.$element\n .html(response)\n .trigger(trigger);\n $(response).foundation();\n this.currentPath = path;\n });\n }\n\n /**\n * Fires when content in an Interchange element is done being loaded.\n * @event Interchange#replaced\n */\n // this.$element.trigger('replaced.zf.interchange');\n }\n\n /**\n * Destroys an instance of interchange.\n * @function\n */\n _destroy() {\n this.$element.off('resizeme.zf.trigger')\n }\n}\n\n/**\n * Default settings for plugin\n */\nInterchange.defaults = {\n /**\n * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.\n * @option\n * @type {?array}\n * @default null\n */\n rules: null,\n\n /**\n * Type of the responsive ressource to replace. It can take the following options:\n * - `auto` (default): choose the type according to the element tag or the ressource extension,\n * - `src`: replace the `[src]` attribute, recommended for images ``.\n * - `background`: replace the `background-image` CSS property.\n * - `html`: replace the element content.\n * @option\n * @type {string}\n * @default 'auto'\n */\n type: 'auto'\n};\n\nInterchange.SPECIAL_QUERIES = {\n 'landscape': 'screen and (orientation: landscape)',\n 'portrait': 'screen and (orientation: portrait)',\n 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'\n};\n\nexport {Interchange};\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { SmoothScroll } from './foundation.smoothScroll';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Magellan module.\n * @module foundation.magellan\n * @requires foundation.smoothScroll\n * @requires foundation.util.triggers\n */\n\nclass Magellan extends Plugin {\n /**\n * Creates a new instance of Magellan.\n * @class\n * @name Magellan\n * @fires Magellan#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);\n this.className = 'Magellan'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this.calcPoints();\n }\n\n /**\n * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.\n * @private\n */\n _init() {\n var id = this.$element[0].id || GetYoDigits(6, 'magellan');\n var _this = this;\n this.$targets = $('[data-magellan-target]');\n this.$links = this.$element.find('a');\n this.$element.attr({\n 'data-resize': id,\n 'data-scroll': id,\n 'id': id\n });\n this.$active = $();\n this.scrollPos = parseInt(window.pageYOffset, 10);\n\n this._events();\n }\n\n /**\n * Calculates an array of pixel values that are the demarcation lines between locations on the page.\n * Can be invoked if new elements are added or the size of a location changes.\n * @function\n */\n calcPoints() {\n var _this = this,\n body = document.body,\n html = document.documentElement;\n\n this.points = [];\n this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));\n this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));\n\n this.$targets.each(function(){\n var $tar = $(this),\n pt = Math.round($tar.offset().top - _this.options.threshold);\n $tar.targetPoint = pt;\n _this.points.push(pt);\n });\n }\n\n /**\n * Initializes events for Magellan.\n * @private\n */\n _events() {\n var _this = this;\n\n $(window).one('load', function(){\n if(_this.options.deepLinking){\n if(location.hash){\n _this.scrollToLoc(location.hash);\n }\n }\n _this.calcPoints();\n _this._updateActive();\n });\n\n _this.onLoadListener = onLoad($(window), function () {\n _this.$element\n .on({\n 'resizeme.zf.trigger': _this.reflow.bind(_this),\n 'scrollme.zf.trigger': _this._updateActive.bind(_this)\n })\n .on('click.zf.magellan', 'a[href^=\"#\"]', function (e) {\n e.preventDefault();\n var arrival = this.getAttribute('href');\n _this.scrollToLoc(arrival);\n });\n });\n\n this._deepLinkScroll = function(e) {\n if(_this.options.deepLinking) {\n _this.scrollToLoc(window.location.hash);\n }\n };\n\n $(window).on('hashchange', this._deepLinkScroll);\n }\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'\n * @function\n */\n scrollToLoc(loc) {\n this._inTransition = true;\n var _this = this;\n\n var options = {\n animationEasing: this.options.animationEasing,\n animationDuration: this.options.animationDuration,\n threshold: this.options.threshold,\n offset: this.options.offset\n };\n\n SmoothScroll.scrollToLoc(loc, options, function() {\n _this._inTransition = false;\n })\n }\n\n /**\n * Calls necessary functions to update Magellan upon DOM change\n * @function\n */\n reflow() {\n this.calcPoints();\n this._updateActive();\n }\n\n /**\n * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.\n * @private\n * @function\n * @fires Magellan#update\n */\n _updateActive(/*evt, elem, scrollPos*/) {\n if(this._inTransition) return;\n\n const newScrollPos = parseInt(window.pageYOffset, 10);\n const isScrollingUp = this.scrollPos > newScrollPos;\n this.scrollPos = newScrollPos;\n\n let activeIdx;\n // Before the first point: no link\n if(newScrollPos < this.points[0] - this.options.offset - (isScrollingUp ? this.options.threshold : 0)){ /* do nothing */ }\n // At the bottom of the page: last link\n else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; }\n // Otherwhise, use the last visible link\n else{\n const visibleLinks = this.points.filter((p, i) => {\n return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos;\n });\n activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0;\n }\n\n // Get the new active link\n const $oldActive = this.$active;\n let activeHash = '';\n if(typeof activeIdx !== 'undefined'){\n this.$active = this.$links.filter('[href=\"#' + this.$targets.eq(activeIdx).data('magellan-target') + '\"]');\n if (this.$active.length) activeHash = this.$active[0].getAttribute('href');\n }else{\n this.$active = $();\n }\n const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive);\n const isNewHash = activeHash !== window.location.hash;\n\n // Update the active link element\n if(isNewActive) {\n $oldActive.removeClass(this.options.activeClass);\n this.$active.addClass(this.options.activeClass);\n }\n\n // Update the hash (it may have changed with the same active link)\n if(this.options.deepLinking && isNewHash){\n if(window.history.pushState){\n // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384\n const url = activeHash ? activeHash : window.location.pathname + window.location.search;\n if(this.options.updateHistory){\n window.history.pushState({}, '', url);\n }else{\n window.history.replaceState({}, '', url);\n }\n }else{\n window.location.hash = activeHash;\n }\n }\n\n if (isNewActive) {\n /**\n * Fires when magellan is finished updating to the new active element.\n * @event Magellan#update\n */\n \tthis.$element.trigger('update.zf.magellan', [this.$active]);\n\t }\n }\n\n /**\n * Destroys an instance of Magellan and resets the url of the window.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.trigger .zf.magellan')\n .find(`.${this.options.activeClass}`).removeClass(this.options.activeClass);\n\n if(this.options.deepLinking){\n var hash = this.$active[0].getAttribute('href');\n window.location.hash.replace(hash, '');\n }\n\n $(window).off('hashchange', this._deepLinkScroll)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\n/**\n * Default settings for plugin\n */\nMagellan.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Class applied to the active locations link on the magellan container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n activeClass: 'is-active',\n /**\n * Allows the script to manipulate the url of the current page, and if supported, alter the history.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinking: false,\n /**\n * Update the browser history with the active link, if deep linking is enabled.\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {Magellan};\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, transitionend, RegExpEscape } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * OffCanvas module.\n * @module foundation.offCanvas\n * @requires foundation.util.keyboard\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.triggers\n */\n\nclass OffCanvas extends Plugin {\n /**\n * Creates a new instance of an off-canvas wrapper.\n * @class\n * @name OffCanvas\n * @fires OffCanvas#init\n * @param {Object} element - jQuery object to initialize.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.className = 'OffCanvas'; // ie9 back compat\n this.$element = element;\n this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);\n this.contentClasses = { base: [], reveal: [] };\n this.$lastTrigger = $();\n this.$triggers = $();\n this.position = 'left';\n this.$content = $();\n this.nested = !!(this.options.nested);\n this.$sticky = $();\n this.isInCanvas = false;\n\n // Defines the CSS transition/position classes of the off-canvas content container.\n $(['push', 'overlap']).each((index, val) => {\n this.contentClasses.base.push('has-transition-'+val);\n });\n $(['left', 'right', 'top', 'bottom']).each((index, val) => {\n this.contentClasses.base.push('has-position-'+val);\n this.contentClasses.reveal.push('has-reveal-'+val);\n });\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n MediaQuery._init();\n\n this._init();\n this._events();\n\n Keyboard.register('OffCanvas', {\n 'ESCAPE': 'close'\n });\n\n }\n\n /**\n * Initializes the off-canvas wrapper by adding the exit overlay (if needed).\n * @function\n * @private\n */\n _init() {\n var id = this.$element.attr('id');\n\n this.$element.attr('aria-hidden', 'true');\n\n // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback)\n if (this.options.contentId) {\n this.$content = $('#'+this.options.contentId);\n } else if (this.$element.siblings('[data-off-canvas-content]').length) {\n this.$content = this.$element.siblings('[data-off-canvas-content]').first();\n } else {\n this.$content = this.$element.closest('[data-off-canvas-content]').first();\n }\n\n if (!this.options.contentId) {\n // Assume that the off-canvas element is nested if it isn't a sibling of the content\n this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0;\n\n } else if (this.options.contentId && this.options.nested === null) {\n // Warning if using content ID without setting the nested option\n // Once the element is nested it is required to work properly in this case\n console.warn('Remember to use the nested option if using the content ID option!');\n }\n\n if (this.nested === true) {\n // Force transition overlap if nested\n this.options.transition = 'overlap';\n // Remove appropriate classes if already assigned in markup\n this.$element.removeClass('is-transition-push');\n }\n\n this.$element.addClass(`is-transition-${this.options.transition} is-closed`);\n\n // Find triggers that affect this element and add aria-expanded to them\n this.$triggers = $(document)\n .find('[data-open=\"'+id+'\"], [data-close=\"'+id+'\"], [data-toggle=\"'+id+'\"]')\n .attr('aria-expanded', 'false')\n .attr('aria-controls', id);\n\n // Get position by checking for related CSS class\n this.position = this.$element.is('.position-left, .position-top, .position-right, .position-bottom') ? this.$element.attr('class').match(/position\\-(left|top|right|bottom)/)[1] : this.position;\n\n // Add an overlay over the content if necessary\n if (this.options.contentOverlay === true) {\n var overlay = document.createElement('div');\n var overlayPosition = $(this.$element).css(\"position\") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute';\n overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition);\n this.$overlay = $(overlay);\n if(overlayPosition === 'is-overlay-fixed') {\n $(this.$overlay).insertAfter(this.$element);\n } else {\n this.$content.append(this.$overlay);\n }\n }\n\n // Get the revealOn option from the class.\n var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\\\s]+)', 'g');\n var revealOnClass = revealOnRegExp.exec(this.$element[0].className);\n if (revealOnClass) {\n this.options.isRevealed = true;\n this.options.revealOn = this.options.revealOn || revealOnClass[1];\n }\n\n // Ensure the `reveal-on-*` class is set.\n if (this.options.isRevealed === true && this.options.revealOn) {\n this.$element.first().addClass(`${this.options.revealClass}${this.options.revealOn}`);\n this._setMQChecker();\n }\n\n if (this.options.transitionTime) {\n this.$element.css('transition-duration', this.options.transitionTime);\n }\n\n // Find fixed elements that should stay fixed while off-canvas is opened\n this.$sticky = this.$content.find('[data-off-canvas-sticky]');\n if (this.$sticky.length > 0 && this.options.transition === 'push') {\n // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll\n // Limit to push transition since there's no transform scope for overlap\n this.options.contentScroll = false;\n }\n\n let inCanvasFor = this.$element.attr('class').match(/\\bin-canvas-for-(\\w+)/);\n if (inCanvasFor && inCanvasFor.length === 2) {\n // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class\n this.options.inCanvasOn = inCanvasFor[1];\n } else if (this.options.inCanvasOn) {\n // Ensure the CSS class is set\n this.$element.addClass(`in-canvas-for-${this.options.inCanvasOn}`);\n }\n\n if (this.options.inCanvasOn) {\n this._checkInCanvas();\n }\n\n // Initally remove all transition/position CSS classes from off-canvas content container.\n this._removeContentClasses();\n }\n\n /**\n * Adds event handlers to the off-canvas wrapper and the exit overlay.\n * @function\n * @private\n */\n _events() {\n this.$element.off('.zf.trigger .zf.offCanvas').on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': this.close.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'keydown.zf.offCanvas': this._handleKeyboard.bind(this)\n });\n\n if (this.options.closeOnClick === true) {\n var $target = this.options.contentOverlay ? this.$overlay : this.$content;\n $target.on({'click.zf.offCanvas': this.close.bind(this)});\n }\n\n if (this.options.inCanvasOn) {\n $(window).on('changed.zf.mediaquery', () => {\n this._checkInCanvas();\n });\n }\n\n }\n\n /**\n * Applies event listener for elements that will reveal at certain breakpoints.\n * @private\n */\n _setMQChecker() {\n var _this = this;\n\n this.onLoadListener = onLoad($(window), function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n }\n });\n\n $(window).on('changed.zf.mediaquery', function () {\n if (MediaQuery.atLeast(_this.options.revealOn)) {\n _this.reveal(true);\n } else {\n _this.reveal(false);\n }\n });\n }\n\n /**\n * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly\n * @private\n */\n _checkInCanvas() {\n this.isInCanvas = MediaQuery.atLeast(this.options.inCanvasOn);\n if (this.isInCanvas === true) {\n this.close();\n }\n }\n\n /**\n * Removes the CSS transition/position classes of the off-canvas content container.\n * Removing the classes is important when another off-canvas gets opened that uses the same content container.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _removeContentClasses(hasReveal) {\n if (typeof hasReveal !== 'boolean') {\n this.$content.removeClass(this.contentClasses.base.join(' '));\n } else if (hasReveal === false) {\n this.$content.removeClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element.\n * Beforehand any transition/position class gets removed.\n * @param {Boolean} hasReveal - true if related off-canvas element is revealed.\n * @private\n */\n _addContentClasses(hasReveal) {\n this._removeContentClasses(hasReveal);\n if (typeof hasReveal !== 'boolean') {\n this.$content.addClass(`has-transition-${this.options.transition} has-position-${this.position}`);\n } else if (hasReveal === true) {\n this.$content.addClass(`has-reveal-${this.position}`);\n }\n }\n\n /**\n * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition.\n * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values.\n * @private\n */\n _fixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n\n // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope\n // Limit to push transition because postion:fixed works without problems for overlap (no transform scope)\n if ($el.css('position') === 'fixed') {\n\n // Save current inline styling to restore it if undoing the absolute fixing\n let topVal = parseInt($el.css('top'), 10);\n $el.data('offCanvasSticky', { top: topVal });\n\n let absoluteTopVal = $(document).scrollTop() + topVal;\n $el.css({ top: `${absoluteTopVal}px`, width: '100%', transition: 'none' });\n }\n });\n }\n\n /**\n * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand.\n * This reverts the changes of _fixStickyElements()\n * @private\n */\n _unfixStickyElements() {\n this.$sticky.each((_, el) => {\n const $el = $(el);\n let stickyData = $el.data('offCanvasSticky');\n\n // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed\n if (typeof stickyData === 'object') {\n $el.css({ top: `${stickyData.top}px`, width: '', transition: '' })\n $el.data('offCanvasSticky', '');\n }\n });\n }\n\n /**\n * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.\n * @param {Boolean} isRevealed - true if element should be revealed.\n * @function\n */\n reveal(isRevealed) {\n if (isRevealed) {\n this.close();\n this.isRevealed = true;\n this.$element.attr('aria-hidden', 'false');\n this.$element.off('open.zf.trigger toggle.zf.trigger');\n this.$element.removeClass('is-closed');\n } else {\n this.isRevealed = false;\n this.$element.attr('aria-hidden', 'true');\n this.$element.off('open.zf.trigger toggle.zf.trigger').on({\n 'open.zf.trigger': this.open.bind(this),\n 'toggle.zf.trigger': this.toggle.bind(this)\n });\n this.$element.addClass('is-closed');\n }\n this._addContentClasses(isRevealed);\n }\n\n /**\n * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers.\n * @function\n * @private\n */\n _stopScrolling(event) {\n return false;\n }\n\n /**\n * Save current finger y-position\n * @param event\n * @private\n */\n _recordScrollable(event) {\n const elem = this;\n elem.lastY = event.touches[0].pageY;\n }\n\n /**\n * Prevent further scrolling when it hits the edges\n * @param event\n * @private\n */\n _preventDefaultAtEdges(event) {\n const elem = this;\n const _this = event.data;\n const delta = elem.lastY - event.touches[0].pageY;\n elem.lastY = event.touches[0].pageY;\n\n if (!_this._canScroll(delta, elem)) {\n event.preventDefault();\n }\n }\n\n /**\n * Handle continuous scrolling of scrollbox\n * Don't bubble up to _preventDefaultAtEdges\n * @param event\n * @private\n */\n _scrollboxTouchMoved(event) {\n const elem = this;\n const _this = event.data;\n const parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n const delta = elem.lastY - event.touches[0].pageY;\n parent.lastY = elem.lastY = event.touches[0].pageY;\n\n event.stopPropagation();\n\n if (!_this._canScroll(delta, elem)) {\n if (!_this._canScroll(delta, parent)) {\n event.preventDefault();\n } else {\n parent.scrollTop += delta;\n }\n }\n }\n\n /**\n * Detect possibility of scrolling\n * @param delta\n * @param elem\n * @returns boolean\n * @private\n */\n _canScroll(delta, elem) {\n const up = delta < 0;\n const down = delta > 0;\n const allowUp = elem.scrollTop > 0;\n const allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;\n return up && allowUp || down && allowDown;\n }\n\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires OffCanvas#opened\n * @todo also trigger 'open' event?\n */\n open(event, trigger) {\n if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { return; }\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0,document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n\n this.$content.addClass('is-open-' + this.position);\n\n // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this, this._preventDefaultAtEdges);\n this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(transitionend(this.$element), function() {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n var canvasFocus = _this.$element.find('[data-autofocus]');\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n Keyboard.trapFocus(this.$element);\n }\n\n if (this.options.transition === 'push') {\n this._fixStickyElements();\n }\n\n this._addContentClasses();\n\n /**\n * Fires when the off-canvas menu opens.\n * @event OffCanvas#opened\n */\n this.$element.trigger('opened.zf.offCanvas');\n\n /**\n * Fires when the off-canvas menu open transition is done.\n * @event OffCanvas#openedEnd\n */\n this.$element.one(transitionend(this.$element), () => {\n this.$element.trigger('openedEnd.zf.offCanvas');\n });\n }\n\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires OffCanvas#close\n * @fires OffCanvas#closed\n */\n close(cb) {\n if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n /**\n * Fires when the off-canvas menu closes.\n * @event OffCanvas#close\n */\n this.$element.trigger('close.zf.offCanvas');\n\n var _this = this;\n\n this.$element.removeClass('is-open');\n\n this.$element.attr('aria-hidden', 'true');\n\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false');\n\n\n // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n this.$element.one(transitionend(this.$element), (e) => {\n\n this.$element.addClass('is-closed');\n this._removeContentClasses();\n\n if (this.options.transition === 'push') {\n this._unfixStickyElements();\n }\n\n // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n this.$element.off('touchstart', this._recordScrollable);\n this.$element.off('touchmove', this._preventDefaultAtEdges);\n this.$element.off('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._scrollboxTouchMoved);\n }\n\n if (this.options.trapFocus === true) {\n this.$content.removeAttr('tabindex');\n Keyboard.releaseFocus(this.$element);\n }\n\n /**\n * Fires when the off-canvas menu close transition is done.\n * @event OffCanvas#closed\n */\n this.$element.trigger('closed.zf.offCanvas');\n });\n }\n\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n }\n else {\n this.open(event, trigger);\n }\n }\n\n /**\n * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n * @function\n * @private\n */\n _handleKeyboard(e) {\n Keyboard.handleKey(e, 'OffCanvas', {\n close: () => {\n this.close();\n this.$lastTrigger.focus();\n return true;\n },\n handled: () => {\n e.preventDefault();\n }\n });\n }\n\n /**\n * Destroys the OffCanvas plugin.\n * @function\n */\n _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offCanvas');\n this.$overlay.off('.zf.offCanvas');\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n * @option\n * @type {string}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the OffCanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n * @option\n * @type {?string}\n * @default null\n */\n inCanvasOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n}\n\nexport {OffCanvas};\n","import $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Motion } from './foundation.util.motion';\nimport { Timer } from './foundation.util.timer';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\nimport { Touch } from './foundation.util.touch'\n\n\n/**\n * Orbit module.\n * @module foundation.orbit\n * @requires foundation.util.keyboard\n * @requires foundation.util.motion\n * @requires foundation.util.timer\n * @requires foundation.util.imageLoader\n * @requires foundation.util.touch\n */\n\nclass Orbit extends Plugin {\n /**\n * Creates a new instance of an orbit carousel.\n * @class\n * @name Orbit\n * @param {jQuery} element - jQuery object to make into an Orbit Carousel.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options){\n this.$element = element;\n this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);\n this.className = 'Orbit'; // ie9 back compat\n\n Touch.init($); // Touch init is idempotent, we just need to make sure it's initialied.\n\n this._init();\n\n Keyboard.register('Orbit', {\n 'ltr': {\n 'ARROW_RIGHT': 'next',\n 'ARROW_LEFT': 'previous'\n },\n 'rtl': {\n 'ARROW_LEFT': 'next',\n 'ARROW_RIGHT': 'previous'\n }\n });\n }\n\n /**\n * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.\n * @function\n * @private\n */\n _init() {\n // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide\n this._reset();\n\n this.$wrapper = this.$element.find(`.${this.options.containerClass}`);\n this.$slides = this.$element.find(`.${this.options.slideClass}`);\n\n var $images = this.$element.find('img'),\n initActive = this.$slides.filter('.is-active'),\n id = this.$element[0].id || GetYoDigits(6, 'orbit');\n\n this.$element.attr({\n 'data-resize': id,\n 'id': id\n });\n\n if (!initActive.length) {\n this.$slides.eq(0).addClass('is-active');\n }\n\n if (!this.options.useMUI) {\n this.$slides.addClass('no-motionui');\n }\n\n if ($images.length) {\n onImagesLoaded($images, this._prepareForOrbit.bind(this));\n } else {\n this._prepareForOrbit();//hehe\n }\n\n if (this.options.bullets) {\n this._loadBullets();\n }\n\n this._events();\n\n if (this.options.autoPlay && this.$slides.length > 1) {\n this.geoSync();\n }\n\n if (this.options.accessible) { // allow wrapper to be focusable to enable arrow navigation\n this.$wrapper.attr('tabindex', 0);\n }\n }\n\n /**\n * Creates a jQuery collection of bullets, if they are being used.\n * @function\n * @private\n */\n _loadBullets() {\n this.$bullets = this.$element.find(`.${this.options.boxOfBullets}`).find('button');\n }\n\n /**\n * Sets a `timer` object on the orbit, and starts the counter for the next slide.\n * @function\n */\n geoSync() {\n var _this = this;\n this.timer = new Timer(\n this.$element,\n {\n duration: this.options.timerDelay,\n infinite: false\n },\n function() {\n _this.changeSlide(true);\n });\n this.timer.start();\n }\n\n /**\n * Sets wrapper and slide heights for the orbit.\n * @function\n * @private\n */\n _prepareForOrbit() {\n var _this = this;\n this._setWrapperHeight();\n }\n\n /**\n * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.\n * @function\n * @private\n * @param {Function} cb - a callback function to fire when complete.\n */\n _setWrapperHeight(cb) {//rewrite this to `for` loop\n var max = 0, temp, counter = 0, _this = this;\n\n this.$slides.each(function() {\n temp = this.getBoundingClientRect().height;\n $(this).attr('data-slide', counter);\n\n // hide all slides but the active one\n if (!/mui/g.test($(this)[0].className) && _this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) {\n $(this).css({'display': 'none'});\n }\n max = temp > max ? temp : max;\n counter++;\n });\n\n if (counter === this.$slides.length) {\n this.$wrapper.css({'height': max}); //only change the wrapper height property once.\n if(cb) {cb(max);} //fire callback with max height dimension.\n }\n }\n\n /**\n * Sets the max-height of each slide.\n * @function\n * @private\n */\n _setSlideHeight(height) {\n this.$slides.each(function() {\n $(this).css('max-height', height);\n });\n }\n\n /**\n * Adds event listeners to basically everything within the element.\n * @function\n * @private\n */\n _events() {\n var _this = this;\n\n //***************************************\n //**Now using custom event - thanks to:**\n //** Yohai Ararat of Toronto **\n //***************************************\n //\n this.$element.off('.resizeme.zf.trigger').on({\n 'resizeme.zf.trigger': this._prepareForOrbit.bind(this)\n })\n if (this.$slides.length > 1) {\n\n if (this.options.swipe) {\n this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit')\n .on('swipeleft.zf.orbit', function(e){\n e.preventDefault();\n _this.changeSlide(true);\n }).on('swiperight.zf.orbit', function(e){\n e.preventDefault();\n _this.changeSlide(false);\n });\n }\n //***************************************\n\n if (this.options.autoPlay) {\n this.$slides.on('click.zf.orbit', function() {\n _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);\n _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();\n });\n\n if (this.options.pauseOnHover) {\n this.$element.on('mouseenter.zf.orbit', function() {\n _this.timer.pause();\n }).on('mouseleave.zf.orbit', function() {\n if (!_this.$element.data('clickedOn')) {\n _this.timer.start();\n }\n });\n }\n }\n\n if (this.options.navButtons) {\n var $controls = this.$element.find(`.${this.options.nextClass}, .${this.options.prevClass}`);\n $controls.attr('tabindex', 0)\n //also need to handle enter/return and spacebar key presses\n .on('click.zf.orbit touchend.zf.orbit', function(e){\n\t e.preventDefault();\n _this.changeSlide($(this).hasClass(_this.options.nextClass));\n });\n }\n\n if (this.options.bullets) {\n this.$bullets.on('click.zf.orbit touchend.zf.orbit', function() {\n if (/is-active/g.test(this.className)) { return false; }//if this is active, kick out of function.\n var idx = $(this).data('slide'),\n ltr = idx > _this.$slides.filter('.is-active').data('slide'),\n $slide = _this.$slides.eq(idx);\n\n _this.changeSlide(ltr, $slide, idx);\n });\n }\n\n if (this.options.accessible) {\n this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function(e) {\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Orbit', {\n next: function() {\n _this.changeSlide(true);\n },\n previous: function() {\n _this.changeSlide(false);\n },\n handled: function() { // if bullet is focused, make sure focus moves\n if ($(e.target).is(_this.$bullets)) {\n _this.$bullets.filter('.is-active').focus();\n }\n }\n });\n });\n }\n }\n }\n\n /**\n * Resets Orbit so it can be reinitialized\n */\n _reset() {\n // Don't do anything if there are no slides (first run)\n if (typeof this.$slides == 'undefined') {\n return;\n }\n\n if (this.$slides.length > 1) {\n // Remove old events\n this.$element.off('.zf.orbit').find('*').off('.zf.orbit')\n\n // Restart timer if autoPlay is enabled\n if (this.options.autoPlay) {\n this.timer.restart();\n }\n\n // Reset all sliddes\n this.$slides.each(function(el) {\n $(el).removeClass('is-active is-active is-in')\n .removeAttr('aria-live')\n .hide();\n });\n\n // Show the first slide\n this.$slides.first().addClass('is-active').show();\n\n // Triggers when the slide has finished animating\n this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]);\n\n // Select first bullet if bullets are present\n if (this.options.bullets) {\n this._updateBullets(0);\n }\n }\n }\n\n /**\n * Changes the current slide to a new one.\n * @function\n * @param {Boolean} isLTR - if true the slide moves from right to left, if false the slide moves from left to right.\n * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.\n * @param {Number} idx - the index of the new slide in its collection, if one chosen.\n * @fires Orbit#slidechange\n */\n changeSlide(isLTR, chosenSlide, idx) {\n if (!this.$slides) {return; } // Don't freak out if we're in the middle of cleanup\n var $curSlide = this.$slides.filter('.is-active').eq(0);\n\n if (/mui/g.test($curSlide[0].className)) { return false; } //if the slide is currently animating, kick out of the function\n\n var $firstSlide = this.$slides.first(),\n $lastSlide = this.$slides.last(),\n dirIn = isLTR ? 'Right' : 'Left',\n dirOut = isLTR ? 'Left' : 'Right',\n _this = this,\n $newSlide;\n\n if (!chosenSlide) { //most of the time, this will be auto played or clicked from the navButtons.\n $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!\n (this.options.infiniteWrap ? $curSlide.next(`.${this.options.slideClass}`).length ? $curSlide.next(`.${this.options.slideClass}`) : $firstSlide : $curSlide.next(`.${this.options.slideClass}`))//pick next slide if moving left to right\n :\n (this.options.infiniteWrap ? $curSlide.prev(`.${this.options.slideClass}`).length ? $curSlide.prev(`.${this.options.slideClass}`) : $lastSlide : $curSlide.prev(`.${this.options.slideClass}`));//pick prev slide if moving right to left\n } else {\n $newSlide = chosenSlide;\n }\n\n if ($newSlide.length) {\n /**\n * Triggers before the next slide starts animating in and only if a next slide has been found.\n * @event Orbit#beforeslidechange\n */\n this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]);\n\n if (this.options.bullets) {\n idx = idx || this.$slides.index($newSlide); //grab index to update bullets\n this._updateBullets(idx);\n }\n\n if (this.options.useMUI && !this.$element.is(':hidden')) {\n Motion.animateIn(\n $newSlide.addClass('is-active'),\n this.options[`animInFrom${dirIn}`],\n function(){\n $newSlide.css({'display': 'block'}).attr('aria-live', 'polite');\n });\n\n Motion.animateOut(\n $curSlide.removeClass('is-active'),\n this.options[`animOutTo${dirOut}`],\n function(){\n $curSlide.removeAttr('aria-live');\n if(_this.options.autoPlay && !_this.timer.isPaused){\n _this.timer.restart();\n }\n //do stuff?\n });\n } else {\n $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();\n $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();\n if (this.options.autoPlay && !this.timer.isPaused) {\n this.timer.restart();\n }\n }\n /**\n * Triggers when the slide has finished animating in.\n * @event Orbit#slidechange\n */\n this.$element.trigger('slidechange.zf.orbit', [$newSlide]);\n }\n }\n\n /**\n * Updates the active state of the bullets, if displayed.\n * Move the descriptor of the current slide `[data-slide-active-label]` to the newly active bullet.\n * If no `[data-slide-active-label]` is set, will move the exceeding `span` element.\n *\n * @function\n * @private\n * @param {Number} idx - the index of the current slide.\n */\n _updateBullets(idx) {\n var $oldBullet = this.$bullets.filter('.is-active');\n var $othersBullets = this.$bullets.not('.is-active');\n var $newBullet = this.$bullets.eq(idx);\n\n $oldBullet.removeClass('is-active').blur();\n $newBullet.addClass('is-active');\n\n // Find the descriptor for the current slide to move it to the new slide button\n var activeStateDescriptor = $oldBullet.children('[data-slide-active-label]').last();\n\n // If not explicitely given, search for the last \"exceeding\" span element (compared to others bullets).\n if (!activeStateDescriptor.length) {\n var spans = $oldBullet.children('span');\n var spanCountInOthersBullets = $othersBullets.toArray().map(b => $(b).children('span').length);\n\n // If there is an exceeding span element, use it as current slide descriptor\n if (spanCountInOthersBullets.every(count => count < spans.length)) {\n activeStateDescriptor = spans.last();\n activeStateDescriptor.attr('data-slide-active-label', '');\n }\n }\n\n // Move the current slide descriptor to the new slide button\n if (activeStateDescriptor.length) {\n activeStateDescriptor.detach();\n $newBullet.append(activeStateDescriptor);\n }\n }\n\n /**\n * Destroys the carousel and hides the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();\n }\n}\n\nOrbit.defaults = {\n /**\n * Tells the JS to look for and loadBullets.\n * @option\n * @type {boolean}\n * @default true\n */\n bullets: true,\n /**\n * Tells the JS to apply event listeners to nav buttons\n * @option\n * @type {boolean}\n * @default true\n */\n navButtons: true,\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-in-right'\n */\n animInFromRight: 'slide-in-right',\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-out-right'\n */\n animOutToRight: 'slide-out-right',\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-in-left'\n *\n */\n animInFromLeft: 'slide-in-left',\n /**\n * motion-ui animation class to apply\n * @option\n * @type {string}\n * @default 'slide-out-left'\n */\n animOutToLeft: 'slide-out-left',\n /**\n * Allows Orbit to automatically animate on page load.\n * @option\n * @type {boolean}\n * @default true\n */\n autoPlay: true,\n /**\n * Amount of time, in ms, between slide transitions\n * @option\n * @type {number}\n * @default 5000\n */\n timerDelay: 5000,\n /**\n * Allows Orbit to infinitely loop through the slides\n * @option\n * @type {boolean}\n * @default true\n */\n infiniteWrap: true,\n /**\n * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library\n * @option\n * @type {boolean}\n * @default true\n */\n swipe: true,\n /**\n * Allows the timing function to pause animation on hover.\n * @option\n * @type {boolean}\n * @default true\n */\n pauseOnHover: true,\n /**\n * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys\n * @option\n * @type {boolean}\n * @default true\n */\n accessible: true,\n /**\n * Class applied to the container of Orbit\n * @option\n * @type {string}\n * @default 'orbit-container'\n */\n containerClass: 'orbit-container',\n /**\n * Class applied to individual slides.\n * @option\n * @type {string}\n * @default 'orbit-slide'\n */\n slideClass: 'orbit-slide',\n /**\n * Class applied to the bullet container. You're welcome.\n * @option\n * @type {string}\n * @default 'orbit-bullets'\n */\n boxOfBullets: 'orbit-bullets',\n /**\n * Class applied to the `next` navigation button.\n * @option\n * @type {string}\n * @default 'orbit-next'\n */\n nextClass: 'orbit-next',\n /**\n * Class applied to the `previous` navigation button.\n * @option\n * @type {string}\n * @default 'orbit-previous'\n */\n prevClass: 'orbit-previous',\n /**\n * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatibility.\n * @option\n * @type {boolean}\n * @default true\n */\n useMUI: true\n};\n\nexport {Orbit};\n","import $ from 'jquery';\n\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\nimport { DropdownMenu } from './foundation.dropdownMenu';\nimport { Drilldown } from './foundation.drilldown';\nimport { AccordionMenu } from './foundation.accordionMenu';\n\nlet MenuPlugins = {\n dropdown: {\n cssClass: 'dropdown',\n plugin: DropdownMenu\n },\n drilldown: {\n cssClass: 'drilldown',\n plugin: Drilldown\n },\n accordion: {\n cssClass: 'accordion-menu',\n plugin: AccordionMenu\n }\n};\n\n // import \"foundation.util.triggers.js\";\n\n\n/**\n * ResponsiveMenu module.\n * @module foundation.responsiveMenu\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass ResponsiveMenu extends Plugin {\n /**\n * Creates a new instance of a responsive menu.\n * @class\n * @name ResponsiveMenu\n * @fires ResponsiveMenu#init\n * @param {jQuery} element - jQuery object to make into a dropdown menu.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.rules = this.$element.data('responsive-menu');\n this.currentMq = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveMenu'; // ie9 back compat\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.\n * @function\n * @private\n */\n _init() {\n\n MediaQuery._init();\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n // Add data-mutate since children may need it.\n this.$element.attr('data-mutate', (this.$element.attr('data-mutate') || GetYoDigits(6, 'responsive-menu')));\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n var _this = this;\n\n $(window).on('changed.zf.mediaquery', function() {\n _this._checkMediaQueries();\n });\n // $(window).on('resize.zf.ResponsiveMenu', function() {\n // _this._checkMediaQueries();\n // });\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) this.currentPlugin.destroy();\n this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n this.currentPlugin.destroy();\n $(window).off('.zf.ResponsiveMenu');\n }\n}\n\nResponsiveMenu.defaults = {};\n\nexport {ResponsiveMenu};\n","import $ from 'jquery';\n\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * ResponsiveToggle module.\n * @module foundation.responsiveToggle\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion\n */\n\nclass ResponsiveToggle extends Plugin {\n /**\n * Creates a new instance of Tab Bar.\n * @class\n * @name ResponsiveToggle\n * @fires ResponsiveToggle#init\n * @param {jQuery} element - jQuery object to attach tab bar functionality to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);\n this.className = 'ResponsiveToggle'; // ie9 back compat\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the tab bar by finding the target element, toggling element, and running update().\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n var targetID = this.$element.data('responsive-toggle');\n if (!targetID) {\n console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');\n }\n\n this.$targetMenu = $(`#${targetID}`);\n this.$toggler = this.$element.find('[data-toggle]').filter(function() {\n var target = $(this).data('toggle');\n return (target === targetID || target === \"\");\n });\n this.options = $.extend({}, this.options, this.$targetMenu.data());\n\n // If they were set, parse the animation classes\n if(this.options.animate) {\n let input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n }\n\n this._update();\n }\n\n /**\n * Adds necessary event handlers for the tab bar to work.\n * @function\n * @private\n */\n _events() {\n var _this = this;\n\n this._updateMqHandler = this._update.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._updateMqHandler);\n\n this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));\n }\n\n /**\n * Checks the current media query to determine if the tab bar should be visible or hidden.\n * @function\n * @private\n */\n _update() {\n // Mobile\n if (!MediaQuery.atLeast(this.options.hideFor)) {\n this.$element.show();\n this.$targetMenu.hide();\n }\n\n // Desktop\n else {\n this.$element.hide();\n this.$targetMenu.show();\n }\n }\n\n /**\n * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.\n * @function\n * @fires ResponsiveToggle#toggled\n */\n toggleMenu() {\n if (!MediaQuery.atLeast(this.options.hideFor)) {\n /**\n * Fires when the element attached to the tab bar toggles.\n * @event ResponsiveToggle#toggled\n */\n if(this.options.animate) {\n if (this.$targetMenu.is(':hidden')) {\n Motion.animateIn(this.$targetMenu, this.animationIn, () => {\n this.$element.trigger('toggled.zf.responsiveToggle');\n this.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$targetMenu, this.animationOut, () => {\n this.$element.trigger('toggled.zf.responsiveToggle');\n });\n }\n }\n else {\n this.$targetMenu.toggle(0);\n this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');\n this.$element.trigger('toggled.zf.responsiveToggle');\n }\n }\n };\n\n _destroy() {\n this.$element.off('.zf.responsiveToggle');\n this.$toggler.off('.zf.responsiveToggle');\n\n $(window).off('changed.zf.mediaquery', this._updateMqHandler);\n }\n}\n\nResponsiveToggle.defaults = {\n /**\n * The breakpoint after which the menu is always shown, and the tab bar is hidden.\n * @option\n * @type {string}\n * @default 'medium'\n */\n hideFor: 'medium',\n\n /**\n * To decide if the toggle should be animated or not.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport { ResponsiveToggle };\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': 'dialog',\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('
      ')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if ($('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/foundation/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if ($('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\n","import $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.core.utils';\n\nimport { Plugin } from './foundation.core.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider extends Plugin {\n /**\n * Creates a new instance of a slider control.\n * @class\n * @name Slider\n * @param {jQuery} element - jQuery object to make into a slider control.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n this.className = 'Slider'; // ie9 back compat\n\n // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Slider', {\n 'ltr': {\n 'ARROW_RIGHT': 'increase',\n 'ARROW_UP': 'increase',\n 'ARROW_DOWN': 'decrease',\n 'ARROW_LEFT': 'decrease',\n 'SHIFT_ARROW_RIGHT': 'increase_fast',\n 'SHIFT_ARROW_UP': 'increase_fast',\n 'SHIFT_ARROW_DOWN': 'decrease_fast',\n 'SHIFT_ARROW_LEFT': 'decrease_fast',\n 'HOME': 'min',\n 'END': 'max'\n },\n 'rtl': {\n 'ARROW_LEFT': 'increase',\n 'ARROW_RIGHT': 'decrease',\n 'SHIFT_ARROW_LEFT': 'increase_fast',\n 'SHIFT_ARROW_RIGHT': 'decrease_fast'\n }\n });\n }\n\n /**\n * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n * @function\n * @private\n */\n _init() {\n this.inputs = this.$element.find('input');\n this.handles = this.$element.find('[data-slider-handle]');\n\n this.$handle = this.handles.eq(0);\n this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n var _this = this;\n if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n this.options.disabled = true;\n this.$element.addClass(this.options.disabledClass);\n }\n if (!this.inputs.length) {\n this.inputs = $().add(this.$input);\n this.options.binding = true;\n }\n\n this._setInitAttr(0);\n\n if (this.handles[1]) {\n this.options.doubleSided = true;\n this.$handle2 = this.handles.eq(1);\n this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n if (!this.inputs[1]) {\n this.inputs = this.inputs.add(this.$input2);\n }\n\n // this.$handle.triggerHandler('click.zf.slider');\n this._setInitAttr(1);\n }\n\n // Set handle positions\n this.setHandles();\n\n this._events();\n }\n\n setHandles() {\n if(this.handles[1]) {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n }\n }\n\n _reflow() {\n this.setHandles();\n }\n /**\n * @function\n * @private\n * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n */\n _pctOfBar(value) {\n var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n }\n\n return pctOfBar.toFixed(2)\n }\n\n /**\n * @function\n * @private\n * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n */\n _value(pctOfBar) {\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n }\n\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\n\n return value\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n */\n _logTransform(value) {\n return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n */\n _powTransform(value) {\n return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n }\n\n /**\n * Sets the position of the selected handle and fill bar.\n * @function\n * @private\n * @param {jQuery} $hndl - the selected handle to move.\n * @param {Number} location - floating point between the start and end values of the slider bar.\n * @param {Function} cb - callback function to fire on completion.\n * @fires Slider#moved\n * @fires Slider#changed\n */\n _setHandlePos($hndl, location, cb) {\n // don't move if the slider has been disabled since its initialization\n if (this.$element.hasClass(this.options.disabledClass)) {\n return;\n }\n //might need to alter that slightly for bars that will have odd number selections.\n location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n if (location < this.options.start) { location = this.options.start; }\n else if (location > this.options.end) { location = this.options.end; }\n\n var isDbl = this.options.doubleSided;\n\n if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n if (this.handles.index($hndl) === 0) {\n var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n location = location >= h2Val ? h2Val - this.options.step : location;\n } else {\n var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n location = location <= h1Val ? h1Val + this.options.step : location;\n }\n }\n\n var _this = this,\n vert = this.options.vertical,\n hOrW = vert ? 'height' : 'width',\n lOrT = vert ? 'top' : 'left',\n handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n //percentage of bar min/max value based on click or drag point\n pctOfBar = this._pctOfBar(location),\n //number of actual pixels to shift the handle, based on the percentage obtained above\n pxToMove = (elemDim - handleDim) * pctOfBar,\n //percentage of bar to shift the handle\n movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n location = parseFloat(location.toFixed(this.options.decimal));\n // declare empty object for css adjustments, only used with 2 handled-sliders\n var css = {};\n\n this._setValues($hndl, location);\n\n // TODO update to calculate based on values set to respective inputs??\n if (isDbl) {\n var isLeftHndl = this.handles.index($hndl) === 0,\n //empty variable, will be used for min-height/width for fill bar\n dim,\n //percentage w/h of the handle compared to the slider bar\n handlePct = ~~(percent(handleDim, elemDim) * 100);\n //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n if (isLeftHndl) {\n //left or top percentage value to apply to the fill bar.\n css[lOrT] = `${movement}%`;\n //calculate the new min-height/width for the fill bar.\n dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n } else {\n //just caching the value of the left/bottom handle's left/top property\n var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n }\n // assign the min-height/width to our css object\n css[`min-${hOrW}`] = `${dim}%`;\n }\n\n this.$element.one('finished.zf.animate', function() {\n /**\n * Fires when the handle is done moving.\n * @event Slider#moved\n */\n _this.$element.trigger('moved.zf.slider', [$hndl]);\n });\n\n //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n Move(moveTime, $hndl, function() {\n // adjusting the left/top property of the handle, based on the percentage calculated above\n // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n // fall back to next best guess.\n if (isNaN(movement)) {\n $hndl.css(lOrT, `${pctOfBar * 100}%`);\n }\n else {\n $hndl.css(lOrT, `${movement}%`);\n }\n\n if (!_this.options.doubleSided) {\n //if single-handled, a simple method to expand the fill bar\n _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n } else {\n //otherwise, use the css object we created above\n _this.$fill.css(css);\n }\n });\n\n\n /**\n * Fires when the value has not been change for a given time.\n * @event Slider#changed\n */\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.$element.trigger('changed.zf.slider', [$hndl]);\n }, _this.options.changedDelay);\n }\n\n /**\n * Sets the initial attribute for the slider element.\n * @function\n * @private\n * @param {Number} idx - index of the current handle/input to use.\n */\n _setInitAttr(idx) {\n var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n this.inputs.eq(idx).attr({\n 'id': id,\n 'max': this.options.end,\n 'min': this.options.start,\n 'step': this.options.step\n });\n this.inputs.eq(idx).val(initVal);\n this.handles.eq(idx).attr({\n 'role': 'slider',\n 'aria-controls': id,\n 'aria-valuemax': this.options.end,\n 'aria-valuemin': this.options.start,\n 'aria-valuenow': initVal,\n 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n 'tabindex': 0\n });\n }\n\n /**\n * Sets the input and `aria-valuenow` values for the slider element.\n * @function\n * @private\n * @param {jQuery} $handle - the currently selected handle.\n * @param {Number} val - floating point of the new value.\n */\n _setValues($handle, val) {\n var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n this.inputs.eq(idx).val(val);\n $handle.attr('aria-valuenow', val);\n }\n\n /**\n * Handles events on the slider element.\n * Calculates the new location of the current handle.\n * If there are two handles and the bar was clicked, it determines which handle to move.\n * @function\n * @private\n * @param {Object} e - the `event` object passed from the listener.\n * @param {jQuery} $handle - the current handle to calculate for, if selected.\n * @param {Number} val - floating point number for the new value of the slider.\n * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n */\n _handleEvent(e, $handle, val) {\n var value, hasVal;\n if (!val) {//click or drag events\n e.preventDefault();\n var _this = this,\n vertical = this.options.vertical,\n param = vertical ? 'height' : 'width',\n direction = vertical ? 'top' : 'left',\n eventOffset = vertical ? e.pageY : e.pageX,\n barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n var elemOffset = this.$element.offset()[direction];\n\n // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n // best way to guess this is simulated is if clientY == pageY\n if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n var eventFromBar = eventOffset - elemOffset;\n var barXY;\n if (eventFromBar < 0) {\n barXY = 0;\n } else if (eventFromBar > barDim) {\n barXY = barDim;\n } else {\n barXY = eventFromBar;\n }\n var offsetPct = percent(barXY, barDim);\n\n value = this._value(offsetPct);\n\n // turn everything around for RTL, yay math!\n if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n value = _this._adjustValue(null, value);\n //boolean flag for the setHandlePos fn, specifically for vertical sliders\n hasVal = false;\n\n if (!$handle) {//figure out which handle it is, pass it to the next function.\n var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n }\n\n } else {//change event on input\n value = this._adjustValue(null, val);\n hasVal = true;\n }\n\n this._setHandlePos($handle, value);\n }\n\n /**\n * Adjustes value for handle in regard to step value. returns adjusted value\n * @function\n * @private\n * @param {jQuery} $handle - the selected handle.\n * @param {Number} value - value to adjust. used if $handle is falsy\n */\n _adjustValue($handle, value) {\n var val,\n step = this.options.step,\n div = parseFloat(step/2),\n left, prev_val, next_val;\n if (!!$handle) {\n val = parseFloat($handle.attr('aria-valuenow'));\n }\n else {\n val = value;\n }\n if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\n prev_val = val - left;\n next_val = prev_val + step;\n if (left === 0) {\n return val;\n }\n val = val >= prev_val + div ? next_val : prev_val;\n return val;\n }\n\n /**\n * Adds event listeners to the slider elements.\n * @function\n * @private\n */\n _events() {\n this._eventsForHandle(this.$handle);\n if(this.handles[1]) {\n this._eventsForHandle(this.$handle2);\n }\n }\n\n\n /**\n * Adds event listeners a particular handle\n * @function\n * @private\n * @param {jQuery} $handle - the current handle to apply listeners to.\n */\n _eventsForHandle($handle) {\n var _this = this,\n curHandle;\n\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n\n if (this.options.clickSelect) {\n this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n if (_this.$element.data('dragging')) { return false; }\n\n if (!$(e.target).is('[data-slider-handle]')) {\n if (_this.options.doubleSided) {\n _this._handleEvent(e);\n } else {\n _this._handleEvent(e, _this.$handle);\n }\n }\n });\n }\n\n if (this.options.draggable) {\n this.handles.addTouch();\n\n var $body = $('body');\n $handle\n .off('mousedown.zf.slider')\n .on('mousedown.zf.slider', function(e) {\n $handle.addClass('is-dragging');\n _this.$fill.addClass('is-dragging');//\n _this.$element.data('dragging', true);\n\n curHandle = $(e.currentTarget);\n\n $body.on('mousemove.zf.slider', function(e) {\n e.preventDefault();\n _this._handleEvent(e, curHandle);\n\n }).on('mouseup.zf.slider', function(e) {\n _this._handleEvent(e, curHandle);\n\n $handle.removeClass('is-dragging');\n _this.$fill.removeClass('is-dragging');\n _this.$element.data('dragging', false);\n\n $body.off('mousemove.zf.slider mouseup.zf.slider');\n });\n })\n // prevent events triggered by touch\n .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n e.preventDefault();\n });\n }\n\n $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n var _$handle = $(this),\n idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n oldValue = parseFloat(_this.inputs.eq(idx).val()),\n newValue;\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Slider', {\n decrease: function() {\n newValue = oldValue - _this.options.step;\n },\n increase: function() {\n newValue = oldValue + _this.options.step;\n },\n decrease_fast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increase_fast: function() {\n newValue = oldValue + _this.options.step * 10;\n },\n min: function() {\n newValue = _this.options.start;\n },\n max: function() {\n newValue = _this.options.end;\n },\n handled: function() { // only set handle pos when event was handled specially\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }\n });\n /*if (newValue) { // if pressed key has special function, update value\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }*/\n });\n }\n\n /**\n * Destroys the slider plugin.\n */\n _destroy() {\n this.handles.off('.zf.slider');\n this.inputs.off('.zf.slider');\n this.$element.off('.zf.slider');\n\n clearTimeout(this.timeout);\n }\n}\n\nSlider.defaults = {\n /**\n * Minimum value for the slider scale.\n * @option\n * @type {number}\n * @default 0\n */\n start: 0,\n /**\n * Maximum value for the slider scale.\n * @option\n * @type {number}\n * @default 100\n */\n end: 100,\n /**\n * Minimum value change per change event.\n * @option\n * @type {number}\n * @default 1\n */\n step: 1,\n /**\n * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n * @option\n * @type {number}\n * @default 0\n */\n initialStart: 0,\n /**\n * Value at which the right handle/second input should be set to on initialization.\n * @option\n * @type {number}\n * @default 100\n */\n initialEnd: 100,\n /**\n * Allows the input to be located outside the container and visible. Set to by the JS\n * @option\n * @type {boolean}\n * @default false\n */\n binding: false,\n /**\n * Allows the user to click/tap on the slider bar to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n clickSelect: true,\n /**\n * Set to true and use the `vertical` class to change alignment to vertical.\n * @option\n * @type {boolean}\n * @default false\n */\n vertical: false,\n /**\n * Allows the user to drag the slider handle(s) to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n draggable: true,\n /**\n * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n * @option\n * @type {boolean}\n * @default false\n */\n disabled: false,\n /**\n * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n * @option\n * @type {boolean}\n * @default false\n */\n doubleSided: false,\n /**\n * Potential future feature.\n */\n // steps: 100,\n /**\n * Number of decimal places the plugin should go to for floating point precision.\n * @option\n * @type {number}\n * @default 2\n */\n decimal: 2,\n /**\n * Time delay for dragged elements.\n */\n // dragDelay: 0,\n /**\n * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n * @option\n * @type {number}\n * @default 200\n */\n moveTime: 200,//update this if changing the transition time in the sass\n /**\n * Class applied to disabled sliders.\n * @option\n * @type {string}\n * @default 'disabled'\n */\n disabledClass: 'disabled',\n /**\n * Will invert the default layout for a vertical slider.\n * @option\n * @type {boolean}\n * @default false\n */\n invertVertical: false,\n /**\n * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n * @option\n * @type {number}\n * @default 500\n */\n changedDelay: 500,\n /**\n * Basevalue for non-linear sliders\n * @option\n * @type {number}\n * @default 5\n */\n nonLinearBase: 5,\n /**\n * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n * @option\n * @type {string}\n * @default 'linear'\n */\n positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\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 sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
      ',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top - this.options.deepLinkSmudgeOffset}, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n if (!this.$tabContent) {\n return;\n }\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLinkSmudge` is enabled, animation offset from the top for the deep link adjustment\n * @option\n * @type {number}\n * @default 0\n */\n deepLinkSmudgeOffset: 0,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","import $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n // Collect triggers to set ARIA attributes to\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n }\n // Otherwise, parse toggle class\n else {\n input = this.options.toggler;\n if (typeof input !== 'string' || !input.length) {\n throw new Error(`The 'toggler' option containing the target class is required, got \"${input}\"`);\n }\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n\n // - aria-expanded: according to the elements class set.\n $triggers.attr('aria-expanded', this.$element.hasClass(this.className));\n }\n\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\n","import $ from 'jquery';\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 = $('
      ').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","import $ from 'jquery';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin }from './foundation.core.plugin';\n\nimport { Accordion } from './foundation.accordion';\nimport { Tabs } from './foundation.tabs';\n\n// The plugin matches the plugin classes with these plugin instances.\nvar MenuPlugins = {\n tabs: {\n cssClass: 'tabs',\n plugin: Tabs,\n open: (plugin, target) => plugin.selectTab(target),\n close: null /* not supported */,\n toggle: null /* not supported */,\n },\n accordion: {\n cssClass: 'accordion',\n plugin: Accordion,\n open: (plugin, target) => plugin.down($(target)),\n close: (plugin, target) => plugin.up($(target)),\n toggle: (plugin, target) => plugin.toggle($(target)),\n }\n};\n\n\n/**\n * ResponsiveAccordionTabs module.\n * @module foundation.responsiveAccordionTabs\n * @requires foundation.util.motion\n * @requires foundation.accordion\n * @requires foundation.tabs\n */\n\nclass ResponsiveAccordionTabs extends Plugin{\n constructor(element, options) {\n super(element, options);\n return this.options.reflow && this.storezfData || this;\n }\n\n /**\n * Creates a new instance of a responsive accordion tabs.\n * @class\n * @name ResponsiveAccordionTabs\n * @fires ResponsiveAccordionTabs#init\n * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = $(element);\n this.$element.data('zfPluginBase', this);\n this.options = $.extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options);\n\n this.rules = this.$element.data('responsive-accordion-tabs');\n this.currentMq = null;\n this.currentRule = null;\n this.currentPlugin = null;\n this.className = 'ResponsiveAccordionTabs'; // ie9 back compat\n if (!this.$element.attr('id')) {\n this.$element.attr('id',GetYoDigits(6, 'responsiveaccordiontabs'));\n }\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element.\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n // The first time an Interchange plugin is initialized, this.rules is converted from a string of \"classes\" to an object of rules\n if (typeof this.rules === 'string') {\n let rulesTree = {};\n\n // Parse rules from \"classes\" pulled from data attribute\n let rules = this.rules.split(' ');\n\n // Iterate through every rule found\n for (let i = 0; i < rules.length; i++) {\n let rule = rules[i].split('-');\n let ruleSize = rule.length > 1 ? rule[0] : 'small';\n let rulePlugin = rule.length > 1 ? rule[1] : rule[0];\n\n if (MenuPlugins[rulePlugin] !== null) {\n rulesTree[ruleSize] = MenuPlugins[rulePlugin];\n }\n }\n\n this.rules = rulesTree;\n }\n\n this._getAllOptions();\n\n if (!$.isEmptyObject(this.rules)) {\n this._checkMediaQueries();\n }\n }\n\n _getAllOptions() {\n //get all defaults and options\n var _this = this;\n _this.allOptions = {};\n for (var key in MenuPlugins) {\n if (MenuPlugins.hasOwnProperty(key)) {\n var obj = MenuPlugins[key];\n try {\n var dummyPlugin = $('
        ');\n var tmpPlugin = new obj.plugin(dummyPlugin,_this.options);\n for (var keyKey in tmpPlugin.options) {\n if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') {\n var objObj = tmpPlugin.options[keyKey];\n _this.allOptions[keyKey] = objObj;\n }\n }\n tmpPlugin.destroy();\n }\n catch(e) {\n }\n }\n }\n }\n\n /**\n * Initializes events for the Menu.\n * @function\n * @private\n */\n _events() {\n this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this);\n $(window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n\n /**\n * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.\n * @function\n * @private\n */\n _checkMediaQueries() {\n var matchedMq, _this = this;\n // Iterate through each rule and find the last matching rule\n $.each(this.rules, function(key) {\n if (MediaQuery.atLeast(key)) {\n matchedMq = key;\n }\n });\n\n // No match? No dice\n if (!matchedMq) return;\n\n // Plugin already initialized? We good\n if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;\n\n // Remove existing plugin-specific CSS classes\n $.each(MenuPlugins, function(key, value) {\n _this.$element.removeClass(value.cssClass);\n });\n\n // Add the CSS class for the new plugin\n this.$element.addClass(this.rules[matchedMq].cssClass);\n\n // Create an instance of the new plugin\n if (this.currentPlugin) {\n //don't know why but on nested elements data zfPlugin get's lost\n if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin',this.storezfData);\n this.currentPlugin.destroy();\n }\n this._handleMarkup(this.rules[matchedMq].cssClass);\n this.currentRule = this.rules[matchedMq];\n this.currentPlugin = new this.currentRule.plugin(this.$element, this.options);\n this.storezfData = this.currentPlugin.$element.data('zfPlugin');\n\n }\n\n _handleMarkup(toSet){\n var _this = this, fromString = 'accordion';\n var $panels = $('[data-tabs-content='+this.$element.attr('id')+']');\n if ($panels.length) fromString = 'tabs';\n if (fromString === toSet) {\n return;\n }\n\n var tabsTitle = _this.allOptions.linkClass?_this.allOptions.linkClass:'tabs-title';\n var tabsPanel = _this.allOptions.panelClass?_this.allOptions.panelClass:'tabs-panel';\n\n this.$element.removeAttr('role');\n var $liHeads = this.$element.children('.'+tabsTitle+',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item');\n var $liHeadsA = $liHeads.children('a').removeClass('accordion-title');\n\n if (fromString === 'tabs') {\n $panels = $panels.children('.'+tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby');\n $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected');\n } else {\n $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content');\n }\n\n $panels.css({display:'',visibility:''});\n $liHeads.css({display:'',visibility:''});\n if (toSet === 'accordion') {\n $panels.each(function(key,value){\n $(value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content','').removeClass('is-active').css({height:''});\n $('[data-tabs-content='+_this.$element.attr('id')+']').after('
        ').detach();\n $liHeads.addClass('accordion-item').attr('data-accordion-item','');\n $liHeadsA.addClass('accordion-title');\n });\n } else if (toSet === 'tabs') {\n var $tabsContent = $('[data-tabs-content='+_this.$element.attr('id')+']');\n var $placeholder = $('#tabs-placeholder-'+_this.$element.attr('id'));\n if ($placeholder.length) {\n $tabsContent = $('
        ').insertAfter($placeholder).attr('data-tabs-content',_this.$element.attr('id'));\n $placeholder.remove();\n } else {\n $tabsContent = $('
        ').insertAfter(_this.$element).attr('data-tabs-content',_this.$element.attr('id'));\n }\n $panels.each(function(key,value){\n var tempValue = $(value).appendTo($tabsContent).addClass(tabsPanel);\n var hash = $liHeadsA.get(key).hash.slice(1);\n var id = $(value).attr('id') || GetYoDigits(6, 'accordion');\n if (hash !== id) {\n if (hash !== '') {\n $(value).attr('id',hash);\n } else {\n hash = id;\n $(value).attr('id',hash);\n $($liHeadsA.get(key)).attr('href',$($liHeadsA.get(key)).attr('href').replace('#','')+'#'+hash);\n }\n }\n var isActive = $($liHeads.get(key)).hasClass('is-active');\n if (isActive) {\n tempValue.addClass('is-active');\n }\n });\n $liHeads.addClass(tabsTitle);\n };\n }\n\n /**\n * Opens the plugin pane defined by `target`.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to open.\n * @see Accordion.down\n * @see Tabs.selectTab\n * @function\n */\n open(_target) {\n if (this.currentRule && typeof this.currentRule.open === 'function') {\n return this.currentRule.open(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Closes the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to close.\n * @see Accordion.up\n * @function\n */\n close(_target) {\n if (this.currentRule && typeof this.currentRule.close === 'function') {\n return this.currentRule.close(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Toggles the plugin pane defined by `target`. Not availaible for Tabs.\n * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle.\n * @see Accordion.toggle\n * @function\n */\n toggle(_target) {\n if (this.currentRule && typeof this.currentRule.toggle === 'function') {\n return this.currentRule.toggle(this.currentPlugin, ...arguments);\n }\n }\n\n /**\n * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.\n * @function\n */\n _destroy() {\n if (this.currentPlugin) this.currentPlugin.destroy();\n $(window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler);\n }\n}\n\nResponsiveAccordionTabs.defaults = {};\n\nexport {ResponsiveAccordionTabs};\n","import $ from 'jquery';\n\nimport { Foundation } from '../foundation.core';\nimport * as CoreUtils from '../foundation.core.utils';\nimport { Box } from '../foundation.util.box'\nimport { onImagesLoaded } from '../foundation.util.imageLoader';\nimport { Keyboard } from '../foundation.util.keyboard';\nimport { MediaQuery } from '../foundation.util.mediaQuery';\nimport { Motion, Move } from '../foundation.util.motion';\nimport { Nest } from '../foundation.util.nest';\nimport { Timer } from '../foundation.util.timer';\nimport { Touch } from '../foundation.util.touch';\nimport { Triggers } from '../foundation.util.triggers';\nimport { Abide } from '../foundation.abide';\nimport { Accordion } from '../foundation.accordion';\nimport { AccordionMenu } from '../foundation.accordionMenu';\nimport { Drilldown } from '../foundation.drilldown';\nimport { Dropdown } from '../foundation.dropdown';\nimport { DropdownMenu } from '../foundation.dropdownMenu';\nimport { Equalizer } from '../foundation.equalizer';\nimport { Interchange } from '../foundation.interchange';\nimport { Magellan } from '../foundation.magellan';\nimport { OffCanvas } from '../foundation.offcanvas';\nimport { Orbit } from '../foundation.orbit';\nimport { ResponsiveMenu } from '../foundation.responsiveMenu';\nimport { ResponsiveToggle } from '../foundation.responsiveToggle';\nimport { Reveal } from '../foundation.reveal';\nimport { Slider } from '../foundation.slider';\nimport { SmoothScroll } from '../foundation.smoothScroll';\nimport { Sticky } from '../foundation.sticky';\nimport { Tabs } from '../foundation.tabs';\nimport { Toggler } from '../foundation.toggler';\nimport { Tooltip } from '../foundation.tooltip';\nimport { ResponsiveAccordionTabs } from '../foundation.responsiveAccordionTabs';\n\nFoundation.addToJquery($);\n\n// Add Foundation Utils to Foundation global namespace for backwards\n// compatibility.\nFoundation.rtl = CoreUtils.rtl;\nFoundation.GetYoDigits = CoreUtils.GetYoDigits;\nFoundation.transitionend = CoreUtils.transitionend;\nFoundation.RegExpEscape = CoreUtils.RegExpEscape;\nFoundation.onLoad = CoreUtils.onLoad;\n\nFoundation.Box = Box;\nFoundation.onImagesLoaded = onImagesLoaded;\nFoundation.Keyboard = Keyboard;\nFoundation.MediaQuery = MediaQuery;\nFoundation.Motion = Motion;\nFoundation.Move = Move;\nFoundation.Nest = Nest;\nFoundation.Timer = Timer;\n\n// Touch and Triggers previously were almost purely sede effect driven,\n// so no need to add it to Foundation, just init them.\nTouch.init($);\nTriggers.init($, Foundation);\nMediaQuery._init();\n\nFoundation.plugin(Abide, 'Abide');\nFoundation.plugin(Accordion, 'Accordion');\nFoundation.plugin(AccordionMenu, 'AccordionMenu');\nFoundation.plugin(Drilldown, 'Drilldown');\nFoundation.plugin(Dropdown, 'Dropdown');\nFoundation.plugin(DropdownMenu, 'DropdownMenu');\nFoundation.plugin(Equalizer, 'Equalizer');\nFoundation.plugin(Interchange, 'Interchange');\nFoundation.plugin(Magellan, 'Magellan');\nFoundation.plugin(OffCanvas, 'OffCanvas');\nFoundation.plugin(Orbit, 'Orbit');\nFoundation.plugin(ResponsiveMenu, 'ResponsiveMenu');\nFoundation.plugin(ResponsiveToggle, 'ResponsiveToggle');\nFoundation.plugin(Reveal, 'Reveal');\nFoundation.plugin(Slider, 'Slider');\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\nFoundation.plugin(Sticky, 'Sticky');\nFoundation.plugin(Tabs, 'Tabs');\nFoundation.plugin(Toggler, 'Toggler');\nFoundation.plugin(Tooltip, 'Tooltip');\nFoundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs');\n\nexport {\n Foundation,\n CoreUtils,\n Box,\n onImagesLoaded,\n Keyboard,\n MediaQuery,\n Motion,\n Nest,\n Timer,\n Touch,\n Triggers,\n Abide,\n Accordion,\n AccordionMenu,\n Drilldown,\n Dropdown,\n DropdownMenu,\n Equalizer,\n Interchange,\n Magellan,\n OffCanvas,\n Orbit,\n ResponsiveMenu,\n ResponsiveToggle,\n Reveal,\n Slider,\n SmoothScroll,\n Sticky,\n Tabs,\n Toggler,\n Tooltip,\n ResponsiveAccordionTabs\n}\n\nexport default Foundation;\n\n"],"names":["rtl","$","attr","GetYoDigits","length","namespace","str","chars","charsLength","i","Math","floor","random","RegExpEscape","replace","transitionend","$elem","transitions","elem","document","createElement","end","transition","style","setTimeout","triggerHandler","onLoad","handler","didLoad","readyState","eventType","cb","one","window","ignoreMousedisappear","ignoreLeaveWindow","ignoreReappear","leaveEventHandler","eLeave","rest","callback","bind","relatedTarget","leaveEventDebouncer","hasFocus","reenterEventHandler","eReenter","currentTarget","has","target","matchMedia","styleMedia","media","script","getElementsByTagName","info","type","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","MediaQuery","queries","current","_init","isInitialized","self","$meta","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","push","name","value","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","parts","trim","split","filter","p","bpSize","bpModifier","Error","queryIndex","findIndex","q","_getQueryName","nextQuery","TypeError","matched","off","on","newSize","currentSize","trigger","styleObject","slice","reduce","ret","param","val","decodeURIComponent","Array","isArray","FOUNDATION_VERSION","Foundation","version","_plugins","_uuids","plugin","className","functionName","attrName","hyphenate","registerPlugin","pluginName","constructor","toLowerCase","uuid","$element","data","unregisterPlugin","splice","indexOf","removeAttr","removeData","prop","reInit","plugins","isJQ","each","_this","fns","plgs","forEach","foundation","Object","keys","err","console","error","reflow","find","addBack","$el","opts","option","_index","opt","map","el","parseValue","er","getFnName","addToJquery","method","$noJS","removeClass","args","prototype","call","arguments","plugClass","apply","ReferenceError","fn","util","throttle","func","delay","timer","context","Date","now","getTime","vendors","requestAnimationFrame","vp","cancelAnimationFrame","test","navigator","userAgent","lastTime","nextTime","max","clearTimeout","performance","start","Function","oThis","aArgs","fToBind","fNOP","fBound","concat","funcNameRegex","results","exec","toString","isNaN","parseFloat","Box","ImNotTouchingYou","OverlapArea","GetDimensions","GetExplicitOffsets","element","parent","lrOnly","tbOnly","ignoreBottom","eleDims","topOver","bottomOver","leftOver","rightOver","parDims","height","offset","top","left","windowDims","min","sqrt","rect","getBoundingClientRect","parRect","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","anchor","position","alignment","vOffset","hOffset","isOverflow","$eleDims","$anchorDims","topVal","leftVal","onImagesLoaded","images","unloaded","complete","naturalWidth","singleImageLoaded","image","Image","events","me","event","src","keyCodes","commands","findFocusable","sort","a","b","aTabIndex","parseInt","bTabIndex","parseKey","which","keyCode","String","fromCharCode","toUpperCase","shiftKey","ctrlKey","altKey","Keyboard","getKeyCodes","handleKey","component","functions","commandList","cmds","command","warn","zfIsKeyHandled","ltr","Rtl","extend","returnValue","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","preventDefault","focus","releaseFocus","kcs","k","kc","initClasses","activeClasses","Motion","animateIn","animation","animate","animateOut","Move","duration","anim","prog","move","ts","isIn","initClass","activeClass","reset","addClass","show","offsetWidth","finish","hide","transitionDuration","Nest","Feather","menu","items","subMenuClass","subItemClass","hasSubClass","applyAria","$item","$sub","children","Burn","Timer","options","nameSpace","remain","isPaused","restart","infinite","pause","Touch","startPosX","startPosY","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","removeEventListener","onTouchMove","tapEvent","Event","spotSwipe","x","touches","pageX","y","pageY","dx","dir","abs","moveThreshold","timeThreshold","assign","onTouchStart","addEventListener","init","SpotSwipe","enabled","documentElement","special","swipe","setup","tap","noop","setupSpotSwipe","setupTouchHandler","addTouch","handleTouch","changedTouches","first","eventTypes","touchstart","touchmove","touchend","simulatedEvent","MouseEvent","screenX","screenY","clientX","clientY","createEvent","initMouseEvent","dispatchEvent","MutationObserver","prefixes","triggers","Triggers","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","stopPropagation","fadeOut","toggleFocusListener","addOpenListener","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","not","addClosemeListener","yetiBoxes","plugNames","listeners","join","debounceGlobalListener","debounce","listener","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou","Plugin","_setup","getPluginName","_destroy","obj","Abide","defaults","isEnabled","formnovalidate","$inputs","merge","$submits","$globalErrors","a11yAttributes","input","addA11yAttributes","addGlobalErrorA11yAttributes","_events","resetForm","validateForm","getAttribute","submit","validateOn","validateInput","liveValidate","validateOnBlur","isGood","checked","failedValidators","$error","siblings","formErrorSelector","add","v","$label","$els","labels","findLabel","$formError","findFormError","labelErrorClass","formErrorClass","inputErrorClass","$errors","$labels","errorId","elemId","label","a11yErrorLevel","groupName","findRadioLabels","$formErrors","findCheckboxLabels","removeRadioErrorClasses","removeCheckboxErrorClasses","clearRequire","requiredCheck","validator","manageErrorClasses","_validationIsDisabled","validateRadio","validateCheckbox","validateText","required","validators","equalTo","goodToGo","message","dependentElements","addErrorClasses","removeErrorClasses","acc","checkboxGroupName","initialized","noError","pattern","inputText","valid","patterns","RegExp","$group","minRequired","clear","$form","alpha","alpha_numeric","integer","number","card","cvv","email","url","domain","datetime","date","time","dateISO","month_day_year","day_month_year","color","website","Accordion","_isInitializing","$tabs","idx","$content","linkId","$initActive","_initialAnchor","prev","_openSingleTab","_checkDeepLink","location","hash","$anchor","$link","isOwnAnchor","hasClass","_closeAllTabs","deepLinkSmudge","scrollTop","deepLinkSmudgeOffset","deepLinkSmudgeDelay","deepLink","$tabContent","toggle","$a","multiExpand","previous","last","up","down","updateHistory","history","pushState","replaceState","_openTab","$targetItem","$othersItems","allowAllClosed","_closeTab","$activeContents","targetContentId","slideDown","slideSpeed","slideUp","$activeTabs","stop","AccordionMenu","multiOpen","$menuLinks","subId","isActive","parentLink","clone","prependTo","wrap","submenuToggle","after","submenuToggleText","initPanes","$submenu","$elements","$prevElement","$nextElement","parents","open","close","closeAll","hideAll","$targetBranch","parentsUntil","$othersActiveSubmenus","$submenus","$allmenus","detach","remove","Drilldown","autoApplyClass","$submenuAnchors","$menuItems","$currentMenu","_prepareMenu","_registerEvents","_keyboardEvents","$menu","$back","backButtonPosition","append","backButton","prepend","_back","autoHeight","$wrapper","wrapper","animateHeight","_getMaxDims","_show","closeOnClick","$body","contains","_hideAll","_bindHandler","_scrollTop","_resize","$scrollTopElement","scrollTopElement","scrollPos","scrollTopOffset","animationDuration","animationEasing","_hide","calcHeight","parentSubMenu","autoFocus","$expandedSubmenus","index","_setHideSubMenuClasses","isLastChild","_setShowSubMenuClasses","blur","maxHeight","result","numOfElems","unwrap","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","item","array","currentIdx","Positionable","triedPositions","_getDefaultPosition","_getDefaultAlignment","originalPosition","originalAlignment","_alignmentsExhausted","_realign","_addTriedPosition","isExhausted","$parent","allowOverlap","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","allowBottomOverlap","_reposition","Dropdown","$id","$anchors","_setCurrentAnchor","parentClass","$currentAnchor","match","horizontalPosition","hasTouch","ontouchstart","_setPosition","forceFollow","hover","bodyData","whatinput","timeout","hoverDelay","hoverPane","visibleFocusableElements","_addBodyHandler","DropdownMenu","subs","verticalClass","rightClass","changed","parClass","handleClickFn","hasSub","hasClicked","clickOpen","stopImmediatePropagation","closeOnClickInside","disableHoverOnTouch","disableHover","autoclose","closingTime","isTab","nextSibling","prevSibling","openSub","closeSub","_isVertical","_isRtl","_removeBodyHandler","isItself","$sibs","oldClass","$parentLi","$toClose","somethingToClose","$activeItem","Equalizer","eqId","$watched","hasNested","isNested","isOn","onResizeMeBound","_onResizeMe","onPostEqualizedBound","_onPostEqualized","imgs","tooSmall","equalizeOn","_checkMQ","_reflow","_pauseEvents","equalizeOnStack","_isStacked","equalizeByRow","getHeightsByRow","applyHeightByRow","getHeights","applyHeight","heights","len","offsetHeight","lastElTopOffset","groups","group","elOffsetTop","j","ln","groupsILength","lenJ","Interchange","rules","currentPath","_parseOptions","_addBreakpoints","_generateRules","rule","path","types","log","SPECIAL_QUERIES","rulesList","nodeName","response","html","SmoothScroll","_linkClickListener","_handleLinkClick","arrival","_inTransition","scrollToLoc","loc","$loc","round","threshold","Magellan","calcPoints","$targets","$links","$active","points","winHeight","innerHeight","clientHeight","docHeight","scrollHeight","$tar","pt","targetPoint","deepLinking","_updateActive","onLoadListener","_deepLinkScroll","newScrollPos","isScrollingUp","activeIdx","visibleLinks","$oldActive","activeHash","isNewActive","isNewHash","pathname","search","OffCanvas","contentClasses","base","reveal","$lastTrigger","$triggers","nested","$sticky","isInCanvas","contentId","contentOverlay","overlay","overlayPosition","setAttribute","$overlay","insertAfter","revealOnRegExp","revealClass","revealOnClass","isRevealed","revealOn","_setMQChecker","transitionTime","contentScroll","inCanvasFor","inCanvasOn","_checkInCanvas","_removeContentClasses","_handleKeyboard","hasReveal","_","absoluteTopVal","stickyData","_addContentClasses","lastY","delta","_canScroll","allowUp","allowDown","forceTo","scrollTo","_stopScrolling","_recordScrollable","_preventDefaultAtEdges","_scrollboxTouchMoved","canvasFocus","_fixStickyElements","_unfixStickyElements","Orbit","_reset","containerClass","$slides","slideClass","$images","initActive","useMUI","_prepareForOrbit","bullets","_loadBullets","autoPlay","geoSync","accessible","$bullets","boxOfBullets","timerDelay","changeSlide","_setWrapperHeight","temp","counter","pauseOnHover","navButtons","$controls","nextClass","prevClass","$slide","_updateBullets","isLTR","chosenSlide","$curSlide","$firstSlide","$lastSlide","dirIn","dirOut","$newSlide","infiniteWrap","$oldBullet","$othersBullets","$newBullet","activeStateDescriptor","spans","spanCountInOthersBullets","toArray","every","count","animInFromRight","animOutToRight","animInFromLeft","animOutToLeft","MenuPlugins","dropdown","cssClass","drilldown","accordion","ResponsiveMenu","currentMq","currentPlugin","rulesTree","ruleSize","rulePlugin","isEmptyObject","_checkMediaQueries","matchedMq","destroy","ResponsiveToggle","targetID","$targetMenu","$toggler","animationIn","animationOut","_update","_updateMqHandler","toggleMenu","hideFor","Reveal","cached","mq","fullScreen","_makeOverlay","additionalOverlayClasses","outerWidth","outerHeight","margin","_updatePosition","_handleState","$activeAnchor","activeElement","multipleOpened","_disableScroll","afterAnimation","_addGlobalClasses","focusableElements","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","closeOnEsc","finishUp","hideDelay","_removeGlobalClasses","_enableScroll","resetOnClose","urlWithoutHash","title","Slider","inputs","handles","$handle","$input","$fill","vertical","disabled","disabledClass","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_setHandlePos","pctOfBar","percent","positionValueFunction","_logTransform","_powTransform","toFixed","baseLog","nonLinearBase","pow","$hndl","isDbl","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","elemDim","_pctOfBar","pxToMove","movement","decimal","_setValues","isLeftHndl","dim","handlePct","handlePos","initialStart","moveTime","changedDelay","initVal","initialEnd","direction","eventOffset","barDim","windowScroll","scrollLeft","elemOffset","eventFromBar","barXY","offsetPct","_value","_adjustValue","firstHndlPos","absPosition","secndHndlPos","hasVal","div","prev_val","next_val","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","clickSelect","draggable","_$handle","oldValue","newValue","decrease","increase","decrease_fast","increase_fast","invertVertical","frac","num","clickPos","Sticky","$container","wasWrapped","container","stickyClass","scrollCount","checkEvery","isStuck","containerHeight","elemHeight","_parsePoints","_setSizes","scroll","_calc","_removeSticky","topPoint","reverse","topAnchor","btm","btmAnchor","pts","breaks","place","canStick","_eventsHandler","_pauseListeners","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","stickyOn","newElemWidth","comp","pdngl","pdngr","dynamicHeight","newContainerHeight","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","bottom","em","fontSize","Tabs","$tabTitles","linkClass","linkActiveClass","matchHeight","_setHeight","anchorNoHash","selectTab","_collapse","_addKeyHandler","_addClickHandler","_setHeightMqHandler","_handleTabChange","wrapOnKeys","historyHandled","activeCollapse","$oldTab","$tabLink","$targetContent","_collapseTab","panelActiveClass","$target_anchor","$activeTab","idStr","hashIdStr","panelClass","panel","Toggler","toggler","$trigger","controls","containsId","_updateARIA","undefined","Tooltip","isClick","tipText","template","_buildTemplate","allowHtml","triggerClass","elementClassName","SVGElement","baseVal","tooltipWidth","tooltipHeight","templateClasses","tooltipClass","$template","showOn","fadeIn","fadeInDuration","fadeOutDuration","isFocus","disableForTouch","touchCloseText","tabs","ResponsiveAccordionTabs","storezfData","currentRule","_getAllOptions","allOptions","dummyPlugin","tmpPlugin","keyKey","objObj","_changedZfMediaQueryHandler","_handleMarkup","toSet","fromString","$panels","tabsTitle","tabsPanel","$liHeads","$liHeadsA","display","visibility","$tabsContent","$placeholder","tempValue","_target","CoreUtils"],"mappings":"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,WAFd,CAE0B,KAAKsL,OAAL,CAAas0B,YAFvC,EAGc5/B,WAHd,CAG0B,uBAH1B,EAIcjC,UAJd,CAIyB,wFAJzB;AAMA,WAAK0hC,QAAL,CAAc9hB,MAAd;AACD;;;;EA9RmByD;;AAiStBke,OAAO,CAACrsB,QAAR,GAAmB;AACjB;AACF;AACA;AACA;AACA;AACA;AACEuQ,EAAAA,UAAU,EAAE,GAPK;;AAQjB;AACF;AACA;AACA;AACA;AACA;AACE+c,EAAAA,cAAc,EAAE,GAdC;;AAejB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,eAAe,EAAE,GArBA;;AAsBjB;AACF;AACA;AACA;AACA;AACA;AACE/b,EAAAA,YAAY,EAAE,KA5BG;;AA6BjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEic,EAAAA,eAAe,EAAE,KArCA;;AAsCjB;AACF;AACA;AACA;AACA;AACA;AACER,EAAAA,eAAe,EAAE,EA5CA;;AA6CjB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,YAAY,EAAE,SAnDG;;AAoDjB;AACF;AACA;AACA;AACA;AACA;AACEP,EAAAA,YAAY,EAAE,SA1DG;;AA2DjB;AACF;AACA;AACA;AACA;AACA;AACES,EAAAA,MAAM,EAAE,OAjES;;AAkEjB;AACF;AACA;AACA;AACA;AACA;AACEZ,EAAAA,QAAQ,EAAE,EAxEO;;AAyEjB;AACF;AACA;AACA;AACA;AACA;AACED,EAAAA,OAAO,EAAE,EA/EQ;AAgFjBmB,EAAAA,cAAc,EAAE,eAhFC;;AAiFjB;AACF;AACA;AACA;AACA;AACA;AACEtc,EAAAA,SAAS,EAAE,IAvFM;;AAwFjB;AACF;AACA;AACA;AACA;AACA;AACEvf,EAAAA,QAAQ,EAAE,MA9FO;;AA+FjB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,SAAS,EAAE,MArGM;;AAsGjB;AACF;AACA;AACA;AACA;AACA;AACA;AACEgd,EAAAA,YAAY,EAAE,KA7GG;;AA8GjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEO,EAAAA,kBAAkB,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"} \ No newline at end of file diff --git a/dist/js/foundation.d.ts b/dist/js/foundation.d.ts index 24119bd460..25b6ef1c01 100644 --- a/dist/js/foundation.d.ts +++ b/dist/js/foundation.d.ts @@ -9,27 +9,37 @@ declare module FoundationSites { // https://get.foundation/sites/docs/abide.html#javascript-reference interface Abide { - requiredChecked(element: JQuery): boolean; - findFormError(element: JQuery): JQuery; + enableValidation(): void; + disableValidation(): void; + requiredCheck(element: JQuery): boolean; + findFormError(element: JQuery, failedValidators?: string[]): JQuery; findLabel(element: JQuery): boolean; - addErrorClasses(element: JQuery): void; + findRadioLabels(elements: JQuery): boolean; + findCheckboxLabels(elements: JQuery): boolean; + addErrorClasses(element: JQuery, failedValidators?: string[]): void; + addA11yAttributes(element: JQuery): void; + addGlobalErrorA11yAttributes(element: JQuery): void; removeRadioErrorClasses(groupName: string): void; + removeCheckboxErrorClasses(groupName: string): void; removeErrorClasses(element: JQuery): void; validateInput(element: JQuery): boolean; validateForm(): boolean; + initialized: boolean; validateText(element: JQuery, pattern: string): boolean; validateRadio(groupName: string): boolean; + validateCheckbox(groupName: string): boolean; matchValidation(element: JQuery, validators: string, required: boolean): boolean; resetForm(): void; - destroy(): void; } interface AbideDefaults { - validateOn: string; + validateOn: string | null; labelErrorClass: string; inputErrorClass: string; formErrorSelector: string; formErrorClass: string; + a11yAttributes: boolean; + a11yErrorLevel: string; liveValidate: boolean; validateOnBlur: boolean; patterns: IAbidePatterns; @@ -53,92 +63,118 @@ declare module FoundationSites { month_day_year?: RegExp; day_month_year?: RegExp; color?: RegExp; + website?: any; } interface IAbideOptions { - validateOn?: string; + validateOn?: string | null; labelErrorClass?: string; inputErrorClass?: string; formErrorSelector?: string; formErrorClass?: string; + a11yAttributes?: boolean; + a11yErrorLevel?: string; liveValidate?: boolean; + validateOnBlur?: boolean; + patterns?: IAbidePatterns; validators?: any; } // https://get.foundation/sites/docs/accordion.html#javascript-reference interface Accordion { - toggle($target: JQuery): void; - down($target: JQuery, firstTime: boolean): void; - up($target: JQuery): void; - destroy(): void; + toggle(target: JQuery): void; + down(target: JQuery, firstTime: boolean): void; + up(target: JQuery): void; } interface IAccordionOptions { - slideSpeed?: number + slideSpeed?: number; multiExpand?: boolean; allowAllClosed?: boolean; + deepLink?: boolean; + deepLinkSmudge?: boolean; + deepLinkSmudgeDelay?: number; + deepLinkSmudgeOffset?: number; + updateHistory?: boolean; } // https://get.foundation/sites/docs/accordion-menu.html#javascript-reference interface AccordionMenu { hideAll(): void; - toggle($target: JQuery): void; - down($target: JQuery, firstTime: boolean): void; - up($target: JQuery): void; - destroy(): void; + showAll(): void; + toggle(target: JQuery): void; + down(target: JQuery, firstTime: boolean): void; + up(target: JQuery): void; } interface IAccordionMenuOptions { + parentLink?: boolean; slideSpeed?: number; + submenuToggle?: boolean; + submenuToggleText?: string; multiOpen?: boolean; } // https://get.foundation/sites/docs/drilldown-menu.html#javascript-reference interface Drilldown { - destroy(): void; + // no public methods } interface IDrilldownOptions { + autoApplyClass?: boolean; backButton?: string; + backButtonPosition?: string; wrapper?: string; parentLink?: boolean; closeOnClick?: boolean; + autoHeight?: boolean; + animateHeight?: boolean; + scrollTop?: boolean; + scrollTopElement?: string; + scrollTopOffset?: number; + animationDuration?: number; + animationEasing?: string; } // https://get.foundation/sites/docs/dropdown.html#javascript-reference interface Dropdown { - getPositionClass(): string; open(): void; close(): void; toggle(): void; - destroy(): void; } interface IDropdownOptions { + parentClass?: string | null; hoverDelay?: number; hover?: boolean; hoverPane?: boolean; vOffset?: number; hOffset?: number; - positionClass?: string; + position?: string; + alignment?: string; + allowOverlap?: boolean; + allowBottomOverlap?: boolean; trapFocus?: boolean; autoFocus?: boolean; closeOnClick?: boolean; + forceFollow?: boolean; } // https://get.foundation/sites/docs/dropdown-menu.html#javascript-reference interface DropdownMenu { - destroy(): void; + // No public methods } interface IDropdownMenuOptions { disableHover?: boolean; + disableHoverOnTouch?: boolean; autoclose?: boolean; hoverDelay?: number; clickOpen?: boolean; closingTime?: number; alignment?: string; closeOnClick?: boolean; + closeOnClickInside?: boolean; verticalClass?: string; rightClass?: string; forceFollow?: boolean; @@ -146,11 +182,10 @@ declare module FoundationSites { // https://get.foundation/sites/docs/equalizer.html#javascript-reference interface Equalizer { - getHeights(cb: Function): Array; - getHeightsByRow(cb: Function): Array; - applyHeight(heights: Array): void; - applyHeightByRow(groups: Array): void; - destroy(): void; + getHeights(cb: Function): any[]; + getHeightsByRow(cb: Function): any[]; + applyHeight(heights: any[]): void; + applyHeightByRow(groups: any[]): void; } interface IEqualizerOptions { @@ -162,11 +197,11 @@ declare module FoundationSites { // https://get.foundation/sites/docs/interchange.html#javascript-reference interface Interchange { replace(path: string): void; - destroy(): void; } interface IInterchangeOptions { - rules?: Array + rules?: any[]; + type?: string; } // https://get.foundation/sites/docs/magellan.html#javascript-reference @@ -174,7 +209,6 @@ declare module FoundationSites { calcPoints(): void; scrollToLoc(location: string): void; reflow(): void; - destroy(): void; } interface IMagellanOptions { @@ -183,7 +217,8 @@ declare module FoundationSites { threshold?: number; activeClass?: string; deepLinking?: boolean; - barOffset?: number; + updateHistory?: boolean; + offset?: number; } // https://get.foundation/sites/docs/offcanvas.html#javascript-reference @@ -192,16 +227,20 @@ declare module FoundationSites { open(event: Event, trigger: JQuery): void; close(cb?: Function): void; toggle(event: Event, trigger: JQuery): void; - destroy(): void; } interface IOffCanvasOptions { closeOnClick?: boolean; - transitionTime?: number; - position?: string; - forceTop?: boolean; + contentOverlay?: boolean; + contentId?: string | null; + nested?: boolean; + contentScroll?: boolean; + transitionTime?: string; + transition?: string; + forceTo?: string | null; isRevealed?: boolean; - revealOn?: string; + revealOn?: string | null; + inCanvasOn?: string | null; autoFocus?: boolean; revealClass?: string; trapFocus?: boolean; @@ -211,7 +250,6 @@ declare module FoundationSites { interface Orbit { geoSync(): void; changeSlide(isLTR: boolean, chosenSlide?: JQuery, idx?: number): void; - destroy(): void; } interface IOrbitOptions { @@ -235,12 +273,52 @@ declare module FoundationSites { useMUI?: boolean; } + interface Positionable { + // No public methods + } + + interface IPositionableOptions { + position?: string; + alignment?: string; + allowOverlap?: boolean; + allowBottomOverlap?: boolean; + vOffset?: number; + hOffset?: number; + } + + interface ResponsiveAccordionTabs { + storezfData: any; + open(_target: any, ...args: any[]): any; + close(_target: any, ...args: any[]): any; + toggle(_target: any, ...args: any[]): any; + } + + interface IResponsiveAccordionTabsOptions { + // No Options + } + + interface ResponsiveMenu { + // No public methods + } + + interface IResponsiveMenuOptions { + // No Options + } + + interface ResponsiveToggle { + toggleMenu(): void; + } + + interface IResponsiveToggleOptions { + hideFor?: string; + animate?: boolean; + } + // https://get.foundation/sites/docs/reveal.html#javascript-reference interface Reveal { open(): void; toggle(): void; close(): void; - destroy(): void; } interface IRevealOptions { @@ -251,25 +329,27 @@ declare module FoundationSites { closeOnClick?: boolean; closeOnEsc?: boolean; multipleOpened?: boolean; - vOffset?: number; - hOffset?: number; + vOffset?: number | string; + hOffset?: number | string; fullScreen?: boolean; - btmOffsetPct?: number; overlay?: boolean; resetOnClose?: boolean; deepLink?: boolean; + updateHistory?: boolean; + appendTo?: string; + additionalOverlayClasses?: string; } // https://get.foundation/sites/docs/slider.html#javascript-reference interface Slider { - destroy(): void; + // No public methods } interface ISliderOptions { start?: number; end?: number; step?: number; - initialStart ?: number; + initialStart?: number; initialEnd?: number; binding?: boolean; clickSelect?: boolean; @@ -280,11 +360,27 @@ declare module FoundationSites { decimal?: number; moveTime?: number; disabledClass?: string; + invertVertical?: boolean; + changedDelay?: number; + nonLinearBase?: number; + positionValueFunction?: string; + } + + interface SmoothScroll { + scrollToLoc(loc: string, options: any, callback: Function): boolean; + constructor(element: any, options: any); + } + + interface ISmoothScrollOptions { + animationDuration?: number; + animationEasing?: string; + threshold?: number; + offset?: number; } // https://get.foundation/sites/docs/sticky.html#javascript-reference interface Sticky { - destroy(): void; + // No public methods } interface IStickyOptions { @@ -298,30 +394,38 @@ declare module FoundationSites { stickyOn?: string; stickyClass?: string; containerClass?: string; + dynamicHeight?: boolean; checkEvery?: number; } // https://get.foundation/sites/docs/tabs.html#javascript-reference interface Tabs { selectTab(element: JQuery | string): void; - destroy(): void; } interface ITabsOptions { + deepLink?: boolean; + deepLinkSmudge?: boolean; + deepLinkSmudgeDelay?: number; + deepLinkSmudgeOffset?: number; + updateHistory?: boolean; autoFocus?: boolean; wrapOnKeys?: boolean; matchHeight?: boolean; + activeCollapse?: boolean; linkClass?: string; + linkActiveClass?: string; panelClass?: string; + panelActiveClass?: string; } // https://get.foundation/sites/docs/toggler.html#javascript-reference interface Toggler { toggle(): void; - destroy(): void; } interface ITogglerOptions { + toggler?: string; animate?: boolean; } @@ -330,7 +434,6 @@ declare module FoundationSites { show(): void; hide(): void; toggle(): void; - destroy(): void; } interface ITooltipOptions { @@ -338,16 +441,24 @@ declare module FoundationSites { fadeInDuration?: number; fadeOutDuration?: number; disableHover?: boolean; + disableForTouch?: any; templateClasses?: string; tooltipClass?: string; triggerClass?: string; showOn?: string; template?: string; tipText?: string; + touchCloseText?: string; clickOpen?: boolean; - positionClass?: string; + position?: string; + alignment?: string; + allowOverlap?: boolean; + allowBottomOverlap?: boolean; vOffset?: number; hOffset?: number; + tooltipHeight?: number; + tooltipWidth?: number; + allowHtml?: boolean; } // Utilities @@ -355,21 +466,29 @@ declare module FoundationSites { interface Box { ImNotTouchingYou(element: Object, parent?: Object, lrOnly?: boolean, tbOnly?: boolean): boolean; + OverlapArea(element: Object, parent?: Object, lrOnly?: boolean, tbOnly?: boolean, ignoreBottom?: boolean): number; GetDimensions(element: Object): Object; - GetOffsets(element: Object, anchor: Object, position: string, vOffset: number, hOffset: number, isOverflow: boolean): Object; + GetExplicitOffsets(element: any, anchor: any, position: string, alignment: any, vOffset: number, hOffset: number, isOverflow: boolean): Object } interface Keyboard { parseKey(event: any): string; handleKey(event: any, component: any, functions: any): void; - findFocusable($element: Object): Object; + findFocusable(element: JQuery): Object; + register(componentName: any, cmds: any): void; + trapFocus(element: JQuery): void; + releaseFocus(element: JQuery): void; } interface MediaQuery { - get(size: string): string; - atLeast(size: string): boolean; - queries: Array; + queries: any[]; current: string; + atLeast(size: string): boolean; + only(size: string): boolean; + upTo(size: string): boolean; + is(size: string): boolean; + get(size: string): string | null; + next(size: string): string | null; } interface Motion { @@ -393,7 +512,9 @@ declare module FoundationSites { } interface Touch { - // TODO :extension on jQuery + setupSpotSwipe(event: Object): void; + setupTouchHandler(event: Object): void; + init(event: Object): void; } interface Triggers { @@ -411,7 +532,9 @@ declare module FoundationSites { GetYoDigits(length: number, namespace?: string): string; reflow(elem: Object, plugins?: Array|string): void; getFnName(fn: string): string; - transitionend(): string; + RegExpEscape(str: string): string; + transitionend(element: JQuery): any; + onLoad(elem: any, handler: any): string; util: { throttle(func: (...args: any[]) => any, delay: number): (...args: any[]) => any; @@ -451,12 +574,27 @@ declare module FoundationSites { Orbit: { new(element: JQuery, options?: IOrbitOptions): Orbit; } + Positionable: { + new(element: JQuery, options?: IPositionableOptions): Positionable; + } + ResponsiveAccordionTabs: { + new(element: JQuery, options?: IResponsiveAccordionTabsOptions): ResponsiveAccordionTabs; + }; + ResponsiveMenu: { + new(element: JQuery, options?: IResponsiveMenuOptions): ResponsiveMenu; + }; + ResponsiveToggle: { + new(element: JQuery, options?: IResponsiveToggleOptions): ResponsiveToggle; + }; Reveal: { new(element: JQuery, options?: IRevealOptions): Reveal; }; Slider: { new(element: JQuery, options?: ISliderOptions): Slider; } + SmoothScroll: { + new(element: JQuery, options?: ISmoothScrollOptions): SmoothScroll; + } Sticky: { new(element: JQuery, options?: IStickyOptions): Sticky; } @@ -494,3 +632,7 @@ declare var Foundation: FoundationSites.FoundationSitesStatic; declare module "Foundation" { export = Foundation; } + +declare module "foundation-sites" { + export = Foundation; +} diff --git a/dist/js/foundation.es6.js b/dist/js/foundation.es6.js index b003574a78..19539a5f6c 100644 --- a/dist/js/foundation.es6.js +++ b/dist/js/foundation.es6.js @@ -144,6 +144,7 @@ function ignoreMousedisappear(handler, { ignoreLeaveWindow = false, ignoreReappe } var foundation_core_utils = /*#__PURE__*/Object.freeze({ + __proto__: null, rtl: rtl, GetYoDigits: GetYoDigits, RegExpEscape: RegExpEscape, @@ -470,7 +471,7 @@ function parseStyleToObject(str) { return styleObject; } -var FOUNDATION_VERSION = '6.6.3'; +var FOUNDATION_VERSION = '6.7.0'; // Global Foundation object // This is attached to the window, or used as a module for AMD/Browserify @@ -564,7 +565,7 @@ var Foundation = { plugins.each(function(){ $(this).data('zfPlugin')._init(); }); - }else{ + }else { var type = typeof plugins, _this = this, fns = { @@ -667,15 +668,15 @@ var Foundation = { if(typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined'){//make sure both the class and method exist if(this.length === 1){//if there's only one, call it directly. plugClass[method].apply(plugClass, args); - }else{ + }else { this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each plugClass[method].apply($(el).data('zfPlugin'), args); }); } - }else{//error for no class or no method + }else {//error for no class or no method throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.'); } - }else{//error for invalid argument type + }else {//error for invalid argument type throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`); } return this; @@ -1039,6 +1040,32 @@ function findFocusable($element) { return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() { if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0 return true; + }) + .sort( function( a, b ) { + if ($(a).attr('tabindex') == $(b).attr('tabindex')) { + return 0; + } + let aTabIndex = parseInt($(a).attr('tabindex')), + bTabIndex = parseInt($(b).attr('tabindex')); + // Undefined is treated the same as 0 + if (typeof $(a).attr('tabindex') == 'undefined' && bTabIndex > 0) { + return 1; + } + if (typeof $(b).attr('tabindex') == 'undefined' && aTabIndex > 0) { + return -1; + } + if (aTabIndex == 0 && bTabIndex > 0) { + return 1; + } + if (bTabIndex == 0 && aTabIndex > 0) { + return -1; + } + if (aTabIndex < bTabIndex) { + return -1; + } + if (aTabIndex > bTabIndex) { + return 1; + } }); } @@ -1212,7 +1239,7 @@ function Move(duration, elem, fn){ fn.apply(elem); if(prog < duration){ anim = window.requestAnimationFrame(move, elem); } - else{ + else { window.cancelAnimationFrame(anim); elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); } @@ -1295,7 +1322,7 @@ const Nest = { if ($sub.length) { $item.addClass(hasSubClass); if(applyAria) { - $item.attr({ + $item.children('a:first').attr({ 'aria-haspopup': true, 'aria-label': $item.children('a:first').text() }); @@ -1595,7 +1622,7 @@ Triggers.Listeners.Basic = { Motion.animateOut($(this), animation, function() { $(this).trigger('closed.zf'); }); - }else{ + }else { $(this).fadeOut().trigger('closed.zf'); } }, @@ -1679,7 +1706,7 @@ Triggers.Initializers.addClosemeListener = function(pluginName) { plugNames.push(pluginName); }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){ plugNames = plugNames.concat(pluginName); - }else{ + }else { console.error('Plugin names must be strings'); } } @@ -2333,10 +2360,10 @@ class Abide extends Plugin { } if (manageErrorClasses) { - this.removeErrorClasses($el); - if (!goodToGo) { this.addErrorClasses($el, failedValidators); + } else { + this.removeErrorClasses($el); } } @@ -2751,7 +2778,9 @@ class Accordion extends Plugin { 'ENTER': 'toggle', 'SPACE': 'toggle', 'ARROW_DOWN': 'next', - 'ARROW_UP': 'previous' + 'ARROW_UP': 'previous', + 'HOME': 'first', + 'END': 'last', }); } @@ -2762,10 +2791,8 @@ class Accordion extends Plugin { _init() { this._isInitializing = true; - this.$element.attr('role', 'tablist'); this.$tabs = this.$element.children('[data-accordion-item]'); - this.$tabs.attr({'role': 'presentation'}); this.$tabs.each(function(idx, el) { var $el = $(el), @@ -2775,13 +2802,11 @@ class Accordion extends Plugin { $el.find('a:first').attr({ 'aria-controls': id, - 'role': 'tab', 'id': linkId, - 'aria-expanded': false, - 'aria-selected': false + 'aria-expanded': false }); - $content.attr({'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id}); + $content.attr({'role': 'region', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id}); }); var $initActive = this.$element.find('.is-active').children('[data-tab-content]'); @@ -2876,6 +2901,18 @@ class Accordion extends Plugin { $a.trigger('click.zf.accordion'); } }, + first: function() { + var $a = _this.$tabs.first().find('.accordion-title').focus(); + if (!_this.options.multiExpand) { + $a.trigger('click.zf.accordion'); + } + }, + last: function() { + var $a = _this.$tabs.last().find('.accordion-title').focus(); + if (!_this.options.multiExpand) { + $a.trigger('click.zf.accordion'); + } + }, handled: function() { e.preventDefault(); } @@ -2990,8 +3027,7 @@ class Accordion extends Plugin { $targetItem.addClass('is-active'); $(`#${targetContentId}`).attr({ - 'aria-expanded': true, - 'aria-selected': true + 'aria-expanded': true }); $target.finish().slideDown(this.options.slideSpeed, () => { @@ -3018,8 +3054,7 @@ class Accordion extends Plugin { $targetItem.removeClass('is-active'); $(`#${targetContentId}`).attr({ - 'aria-expanded': false, - 'aria-selected': false + 'aria-expanded': false }); $target.finish().slideUp(this.options.slideSpeed, () => { @@ -3166,7 +3201,6 @@ class AccordionMenu extends Plugin { this.$element.find('[data-submenu]').not('.is-active').slideUp(0);//.find('a').css('padding-left', '1rem'); this.$element.attr({ - 'role': 'tree', 'aria-multiselectable': this.options.multiOpen }); @@ -3200,9 +3234,6 @@ class AccordionMenu extends Plugin { 'id': subId }); }); - this.$element.find('li').attr({ - 'role': 'treeitem' - }); var initPanes = this.$element.find('.is-active'); if (initPanes.length) { initPanes.each(function() { @@ -3493,8 +3524,6 @@ class Drilldown extends Plugin { 'ARROW_DOWN': 'down', 'ARROW_LEFT': 'previous', 'ESCAPE': 'close', - 'TAB': 'down', - 'SHIFT_TAB': 'up' }); } @@ -3510,12 +3539,11 @@ class Drilldown extends Plugin { } this.$element.attr({ - 'role': 'tree', 'aria-multiselectable': false }); this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a'); this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]').attr('role', 'group'); - this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'treeitem').find('a'); + this.$menuItems = this.$element.find('li').not('.js-drilldown-back').find('a'); // Set the main menu as current by default (unless a submenu is selected) // Used to set the wrapper height when the drilldown is closed/reopened from any (sub)menu @@ -3795,6 +3823,9 @@ class Drilldown extends Plugin { if (parentSubMenu.length) { _this._show(parentSubMenu); } + else { + _this.$currentMenu = _this.$element; + } }); } @@ -3867,7 +3898,7 @@ class Drilldown extends Plugin { // If target menu is root, focus first link & exit if ($elem.is('[data-drilldown]')) { - if (autoFocus === true) $elem.find('li[role="treeitem"] > a').first().focus(); + if (autoFocus === true) $elem.find('li > a').first().focus(); if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight')); return; } @@ -3890,7 +3921,7 @@ class Drilldown extends Plugin { if (isLastChild === true) { $(this).one(transitionend($(this)), () => { if (autoFocus === true) { - $elem.find('li[role="treeitem"] > a').first().focus(); + $elem.find('li > a').first().focus(); } }); } @@ -3911,7 +3942,14 @@ class Drilldown extends Plugin { $elem.attr('aria-expanded', true); this.$currentMenu = $submenu; - $submenu.addClass('is-active').removeClass('invisible').attr('aria-hidden', false); + + //hide drilldown parent menu when submenu is open + // this removes it from the dom so that the tab key will take the user to the next visible element + $elem.parent().closest('ul').addClass('invisible'); + + // add visible class to submenu to override invisible class above + $submenu.addClass('is-active visible').removeClass('invisible').attr('aria-hidden', false); + if (this.options.autoHeight) { this.$wrapper.css({ height: $submenu.data('calcHeight') }); } @@ -3931,11 +3969,12 @@ class Drilldown extends Plugin { */ _hide($elem) { if(this.options.autoHeight) this.$wrapper.css({height:$elem.parent().closest('ul').data('calcHeight')}); + $elem.parent().closest('ul').removeClass('invisible'); $elem.parent('li').attr('aria-expanded', false); $elem.attr('aria-hidden', true); $elem.addClass('is-closing') .one(transitionend($elem), function(){ - $elem.removeClass('is-active is-closing'); + $elem.removeClass('is-active is-closing visible'); $elem.blur().addClass('invisible'); }); /** @@ -3981,13 +4020,14 @@ class Drilldown extends Plugin { * @function */ _destroy() { + $('body').off('.zf.drilldown'); if(this.options.scrollTop) this.$element.off('.zf.drilldown',this._bindHandler); this._hideAll(); this.$element.off('mutateme.zf.trigger'); Nest.Burn(this.$element, 'drilldown'); this.$element.unwrap() .find('.js-drilldown-back, .is-submenu-parent-item').remove() - .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu') + .end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').off('transitionend otransitionend webkitTransitionEnd') .end().find('[data-submenu]').removeAttr('aria-hidden tabindex role'); this.$submenuAnchors.each(function() { $(this).off('.zf.drilldown'); @@ -4001,7 +4041,7 @@ class Drilldown extends Plugin { $link.removeAttr('tabindex'); if($link.data('savedHref')){ $link.attr('href', $link.data('savedHref')).removeData('savedHref'); - }else{ return; } + }else { return; } }); }; } @@ -4361,7 +4401,7 @@ class Dropdown extends Positionable { if(this.options.parentClass){ this.$parent = this.$element.parents('.' + this.options.parentClass); - }else{ + }else { this.$parent = null; } @@ -4612,7 +4652,7 @@ class Dropdown extends Positionable { if(this.$element.hasClass('is-open')){ if(this.$anchors.data('hover')) return; this.close(); - }else{ + }else { this.open(); } } @@ -4864,6 +4904,8 @@ class DropdownMenu extends Plugin { }); } + if (hasTouch && this.options.disableHoverOnTouch) this.options.disableHover = true; + if (!this.options.disableHover) { this.$menuItems.on('mouseenter.zf.dropdownMenu', function (e) { var $elem = $(this), @@ -5122,6 +5164,13 @@ DropdownMenu.defaults = { * @default false */ disableHover: false, + /** + * Disallows hover on touch devices + * @option + * @type {boolean} + * @default true + */ + disableHoverOnTouch: true, /** * Allow a submenu to automatically close on a mouseleave event, if not clicked open. * @option @@ -5246,13 +5295,13 @@ class Equalizer extends Plugin { if(this.options.equalizeOn){ tooSmall = this._checkMQ(); $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this)); - }else{ + }else { this._events(); } if((typeof tooSmall !== 'undefined' && tooSmall === false) || typeof tooSmall === 'undefined'){ if(imgs.length){ onImagesLoaded(imgs, this._reflow.bind(this)); - }else{ + }else { this._reflow(); } } @@ -5295,7 +5344,7 @@ class Equalizer extends Plugin { this._pauseEvents(); if(this.hasNested){ this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound); - }else{ + }else { this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound); this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound); } @@ -5313,7 +5362,7 @@ class Equalizer extends Plugin { this._pauseEvents(); this.$watched.css('height', 'auto'); } - }else{ + }else { if(!this.isOn){ this._events(); } @@ -5342,7 +5391,7 @@ class Equalizer extends Plugin { } if (this.options.equalizeByRow) { this.getHeightsByRow(this.applyHeightByRow.bind(this)); - }else{ + }else { this.getHeights(this.applyHeight.bind(this)); } } @@ -5527,7 +5576,7 @@ class Interchange extends Plugin { // Triggers init is idempotent, just need to make sure it is initialized Triggers.init($); - + this._init(); this._events(); } @@ -6035,11 +6084,11 @@ class Magellan extends Plugin { let activeIdx; // Before the first point: no link - if(newScrollPos < this.points[0]); + if(newScrollPos < this.points[0] - this.options.offset - (isScrollingUp ? this.options.threshold : 0)); // At the bottom of the page: last link else if(newScrollPos + this.winHeight === this.docHeight){ activeIdx = this.points.length - 1; } // Otherwhise, use the last visible link - else{ + else { const visibleLinks = this.points.filter((p, i) => { return (p - this.options.offset - (isScrollingUp ? this.options.threshold : 0)) <= newScrollPos; }); @@ -6052,7 +6101,7 @@ class Magellan extends Plugin { if(typeof activeIdx !== 'undefined'){ this.$active = this.$links.filter('[href="#' + this.$targets.eq(activeIdx).data('magellan-target') + '"]'); if (this.$active.length) activeHash = this.$active[0].getAttribute('href'); - }else{ + }else { this.$active = $(); } const isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive); @@ -6071,10 +6120,10 @@ class Magellan extends Plugin { const url = activeHash ? activeHash : window.location.pathname + window.location.search; if(this.options.updateHistory){ window.history.pushState({}, '', url); - }else{ + }else { window.history.replaceState({}, '', url); } - }else{ + }else { window.location.hash = activeHash; } } @@ -6480,69 +6529,70 @@ class OffCanvas extends Plugin { } /** - * Tag the element given as context whether it can be scrolled up and down. - * Used to allow or prevent it to scroll. See `_stopScrollPropagation`. - * - * Taken and adapted from http://stackoverflow.com/questions/16889447/prevent-full-page-scrolling-ios - * Only really works for y, not sure how to extend to x or if we need to. - * - * @function + * Save current finger y-position + * @param event * @private */ _recordScrollable(event) { - let elem = this; // called from event handler context with this as elem + const elem = this; + elem.lastY = event.touches[0].pageY; + } - // If the element is scrollable (content overflows), then... - if (elem.scrollHeight !== elem.clientHeight) { - // If we're at the top, scroll down one pixel to allow scrolling up - if (elem.scrollTop === 0) { - elem.scrollTop = 1; - } - // If we're at the bottom, scroll up one pixel to allow scrolling down - if (elem.scrollTop === elem.scrollHeight - elem.clientHeight) { - elem.scrollTop = elem.scrollHeight - elem.clientHeight - 1; - } + /** + * Prevent further scrolling when it hits the edges + * @param event + * @private + */ + _preventDefaultAtEdges(event) { + const elem = this; + const _this = event.data; + const delta = elem.lastY - event.touches[0].pageY; + elem.lastY = event.touches[0].pageY; + + if (!_this._canScroll(delta, elem)) { + event.preventDefault(); } - elem.allowUp = elem.scrollTop > 0; - elem.allowDown = elem.scrollTop < (elem.scrollHeight - elem.clientHeight); - elem.lastY = event.originalEvent.pageY; } /** - * Prevent the given event propagation if the element given as context can scroll. - * Used to preserve the element scrolling on mobile (`touchmove`) when the document - * scrolling is prevented. See https://git.io/zf-9707. - * @function + * Handle continuous scrolling of scrollbox + * Don't bubble up to _preventDefaultAtEdges + * @param event * @private */ - _stopScrollPropagation(event) { - let elem = this; // called from event handler context with this as elem - let parent; // off-canvas elem if called from inner scrollbox - let up = event.pageY < elem.lastY; - let down = !up; - elem.lastY = event.pageY; - - if((up && elem.allowUp) || (down && elem.allowDown)) { - // It is not recommended to stop event propagation (the user cannot watch it), - // but in this case this is the only solution we have. - event.stopPropagation(); - - // If elem is inner scrollbox we are scrolling the outer off-canvas down/up once the box end has been reached - // This lets the user continue to touch move the off-canvas without the need to place the finger outside the scrollbox - if (elem.hasAttribute('data-off-canvas-scrollbox')) { - parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); - if (elem.scrollTop <= 1 && parent.scrollTop > 0) { - parent.scrollTop--; - } else if (elem.scrollTop >= elem.scrollHeight - elem.clientHeight - 1 && parent.scrollTop < parent.scrollHeight - parent.clientHeight) { - parent.scrollTop++; - } - } + _scrollboxTouchMoved(event) { + const elem = this; + const _this = event.data; + const parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); + const delta = elem.lastY - event.touches[0].pageY; + parent.lastY = elem.lastY = event.touches[0].pageY; - } else { - event.preventDefault(); + event.stopPropagation(); + + if (!_this._canScroll(delta, elem)) { + if (!_this._canScroll(delta, parent)) { + event.preventDefault(); + } else { + parent.scrollTop += delta; + } } } + /** + * Detect possibility of scrolling + * @param delta + * @param elem + * @returns boolean + * @private + */ + _canScroll(delta, elem) { + const up = delta < 0; + const down = delta > 0; + const allowUp = elem.scrollTop > 0; + const allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight; + return up && allowUp || down && allowDown; + } + /** * Opens the off-canvas menu. * @function @@ -6582,9 +6632,9 @@ class OffCanvas extends Plugin { if (this.options.contentScroll === false) { $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling); this.$element.on('touchstart', this._recordScrollable); - this.$element.on('touchmove', this._stopScrollPropagation); + this.$element.on('touchmove', this, this._preventDefaultAtEdges); this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable); - this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation); + this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved); } if (this.options.contentOverlay === true) { @@ -6682,9 +6732,9 @@ class OffCanvas extends Plugin { if (this.options.contentScroll === false) { $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling); this.$element.off('touchstart', this._recordScrollable); - this.$element.off('touchmove', this._stopScrollPropagation); + this.$element.off('touchmove', this._preventDefaultAtEdges); this.$element.off('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable); - this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._stopScrollPropagation); + this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._scrollboxTouchMoved); } if (this.options.trapFocus === true) { @@ -7737,7 +7787,7 @@ class Reveal extends Plugin { this.$anchor = $(`[data-open="${this.id}"]`).length ? $(`[data-open="${this.id}"]`) : $(`[data-toggle="${this.id}"]`); this.$anchor.attr({ 'aria-controls': this.id, - 'aria-haspopup': true, + 'aria-haspopup': 'dialog', 'tabindex': 0 }); @@ -7865,7 +7915,7 @@ class Reveal extends Plugin { */ _handleState(e) { if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); } - else{ this.close(); } + else { this.close(); } } /** @@ -9649,7 +9699,7 @@ class Tabs extends Plugin { // Roll up a little to show the titles if (this.options.deepLinkSmudge) { var offset = this.$element.offset(); - $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay); + $('html, body').animate({ scrollTop: offset.top - this.options.deepLinkSmudgeOffset}, this.options.deepLinkSmudgeDelay); } /** @@ -9902,6 +9952,10 @@ class Tabs extends Plugin { var max = 0, _this = this; // Lock down the `this` value for the root tabs object + if (!this.$tabContent) { + return; + } + this.$tabContent .find(`.${this.options.panelClass}`) .css('height', '') @@ -9981,6 +10035,14 @@ Tabs.defaults = { */ deepLinkSmudgeDelay: 300, + /** + * If `deepLinkSmudge` is enabled, animation offset from the top for the deep link adjustment + * @option + * @type {number} + * @default 0 + */ + deepLinkSmudgeOffset: 0, + /** * If `deepLink` is enabled, update the browser history with the open tab * @option @@ -10109,7 +10171,7 @@ class Toggler extends Plugin { else { input = this.options.toggler; if (typeof input !== 'string' || !input.length) { - throw new Error(`The 'toogler' option containing the target class is required, got "${input}"`); + throw new Error(`The 'toggler' option containing the target class is required, got "${input}"`); } // Allow for a . at the beginning of the string this.className = input[0] === '.' ? input.slice(1) : input; diff --git a/dist/js/foundation.es6.js.map b/dist/js/foundation.es6.js.map index b4a37a948a..f49f39d9fd 100644 --- a/dist/js/foundation.es6.js.map +++ b/dist/js/foundation.es6.js.map @@ -1 +1 @@ -{"version":3,"file":"foundation.es6.js","sources":["../../js/foundation.core.utils.js","../../js/foundation.util.mediaQuery.js","../../js/foundation.core.js","../../js/foundation.util.box.js","../../js/foundation.util.imageLoader.js","../../js/foundation.util.keyboard.js","../../js/foundation.util.motion.js","../../js/foundation.util.nest.js","../../js/foundation.util.timer.js","../../js/foundation.util.touch.js","../../js/foundation.util.triggers.js","../../js/foundation.core.plugin.js","../../js/foundation.abide.js","../../js/foundation.accordion.js","../../js/foundation.accordionMenu.js","../../js/foundation.drilldown.js","../../js/foundation.positionable.js","../../js/foundation.dropdown.js","../../js/foundation.dropdownMenu.js","../../js/foundation.equalizer.js","../../js/foundation.interchange.js","../../js/foundation.smoothScroll.js","../../js/foundation.magellan.js","../../js/foundation.offcanvas.js","../../js/foundation.orbit.js","../../js/foundation.responsiveMenu.js","../../js/foundation.responsiveToggle.js","../../js/foundation.reveal.js","../../js/foundation.slider.js","../../js/foundation.sticky.js","../../js/foundation.tabs.js","../../js/foundation.toggler.js","../../js/foundation.tooltip.js","../../js/foundation.responsiveAccordionTabs.js","../../js/entries/foundation.js"],"sourcesContent":["\"use strict\";\n\nimport $ from 'jquery';\n\n// Core Foundation Utilities, utilized in a number of places.\n\n /**\n * Returns a boolean for RTL support\n */\nfunction rtl() {\n return $('html').attr('dir') === 'rtl';\n}\n\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\nfunction GetYoDigits(length = 6, namespace){\n let str = '';\n const chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n const charsLength = chars.length;\n for (let i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * charsLength)];\n }\n return namespace ? `${str}-${namespace}` : str;\n}\n\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\nfunction RegExpEscape(str){\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nfunction transitionend($elem){\n var transitions = {\n 'transition': 'transitionend',\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'transitionend',\n 'OTransition': 'otransitionend'\n };\n var elem = document.createElement('div'),\n end;\n\n for (let transition in transitions){\n if (typeof elem.style[transition] !== 'undefined'){\n end = transitions[transition];\n }\n }\n if (end) {\n return end;\n } else {\n setTimeout(function(){\n $elem.triggerHandler('transitionend', [$elem]);\n }, 1);\n return 'transitionend';\n }\n}\n\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\nfunction onLoad($elem, handler) {\n const didLoad = document.readyState === 'complete';\n const eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n const cb = () => $elem.triggerHandler(eventType);\n\n if ($elem) {\n if (handler) $elem.one(eventType, handler);\n\n if (didLoad)\n setTimeout(cb);\n else\n $(window).one('load', cb);\n }\n\n return eventType;\n}\n\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n * (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n * outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\nfunction ignoreMousedisappear(handler, { ignoreLeaveWindow = false, ignoreReappear = false } = {}) {\n return function leaveEventHandler(eLeave, ...rest) {\n const callback = handler.bind(this, eLeave, ...rest);\n\n // The mouse left: call the given callback if the mouse entered elsewhere\n if (eLeave.relatedTarget !== null) {\n return callback();\n }\n\n // Otherwise, check if the mouse actually left the window.\n // In firefox if the user switched between windows, the window sill have the focus by the time\n // the event is triggered. We have to debounce the event to test this case.\n setTimeout(function leaveEventDebouncer() {\n if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n return callback();\n }\n\n // Otherwise, wait for the mouse to reeapear outside of the element,\n if (!ignoreReappear) {\n $(document).one('mouseenter', function reenterEventHandler(eReenter) {\n if (!$(eLeave.currentTarget).has(eReenter.target).length) {\n // Fill where the mouse finally entered.\n eLeave.relatedTarget = eReenter.target;\n callback();\n }\n });\n }\n\n }, 0);\n };\n}\n\n\nexport { rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","\"use strict\";\n\nimport $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\n\nvar FOUNDATION_VERSION = '6.6.3';\n\n// Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\nvar Foundation = {\n version: FOUNDATION_VERSION,\n\n /**\n * Stores initialized plugins.\n */\n _plugins: {},\n\n /**\n * Stores generated unique ids for plugin instances\n */\n _uuids: [],\n\n /**\n * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n * @param {Object} plugin - The constructor of the plugin.\n */\n plugin: function(plugin, name) {\n // Object key to use when adding to global Foundation object\n // Examples: Foundation.Reveal, Foundation.OffCanvas\n var className = (name || functionName(plugin));\n // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n // Examples: data-reveal, data-off-canvas\n var attrName = hyphenate(className);\n\n // Add to the Foundation object and the plugins list (for reflowing)\n this._plugins[attrName] = this[className] = plugin;\n },\n /**\n * @function\n * Populates the _uuids array with pointers to each individual plugin instance.\n * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n * Also fires the initialization event for each plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @param {String} name - the name of the plugin, passed as a camelCased string.\n * @fires Plugin#init\n */\n registerPlugin: function(plugin, name){\n var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n plugin.uuid = GetYoDigits(6, pluginName);\n\n if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); }\n if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n plugin.$element.trigger(`init.zf.${pluginName}`);\n\n this._uuids.push(plugin.uuid);\n\n return;\n },\n /**\n * @function\n * Removes the plugins uuid from the _uuids array.\n * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n * Also fires the destroyed event for the plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @fires Plugin#destroyed\n */\n unregisterPlugin: function(plugin){\n var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(`destroyed.zf.${pluginName}`);\n for(var prop in plugin){\n plugin[prop] = null;//clean up script to prep for garbage collection.\n }\n return;\n },\n\n /**\n * @function\n * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n * @default If no argument is passed, reflow all currently active plugins.\n */\n reInit: function(plugins){\n var isJQ = plugins instanceof $;\n try{\n if(isJQ){\n plugins.each(function(){\n $(this).data('zfPlugin')._init();\n });\n }else{\n var type = typeof plugins,\n _this = this,\n fns = {\n 'object': function(plgs){\n plgs.forEach(function(p){\n p = hyphenate(p);\n $('[data-'+ p +']').foundation('_init');\n });\n },\n 'string': function(){\n plugins = hyphenate(plugins);\n $('[data-'+ plugins +']').foundation('_init');\n },\n 'undefined': function(){\n this['object'](Object.keys(_this._plugins));\n }\n };\n fns[type](plugins);\n }\n }catch(err){\n console.error(err);\n }finally{\n return plugins;\n }\n },\n\n /**\n * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n */\n reflow: function(elem, plugins) {\n\n // If plugins is undefined, just grab everything\n if (typeof plugins === 'undefined') {\n plugins = Object.keys(this._plugins);\n }\n // If plugins is a string, convert it to an array with one item\n else if (typeof plugins === 'string') {\n plugins = [plugins];\n }\n\n var _this = this;\n\n // Iterate through each plugin\n $.each(plugins, function(i, name) {\n // Get the current plugin\n var plugin = _this._plugins[name];\n\n // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']').filter(function () {\n return typeof $(this).data(\"zfPlugin\") === 'undefined';\n });\n\n // For each plugin found, initialize it\n $elem.each(function() {\n var $el = $(this),\n opts = { reflow: true };\n\n if($el.attr('data-options')){\n $el.attr('data-options').split(';').forEach(function(option, _index){\n var opt = option.split(':').map(function(el){ return el.trim(); });\n if(opt[0]) opts[opt[0]] = parseValue(opt[1]);\n });\n }\n try{\n $el.data('zfPlugin', new plugin($(this), opts));\n }catch(er){\n console.error(er);\n }finally{\n return;\n }\n });\n });\n },\n getFnName: functionName,\n\n addToJquery: function($) {\n // TODO: consider not making this a jQuery function\n // TODO: need way to reflow vs. re-initialize\n /**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */\n var foundation = function(method) {\n var type = typeof method,\n $noJS = $('.no-js');\n\n if($noJS.length){\n $noJS.removeClass('no-js');\n }\n\n if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin.\n MediaQuery._init();\n Foundation.reflow(this);\n }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins\n var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary\n var plugClass = this.data('zfPlugin');//determine the class of plugin\n\n if(typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined'){//make sure both the class and method exist\n if(this.length === 1){//if there's only one, call it directly.\n plugClass[method].apply(plugClass, args);\n }else{\n this.each(function(i, el){//otherwise loop through the jQuery collection and invoke the method on each\n plugClass[method].apply($(el).data('zfPlugin'), args);\n });\n }\n }else{//error for no class or no method\n throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n }\n }else{//error for invalid argument type\n throw new TypeError(`We're sorry, ${type} is not a valid parameter. You must use a string representing the method you wish to invoke.`);\n }\n return this;\n };\n $.fn.foundation = foundation;\n return $;\n }\n};\n\nFoundation.util = {\n /**\n * Function for applying a debounce effect to a function call.\n * @function\n * @param {Function} func - Function to be called at end of timeout.\n * @param {Number} delay - Time in ms to delay the call of `func`.\n * @returns function\n */\n throttle: function (func, delay) {\n var timer = null;\n\n return function () {\n var context = this, args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n func.apply(context, args);\n timer = null;\n }, delay);\n }\n };\n }\n};\n\nwindow.Foundation = Foundation;\n\n// Polyfill for requestAnimationFrame\n(function() {\n if (!Date.now || !window.Date.now)\n window.Date.now = Date.now = function() { return new Date().getTime(); };\n\n var vendors = ['webkit', 'moz'];\n for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n var vp = vendors[i];\n window.requestAnimationFrame = window[vp+'RequestAnimationFrame'];\n window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame']\n || window[vp+'CancelRequestAnimationFrame']);\n }\n if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)\n || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n var lastTime = 0;\n window.requestAnimationFrame = function(callback) {\n var now = Date.now();\n var nextTime = Math.max(lastTime + 16, now);\n return setTimeout(function() { callback(lastTime = nextTime); },\n nextTime - now);\n };\n window.cancelAnimationFrame = clearTimeout;\n }\n /**\n * Polyfill for performance.now, required by rAF\n */\n if(!window.performance || !window.performance.now){\n window.performance = {\n start: Date.now(),\n now: function(){ return Date.now() - this.start; }\n };\n }\n})();\nif (!Function.prototype.bind) {\n Function.prototype.bind = function(oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function() {},\n fBound = function() {\n return fToBind.apply(this instanceof fNOP\n ? this\n : oThis,\n aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n fBound.prototype = new fNOP();\n\n return fBound;\n };\n}\n// Polyfill to get the name of a function in IE9\nfunction functionName(fn) {\n if (typeof Function.prototype.name === 'undefined') {\n var funcNameRegex = /function\\s([^(]{1,})\\(/;\n var results = (funcNameRegex).exec((fn).toString());\n return (results && results.length > 1) ? results[1].trim() : \"\";\n }\n else if (typeof fn.prototype === 'undefined') {\n return fn.constructor.name;\n }\n else {\n return fn.prototype.constructor.name;\n }\n}\nfunction parseValue(str){\n if ('true' === str) return true;\n else if ('false' === str) return false;\n else if (!isNaN(str * 1)) return parseFloat(str);\n return str;\n}\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport {Foundation};\n","'use strict';\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n }\n\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n'use strict';\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","'use strict';\n\nimport $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","'use strict';\n\nimport $ from 'jquery';\n\nconst Nest = {\n Feather(menu, type = 'zf') {\n menu.attr('role', 'menubar');\n menu.find('a').attr({'role': 'menuitem'});\n\n var items = menu.find('li').attr({'role': 'none'}),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`,\n applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes.\n\n items.each(function() {\n var $item = $(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n if(applyAria) {\n $item.attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n });\n // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n if(type === 'drilldown') {\n $item.attr({'aria-expanded': false});\n }\n }\n $sub\n .addClass(`submenu ${subMenuClass}`)\n .attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n if(type === 'drilldown') {\n $sub.attr({'aria-hidden': true});\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(`is-submenu-item ${subItemClass}`);\n }\n });\n\n return;\n },\n\n Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`;\n\n menu\n .find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li')\n .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)\n .removeAttr('data-submenu').css('display', '');\n\n }\n}\n\nexport {Nest};\n","'use strict';\n\nimport $ from 'jquery';\n\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,//options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function() {\n remain = -1;\n clearTimeout(timer);\n this.start();\n }\n\n this.start = function() {\n this.isPaused = false;\n // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function(){\n if(options.infinite){\n _this.restart();//rerun the timer.\n }\n if (cb && typeof cb === 'function') { cb(); }\n }, remain);\n elem.trigger(`timerstart.zf.${nameSpace}`);\n }\n\n this.pause = function() {\n this.isPaused = true;\n //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(`timerpaused.zf.${nameSpace}`);\n }\n}\n\nexport {Timer};\n","//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nimport $ from 'jquery';\n\nvar Touch = {};\n\nvar startPosX,\n startPosY,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd);\n\n // If the touch did not move, consider it as a \"tap\"\n if (!didMoved) {\n var tapEvent = $.Event('tap', startEvent || e);\n $(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if ($.spotSwipe.preventDefault) { e.preventDefault(); }\n\n if(isMoving) {\n var x = e.touches[0].pageX;\n var y = e.touches[0].pageY;\n var dx = startPosX - x;\n var dy = startPosY - y;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n }\n // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n if(dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n $(this)\n .trigger($.Event('swipe', Object.assign({}, e)), dir)\n .trigger($.Event(`swipe${dir}`, Object.assign({}, e)));\n }\n }\n\n}\n\nfunction onTouchStart(e) {\n\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nfunction teardown() {\n this.removeEventListener('touchstart', onTouchStart);\n}\n\nclass SpotSwipe {\n constructor($) {\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n this._init();\n }\n\n _init() {\n var $ = this.$;\n $.event.special.swipe = { setup: init };\n $.event.special.tap = { setup: init };\n\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[`swipe${this}`] = { setup: function(){\n $(this).on('swipe', $.noop);\n } };\n });\n }\n}\n\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\nTouch.setupSpotSwipe = function($) {\n $.spotSwipe = new SpotSwipe($);\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function($) {\n $.fn.addTouch = function(){\n this.each(function(i,el){\n $(el).bind('touchstart touchmove touchend touchcancel', function(event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function(event){\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent\n ;\n\n if('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);\n }\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n\n if(typeof($.spotSwipe) === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\nexport {Touch};\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","'use strict';\n\nimport $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\n\n// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\nclass Plugin {\n\n constructor(element, options) {\n this._setup(element, options);\n var pluginName = getPluginName(this);\n this.uuid = GetYoDigits(6, pluginName);\n\n if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); }\n if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n this.$element.trigger(`init.zf.${pluginName}`);\n }\n\n destroy() {\n this._destroy();\n var pluginName = getPluginName(this);\n this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(`destroyed.zf.${pluginName}`);\n for(var prop in this){\n this[prop] = null;//clean up script to prep for garbage collection.\n }\n }\n}\n\n// Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n return hyphenate(obj.className);\n}\n\nexport {Plugin};\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { GetYoDigits } from './foundation.core.utils';\n\n/**\n * Abide module.\n * @module foundation.abide\n */\n\nclass Abide extends Plugin {\n /**\n * Creates a new instance of Abide.\n * @class\n * @name Abide\n * @fires Abide#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options = {}) {\n this.$element = element;\n this.options = $.extend(true, {}, Abide.defaults, this.$element.data(), options);\n this.isEnabled = true;\n this.formnovalidate = null;\n\n this.className = 'Abide'; // ie9 back compat\n this._init();\n }\n\n /**\n * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n * @private\n */\n _init() {\n this.$inputs = $.merge( // Consider as input to validate:\n this.$element.find('input').not('[type=\"submit\"]'), // * all input fields expect submit\n this.$element.find('textarea, select') // * all textareas and select fields\n );\n this.$submits = this.$element.find('[type=\"submit\"]');\n const $globalErrors = this.$element.find('[data-abide-error]');\n\n // Add a11y attributes to all fields\n if (this.options.a11yAttributes) {\n this.$inputs.each((i, input) => this.addA11yAttributes($(input)));\n $globalErrors.each((i, error) => this.addGlobalErrorA11yAttributes($(error)));\n }\n\n this._events();\n }\n\n /**\n * Initializes events for Abide.\n * @private\n */\n _events() {\n this.$element.off('.abide')\n .on('reset.zf.abide', () => {\n this.resetForm();\n })\n .on('submit.zf.abide', () => {\n return this.validateForm();\n });\n\n this.$submits\n .off('click.zf.abide keydown.zf.abide')\n .on('click.zf.abide keydown.zf.abide', (e) => {\n if (!e.key || (e.key === ' ' || e.key === 'Enter')) {\n e.preventDefault();\n this.formnovalidate = e.target.getAttribute('formnovalidate') !== null;\n this.$element.submit();\n }\n });\n\n if (this.options.validateOn === 'fieldChange') {\n this.$inputs\n .off('change.zf.abide')\n .on('change.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.liveValidate) {\n this.$inputs\n .off('input.zf.abide')\n .on('input.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.validateOnBlur) {\n this.$inputs\n .off('blur.zf.abide')\n .on('blur.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n }\n\n /**\n * Calls necessary functions to update Abide upon DOM change\n * @private\n */\n _reflow() {\n this._init();\n }\n\n /**\n * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled\n * @returns {Boolean}\n * @private\n */\n _validationIsDisabled() {\n if (this.isEnabled === false) { // whole validation disabled\n return true;\n } else if (typeof this.formnovalidate === 'boolean') { // triggered by $submit\n return this.formnovalidate;\n }\n // triggered by Enter in non-submit input\n return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;\n }\n\n /**\n * Enables the whole validation\n */\n enableValidation() {\n this.isEnabled = true;\n }\n\n /**\n * Disables the whole validation\n */\n disableValidation() {\n this.isEnabled = false;\n }\n\n /**\n * Checks whether or not a form element has the required attribute and if it's checked or not\n * @param {Object} element - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n requiredCheck($el) {\n if (!$el.attr('required')) return true;\n\n var isGood = true;\n\n switch ($el[0].type) {\n case 'checkbox':\n isGood = $el[0].checked;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n var opt = $el.find('option:selected');\n if (!opt.length || !opt.val()) isGood = false;\n break;\n\n default:\n if (!$el.val() || !$el.val().length) isGood = false;\n }\n\n return isGood;\n }\n\n /**\n * Get:\n * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:\n * 1. The element's direct sibling('s).\n * 2. The element's parent's children.\n * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.\n *\n * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n *\n * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n * @param {String[]} [failedValidators] - List of failed validators.\n * @returns {Object} jQuery object with the selector.\n */\n findFormError($el, failedValidators) {\n var id = $el.length ? $el[0].id : '';\n var $error = $el.siblings(this.options.formErrorSelector);\n\n if (!$error.length) {\n $error = $el.parent().find(this.options.formErrorSelector);\n }\n\n if (id) {\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"]`));\n }\n\n if (!!failedValidators) {\n $error = $error.not('[data-form-error-on]')\n\n failedValidators.forEach((v) => {\n $error = $error.add($el.siblings(`[data-form-error-on=\"${v}\"]`));\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"][data-form-error-on=\"${v}\"]`));\n });\n }\n\n return $error;\n }\n\n /**\n * Get the first element in this order:\n * 2. The
      • Back
      • ").addClass("reveal-overlay"+t).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var t,e=this.$element.outerWidth(),n=a()(window).width(),i=this.$element.outerHeight(),o=a()(window).height(),s=null;t="auto"===this.options.hOffset?parseInt((n-e)/2,10):parseInt(this.options.hOffset,10),"auto"===this.options.vOffset?s=oa()(window).height()&&a()("html").css("top",-t)}},{key:"_enableScroll",value:function(t){t=t||parseInt(a()("html").css("top")),a()(document).height()>a()(window).height()&&(a()("html").css("top",""),a()(window).scrollTop(-t))}},{key:"open",value:function(){var t=this,e="#".concat(this.id);this.options.deepLink&&window.location.hash!==e&&(window.history.pushState?this.options.updateHistory?window.history.pushState({},"",e):window.history.replaceState({},"",e):window.location.hash=e),this.$activeAnchor=a()(document.activeElement).is(this.$anchor)?a()(document.activeElement):this.$anchor,this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id),0===a()(".reveal:visible").length&&this._disableScroll();var n=this;if(this.options.animationIn){this.options.overlay&&u.Motion.animateIn(this.$overlay,"fade-in"),u.Motion.animateIn(this.$element,this.options.animationIn,function(){t.$element&&(t.focusableElements=r.Keyboard.findFocusable(t.$element),n.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),n._addGlobalClasses(),r.Keyboard.trapFocus(n.$element))})}else this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay);this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),r.Keyboard.trapFocus(this.$element),this._addGlobalClasses(),this._addGlobalListeners(),this.$element.trigger("open.zf.reveal")}},{key:"_addGlobalClasses",value:function(){function t(){a()("html").toggleClass("zf-has-scroll",!!(a()(document).height()>a()(window).height()))}this.$element.on("resizeme.zf.trigger.revealScrollbarListener",function(){return t()}),t(),a()("html").addClass("is-reveal-open")}},{key:"_removeGlobalClasses",value:function(){this.$element.off("resizeme.zf.trigger.revealScrollbarListener"),a()("html").removeClass("is-reveal-open"),a()("html").removeClass("zf-has-scroll")}},{key:"_addGlobalListeners",value:function(){var e=this;this.$element&&(this.focusableElements=r.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||a()("body").on("click.zf.dropdown tap.zf.dropdown",function(t){t.target!==e.$element[0]&&!a.a.contains(e.$element[0],t.target)&&a.a.contains(document,t.target)&&e.close()}),this.options.closeOnEsc&&a()(window).on("keydown.zf.reveal",function(t){r.Keyboard.handleKey(t,"Reveal",{close:function(){e.options.closeOnEsc&&e.close()}})}))}},{key:"close",value:function(){if(!this.isActive||!this.$element.is(":visible"))return!1;var e=this;function t(){var t=parseInt(a()("html").css("top"));0===a()(".reveal:visible").length&&e._removeGlobalClasses(),r.Keyboard.releaseFocus(e.$element),e.$element.attr("aria-hidden",!0),0===a()(".reveal:visible").length&&e._enableScroll(t),e.$element.trigger("closed.zf.reveal")}if(this.options.animationOut?(this.options.overlay&&u.Motion.animateOut(this.$overlay,"fade-out"),u.Motion.animateOut(this.$element,this.options.animationOut,t)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,t):t()),this.options.closeOnEsc&&a()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&a()("body").off("click.zf.dropdown tap.zf.dropdown"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,e.options.deepLink&&window.location.hash==="#".concat(this.id))if(window.history.replaceState){var n=window.location.pathname+window.location.search;this.options.updateHistory?window.history.pushState({},"",n):window.history.replaceState("",document.title,n)}else window.location.hash="";this.$activeAnchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(a()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),a()(window).off(".zf.reveal:".concat(this.id)),this.onLoadListener&&a()(window).off(this.onLoadListener),0===a()(".reveal:visible").length&&this._removeGlobalClasses()}}]),n}();v.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},"./js/foundation.slider.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Slider",function(){return f});var i=n("jquery"),p=n.n(i),a=n("./js/foundation.util.keyboard.js"),w=n("./js/foundation.util.motion.js"),m=n("./js/foundation.core.utils.js"),o=n("./js/foundation.core.plugin.js"),s=n("./js/foundation.util.touch.js"),r=n("./js/foundation.util.triggers.js");function l(t){return(l="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 u(t,e){for(var n=0;nthis.options.end&&(e=this.options.end);var i=this.options.doubleSided;if(i)if(0===this.handles.index(t)){var o=parseFloat(this.$handle2.attr("aria-valuenow"));e=o<=e?o-this.options.step:e}else{var s=parseFloat(this.$handle.attr("aria-valuenow"));e=e<=s?s+this.options.step:e}var a=this,r=this.options.vertical,l=r?"height":"width",u=r?"top":"left",c=t[0].getBoundingClientRect()[l],h=this.$element[0].getBoundingClientRect()[l],d=this._pctOfBar(e),f=(100*_((h-c)*d,h)).toFixed(this.options.decimal);e=parseFloat(e.toFixed(this.options.decimal));var p={};if(this._setValues(t,e),i){var m,g=0===this.handles.index(t),v=~~(100*_(c,h));if(g)p[u]="".concat(f,"%"),m=parseFloat(this.$handle2[0].style[u])-f+v,n&&"function"==typeof n&&n();else{var y=parseFloat(this.$handle[0].style[u]);m=f-(isNaN(y)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):y)+v}p["min-".concat(l)]="".concat(m,"%")}this.$element.one("finished.zf.animate",function(){a.$element.trigger("moved.zf.slider",[t])});var b=this.$element.data("dragging")?1e3/60:this.options.moveTime;Object(w.Move)(b,t,function(){isNaN(f)?t.css(u,"".concat(100*d,"%")):t.css(u,"".concat(f,"%")),a.options.doubleSided?a.$fill.css(p):a.$fill.css(l,"".concat(100*d,"%"))}),clearTimeout(a.timeout),a.timeout=setTimeout(function(){a.$element.trigger("changed.zf.slider",[t])},a.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,n=this.inputs.eq(t).attr("id")||Object(m.GetYoDigits)(6,"slider");this.inputs.eq(t).attr({id:n,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":n,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var n=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(n).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,n){var i;if(n)i=this._adjustValue(null,n),!0;else{t.preventDefault();var o=this.options.vertical,s=o?"height":"width",a=o?"top":"left",r=o?t.pageY:t.pageX,l=this.$element[0].getBoundingClientRect()[s],u=o?p()(window).scrollTop():p()(window).scrollLeft(),c=this.$element.offset()[a];t.clientY===t.pageY&&(r+=u);var h,d=r-c,f=_(h=d<0?0:l=n.topPoint))}),n._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t=[""==this.options.topAnchor?1:this.options.topAnchor,""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor],e={},n=0,i=t.length;n=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,n="top"===e?"marginTop":"marginBottom",i="top"===e?"bottom":"top",o={};o[n]="".concat(this.options[n],"em"),o[e]=0,o[i]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-".concat(i)).addClass("is-stuck is-at-".concat(e)).css(o).trigger("sticky.zf.stuckto:".concat(e)),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,n="top"===e,i={},o=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,s=t?"top":"bottom";i[n?"marginTop":"marginBottom"]=0,i.bottom="auto",i.top=t?0:o,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-".concat(e)).addClass("is-anchored is-at-".concat(s)).css(i).trigger("sticky.zf.unstuckfrom:".concat(s))}},{key:"_setSizes",value:function(t){this.canStick=l.MediaQuery.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e=this.$container[0].getBoundingClientRect().width,n=window.getComputedStyle(this.$container[0]),i=parseInt(n["padding-left"],10),o=parseInt(n["padding-right"],10);if(this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":"".concat(e-i-o,"px")}),this.options.dynamicHeight||!this.containerHeight){var s=this.$element[0].getBoundingClientRect().height||this.containerHeight;s="none"==this.$element.css("display")?0:s,this.$container.css("height",s),this.containerHeight=s}if(this.elemHeight=this.containerHeight,!this.isStuck&&this.$element.hasClass("is-at-bottom")){var a=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css("top",a)}this._setBreakPoints(this.containerHeight,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var n=m(this.options.marginTop),i=m(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,s=this.points?this.points[1]:o+this.anchorHeight,a=window.innerHeight;"top"===this.options.stickTo?(o-=n,s-=t+n):"bottom"===this.options.stickTo&&(o-=a-(t+i),s-=a-i),this.topPoint=o,this.bottomPoint=s,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass("".concat(this.options.stickyClass," is-anchored is-at-top")).css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),this.scrollListener&&r()(window).off(this.scrollListener),this.onLoadListener&&r()(window).off(this.onLoadListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}]),n}();function m(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}p.defaults={container:"
        ",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",dynamicHeight:!0,checkEvery:-1}},"./js/foundation.tabs.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Tabs",function(){return p});var i=n("jquery"),r=n.n(i),o=n("./js/foundation.core.plugin.js"),l=n("./js/foundation.core.utils.js"),a=n("./js/foundation.util.keyboard.js"),u=n("./js/foundation.util.imageLoader.js");function s(t){return(s="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 c(t,e){for(var n=0;n
        ").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t})}},{key:"_setPosition",value:function(){d(f(n.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!a.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,n=(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),n&&(!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(n=!0,e.isClick)return e.options.clickOpen||(n=!1),!1;e.show()}).on("focusout.zf.tooltip",function(t){n=!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()}}]),n}();m.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.box.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Box",function(){return i});var i={ImNotTouchingYou:function(t,e,n,i,o){return 0===s(t,e,n,i,o)},OverlapArea:s,GetDimensions:h,GetExplicitOffsets:function(t,e,n,i,o,s,a){var r,l,u=h(t),c=e?h(e):null;if(null!==c){switch(n){case"top":r=c.offset.top-(u.height+o);break;case"bottom":r=c.offset.top+c.height+o;break;case"left":l=c.offset.left-(u.width+s);break;case"right":l=c.offset.left+c.width+s}switch(n){case"top":case"bottom":switch(i){case"left":l=c.offset.left+s;break;case"right":l=c.offset.left-u.width+c.width-s;break;case"center":l=a?s:c.offset.left+c.width/2-u.width/2+s}break;case"right":case"left":switch(i){case"bottom":r=c.offset.top-o+c.height-u.height;break;case"top":r=c.offset.top+o;break;case"center":r=c.offset.top+o+c.height/2-u.height/2}}}return{top:r,left:l}}};function s(t,e,n,i,o){var s,a,r,l,u=h(t);if(e){var c=h(e);a=c.height+c.offset.top-(u.offset.top+u.height),s=u.offset.top-c.offset.top,r=u.offset.left-c.offset.left,l=c.width+c.offset.left-(u.offset.left+u.width)}else a=u.windowDims.height+u.windowDims.offset.top-(u.offset.top+u.height),s=u.offset.top-u.windowDims.offset.top,r=u.offset.left-u.windowDims.offset.left,l=u.windowDims.width-(u.offset.left+u.width);return a=o?0:Math.min(a,0),s=Math.min(s,0),r=Math.min(r,0),l=Math.min(l,0),n?r+l:i?s+a:Math.sqrt(s*s+a*a+r*r+l*l)}function h(t){if((t=t.length?t[0]:t)===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),n=t.parentNode.getBoundingClientRect(),i=document.body.getBoundingClientRect(),o=window.pageYOffset,s=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+o,left:e.left+s},parentDims:{width:n.width,height:n.height,offset:{top:n.top+o,left:n.left+s}},windowDims:{width:i.width,height:i.height,offset:{top:o,left:s}}}}},"./js/foundation.util.imageLoader.js":function(t,e,n){"use strict";n.r(e),n.d(e,"onImagesLoaded",function(){return s});var i=n("jquery"),o=n.n(i);function s(t,e){var n=t.length;function i(){0===--n&&e()}0===n&&e(),t.each(function(){if(this.complete&&void 0!==this.naturalWidth)i();else{var t=new Image,n="load.zf.images error.zf.images";o()(t).one(n,function t(e){o()(this).off(n,t),i()}),t.src=o()(this).attr("src")}})}},"./js/foundation.util.keyboard.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Keyboard",function(){return c});var i=n("jquery"),r=n.n(i),l=n("./js/foundation.core.utils.js"),o={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},u={};function s(t){return!!t&&t.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!r()(this).is(":visible")||r()(this).attr("tabindex")<0)})}function a(t){var e=o[t.which||t.keyCode]||String.fromCharCode(t.which).toUpperCase();return e=e.replace(/\W+/,""),t.shiftKey&&(e="SHIFT_".concat(e)),t.ctrlKey&&(e="CTRL_".concat(e)),t.altKey&&(e="ALT_".concat(e)),e=e.replace(/_$/,"")}var c={keys:function(t){var e={};for(var n in t)e[t[n]]=t[n];return e}(o),parseKey:a,handleKey:function(t,e,n){var i,o=u[e],s=this.parseKey(t);if(!o)return console.warn("Component not defined!");if(!0!==t.zfIsKeyHandled)if((i=n[(void 0===o.ltr?o:Object(l.rtl)()?r.a.extend({},o.ltr,o.rtl):r.a.extend({},o.rtl,o.ltr))[s]])&&"function"==typeof i){var a=i.apply();t.zfIsKeyHandled=!0,!n.handled&&"function"!=typeof n.handled||n.handled(a)}else!n.unhandled&&"function"!=typeof n.unhandled||n.unhandled()},findFocusable:s,register:function(t,e){u[t]=e},trapFocus:function(t){var e=s(t),n=e.eq(0),i=e.eq(-1);t.on("keydown.zf.trapfocus",function(t){t.target===i[0]&&"TAB"===a(t)?(t.preventDefault(),n.focus()):t.target===n[0]&&"SHIFT_TAB"===a(t)&&(t.preventDefault(),i.focus())})},releaseFocus:function(t){t.off("keydown.zf.trapfocus")}}},"./js/foundation.util.mediaQuery.js":function(t,e,n){"use strict";n.r(e),n.d(e,"MediaQuery",function(){return r});var i=n("jquery"),o=n.n(i);function s(t){return(s="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 a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=[],i=!0,o=!1,s=void 0;try{for(var a,r=t[Symbol.iterator]();!(i=(a=r.next()).done)&&(n.push(a.value),!e||n.length!==e);i=!0);}catch(t){o=!0,s=t}finally{try{i||null==r.return||r.return()}finally{if(o)throw s}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}window.matchMedia||(window.matchMedia=function(){var e=window.styleMedia||window.media;if(!e){var n,i=document.createElement("style"),t=document.getElementsByTagName("script")[0];i.type="text/css",i.id="matchmediajs-test",t?t.parentNode.insertBefore(i,t):document.head.appendChild(i),n="getComputedStyle"in window&&window.getComputedStyle(i,null)||i.currentStyle,e={matchMedium:function(t){var e="@media "+t+"{ #matchmediajs-test { width: 1px; } }";return i.styleSheet?i.styleSheet.cssText=e:i.textContent=e,"1px"===n.width}}}return function(t){return{matches:e.matchMedium(t||"all"),media:t||"all"}}}());var r={queries:[],current:"",_init:function(){if(!0!==this.isInitialized){this.isInitialized=!0;o()("meta.foundation-mq").length||o()('').appendTo(document.head);var t,e=o()(".foundation-mq").css("font-family");for(var n in t=function(t){var e={};return"string"==typeof t&&(t=t.trim().slice(1,-1))?e=t.split("&").reduce(function(t,e){var n=e.replace(/\+/g," ").split("="),i=n[0],o=n[1];return i=decodeURIComponent(i),o=void 0===o?null:decodeURIComponent(o),t.hasOwnProperty(i)?Array.isArray(t[i])?t[i].push(o):t[i]=[t[i],o]:t[i]=o,t},{}):e}(e),this.queries=[],t)t.hasOwnProperty(n)&&this.queries.push({name:n,value:"only screen and (min-width: ".concat(t[n],")")});this.current=this._getCurrentSize(),this._watcher()}},_reInit:function(){this.isInitialized=!1,this._init()},atLeast:function(t){var e=this.get(t);return!!e&&window.matchMedia(e).matches},only:function(t){return t===this._getCurrentSize()},upTo:function(t){var e=this.next(t);return!e||!this.atLeast(e)},is:function(t){var e=a(t.trim().split(" ").filter(function(t){return!!t.length}),2),n=e[0],i=e[1],o=void 0===i?"":i;if("only"===o)return this.only(n);if(!o||"up"===o)return this.atLeast(n);if("down"===o)return this.upTo(n);throw new Error('\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like " ", got "'.concat(t,'".\n '))},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){var n=this.queries[e];if(t===n.name)return n.value}return null},next:function(e){var n=this,t=this.queries.findIndex(function(t){return n._getQueryName(t)===e});if(-1===t)throw new Error('\n Unknown breakpoint "'.concat(e,'" passed to MediaQuery.next().\n Ensure it is present in your Sass "$breakpoints" setting.\n '));var i=this.queries[t+1];return i?i.name:null},_getQueryName:function(t){if("string"==typeof t)return t;if("object"===s(t))return t.name;throw new TypeError('\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got "'.concat(t,'" (').concat(s(t),")\n "))},_getCurrentSize:function(){for(var t,e=0;eli, > li > ul, .menu, .menu > li, [data-submenu] > li").removeClass("".concat(n," ").concat(i," ").concat(o," is-submenu-item submenu is-active")).removeAttr("data-submenu").css("display","")}}},"./js/foundation.util.timer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Timer",function(){return i});n("jquery");function i(e,t,n){var i,o,s=this,a=t.duration,r=Object.keys(e.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(o),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(o),l=l<=0?a:l,e.data("paused",!1),i=Date.now(),o=setTimeout(function(){t.infinite&&s.restart(),n&&"function"==typeof n&&n()},l),e.trigger("timerstart.zf.".concat(r))},this.pause=function(){this.isPaused=!0,clearTimeout(o),e.data("paused",!0);var t=Date.now();l-=t-i,e.trigger("timerpaused.zf.".concat(r))}}},"./js/foundation.util.touch.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Touch",function(){return c});var i=n("jquery"),o=n.n(i);function s(t,e){for(var n=0;n=o.a.spotSwipe.moveThreshold&&l<=o.a.spotSwipe.timeThreshold&&(e=0]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\))+(?:\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?\xab\xbb\u201c\u201d\u2018\u2019]))$/,domain:/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,datetime:/^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,date:/(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,time:/^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,dateISO:/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,month_day_year:/^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,day_month_year:/^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,color:/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,website:{test:function(t){return i.defaults.patterns.domain.test(t)||i.defaults.patterns.url.test(t)}}},validators:{equalTo:function(t,e,n){return c()("#".concat(t.attr("data-equalto"))).val()===t.val()}}}},"./js/foundation.accordion.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Accordion",function(){return i});var e=n("jquery"),s=n.n(e),r=n("./js/foundation.core.plugin.js"),a=n("./js/foundation.core.utils.js"),l=n("./js/foundation.util.keyboard.js");function o(t){return(o="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 u(t,e){for(var n=0;n'),s.options.submenuToggle?(e.addClass("has-submenu-toggle"),e.children("a").after('")):e.attr({"aria-controls":i,"aria-expanded":o,id:t}),n.attr({"aria-labelledby":t,"aria-hidden":!o,role:"group",id:i})});var t=this.$element.find(".is-active");t.length&&t.each(function(){s.down(a()(this))}),this._events()}},{key:"_events",value:function(){var r=this;this.$element.find("li").each(function(){var e=a()(this).children("[data-submenu]");e.length&&(r.options.submenuToggle?a()(this).children(".submenu-toggle").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(t){r.toggle(e)}):a()(this).children("a").off("click.zf.accordionMenu").on("click.zf.accordionMenu",function(t){t.preventDefault(),r.toggle(e)}))}).on("keydown.zf.accordionMenu",function(e){var n,i,o=a()(this),s=o.parent("ul").children("li"),t=o.children("[data-submenu]");s.each(function(t){a()(this).is(o)&&(n=s.eq(Math.max(0,t-1)).find("a").first(),i=s.eq(Math.min(t+1,s.length-1)).find("a").first(),a()(this).children("[data-submenu]:visible").length&&(i=o.find("li:first-child").find("a").first()),a()(this).is(":first-child")?n=o.parents("li").first().find("a").first():n.parents("li").first().children("[data-submenu]:visible").length&&(n=n.parents("li").find("li:last-child").find("a").first()),a()(this).is(":last-child")&&(i=o.parents("li").first().next("li").find("a").first()))}),l.Keyboard.handleKey(e,"AccordionMenu",{open:function(){t.is(":hidden")&&(r.down(t),t.find("li").first().find("a").first().focus())},close:function(){t.length&&!t.is(":hidden")?r.up(t):o.parent("[data-submenu]").length&&(r.up(o.parent("[data-submenu]")),o.parents("li").first().find("a").first().focus())},up:function(){return n.focus(),!0},down:function(){return i.focus(),!0},toggle:function(){return!r.options.submenuToggle&&(o.children("[data-submenu]").length?(r.toggle(o.children("[data-submenu]")),!0):void 0)},closeAll:function(){r.hideAll()},handled:function(t){t&&e.preventDefault()}})})}},{key:"hideAll",value:function(){this.up(this.$element.find("[data-submenu]"))}},{key:"showAll",value:function(){this.down(this.$element.find("[data-submenu]"))}},{key:"toggle",value:function(t){t.is(":animated")||(t.is(":hidden")?this.down(t):this.up(t))}},{key:"down",value:function(t){var e,n=this;this.options.multiOpen||(e=t.parentsUntil(this.$element).add(t).add(t.find(".is-active")),e=this.$element.find(".is-active").not(e),this.up(e)),t.addClass("is-active").attr({"aria-hidden":!1}),(this.options.submenuToggle?t.prev(".submenu-toggle"):t.parent(".is-accordion-submenu-parent")).attr({"aria-expanded":!0}),t.slideDown(this.options.slideSpeed,function(){n.$element.trigger("down.zf.accordionMenu",[t])})}},{key:"up",value:function(t){var e=this,n=t.find("[data-submenu]"),i=t.add(n);n.slideUp(0),i.removeClass("is-active").attr("aria-hidden",!0),(this.options.submenuToggle?i.prev(".submenu-toggle"):i.parent(".is-accordion-submenu-parent")).attr("aria-expanded",!1),t.slideUp(this.options.slideSpeed,function(){e.$element.trigger("up.zf.accordionMenu",[t])})}},{key:"_destroy",value:function(){this.$element.find("[data-submenu]").slideDown(0).css("display",""),this.$element.find("a").off("click.zf.accordionMenu"),this.$element.find("[data-is-parent-link]").detach(),this.options.submenuToggle&&(this.$element.find(".has-submenu-toggle").removeClass("has-submenu-toggle"),this.$element.find(".submenu-toggle").remove()),r.Nest.Burn(this.$element,"accordion")}}])&&c(t.prototype,e),n&&c(t,n),o}();i.defaults={parentLink:!1,slideSpeed:250,submenuToggle:!1,submenuToggleText:"Toggle menu",multiOpen:!0}},"./js/foundation.core.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Foundation",function(){return l});var e=n("jquery"),s=n.n(e),i=n("./js/foundation.core.utils.js"),r=n("./js/foundation.util.mediaQuery.js");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)}var l={version:"6.7.0",_plugins:{},_uuids:[],plugin:function(t,e){var n=e||u(t),e=o(n);this._plugins[e]=this[n]=t},registerPlugin:function(t,e){e=e?o(e):u(t.constructor).toLowerCase();t.uuid=Object(i.GetYoDigits)(6,e),t.$element.attr("data-".concat(e))||t.$element.attr("data-".concat(e),t.uuid),t.$element.data("zfPlugin")||t.$element.data("zfPlugin",t),t.$element.trigger("init.zf.".concat(e)),this._uuids.push(t.uuid)},unregisterPlugin:function(t){var e,n=o(u(t.$element.data("zfPlugin").constructor));for(e in this._uuids.splice(this._uuids.indexOf(t.uuid),1),t.$element.removeAttr("data-".concat(n)).removeData("zfPlugin").trigger("destroyed.zf.".concat(n)),t)t[e]=null},reInit:function(t){var e,n,i=t instanceof s.a;try{i?t.each(function(){s()(this).data("zfPlugin")._init()}):(e=a(t),n=this,{object:function(t){t.forEach(function(t){t=o(t),s()("[data-"+t+"]").foundation("_init")})},string:function(){t=o(t),s()("[data-"+t+"]").foundation("_init")},undefined:function(){this.object(Object.keys(n._plugins))}}[e](t))}catch(t){console.error(t)}finally{return t}},reflow:function(n,t){void 0===t?t=Object.keys(this._plugins):"string"==typeof t&&(t=[t]);var o=this;s.a.each(t,function(t,e){var i=o._plugins[e];s()(n).find("[data-"+e+"]").addBack("[data-"+e+"]").filter(function(){return void 0===s()(this).data("zfPlugin")}).each(function(){var t=s()(this),n={reflow:!0};t.attr("data-options")&&t.attr("data-options").split(";").forEach(function(t,e){t=t.split(":").map(function(t){return t.trim()});t[0]&&(n[t[0]]=function(t){{if("true"===t)return!0;if("false"===t)return!1;if(!isNaN(+t))return parseFloat(t)}return t}(t[1]))});try{t.data("zfPlugin",new i(s()(this),n))}catch(t){console.error(t)}finally{return}})})},getFnName:u,addToJquery:function(s){return s.fn.foundation=function(n){var t=a(n),e=s(".no-js");if(e.length&&e.removeClass("no-js"),"undefined"===t)r.MediaQuery._init(),l.reflow(this);else{if("string"!==t)throw new TypeError("We're sorry, ".concat(t," is not a valid parameter. You must use a string representing the method you wish to invoke."));var i=Array.prototype.slice.call(arguments,1),o=this.data("zfPlugin");if(void 0===o||void 0===o[n])throw new ReferenceError("We're sorry, '"+n+"' is not an available method for "+(o?u(o):"this element")+".");1===this.length?o[n].apply(o,i):this.each(function(t,e){o[n].apply(s(e).data("zfPlugin"),i)})}return this},s}};function u(t){if(void 0!==Function.prototype.name)return(void 0===t.prototype?t:t.prototype).constructor.name;t=/function\s([^(]{1,})\(/.exec(t.toString());return t&&1'),t.data("savedHref",t.attr("href")).removeAttr("href").attr("tabindex",0),t.children("[data-submenu]").attr({"aria-hidden":!0,tabindex:0,role:"group"}),n._events(t)}),this.$submenus.each(function(){var t=r()(this);if(!t.find(".js-drilldown-back").length)switch(n.options.backButtonPosition){case"bottom":t.append(n.options.backButton);break;case"top":t.prepend(n.options.backButton);break;default:console.error("Unsupported backButtonPosition value '"+n.options.backButtonPosition+"'")}n._back(t)}),this.$submenus.addClass("invisible"),this.options.autoHeight||this.$submenus.addClass("drilldown-submenu-cover-previous"),this.$element.parent().hasClass("is-drilldown")||(this.$wrapper=r()(this.options.wrapper).addClass("is-drilldown"),this.options.animateHeight&&this.$wrapper.addClass("animate-height"),this.$element.wrap(this.$wrapper)),this.$wrapper=this.$element.parent(),this.$wrapper.css(this._getMaxDims())}},{key:"_resize",value:function(){this.$wrapper.css({"max-width":"none","min-height":"none"}),this.$wrapper.css(this._getMaxDims())}},{key:"_events",value:function(n){var i=this;n.off("click.zf.drilldown").on("click.zf.drilldown",function(t){var e;r()(t.target).parentsUntil("ul","li").hasClass("is-drilldown-submenu-parent")&&t.preventDefault(),i._show(n.parent("li")),i.options.closeOnClick&&(e=r()("body")).off(".zf.drilldown").on("click.zf.drilldown",function(t){t.target===i.$element[0]||r.a.contains(i.$element[0],t.target)||(t.preventDefault(),i._hideAll(),e.off(".zf.drilldown"))})})}},{key:"_registerEvents",value:function(){this.options.scrollTop&&(this._bindHandler=this._scrollTop.bind(this),this.$element.on("open.zf.drilldown hide.zf.drilldown close.zf.drilldown closed.zf.drilldown",this._bindHandler)),this.$element.on("mutateme.zf.trigger",this._resize.bind(this))}},{key:"_scrollTop",value:function(){var t=this,e=""!=t.options.scrollTopElement?r()(t.options.scrollTopElement):t.$element,e=parseInt(e.offset().top+t.options.scrollTopOffset,10);r()("html, body").stop(!0).animate({scrollTop:e},t.options.animationDuration,t.options.animationEasing,function(){this===r()("html")[0]&&t.$element.trigger("scrollme.zf.drilldown")})}},{key:"_keyboardEvents",value:function(){var t=this;this.$menuItems.add(this.$element.find(".js-drilldown-back > a, .is-submenu-parent-item > a")).on("keydown.zf.drilldown",function(e){var n,i,o=r()(this),s=o.parent("li").parent("ul").children("li").children("a");s.each(function(t){r()(this).is(o)&&(n=s.eq(Math.max(0,t-1)),i=s.eq(Math.min(t+1,s.length-1)))}),a.Keyboard.handleKey(e,"Drilldown",{next:function(){if(o.is(t.$submenuAnchors))return t._show(o.parent("li")),o.parent("li").one(Object(l.transitionend)(o),function(){o.parent("li").find("ul li a").not(".js-drilldown-back a").first().focus()}),!0},previous:function(){return t._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Object(l.transitionend)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0},up:function(){return n.focus(),!o.is(t.$element.find("> li:first-child > a"))},down:function(){return i.focus(),!o.is(t.$element.find("> li:last-child > a"))},close:function(){o.is(t.$element.find("> li > a"))||(t._hide(o.parent().parent()),o.parent().parent().siblings("a").focus())},open:function(){return(!t.options.parentLink||!o.attr("href"))&&(o.is(t.$menuItems)?o.is(t.$submenuAnchors)?(t._show(o.parent("li")),o.parent("li").one(Object(l.transitionend)(o),function(){o.parent("li").find("ul li a").not(".js-drilldown-back a").first().focus()}),!0):void 0:(t._hide(o.parent("li").parent("ul")),o.parent("li").parent("ul").one(Object(l.transitionend)(o),function(){setTimeout(function(){o.parent("li").parent("ul").parent("li").children("a").first().focus()},1)}),!0))},handled:function(t){t&&e.preventDefault()}})})}},{key:"_hideAll",value:function(){var t,e=this,n=this.$element.find(".is-drilldown-submenu.is-active");n.addClass("is-closing"),this.options.autoHeight&&(t=n.parent().closest("ul").data("calcHeight"),this.$wrapper.css({height:t})),this.$element.trigger("close.zf.drilldown"),n.one(Object(l.transitionend)(n),function(){n.removeClass("is-active is-closing"),e.$element.trigger("closed.zf.drilldown")})}},{key:"_back",value:function(n){var i=this;n.off("click.zf.drilldown"),n.children(".js-drilldown-back").on("click.zf.drilldown",function(t){i._hide(n);var e=n.parent("li").parent("ul").parent("li");e.length?i._show(e):i.$currentMenu=i.$element})}},{key:"_menuLinkEvents",value:function(){var e=this;this.$menuItems.not(".is-drilldown-submenu-parent").off("click.zf.drilldown").on("click.zf.drilldown",function(t){setTimeout(function(){e._hideAll()},0)})}},{key:"_setShowSubMenuClasses",value:function(t,e){t.addClass("is-active").removeClass("invisible").attr("aria-hidden",!1),t.parent("li").attr("aria-expanded",!0),!0===e&&this.$element.trigger("open.zf.drilldown",[t])}},{key:"_setHideSubMenuClasses",value:function(t,e){t.removeClass("is-active").addClass("invisible").attr("aria-hidden",!0),t.parent("li").attr("aria-expanded",!1),!0===e&&t.trigger("hide.zf.drilldown",[t])}},{key:"_showMenu",value:function(e,n){var i=this;if(this.$element.find('li[aria-expanded="true"] > ul[data-submenu]').each(function(t){i._setHideSubMenuClasses(r()(this))}),(this.$currentMenu=e).is("[data-drilldown]"))return!0===n&&e.find("li > a").first().focus(),void(this.options.autoHeight&&this.$wrapper.css("height",e.data("calcHeight")));var o=e.children().first().parentsUntil("[data-drilldown]","[data-submenu]");o.each(function(t){0===t&&i.options.autoHeight&&i.$wrapper.css("height",r()(this).data("calcHeight"));t=t==o.length-1;!0==t&&r()(this).one(Object(l.transitionend)(r()(this)),function(){!0===n&&e.find("li > a").first().focus()}),i._setShowSubMenuClasses(r()(this),t)})}},{key:"_show",value:function(t){var e=t.children("[data-submenu]");t.attr("aria-expanded",!0),this.$currentMenu=e,t.parent().closest("ul").addClass("invisible"),e.addClass("is-active visible").removeClass("invisible").attr("aria-hidden",!1),this.options.autoHeight&&this.$wrapper.css({height:e.data("calcHeight")}),this.$element.trigger("open.zf.drilldown",[t])}},{key:"_hide",value:function(t){this.options.autoHeight&&this.$wrapper.css({height:t.parent().closest("ul").data("calcHeight")});t.parent().closest("ul").removeClass("invisible"),t.parent("li").attr("aria-expanded",!1),t.attr("aria-hidden",!0),t.addClass("is-closing").one(Object(l.transitionend)(t),function(){t.removeClass("is-active is-closing visible"),t.blur().addClass("invisible")}),t.trigger("hide.zf.drilldown",[t])}},{key:"_getMaxDims",value:function(){var e=0,t={},n=this;return this.$submenus.add(this.$element).each(function(){r()(this).children("li").length;var t=u.Box.GetDimensions(this).height;e=eBack',backButtonPosition:"top",wrapper:"
        ",parentLink:!1,closeOnClick:!1,autoHeight:!1,animateHeight:!1,scrollTop:!1,scrollTopElement:"",scrollTopOffset:0,animationDuration:500,animationEasing:"swing"}},"./js/foundation.dropdown.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Dropdown",function(){return i});var e=n("jquery"),s=n.n(e),r=n("./js/foundation.util.keyboard.js"),a=n("./js/foundation.core.utils.js"),l=n("./js/foundation.positionable.js"),u=n("./js/foundation.util.triggers.js"),c=n("./js/foundation.util.touch.js");function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n a:first").focus(),e.preventDefault())}function u(){var t=o.parent("ul").parent("li");t.children("a:first").focus(),f._hide(t),e.preventDefault()}var c={open:l,close:function(){f._hide(f.$element),f.$menuItems.eq(0).children("a").focus(),e.preventDefault()}};t?f._isVertical()?f._isRtl()?d.a.extend(c,{down:r,up:a,next:u,previous:l}):d.a.extend(c,{down:r,up:a,next:l,previous:u}):f._isRtl()?d.a.extend(c,{next:a,previous:r,down:l,up:u}):d.a.extend(c,{next:r,previous:a,down:l,up:u}):f._isRtl()?d.a.extend(c,{next:u,previous:l,down:r,up:a}):d.a.extend(c,{next:l,previous:u,down:r,up:a}),h.Keyboard.handleKey(e,"DropdownMenu",c)})}},{key:"_addBodyHandler",value:function(){var e=this,t=d()(document.body);this._removeBodyHandler(),t.on("click.zf.dropdownMenu tap.zf.dropdownMenu",function(t){!d()(t.target).closest(e.$element).length&&(e._hide(),e._removeBodyHandler())})}},{key:"_removeBodyHandler",value:function(){d()(document.body).off("click.zf.dropdownMenu tap.zf.dropdownMenu")}},{key:"_show",value:function(n){var t=this.$tabs.index(this.$tabs.filter(function(t,e){return 0n,(this.scrollPos=n)i.$slides.filter(".is-active").data("slide"),n=i.$slides.eq(t);i.changeSlide(e,n,t)}),this.options.accessible&&this.$wrapper.add(this.$bullets).on("keydown.zf.orbit",function(t){r.Keyboard.handleKey(t,"Orbit",{next:function(){i.changeSlide(!0)},previous:function(){i.changeSlide(!1)},handled:function(){s()(t.target).is(i.$bullets)&&i.$bullets.filter(".is-active").focus()}})}))}},{key:"_reset",value:function(){void 0!==this.$slides&&1"),s=new e.plugin(o,this.options);for(n in s.options)s.options.hasOwnProperty(n)&&"zfPlugin"!==n&&(i=s.options[n],this.allOptions[n]=i);s.destroy()}catch(t){}}}},{key:"_events",value:function(){this._changedZfMediaQueryHandler=this._checkMediaQueries.bind(this),u()(window).on("changed.zf.mediaquery",this._changedZfMediaQueryHandler)}},{key:"_checkMediaQueries",value:function(){var e,n=this;u.a.each(this.rules,function(t){s.MediaQuery.atLeast(t)&&(e=t)}),e&&(this.currentPlugin instanceof this.rules[e].plugin||(u.a.each(p,function(t,e){n.$element.removeClass(e.cssClass)}),this.$element.addClass(this.rules[e].cssClass),this.currentPlugin&&(!this.currentPlugin.$element.data("zfPlugin")&&this.storezfData&&this.currentPlugin.$element.data("zfPlugin",this.storezfData),this.currentPlugin.destroy()),this._handleMarkup(this.rules[e].cssClass),this.currentRule=this.rules[e],this.currentPlugin=new this.currentRule.plugin(this.$element,this.options),this.storezfData=this.currentPlugin.$element.data("zfPlugin")))}},{key:"_handleMarkup",value:function(t){var e,s,r,a,l,n=this,i="accordion",o=u()("[data-tabs-content="+this.$element.attr("id")+"]");(i=o.length?"tabs":i)!==t&&(e=n.allOptions.linkClass||"tabs-title",s=n.allOptions.panelClass||"tabs-panel",this.$element.removeAttr("role"),r=this.$element.children("."+e+",[data-accordion-item]").removeClass(e).removeClass("accordion-item").removeAttr("data-accordion-item"),a=r.children("a").removeClass("accordion-title"),"tabs"===i?(o=o.children("."+s).removeClass(s).removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby")).children("a").removeAttr("role").removeAttr("aria-controls").removeAttr("aria-selected"):o=r.children("[data-tab-content]").removeClass("accordion-content"),o.css({display:"",visibility:""}),r.css({display:"",visibility:""}),"accordion"===t?o.each(function(t,e){u()(e).appendTo(r.get(t)).addClass("accordion-content").attr("data-tab-content","").removeClass("is-active").css({height:""}),u()("[data-tabs-content="+n.$element.attr("id")+"]").after('
        ').detach(),r.addClass("accordion-item").attr("data-accordion-item",""),a.addClass("accordion-title")}):"tabs"===t&&(l=u()("[data-tabs-content="+n.$element.attr("id")+"]"),(t=u()("#tabs-placeholder-"+n.$element.attr("id"))).length?(l=u()('
        ').insertAfter(t).attr("data-tabs-content",n.$element.attr("id")),t.remove()):l=u()('
        ').insertAfter(n.$element).attr("data-tabs-content",n.$element.attr("id")),o.each(function(t,e){var n=u()(e).appendTo(l).addClass(s),i=a.get(t).hash.slice(1),o=u()(e).attr("id")||Object(c.GetYoDigits)(6,"accordion");i!==o&&(""!==i?u()(e).attr("id",i):(i=o,u()(e).attr("id",i),u()(a.get(t)).attr("href",u()(a.get(t)).attr("href").replace("#","")+"#"+i))),u()(r.get(t)).hasClass("is-active")&&n.addClass("is-active")}),r.addClass(e)))}},{key:"open",value:function(t){var e;if(this.currentRule&&"function"==typeof this.currentRule.open)return(e=this.currentRule).open.apply(e,[this.currentPlugin].concat(Array.prototype.slice.call(arguments)))}},{key:"close",value:function(t){var e;if(this.currentRule&&"function"==typeof this.currentRule.close)return(e=this.currentRule).close.apply(e,[this.currentPlugin].concat(Array.prototype.slice.call(arguments)))}},{key:"toggle",value:function(t){var e;if(this.currentRule&&"function"==typeof this.currentRule.toggle)return(e=this.currentRule).toggle.apply(e,[this.currentPlugin].concat(Array.prototype.slice.call(arguments)))}},{key:"_destroy",value:function(){this.currentPlugin&&this.currentPlugin.destroy(),u()(window).off("changed.zf.mediaquery",this._changedZfMediaQueryHandler)}}])&&a(t.prototype,e),n&&a(t,n),o}();m.defaults={}},"./js/foundation.responsiveMenu.js":function(t,e,n){"use strict";n.r(e),n.d(e,"ResponsiveMenu",function(){return p});var i=n("jquery"),s=n.n(i),r=n("./js/foundation.util.mediaQuery.js"),a=n("./js/foundation.core.utils.js"),l=n("./js/foundation.core.plugin.js"),e=n("./js/foundation.dropdownMenu.js"),i=n("./js/foundation.drilldown.js"),n=n("./js/foundation.accordionMenu.js");function o(t){return(o="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 u(t,e){for(var n=0;n
        ").addClass("reveal-overlay"+t).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var t=this.$element.outerWidth(),e=s()(window).width(),n=this.$element.outerHeight(),i=s()(window).height(),o=null,t="auto"===this.options.hOffset?parseInt((e-t)/2,10):parseInt(this.options.hOffset,10);"auto"===this.options.vOffset?o=is()(window).height()&&s()("html").css("top",-t)}},{key:"_enableScroll",value:function(t){t=t||parseInt(s()("html").css("top")),s()(document).height()>s()(window).height()&&(s()("html").css("top",""),s()(window).scrollTop(-t))}},{key:"open",value:function(){var t=this,e="#".concat(this.id);this.options.deepLink&&window.location.hash!==e&&(window.history.pushState?this.options.updateHistory?window.history.pushState({},"",e):window.history.replaceState({},"",e):window.location.hash=e),this.$activeAnchor=s()(document.activeElement).is(this.$anchor)?s()(document.activeElement):this.$anchor,this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id),0===s()(".reveal:visible").length&&this._disableScroll();var n=this;this.options.animationIn?(this.options.overlay&&c.Motion.animateIn(this.$overlay,"fade-in"),c.Motion.animateIn(this.$element,this.options.animationIn,function(){t.$element&&(t.focusableElements=l.Keyboard.findFocusable(t.$element),n.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),n._addGlobalClasses(),l.Keyboard.trapFocus(n.$element))})):(this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay)),this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),l.Keyboard.trapFocus(this.$element),this._addGlobalClasses(),this._addGlobalListeners(),this.$element.trigger("open.zf.reveal")}},{key:"_addGlobalClasses",value:function(){function t(){s()("html").toggleClass("zf-has-scroll",!!(s()(document).height()>s()(window).height()))}this.$element.on("resizeme.zf.trigger.revealScrollbarListener",t),t(),s()("html").addClass("is-reveal-open")}},{key:"_removeGlobalClasses",value:function(){this.$element.off("resizeme.zf.trigger.revealScrollbarListener"),s()("html").removeClass("is-reveal-open"),s()("html").removeClass("zf-has-scroll")}},{key:"_addGlobalListeners",value:function(){var e=this;this.$element&&(this.focusableElements=l.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||s()("body").on("click.zf.dropdown tap.zf.dropdown",function(t){t.target!==e.$element[0]&&!s.a.contains(e.$element[0],t.target)&&s.a.contains(document,t.target)&&e.close()}),this.options.closeOnEsc&&s()(window).on("keydown.zf.reveal",function(t){l.Keyboard.handleKey(t,"Reveal",{close:function(){e.options.closeOnEsc&&e.close()}})}))}},{key:"close",value:function(){if(!this.isActive||!this.$element.is(":visible"))return!1;var t,e=this;function n(){var t=parseInt(s()("html").css("top"));0===s()(".reveal:visible").length&&e._removeGlobalClasses(),l.Keyboard.releaseFocus(e.$element),e.$element.attr("aria-hidden",!0),0===s()(".reveal:visible").length&&e._enableScroll(t),e.$element.trigger("closed.zf.reveal")}this.options.animationOut?(this.options.overlay&&c.Motion.animateOut(this.$overlay,"fade-out"),c.Motion.animateOut(this.$element,this.options.animationOut,n)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,n):n()),this.options.closeOnEsc&&s()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&s()("body").off("click.zf.dropdown tap.zf.dropdown"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,e.options.deepLink&&window.location.hash==="#".concat(this.id)&&(window.history.replaceState?(t=window.location.pathname+window.location.search,this.options.updateHistory?window.history.pushState({},"",t):window.history.replaceState("",document.title,t)):window.location.hash=""),this.$activeAnchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(s()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),s()(window).off(".zf.reveal:".concat(this.id)),this.onLoadListener&&s()(window).off(this.onLoadListener),0===s()(".reveal:visible").length&&this._removeGlobalClasses()}}])&&h(t.prototype,e),n&&h(t,n),o}();i.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},"./js/foundation.slider.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Slider",function(){return i});var e=n("jquery"),u=n.n(e),r=n("./js/foundation.util.keyboard.js"),h=n("./js/foundation.util.motion.js"),c=n("./js/foundation.core.utils.js"),s=n("./js/foundation.core.plugin.js"),a=n("./js/foundation.util.touch.js"),l=n("./js/foundation.util.triggers.js");function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;nthis.options.end&&(e=this.options.end),(i=this.options.doubleSided)&&(e=0===this.handles.index(t)?(f=parseFloat(this.$handle2.attr("aria-valuenow")))<=e?f-this.options.step:e:e<=(a=parseFloat(this.$handle.attr("aria-valuenow")))?a+this.options.step:e),f=(o=this).options.vertical,s=f?"height":"width",r=f?"top":"left",a=t[0].getBoundingClientRect()[s],f=this.$element[0].getBoundingClientRect()[s],l=this._pctOfBar(e),u=((f-a)*l/f*100).toFixed(this.options.decimal),e=parseFloat(e.toFixed(this.options.decimal)),c={},this._setValues(t,e),i&&(f=~~(a/f*100),0===this.handles.index(t)?(c[r]="".concat(u,"%"),d=parseFloat(this.$handle2[0].style[r])-u+f,n&&"function"==typeof n&&n()):(n=parseFloat(this.$handle[0].style[r]),d=u-(isNaN(n)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):n)+f),c["min-".concat(s)]="".concat(d,"%")),this.$element.one("finished.zf.animate",function(){o.$element.trigger("moved.zf.slider",[t])}),d=this.$element.data("dragging")?1e3/60:this.options.moveTime,Object(h.Move)(d,t,function(){isNaN(u)?t.css(r,"".concat(100*l,"%")):t.css(r,"".concat(u,"%")),o.options.doubleSided?o.$fill.css(c):o.$fill.css(s,"".concat(100*l,"%"))}),clearTimeout(o.timeout),o.timeout=setTimeout(function(){o.$element.trigger("changed.zf.slider",[t])},o.options.changedDelay))}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,n=this.inputs.eq(t).attr("id")||Object(c.GetYoDigits)(6,"slider");this.inputs.eq(t).attr({id:n,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":n,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var n=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(n).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,n){var i,o,s,r,a,l;n?l=this._adjustValue(null,n):(t.preventDefault(),i=(a=this.options.vertical)?"height":"width",o=a?"top":"left",s=a?t.pageY:t.pageX,r=this.$element[0].getBoundingClientRect()[i],n=a?u()(window).scrollTop():u()(window).scrollLeft(),a=this.$element.offset()[o],t.clientY===t.pageY&&(s+=n),l=this._value((a=(a=s-a)<0?0:r=n.topPoint))}),n._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t,e,n,i=[""==this.options.topAnchor?1:this.options.topAnchor,""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor],o={},s=0,r=i.length;s=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,n="top"===e?"marginTop":"marginBottom",i="top"===e?"bottom":"top",o={};o[n]="".concat(this.options[n],"em"),o[e]=0,o[i]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-".concat(i)).addClass("is-stuck is-at-".concat(e)).css(o).trigger("sticky.zf.stuckto:".concat(e)),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,n={},i=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,o=t?"top":"bottom";n["top"===e?"marginTop":"marginBottom"]=0,n.bottom="auto",n.top=t?0:i,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-".concat(e)).addClass("is-anchored is-at-".concat(o)).css(n).trigger("sticky.zf.unstuckfrom:".concat(o))}},{key:"_setSizes",value:function(t){this.canStick=l.MediaQuery.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e,n=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),o=parseInt(i["padding-left"],10),i=parseInt(i["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":"".concat(n-o-i,"px")}),!this.options.dynamicHeight&&this.containerHeight||(e=this.$element[0].getBoundingClientRect().height||this.containerHeight,e="none"==this.$element.css("display")?0:e,this.$container.css("height",e),this.containerHeight=e),this.elemHeight=this.containerHeight,this.isStuck||this.$element.hasClass("is-at-bottom")&&(e=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight,this.$element.css("top",e)),this._setBreakPoints(this.containerHeight,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var n=p(this.options.marginTop),i=p(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,s=this.points?this.points[1]:o+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(o-=n,s-=t+n):"bottom"===this.options.stickTo&&(o-=r-(t+i),s-=r-i),this.topPoint=o,this.bottomPoint=s,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass("".concat(this.options.stickyClass," is-anchored is-at-top")).css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),this.scrollListener&&a()(window).off(this.scrollListener),this.onLoadListener&&a()(window).off(this.onLoadListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}])&&c(t.prototype,e),n&&c(t,n),o}();function p(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}i.defaults={container:"
        ",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",dynamicHeight:!0,checkEvery:-1}},"./js/foundation.tabs.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Tabs",function(){return i});var e=n("jquery"),a=n.n(e),s=n("./js/foundation.core.plugin.js"),l=n("./js/foundation.core.utils.js"),r=n("./js/foundation.util.keyboard.js"),u=n("./js/foundation.util.imageLoader.js");function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n
        ").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t})}},{key:"_setPosition",value:function(){f(p(o.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!a.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,n=(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(r.ignoreMousedisappear)(function(t){clearTimeout(e.timeout),n&&(!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){return n=!0,e.isClick?(e.options.clickOpen||(n=!1),!1):void e.show()}).on("focusout.zf.tooltip",function(t){n=!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()}}])&&c(t.prototype,e),n&&c(t,n),o}();i.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.box.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Box",function(){return i});var i={ImNotTouchingYou:function(t,e,n,i,o){return 0===s(t,e,n,i,o)},OverlapArea:s,GetDimensions:f,GetExplicitOffsets:function(t,e,n,i,o,s,r){var a,l,u=f(t),c=e?f(e):null;if(null!==c){switch(n){case"top":a=c.offset.top-(u.height+o);break;case"bottom":a=c.offset.top+c.height+o;break;case"left":l=c.offset.left-(u.width+s);break;case"right":l=c.offset.left+c.width+s}switch(n){case"top":case"bottom":switch(i){case"left":l=c.offset.left+s;break;case"right":l=c.offset.left-u.width+c.width-s;break;case"center":l=r?s:c.offset.left+c.width/2-u.width/2+s}break;case"right":case"left":switch(i){case"bottom":a=c.offset.top-o+c.height-u.height;break;case"top":a=c.offset.top+o;break;case"center":a=c.offset.top+o+c.height/2-u.height/2}}}return{top:a,left:l}}};function s(t,e,n,i,o){var s,r,a,t=f(t);return t=e?(s=(e=f(e)).height+e.offset.top-(t.offset.top+t.height),r=t.offset.top-e.offset.top,a=t.offset.left-e.offset.left,e.width+e.offset.left-(t.offset.left+t.width)):(s=t.windowDims.height+t.windowDims.offset.top-(t.offset.top+t.height),r=t.offset.top-t.windowDims.offset.top,a=t.offset.left-t.windowDims.offset.left,t.windowDims.width-(t.offset.left+t.width)),s=o?0:Math.min(s,0),r=Math.min(r,0),a=Math.min(a,0),t=Math.min(t,0),n?a+t:i?r+s:Math.sqrt(r*r+s*s+a*a+t*t)}function f(t){if((t=t.length?t[0]:t)===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),n=t.parentNode.getBoundingClientRect(),i=document.body.getBoundingClientRect(),o=window.pageYOffset,t=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+o,left:e.left+t},parentDims:{width:n.width,height:n.height,offset:{top:n.top+o,left:n.left+t}},windowDims:{width:i.width,height:i.height,offset:{top:o,left:t}}}}},"./js/foundation.util.imageLoader.js":function(t,e,n){"use strict";n.r(e),n.d(e,"onImagesLoaded",function(){return i});var e=n("jquery"),o=n.n(e);function i(t,e){var n=t.length;function i(){0===--n&&e()}0===n&&e(),t.each(function(){var t,n;this.complete&&void 0!==this.naturalWidth?i():(t=new Image,n="load.zf.images error.zf.images",o()(t).one(n,function t(e){o()(this).off(n,t),i()}),t.src=o()(this).attr("src"))})}},"./js/foundation.util.keyboard.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Keyboard",function(){return u});var e=n("jquery"),o=n.n(e),s=n("./js/foundation.core.utils.js"),i={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},r={};function a(t){return!!t&&t.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!o()(this).is(":visible")||o()(this).attr("tabindex")<0)}).sort(function(t,e){if(o()(t).attr("tabindex")==o()(e).attr("tabindex"))return 0;var n=parseInt(o()(t).attr("tabindex")),i=parseInt(o()(e).attr("tabindex"));return void 0===o()(t).attr("tabindex")&&0t.length)&&(e=t.length);for(var n=0,i=new Array(e);n').appendTo(document.head);var t,e,n,i=o()(".foundation-mq").css("font-family");for(n in e={},t="string"==typeof(i=i)&&(i=i.trim().slice(1,-1))?e=i.split("&").reduce(function(t,e){var n=e.replace(/\+/g," ").split("="),e=n[0],n=n[1],e=decodeURIComponent(e),n=void 0===n?null:decodeURIComponent(n);return t.hasOwnProperty(e)?Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]:t[e]=n,t},{}):e,this.queries=[],t)t.hasOwnProperty(n)&&this.queries.push({name:n,value:"only screen and (min-width: ".concat(t[n],")")});this.current=this._getCurrentSize(),this._watcher()}},_reInit:function(){this.isInitialized=!1,this._init()},atLeast:function(t){t=this.get(t);return!!t&&window.matchMedia(t).matches},only:function(t){return t===this._getCurrentSize()},upTo:function(t){t=this.next(t);return!t||!this.atLeast(t)},is:function(t){var e=s(t.trim().split(" ").filter(function(t){return!!t.length}),2),n=e[0],e=e[1],e=void 0===e?"":e;if("only"===e)return this.only(n);if(!e||"up"===e)return this.atLeast(n);if("down"===e)return this.upTo(n);throw new Error('\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like " ", got "'.concat(t,'".\n '))},get:function(t){for(var e in this.queries)if(this.queries.hasOwnProperty(e)){e=this.queries[e];if(t===e.name)return e.value}return null},next:function(e){var n=this,t=this.queries.findIndex(function(t){return n._getQueryName(t)===e});if(-1===t)throw new Error('\n Unknown breakpoint "'.concat(e,'" passed to MediaQuery.next().\n Ensure it is present in your Sass "$breakpoints" setting.\n '));t=this.queries[t+1];return t?t.name:null},_getQueryName:function(t){if("string"==typeof t)return t;if("object"===i(t))return t.name;throw new TypeError('\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got "'.concat(t,'" (').concat(i(t),")\n "))},_getCurrentSize:function(){for(var t,e=0;eli, > li > ul, .menu, .menu > li, [data-submenu] > li").removeClass("".concat(n," ").concat(i," ").concat(e," is-submenu-item submenu is-active")).removeAttr("data-submenu").css("display","")}}},"./js/foundation.util.timer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Timer",function(){return i});n("jquery");function i(e,t,n){var i,o,s=this,r=t.duration,a=Object.keys(e.data())[0]||"timer",l=-1;this.isPaused=!1,this.restart=function(){l=-1,clearTimeout(o),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(o),l=l<=0?r:l,e.data("paused",!1),i=Date.now(),o=setTimeout(function(){t.infinite&&s.restart(),n&&"function"==typeof n&&n()},l),e.trigger("timerstart.zf.".concat(a))},this.pause=function(){this.isPaused=!0,clearTimeout(o),e.data("paused",!0);var t=Date.now();l-=t-i,e.trigger("timerpaused.zf.".concat(a))}}},"./js/foundation.util.touch.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Touch",function(){return u});var e=n("jquery"),i=n.n(e);function o(t,e){for(var n=0;n=i.a.spotSwipe.moveThreshold&&a<=i.a.spotSwipe.timeThreshold?0 this.addA11yAttributes($(input)));\n $globalErrors.each((i, error) => this.addGlobalErrorA11yAttributes($(error)));\n }\n\n this._events();\n }\n\n /**\n * Initializes events for Abide.\n * @private\n */\n _events() {\n this.$element.off('.abide')\n .on('reset.zf.abide', () => {\n this.resetForm();\n })\n .on('submit.zf.abide', () => {\n return this.validateForm();\n });\n\n this.$submits\n .off('click.zf.abide keydown.zf.abide')\n .on('click.zf.abide keydown.zf.abide', (e) => {\n if (!e.key || (e.key === ' ' || e.key === 'Enter')) {\n e.preventDefault();\n this.formnovalidate = e.target.getAttribute('formnovalidate') !== null;\n this.$element.submit();\n }\n });\n\n if (this.options.validateOn === 'fieldChange') {\n this.$inputs\n .off('change.zf.abide')\n .on('change.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.liveValidate) {\n this.$inputs\n .off('input.zf.abide')\n .on('input.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n\n if (this.options.validateOnBlur) {\n this.$inputs\n .off('blur.zf.abide')\n .on('blur.zf.abide', (e) => {\n this.validateInput($(e.target));\n });\n }\n }\n\n /**\n * Calls necessary functions to update Abide upon DOM change\n * @private\n */\n _reflow() {\n this._init();\n }\n\n /**\n * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled\n * @returns {Boolean}\n * @private\n */\n _validationIsDisabled() {\n if (this.isEnabled === false) { // whole validation disabled\n return true;\n } else if (typeof this.formnovalidate === 'boolean') { // triggered by $submit\n return this.formnovalidate;\n }\n // triggered by Enter in non-submit input\n return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;\n }\n\n /**\n * Enables the whole validation\n */\n enableValidation() {\n this.isEnabled = true;\n }\n\n /**\n * Disables the whole validation\n */\n disableValidation() {\n this.isEnabled = false;\n }\n\n /**\n * Checks whether or not a form element has the required attribute and if it's checked or not\n * @param {Object} element - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n requiredCheck($el) {\n if (!$el.attr('required')) return true;\n\n var isGood = true;\n\n switch ($el[0].type) {\n case 'checkbox':\n isGood = $el[0].checked;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n var opt = $el.find('option:selected');\n if (!opt.length || !opt.val()) isGood = false;\n break;\n\n default:\n if (!$el.val() || !$el.val().length) isGood = false;\n }\n\n return isGood;\n }\n\n /**\n * Get:\n * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:\n * 1. The element's direct sibling('s).\n * 2. The element's parent's children.\n * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.\n *\n * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n *\n * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n * @param {String[]} [failedValidators] - List of failed validators.\n * @returns {Object} jQuery object with the selector.\n */\n findFormError($el, failedValidators) {\n var id = $el.length ? $el[0].id : '';\n var $error = $el.siblings(this.options.formErrorSelector);\n\n if (!$error.length) {\n $error = $el.parent().find(this.options.formErrorSelector);\n }\n\n if (id) {\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"]`));\n }\n\n if (!!failedValidators) {\n $error = $error.not('[data-form-error-on]')\n\n failedValidators.forEach((v) => {\n $error = $error.add($el.siblings(`[data-form-error-on=\"${v}\"]`));\n $error = $error.add(this.$element.find(`[data-form-error-for=\"${id}\"][data-form-error-on=\"${v}\"]`));\n });\n }\n\n return $error;\n }\n\n /**\n * Get the first element in this order:\n * 2. The
        ").addClass("reveal-overlay"+e).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var e,t=this.$element.outerWidth(),i=r()(window).width(),o=this.$element.outerHeight(),n=r()(window).height(),s=null;e="auto"===this.options.hOffset?parseInt((i-t)/2,10):parseInt(this.options.hOffset,10),"auto"===this.options.vOffset?s=nr()(window).height()&&r()("html").css("top",-e)}},{key:"_enableScroll",value:function(e){e=e||parseInt(r()("html").css("top")),r()(document).height()>r()(window).height()&&(r()("html").css("top",""),r()(window).scrollTop(-e))}},{key:"open",value:function(){var e=this,t="#".concat(this.id);this.options.deepLink&&window.location.hash!==t&&(window.history.pushState?this.options.updateHistory?window.history.pushState({},"",t):window.history.replaceState({},"",t):window.location.hash=t),this.$activeAnchor=r()(document.activeElement).is(this.$anchor)?r()(document.activeElement):this.$anchor,this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id),0===r()(".reveal:visible").length&&this._disableScroll();var i=this;if(this.options.animationIn){this.options.overlay&&l.Motion.animateIn(this.$overlay,"fade-in"),l.Motion.animateIn(this.$element,this.options.animationIn,function(){e.$element&&(e.focusableElements=s.Keyboard.findFocusable(e.$element),i.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),i._addGlobalClasses(),s.Keyboard.trapFocus(i.$element))})}else this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay);this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),s.Keyboard.trapFocus(this.$element),this._addGlobalClasses(),this._addGlobalListeners(),this.$element.trigger("open.zf.reveal")}},{key:"_addGlobalClasses",value:function(){function e(){r()("html").toggleClass("zf-has-scroll",!!(r()(document).height()>r()(window).height()))}this.$element.on("resizeme.zf.trigger.revealScrollbarListener",function(){return e()}),e(),r()("html").addClass("is-reveal-open")}},{key:"_removeGlobalClasses",value:function(){this.$element.off("resizeme.zf.trigger.revealScrollbarListener"),r()("html").removeClass("is-reveal-open"),r()("html").removeClass("zf-has-scroll")}},{key:"_addGlobalListeners",value:function(){var t=this;this.$element&&(this.focusableElements=s.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||r()("body").on("click.zf.dropdown tap.zf.dropdown",function(e){e.target!==t.$element[0]&&!r.a.contains(t.$element[0],e.target)&&r.a.contains(document,e.target)&&t.close()}),this.options.closeOnEsc&&r()(window).on("keydown.zf.reveal",function(e){s.Keyboard.handleKey(e,"Reveal",{close:function(){t.options.closeOnEsc&&t.close()}})}))}},{key:"close",value:function(){if(!this.isActive||!this.$element.is(":visible"))return!1;var t=this;function e(){var e=parseInt(r()("html").css("top"));0===r()(".reveal:visible").length&&t._removeGlobalClasses(),s.Keyboard.releaseFocus(t.$element),t.$element.attr("aria-hidden",!0),0===r()(".reveal:visible").length&&t._enableScroll(e),t.$element.trigger("closed.zf.reveal")}if(this.options.animationOut?(this.options.overlay&&l.Motion.animateOut(this.$overlay,"fade-out"),l.Motion.animateOut(this.$element,this.options.animationOut,e)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,e):e()),this.options.closeOnEsc&&r()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&r()("body").off("click.zf.dropdown tap.zf.dropdown"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,t.options.deepLink&&window.location.hash==="#".concat(this.id))if(window.history.replaceState){var i=window.location.pathname+window.location.search;this.options.updateHistory?window.history.pushState({},"",i):window.history.replaceState("",document.title,i)}else window.location.hash="";this.$activeAnchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(r()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),r()(window).off(".zf.reveal:".concat(this.id)),this.onLoadListener&&r()(window).off(this.onLoadListener),0===r()(".reveal:visible").length&&this._removeGlobalClasses()}}]),i}();v.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},"./js/foundation.util.triggers.js":function(e,t,i){"use strict";i.r(t),i.d(t,"Triggers",function(){return u});var o=i("jquery"),s=i.n(o),n=i("./foundation.core"),r=i("./foundation.util.motion");function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(t,i){t.data(i).split(" ").forEach(function(e){s()("#".concat(e))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[t])})}var c=function(){for(var e=["WebKit","Moz","O","Ms",""],t=0;t
        ").addClass("reveal-overlay"+e).appendTo(this.options.appendTo)}},{key:"_updatePosition",value:function(){var e=this.$element.outerWidth(),t=s()(window).width(),i=this.$element.outerHeight(),o=s()(window).height(),n=null,e="auto"===this.options.hOffset?parseInt((t-e)/2,10):parseInt(this.options.hOffset,10);"auto"===this.options.vOffset?n=os()(window).height()&&s()("html").css("top",-e)}},{key:"_enableScroll",value:function(e){e=e||parseInt(s()("html").css("top")),s()(document).height()>s()(window).height()&&(s()("html").css("top",""),s()(window).scrollTop(-e))}},{key:"open",value:function(){var e=this,t="#".concat(this.id);this.options.deepLink&&window.location.hash!==t&&(window.history.pushState?this.options.updateHistory?window.history.pushState({},"",t):window.history.replaceState({},"",t):window.location.hash=t),this.$activeAnchor=s()(document.activeElement).is(this.$anchor)?s()(document.activeElement):this.$anchor,this.isActive=!0,this.$element.css({visibility:"hidden"}).show().scrollTop(0),this.options.overlay&&this.$overlay.css({visibility:"hidden"}).show(),this._updatePosition(),this.$element.hide().css({visibility:""}),this.$overlay&&(this.$overlay.css({visibility:""}).hide(),this.$element.hasClass("fast")?this.$overlay.addClass("fast"):this.$element.hasClass("slow")&&this.$overlay.addClass("slow")),this.options.multipleOpened||this.$element.trigger("closeme.zf.reveal",this.id),0===s()(".reveal:visible").length&&this._disableScroll();var i=this;this.options.animationIn?(this.options.overlay&&c.Motion.animateIn(this.$overlay,"fade-in"),c.Motion.animateIn(this.$element,this.options.animationIn,function(){e.$element&&(e.focusableElements=a.Keyboard.findFocusable(e.$element),i.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),i._addGlobalClasses(),a.Keyboard.trapFocus(i.$element))})):(this.options.overlay&&this.$overlay.show(0),this.$element.show(this.options.showDelay)),this.$element.attr({"aria-hidden":!1,tabindex:-1}).focus(),a.Keyboard.trapFocus(this.$element),this._addGlobalClasses(),this._addGlobalListeners(),this.$element.trigger("open.zf.reveal")}},{key:"_addGlobalClasses",value:function(){function e(){s()("html").toggleClass("zf-has-scroll",!!(s()(document).height()>s()(window).height()))}this.$element.on("resizeme.zf.trigger.revealScrollbarListener",e),e(),s()("html").addClass("is-reveal-open")}},{key:"_removeGlobalClasses",value:function(){this.$element.off("resizeme.zf.trigger.revealScrollbarListener"),s()("html").removeClass("is-reveal-open"),s()("html").removeClass("zf-has-scroll")}},{key:"_addGlobalListeners",value:function(){var t=this;this.$element&&(this.focusableElements=a.Keyboard.findFocusable(this.$element),this.options.overlay||!this.options.closeOnClick||this.options.fullScreen||s()("body").on("click.zf.dropdown tap.zf.dropdown",function(e){e.target!==t.$element[0]&&!s.a.contains(t.$element[0],e.target)&&s.a.contains(document,e.target)&&t.close()}),this.options.closeOnEsc&&s()(window).on("keydown.zf.reveal",function(e){a.Keyboard.handleKey(e,"Reveal",{close:function(){t.options.closeOnEsc&&t.close()}})}))}},{key:"close",value:function(){if(!this.isActive||!this.$element.is(":visible"))return!1;var e,t=this;function i(){var e=parseInt(s()("html").css("top"));0===s()(".reveal:visible").length&&t._removeGlobalClasses(),a.Keyboard.releaseFocus(t.$element),t.$element.attr("aria-hidden",!0),0===s()(".reveal:visible").length&&t._enableScroll(e),t.$element.trigger("closed.zf.reveal")}this.options.animationOut?(this.options.overlay&&c.Motion.animateOut(this.$overlay,"fade-out"),c.Motion.animateOut(this.$element,this.options.animationOut,i)):(this.$element.hide(this.options.hideDelay),this.options.overlay?this.$overlay.hide(0,i):i()),this.options.closeOnEsc&&s()(window).off("keydown.zf.reveal"),!this.options.overlay&&this.options.closeOnClick&&s()("body").off("click.zf.dropdown tap.zf.dropdown"),this.$element.off("keydown.zf.reveal"),this.options.resetOnClose&&this.$element.html(this.$element.html()),this.isActive=!1,t.options.deepLink&&window.location.hash==="#".concat(this.id)&&(window.history.replaceState?(e=window.location.pathname+window.location.search,this.options.updateHistory?window.history.pushState({},"",e):window.history.replaceState("",document.title,e)):window.location.hash=""),this.$activeAnchor.focus()}},{key:"toggle",value:function(){this.isActive?this.close():this.open()}},{key:"_destroy",value:function(){this.options.overlay&&(this.$element.appendTo(s()(this.options.appendTo)),this.$overlay.hide().off().remove()),this.$element.hide().off(),this.$anchor.off(".zf"),s()(window).off(".zf.reveal:".concat(this.id)),this.onLoadListener&&s()(window).off(this.onLoadListener),0===s()(".reveal:visible").length&&this._removeGlobalClasses()}}])&&f(e.prototype,t),i&&f(e,i),n}();o.defaults={animationIn:"",animationOut:"",showDelay:0,hideDelay:0,closeOnClick:!0,closeOnEsc:!0,multipleOpened:!1,vOffset:"auto",hOffset:"auto",fullScreen:!1,overlay:!0,resetOnClose:!1,deepLink:!1,updateHistory:!1,appendTo:"body",additionalOverlayClasses:""}},"./js/foundation.util.triggers.js":function(e,t,i){"use strict";i.r(t),i.d(t,"Triggers",function(){return c});var t=i("jquery"),s=i.n(t),o=i("./foundation.core"),n=i("./foundation.util.motion");function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(t,i){t.data(i).split(" ").forEach(function(e){s()("#".concat(e))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[t])})}var l=function(){for(var e=["WebKit","Moz","O","Ms",""],t=0;t this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('
        ')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if ($('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/foundation/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if ($('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\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__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.reveal.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_reveal__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Reveal","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_6__","_typeof","obj","Symbol","iterator","constructor","prototype","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","key","element","$","this","className","_init","Keyboard","a","init","register","ESCAPE","MediaQuery","cached","$element","attr","mq","isActive","$anchor","current","concat","id","length","aria-controls","aria-haspopup","options","overlay","hasClass","fullScreen","$overlay","role","aria-hidden","data-yeti-box","detach","appendTo","_events","deepLink","location","hash","onLoadListener","_this2","open","additionalOverlayClasses","addClass","value","outerWidth","height","outerHeight","width","left","top","hOffset","parseInt","Math","vOffset","css","margin","_this","on","open.zf.trigger","close.zf.trigger","event","target","parents","_this3","close","apply","_updatePosition","toggle","bind","resizeme.zf.trigger","closeOnClick","off","e","contains","document","_handleState","scrollTop","_this4","updateHistory","history","pushState","replaceState","show","visibility","hide","animateIn","animationIn","focusableElements","findFocusable","trapFocus","_addGlobalListeners","trigger","updateScrollbarClass","removeClass","handleKey","closeOnEsc","is","urlWithoutHash","finishUp","_removeGlobalClasses","releaseFocus","_enableScroll","Motion","animateOut","animationOut","hideDelay","resetOnClose","pathname","search","title","$activeAnchor","focus","showDelay","multipleOpened","Triggers","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","data","split","forEach","MutationObserver","prefixes","i","Listeners","Basic","Global","Initializers","timer","Array","slice","call","arguments","clearTimeout","setTimeout","args","listener","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","yetiBoxes","pluginName","plugNames","console","error","map","name","listeners","join","debounceGlobalListener","debounce","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","elementObserver","attributes","childList","characterData","subtree","$document","addMutationEventsListener","addResizeListener","addScrollListener","onLoad","triggersInitialized","addSimpleListeners","addGlobalListeners","installedModules","m","modules","c","getter","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","object","property","hasOwnProperty","p","s","moduleId","l"],"mappings":"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","file":"foundation.reveal.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.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.reveal\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.reveal\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Reveal } from '../../foundation.reveal';\nFoundation.plugin(Reveal, 'Reveal');\n\nexport { Foundation, Reveal };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Motion } from './foundation.util.motion';\nimport { Triggers } from './foundation.util.triggers';\nimport { Touch } from './foundation.util.touch'\n\n/**\n * Reveal module.\n * @module foundation.reveal\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion if using animations\n */\n\nclass Reveal extends Plugin {\n /**\n * Creates a new instance of Reveal.\n * @class\n * @name Reveal\n * @param {jQuery} element - jQuery object to use for the modal.\n * @param {Object} options - optional parameters.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);\n this.className = 'Reveal'; // ie9 back compat\n this._init();\n\n // Touch and Triggers init are idempotent, just need to make sure they are initialized\n Touch.init($);\n Triggers.init($);\n\n Keyboard.register('Reveal', {\n 'ESCAPE': 'close',\n });\n }\n\n /**\n * Initializes the modal by adding the overlay and close buttons, (if selected).\n * @private\n */\n _init() {\n MediaQuery._init();\n this.id = this.$element.attr('id');\n this.isActive = false;\n this.cached = {mq: MediaQuery.current};\n\n this.$anchor = $(`[data-open=\"${this.id}\"]`).length ? $(`[data-open=\"${this.id}\"]`) : $(`[data-toggle=\"${this.id}\"]`);\n this.$anchor.attr({\n 'aria-controls': this.id,\n 'aria-haspopup': true,\n 'tabindex': 0\n });\n\n if (this.options.fullScreen || this.$element.hasClass('full')) {\n this.options.fullScreen = true;\n this.options.overlay = false;\n }\n if (this.options.overlay && !this.$overlay) {\n this.$overlay = this._makeOverlay(this.id);\n }\n\n this.$element.attr({\n 'role': 'dialog',\n 'aria-hidden': true,\n 'data-yeti-box': this.id,\n 'data-resize': this.id\n });\n\n if(this.$overlay) {\n this.$element.detach().appendTo(this.$overlay);\n } else {\n this.$element.detach().appendTo($(this.options.appendTo));\n this.$element.addClass('without-overlay');\n }\n this._events();\n if (this.options.deepLink && window.location.hash === ( `#${this.id}`)) {\n this.onLoadListener = onLoad($(window), () => this.open());\n }\n }\n\n /**\n * Creates an overlay div to display behind the modal.\n * @private\n */\n _makeOverlay() {\n var additionalOverlayClasses = '';\n\n if (this.options.additionalOverlayClasses) {\n additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses;\n }\n\n return $('
        ')\n .addClass('reveal-overlay' + additionalOverlayClasses)\n .appendTo(this.options.appendTo);\n }\n\n /**\n * Updates position of modal\n * TODO: Figure out if we actually need to cache these values or if it doesn't matter\n * @private\n */\n _updatePosition() {\n var width = this.$element.outerWidth();\n var outerWidth = $(window).width();\n var height = this.$element.outerHeight();\n var outerHeight = $(window).height();\n var left, top = null;\n if (this.options.hOffset === 'auto') {\n left = parseInt((outerWidth - width) / 2, 10);\n } else {\n left = parseInt(this.options.hOffset, 10);\n }\n if (this.options.vOffset === 'auto') {\n if (height > outerHeight) {\n top = parseInt(Math.min(100, outerHeight / 10), 10);\n } else {\n top = parseInt((outerHeight - height) / 4, 10);\n }\n } else if (this.options.vOffset !== null) {\n top = parseInt(this.options.vOffset, 10);\n }\n\n if (top !== null) {\n this.$element.css({top: top + 'px'});\n }\n\n // only worry about left if we don't have an overlay or we have a horizontal offset,\n // otherwise we're perfectly in the middle\n if (!this.$overlay || (this.options.hOffset !== 'auto')) {\n this.$element.css({left: left + 'px'});\n this.$element.css({margin: '0px'});\n }\n\n }\n\n /**\n * Adds event handlers for the modal.\n * @private\n */\n _events() {\n var _this = this;\n\n this.$element.on({\n 'open.zf.trigger': this.open.bind(this),\n 'close.zf.trigger': (event, $element) => {\n if ((event.target === _this.$element[0]) ||\n ($(event.target).parents('[data-closable]')[0] === $element)) { // only close reveal when it's explicitly called\n return this.close.apply(this);\n }\n },\n 'toggle.zf.trigger': this.toggle.bind(this),\n 'resizeme.zf.trigger': function() {\n _this._updatePosition();\n }\n });\n\n if (this.options.closeOnClick && this.options.overlay) {\n this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) {\n return;\n }\n _this.close();\n });\n }\n if (this.options.deepLink) {\n $(window).on(`hashchange.zf.reveal:${this.id}`, this._handleState.bind(this));\n }\n }\n\n /**\n * Handles modal methods on back/forward button clicks or any other event that triggers hashchange.\n * @private\n */\n _handleState(e) {\n if(window.location.hash === ( '#' + this.id) && !this.isActive){ this.open(); }\n else{ this.close(); }\n }\n\n /**\n * Disables the scroll when Reveal is shown to prevent the background from shifting\n * @param {number} scrollTop - Scroll to visually apply, window current scroll by default\n */\n _disableScroll(scrollTop) {\n scrollTop = scrollTop || $(window).scrollTop();\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", -scrollTop);\n }\n }\n\n /**\n * Reenables the scroll when Reveal closes\n * @param {number} scrollTop - Scroll to restore, html \"top\" property by default (as set by `_disableScroll`)\n */\n _enableScroll(scrollTop) {\n scrollTop = scrollTop || parseInt($(\"html\").css(\"top\"));\n if ($(document).height() > $(window).height()) {\n $(\"html\")\n .css(\"top\", \"\");\n $(window).scrollTop(-scrollTop);\n }\n }\n\n\n /**\n * Opens the modal controlled by `this.$anchor`, and closes all others by default.\n * @function\n * @fires Reveal#closeme\n * @fires Reveal#open\n */\n open() {\n // either update or replace browser history\n const hash = `#${this.id}`;\n if (this.options.deepLink && window.location.hash !== hash) {\n\n if (window.history.pushState) {\n if (this.options.updateHistory) {\n window.history.pushState({}, '', hash);\n } else {\n window.history.replaceState({}, '', hash);\n }\n } else {\n window.location.hash = hash;\n }\n }\n\n // Remember anchor that opened it to set focus back later, have general anchors as fallback\n this.$activeAnchor = $(document.activeElement).is(this.$anchor) ? $(document.activeElement) : this.$anchor;\n\n this.isActive = true;\n\n // Make elements invisible, but remove display: none so we can get size and positioning\n this.$element\n .css({ 'visibility': 'hidden' })\n .show()\n .scrollTop(0);\n if (this.options.overlay) {\n this.$overlay.css({'visibility': 'hidden'}).show();\n }\n\n this._updatePosition();\n\n this.$element\n .hide()\n .css({ 'visibility': '' });\n\n if(this.$overlay) {\n this.$overlay.css({'visibility': ''}).hide();\n if(this.$element.hasClass('fast')) {\n this.$overlay.addClass('fast');\n } else if (this.$element.hasClass('slow')) {\n this.$overlay.addClass('slow');\n }\n }\n\n\n if (!this.options.multipleOpened) {\n /**\n * Fires immediately before the modal opens.\n * Closes any other modals that are currently open\n * @event Reveal#closeme\n */\n this.$element.trigger('closeme.zf.reveal', this.id);\n }\n\n if ($('.reveal:visible').length === 0) {\n this._disableScroll();\n }\n\n var _this = this;\n\n // Motion UI method of reveal\n if (this.options.animationIn) {\n function afterAnimation(){\n _this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n _this._addGlobalClasses();\n Keyboard.trapFocus(_this.$element);\n }\n if (this.options.overlay) {\n Motion.animateIn(this.$overlay, 'fade-in');\n }\n Motion.animateIn(this.$element, this.options.animationIn, () => {\n if(this.$element) { // protect against object having been removed\n this.focusableElements = Keyboard.findFocusable(this.$element);\n afterAnimation();\n }\n });\n }\n // jQuery method of reveal\n else {\n if (this.options.overlay) {\n this.$overlay.show(0);\n }\n this.$element.show(this.options.showDelay);\n }\n\n // handle accessibility\n this.$element\n .attr({\n 'aria-hidden': false,\n 'tabindex': -1\n })\n .focus();\n Keyboard.trapFocus(this.$element);\n\n this._addGlobalClasses();\n\n this._addGlobalListeners();\n\n /**\n * Fires when the modal has successfully opened.\n * @event Reveal#open\n */\n this.$element.trigger('open.zf.reveal');\n }\n\n /**\n * Adds classes and listeners on document required by open modals.\n *\n * The following classes are added and updated:\n * - `.is-reveal-open` - Prevents the scroll on document\n * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the\n * scroll was not disabled. This prevent a \"shift\" of the page content due\n * the scrollbar disappearing when the modal opens.\n *\n * @private\n */\n _addGlobalClasses() {\n const updateScrollbarClass = () => {\n $('html').toggleClass('zf-has-scroll', !!($(document).height() > $(window).height()));\n };\n\n this.$element.on('resizeme.zf.trigger.revealScrollbarListener', () => updateScrollbarClass());\n updateScrollbarClass();\n $('html').addClass('is-reveal-open');\n }\n\n /**\n * Removes classes and listeners on document that were required by open modals.\n * @private\n */\n _removeGlobalClasses() {\n this.$element.off('resizeme.zf.trigger.revealScrollbarListener');\n $('html').removeClass('is-reveal-open');\n $('html').removeClass('zf-has-scroll');\n }\n\n /**\n * Adds extra event handlers for the body and window if necessary.\n * @private\n */\n _addGlobalListeners() {\n var _this = this;\n if(!this.$element) { return; } // If we're in the middle of cleanup, don't freak out\n this.focusableElements = Keyboard.findFocusable(this.$element);\n\n if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {\n $('body').on('click.zf.dropdown tap.zf.dropdown', function(e) {\n if (e.target === _this.$element[0] ||\n $.contains(_this.$element[0], e.target) ||\n !$.contains(document, e.target)) { return; }\n _this.close();\n });\n }\n\n if (this.options.closeOnEsc) {\n $(window).on('keydown.zf.reveal', function(e) {\n Keyboard.handleKey(e, 'Reveal', {\n close: function() {\n if (_this.options.closeOnEsc) {\n _this.close();\n }\n }\n });\n });\n }\n }\n\n /**\n * Closes the modal.\n * @function\n * @fires Reveal#closed\n */\n close() {\n if (!this.isActive || !this.$element.is(':visible')) {\n return false;\n }\n var _this = this;\n\n // Motion UI method of hiding\n if (this.options.animationOut) {\n if (this.options.overlay) {\n Motion.animateOut(this.$overlay, 'fade-out');\n }\n\n Motion.animateOut(this.$element, this.options.animationOut, finishUp);\n }\n // jQuery method of hiding\n else {\n this.$element.hide(this.options.hideDelay);\n\n if (this.options.overlay) {\n this.$overlay.hide(0, finishUp);\n }\n else {\n finishUp();\n }\n }\n\n // Conditionals to remove extra event listeners added on open\n if (this.options.closeOnEsc) {\n $(window).off('keydown.zf.reveal');\n }\n\n if (!this.options.overlay && this.options.closeOnClick) {\n $('body').off('click.zf.dropdown tap.zf.dropdown');\n }\n\n this.$element.off('keydown.zf.reveal');\n\n function finishUp() {\n\n // Get the current top before the modal is closed and restore the scroll after.\n // TODO: use component properties instead of HTML properties\n // See https://github.com/foundation/foundation-sites/pull/10786\n var scrollTop = parseInt($(\"html\").css(\"top\"));\n\n if ($('.reveal:visible').length === 0) {\n _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n\n Keyboard.releaseFocus(_this.$element);\n\n _this.$element.attr('aria-hidden', true);\n\n if ($('.reveal:visible').length === 0) {\n _this._enableScroll(scrollTop);\n }\n\n /**\n * Fires when the modal is done closing.\n * @event Reveal#closed\n */\n _this.$element.trigger('closed.zf.reveal');\n }\n\n /**\n * Resets the modal content\n * This prevents a running video to keep going in the background\n */\n if (this.options.resetOnClose) {\n this.$element.html(this.$element.html());\n }\n\n this.isActive = false;\n // If deepLink and we did not switched to an other modal...\n if (_this.options.deepLink && window.location.hash === `#${this.id}`) {\n // Remove the history hash\n if (window.history.replaceState) {\n const urlWithoutHash = window.location.pathname + window.location.search;\n if (this.options.updateHistory) {\n window.history.pushState({}, '', urlWithoutHash); // remove the hash\n } else {\n window.history.replaceState('', document.title, urlWithoutHash);\n }\n } else {\n window.location.hash = '';\n }\n }\n\n this.$activeAnchor.focus();\n }\n\n /**\n * Toggles the open/closed state of a modal.\n * @function\n */\n toggle() {\n if (this.isActive) {\n this.close();\n } else {\n this.open();\n }\n };\n\n /**\n * Destroys an instance of a modal.\n * @function\n */\n _destroy() {\n if (this.options.overlay) {\n this.$element.appendTo($(this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin()\n this.$overlay.hide().off().remove();\n }\n this.$element.hide().off();\n this.$anchor.off('.zf');\n $(window).off(`.zf.reveal:${this.id}`)\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n\n if ($('.reveal:visible').length === 0) {\n this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal\n }\n };\n}\n\nReveal.defaults = {\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationIn: '',\n /**\n * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.\n * @option\n * @type {string}\n * @default ''\n */\n animationOut: '',\n /**\n * Time, in ms, to delay the opening of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n showDelay: 0,\n /**\n * Time, in ms, to delay the closing of a modal after a click if no animation used.\n * @option\n * @type {number}\n * @default 0\n */\n hideDelay: 0,\n /**\n * Allows a click on the body/overlay to close the modal.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n /**\n * Allows the modal to close if the user presses the `ESCAPE` key.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnEsc: true,\n /**\n * If true, allows multiple modals to be displayed at once.\n * @option\n * @type {boolean}\n * @default false\n */\n multipleOpened: false,\n /**\n * Distance, in pixels, the modal should push down from the top of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n vOffset: 'auto',\n /**\n * Distance, in pixels, the modal should push in from the side of the screen.\n * @option\n * @type {number|string}\n * @default auto\n */\n hOffset: 'auto',\n /**\n * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.\n * @option\n * @type {boolean}\n * @default false\n */\n fullScreen: false,\n /**\n * Allows the modal to generate an overlay div, which will cover the view when modal opens.\n * @option\n * @type {boolean}\n * @default true\n */\n overlay: true,\n /**\n * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.\n * @option\n * @type {boolean}\n * @default false\n */\n resetOnClose: false,\n /**\n * Link the location hash to the modal.\n * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n /**\n * If `deepLink` is enabled, update the browser history with the open modal\n * @option\n * @default false\n */\n updateHistory: false,\n /**\n * Allows the modal to append to custom div.\n * @option\n * @type {string}\n * @default \"body\"\n */\n appendTo: \"body\",\n /**\n * Allows adding additional class names to the reveal overlay.\n * @option\n * @type {string}\n * @default ''\n */\n additionalOverlayClasses: ''\n};\n\nexport {Reveal};\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"," \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 = 14);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.slider.js b/dist/js/plugins/foundation.slider.js index 6e769210d6..b596f63cfb 100644 --- a/dist/js/plugins/foundation.slider.js +++ b/dist/js/plugins/foundation.slider.js @@ -184,9 +184,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.util.touch */ "./foundation.util.touch"); /* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_touch__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js"); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -194,15 +192,19 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } @@ -220,20 +222,20 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func * @requires foundation.util.touch */ -var Slider = -/*#__PURE__*/ -function (_Plugin) { +var Slider = /*#__PURE__*/function (_Plugin) { _inherits(Slider, _Plugin); + var _super = _createSuper(Slider); + function Slider() { _classCallCheck(this, Slider); - return _possibleConstructorReturn(this, _getPrototypeOf(Slider).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Slider, [{ key: "_setup", - + value: /** * Creates a new instance of a slider control. * @class @@ -241,7 +243,7 @@ function (_Plugin) { * @param {jQuery} element - jQuery object to make into a slider control. * @param {Object} options - Overrides to the default plugin settings. */ - value: function _setup(element, options) { + function _setup(element, options) { this.$element = element; this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Slider.defaults, this.$element.data(), options); this.className = 'Slider'; // ie9 back compat @@ -1036,9 +1038,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion"); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -1172,9 +1172,8 @@ Triggers.Listeners.Global = { _this.triggerHandler('close.zf.trigger', [_this]); }); - } // Global, parses whole document. - -}; + } +}; // Global, parses whole document. Triggers.Initializers.addClosemeListener = function (pluginName) { var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'), diff --git a/dist/js/plugins/foundation.slider.js.map b/dist/js/plugins/foundation.slider.js.map index 3469ae4a13..02865a3e2b 100644 --- a/dist/js/plugins/foundation.slider.js.map +++ b/dist/js/plugins/foundation.slider.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.slider.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","Slider","element","options","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","inputs","find","handles","$handle","eq","$input","length","attr","$fill","css","vertical","_this","disabled","hasClass","disabledClass","addClass","add","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_events","_setHandlePos","val","value","pctOfBar","percent","start","end","positionValueFunction","_logTransform","_powTransform","toFixed","parseFloat","baseLog","nonLinearBase","Math","pow","$hndl","location","cb","isDbl","index","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","getBoundingClientRect","elemDim","_pctOfBar","pxToMove","movement","decimal","_setValues","isLeftHndl","dim","handlePct","style","handlePos","isNaN","initialStart","one","trigger","moveTime","Move","clearTimeout","timeout","setTimeout","changedDelay","idx","initVal","initialEnd","id","GetYoDigits","e","hasVal","preventDefault","param","direction","eventOffset","pageY","pageX","barDim","windowScroll","window","scrollTop","scrollLeft","elemOffset","offset","clientY","eventFromBar","barXY","offsetPct","_value","Rtl","_adjustValue","firstHndlPos","absPosition","secndHndlPos","div","left","prev_val","next_val","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","off","on","keyCode","call","clickSelect","target","is","draggable","addTouch","$body","currentTarget","removeClass","_$handle","oldValue","newValue","handleKey","decrease","increase","decrease_fast","increase_fast","min","max","handled","Plugin","invertVertical","frac","num","dir","clickPos","abs","position","base","log","MutationObserver","prefixes","i","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","arguments","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;ACAA,uE;;;;;;;;;;;ACAA,qE;;;;;;;;;;;ACAA,oE;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,yDAAlB,EAA0B,QAA1B;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;;;;;;;;;;;;;;;;;AAEb;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;;;;;;;;;IASMA,M;;;;;;;;;;;;;;AACJ;;;;;;;2BAOOC,O,EAASC,O,EAAS;AACvB,WAAKC,QAAL,GAAgBF,OAAhB;AACA,WAAKC,OAAL,GAAeE,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAaL,MAAM,CAACM,QAApB,EAA8B,KAAKH,QAAL,CAAcI,IAAd,EAA9B,EAAoDL,OAApD,CAAf;AACA,WAAKM,SAAL,GAAiB,QAAjB,CAHuB,CAGI;AAE7B;;AACEC,kEAAK,CAACC,IAAN,CAAWN,6CAAX;AACAO,wEAAQ,CAACD,IAAT,CAAcN,6CAAd;;AAEA,WAAKQ,KAAL;;AAEAC,wEAAQ,CAACC,QAAT,CAAkB,QAAlB,EAA4B;AAC1B,eAAO;AACL,yBAAe,UADV;AAEL,sBAAY,UAFP;AAGL,wBAAc,UAHT;AAIL,wBAAc,UAJT;AAKL,+BAAqB,eALhB;AAML,4BAAkB,eANb;AAOL,8BAAoB,eAPf;AAQL,8BAAoB,eARf;AASL,kBAAQ,KATH;AAUL,iBAAO;AAVF,SADmB;AAa1B,eAAO;AACL,wBAAc,UADT;AAEL,yBAAe,UAFV;AAGL,8BAAoB,eAHf;AAIL,+BAAqB;AAJhB;AAbmB,OAA5B;AAoBD;AAED;;;;;;;;4BAKQ;AACN,WAAKC,MAAL,GAAc,KAAKZ,QAAL,CAAca,IAAd,CAAmB,OAAnB,CAAd;AACA,WAAKC,OAAL,GAAe,KAAKd,QAAL,CAAca,IAAd,CAAmB,sBAAnB,CAAf;AAEA,WAAKE,OAAL,GAAe,KAAKD,OAAL,CAAaE,EAAb,CAAgB,CAAhB,CAAf;AACA,WAAKC,MAAL,GAAc,KAAKL,MAAL,CAAYM,MAAZ,GAAqB,KAAKN,MAAL,CAAYI,EAAZ,CAAe,CAAf,CAArB,GAAyCf,6CAAC,YAAK,KAAKc,OAAL,CAAaI,IAAb,CAAkB,eAAlB,CAAL,EAAxD;AACA,WAAKC,KAAL,GAAa,KAAKpB,QAAL,CAAca,IAAd,CAAmB,oBAAnB,EAAyCQ,GAAzC,CAA6C,KAAKtB,OAAL,CAAauB,QAAb,GAAwB,QAAxB,GAAmC,OAAhF,EAAyF,CAAzF,CAAb;;AAEA,UAAIC,KAAK,GAAG,IAAZ;;AACA,UAAI,KAAKxB,OAAL,CAAayB,QAAb,IAAyB,KAAKxB,QAAL,CAAcyB,QAAd,CAAuB,KAAK1B,OAAL,CAAa2B,aAApC,CAA7B,EAAiF;AAC/E,aAAK3B,OAAL,CAAayB,QAAb,GAAwB,IAAxB;AACA,aAAKxB,QAAL,CAAc2B,QAAd,CAAuB,KAAK5B,OAAL,CAAa2B,aAApC;AACD;;AACD,UAAI,CAAC,KAAKd,MAAL,CAAYM,MAAjB,EAAyB;AACvB,aAAKN,MAAL,GAAcX,6CAAC,GAAG2B,GAAJ,CAAQ,KAAKX,MAAb,CAAd;AACA,aAAKlB,OAAL,CAAa8B,OAAb,GAAuB,IAAvB;AACD;;AAED,WAAKC,YAAL,CAAkB,CAAlB;;AAEA,UAAI,KAAKhB,OAAL,CAAa,CAAb,CAAJ,EAAqB;AACnB,aAAKf,OAAL,CAAagC,WAAb,GAA2B,IAA3B;AACA,aAAKC,QAAL,GAAgB,KAAKlB,OAAL,CAAaE,EAAb,CAAgB,CAAhB,CAAhB;AACA,aAAKiB,OAAL,GAAe,KAAKrB,MAAL,CAAYM,MAAZ,GAAqB,CAArB,GAAyB,KAAKN,MAAL,CAAYI,EAAZ,CAAe,CAAf,CAAzB,GAA6Cf,6CAAC,YAAK,KAAK+B,QAAL,CAAcb,IAAd,CAAmB,eAAnB,CAAL,EAA7D;;AAEA,YAAI,CAAC,KAAKP,MAAL,CAAY,CAAZ,CAAL,EAAqB;AACnB,eAAKA,MAAL,GAAc,KAAKA,MAAL,CAAYgB,GAAZ,CAAgB,KAAKK,OAArB,CAAd;AACD,SAPkB,CASnB;;;AACA,aAAKH,YAAL,CAAkB,CAAlB;AACD,OA/BK,CAiCN;;;AACA,WAAKI,UAAL;;AAEA,WAAKC,OAAL;AACD;;;iCAEY;AAAA;;AACX,UAAG,KAAKrB,OAAL,CAAa,CAAb,CAAH,EAAoB;AAClB,aAAKsB,aAAL,CAAmB,KAAKrB,OAAxB,EAAiC,KAAKH,MAAL,CAAYI,EAAZ,CAAe,CAAf,EAAkBqB,GAAlB,EAAjC,EAA0D,YAAM;AAC9D,gBAAI,CAACD,aAAL,CAAmB,MAAI,CAACJ,QAAxB,EAAkC,MAAI,CAACpB,MAAL,CAAYI,EAAZ,CAAe,CAAf,EAAkBqB,GAAlB,EAAlC;AACD,SAFD;AAGD,OAJD,MAIO;AACL,aAAKD,aAAL,CAAmB,KAAKrB,OAAxB,EAAiC,KAAKH,MAAL,CAAYI,EAAZ,CAAe,CAAf,EAAkBqB,GAAlB,EAAjC;AACD;AACF;;;8BAES;AACR,WAAKH,UAAL;AACD;AACD;;;;;;;;8BAKUI,K,EAAO;AACf,UAAIC,QAAQ,GAAGC,OAAO,CAACF,KAAK,GAAG,KAAKvC,OAAL,CAAa0C,KAAtB,EAA6B,KAAK1C,OAAL,CAAa2C,GAAb,GAAmB,KAAK3C,OAAL,CAAa0C,KAA7D,CAAtB;;AAEA,cAAO,KAAK1C,OAAL,CAAa4C,qBAApB;AACA,aAAK,KAAL;AACEJ,kBAAQ,GAAG,KAAKK,aAAL,CAAmBL,QAAnB,CAAX;AACA;;AACF,aAAK,KAAL;AACEA,kBAAQ,GAAG,KAAKM,aAAL,CAAmBN,QAAnB,CAAX;AACA;AANF;;AASA,aAAOA,QAAQ,CAACO,OAAT,CAAiB,CAAjB,CAAP;AACD;AAED;;;;;;;;2BAKOP,Q,EAAU;AACf,cAAO,KAAKxC,OAAL,CAAa4C,qBAApB;AACA,aAAK,KAAL;AACEJ,kBAAQ,GAAG,KAAKM,aAAL,CAAmBN,QAAnB,CAAX;AACA;;AACF,aAAK,KAAL;AACEA,kBAAQ,GAAG,KAAKK,aAAL,CAAmBL,QAAnB,CAAX;AACA;AANF;;AASA,UAAID,KAAJ;;AACA,UAAI,KAAKvC,OAAL,CAAauB,QAAjB,EAA2B;AACzB;AACA;AACAgB,aAAK,GAAGS,UAAU,CAAC,KAAKhD,OAAL,CAAa2C,GAAd,CAAV,GAA+BH,QAAQ,IAAI,KAAKxC,OAAL,CAAa0C,KAAb,GAAqB,KAAK1C,OAAL,CAAa2C,GAAtC,CAA/C;AACD,OAJD,MAIO;AACLJ,aAAK,GAAG,CAAC,KAAKvC,OAAL,CAAa2C,GAAb,GAAmB,KAAK3C,OAAL,CAAa0C,KAAjC,IAA0CF,QAA1C,GAAqDQ,UAAU,CAAC,KAAKhD,OAAL,CAAa0C,KAAd,CAAvE;AACD;;AAED,aAAOH,KAAP;AACD;AAED;;;;;;;;kCAKcA,K,EAAO;AACnB,aAAOU,OAAO,CAAC,KAAKjD,OAAL,CAAakD,aAAd,EAA+BX,KAAK,IAAE,KAAKvC,OAAL,CAAakD,aAAb,GAA2B,CAA7B,CAAN,GAAuC,CAArE,CAAd;AACD;AAED;;;;;;;;kCAKcX,K,EAAO;AACnB,aAAO,CAACY,IAAI,CAACC,GAAL,CAAS,KAAKpD,OAAL,CAAakD,aAAtB,EAAqCX,KAArC,IAA8C,CAA/C,KAAqD,KAAKvC,OAAL,CAAakD,aAAb,GAA6B,CAAlF,CAAP;AACD;AAED;;;;;;;;;;;;;kCAUcG,K,EAAOC,Q,EAAUC,E,EAAI;AACjC;AACA,UAAI,KAAKtD,QAAL,CAAcyB,QAAd,CAAuB,KAAK1B,OAAL,CAAa2B,aAApC,CAAJ,EAAwD;AACtD;AACD,OAJgC,CAKjC;;;AACA2B,cAAQ,GAAGN,UAAU,CAACM,QAAD,CAArB,CANiC,CAMD;AAEhC;;AACA,UAAIA,QAAQ,GAAG,KAAKtD,OAAL,CAAa0C,KAA5B,EAAmC;AAAEY,gBAAQ,GAAG,KAAKtD,OAAL,CAAa0C,KAAxB;AAAgC,OAArE,MACK,IAAIY,QAAQ,GAAG,KAAKtD,OAAL,CAAa2C,GAA5B,EAAiC;AAAEW,gBAAQ,GAAG,KAAKtD,OAAL,CAAa2C,GAAxB;AAA8B;;AAEtE,UAAIa,KAAK,GAAG,KAAKxD,OAAL,CAAagC,WAAzB;;AAEA,UAAIwB,KAAJ,EAAW;AAAE;AACX,YAAI,KAAKzC,OAAL,CAAa0C,KAAb,CAAmBJ,KAAnB,MAA8B,CAAlC,EAAqC;AACnC,cAAIK,KAAK,GAAGV,UAAU,CAAC,KAAKf,QAAL,CAAcb,IAAd,CAAmB,eAAnB,CAAD,CAAtB;AACAkC,kBAAQ,GAAGA,QAAQ,IAAII,KAAZ,GAAoBA,KAAK,GAAG,KAAK1D,OAAL,CAAa2D,IAAzC,GAAgDL,QAA3D;AACD,SAHD,MAGO;AACL,cAAIM,KAAK,GAAGZ,UAAU,CAAC,KAAKhC,OAAL,CAAaI,IAAb,CAAkB,eAAlB,CAAD,CAAtB;AACAkC,kBAAQ,GAAGA,QAAQ,IAAIM,KAAZ,GAAoBA,KAAK,GAAG,KAAK5D,OAAL,CAAa2D,IAAzC,GAAgDL,QAA3D;AACD;AACF;;AAED,UAAI9B,KAAK,GAAG,IAAZ;AAAA,UACIqC,IAAI,GAAG,KAAK7D,OAAL,CAAauB,QADxB;AAAA,UAEIuC,IAAI,GAAGD,IAAI,GAAG,QAAH,GAAc,OAF7B;AAAA,UAGIE,IAAI,GAAGF,IAAI,GAAG,KAAH,GAAW,MAH1B;AAAA,UAIIG,SAAS,GAAGX,KAAK,CAAC,CAAD,CAAL,CAASY,qBAAT,GAAiCH,IAAjC,CAJhB;AAAA,UAKII,OAAO,GAAG,KAAKjE,QAAL,CAAc,CAAd,EAAiBgE,qBAAjB,GAAyCH,IAAzC,CALd;AAAA,UAMI;AACAtB,cAAQ,GAAG,KAAK2B,SAAL,CAAeb,QAAf,CAPf;AAAA,UAQI;AACAc,cAAQ,GAAG,CAACF,OAAO,GAAGF,SAAX,IAAwBxB,QATvC;AAAA,UAUI;AACA6B,cAAQ,GAAG,CAAC5B,OAAO,CAAC2B,QAAD,EAAWF,OAAX,CAAP,GAA6B,GAA9B,EAAmCnB,OAAnC,CAA2C,KAAK/C,OAAL,CAAasE,OAAxD,CAXf,CAxBiC,CAoC7B;;;AACAhB,cAAQ,GAAGN,UAAU,CAACM,QAAQ,CAACP,OAAT,CAAiB,KAAK/C,OAAL,CAAasE,OAA9B,CAAD,CAArB,CArC6B,CAsC7B;;AACJ,UAAIhD,GAAG,GAAG,EAAV;;AAEA,WAAKiD,UAAL,CAAgBlB,KAAhB,EAAuBC,QAAvB,EAzCiC,CA2CjC;;;AACA,UAAIE,KAAJ,EAAW;AACT,YAAIgB,UAAU,GAAG,KAAKzD,OAAL,CAAa0C,KAAb,CAAmBJ,KAAnB,MAA8B,CAA/C;AAAA,YACI;AACAoB,WAFJ;AAAA,YAGI;AACAC,iBAAS,GAAI,CAAC,EAAEjC,OAAO,CAACuB,SAAD,EAAYE,OAAZ,CAAP,GAA8B,GAAhC,CAJlB,CADS,CAMT;;AACA,YAAIM,UAAJ,EAAgB;AACd;AACAlD,aAAG,CAACyC,IAAD,CAAH,aAAeM,QAAf,OAFc,CAGd;;AACAI,aAAG,GAAGzB,UAAU,CAAC,KAAKf,QAAL,CAAc,CAAd,EAAiB0C,KAAjB,CAAuBZ,IAAvB,CAAD,CAAV,GAA2CM,QAA3C,GAAsDK,SAA5D,CAJc,CAKd;AACA;;AACA,cAAInB,EAAE,IAAI,OAAOA,EAAP,KAAc,UAAxB,EAAoC;AAAEA,cAAE;AAAK,WAP/B,CAO+B;;AAC9C,SARD,MAQO;AACL;AACA,cAAIqB,SAAS,GAAG5B,UAAU,CAAC,KAAKhC,OAAL,CAAa,CAAb,EAAgB2D,KAAhB,CAAsBZ,IAAtB,CAAD,CAA1B,CAFK,CAGL;AACA;;AACAU,aAAG,GAAGJ,QAAQ,IAAIQ,KAAK,CAACD,SAAD,CAAL,GAAmB,CAAC,KAAK5E,OAAL,CAAa8E,YAAb,GAA4B,KAAK9E,OAAL,CAAa0C,KAA1C,KAAkD,CAAC,KAAK1C,OAAL,CAAa2C,GAAb,GAAiB,KAAK3C,OAAL,CAAa0C,KAA/B,IAAsC,GAAxF,CAAnB,GAAkHkC,SAAtH,CAAR,GAA2IF,SAAjJ;AACD,SArBQ,CAsBT;;;AACApD,WAAG,eAAQwC,IAAR,EAAH,aAAwBW,GAAxB;AACD;;AAED,WAAKxE,QAAL,CAAc8E,GAAd,CAAkB,qBAAlB,EAAyC,YAAW;AACpC;;;;AAIAvD,aAAK,CAACvB,QAAN,CAAe+E,OAAf,CAAuB,iBAAvB,EAA0C,CAAC3B,KAAD,CAA1C;AACH,OANb,EAtEiC,CA8EjC;;AACA,UAAI4B,QAAQ,GAAG,KAAKhF,QAAL,CAAcI,IAAd,CAAmB,UAAnB,IAAiC,OAAK,EAAtC,GAA2C,KAAKL,OAAL,CAAaiF,QAAvE;AAEAC,0EAAI,CAACD,QAAD,EAAW5B,KAAX,EAAkB,YAAW;AAC/B;AACA;AACA;AACA,YAAIwB,KAAK,CAACR,QAAD,CAAT,EAAqB;AACnBhB,eAAK,CAAC/B,GAAN,CAAUyC,IAAV,YAAmBvB,QAAQ,GAAG,GAA9B;AACD,SAFD,MAGK;AACHa,eAAK,CAAC/B,GAAN,CAAUyC,IAAV,YAAmBM,QAAnB;AACD;;AAED,YAAI,CAAC7C,KAAK,CAACxB,OAAN,CAAcgC,WAAnB,EAAgC;AAC9B;AACAR,eAAK,CAACH,KAAN,CAAYC,GAAZ,CAAgBwC,IAAhB,YAAyBtB,QAAQ,GAAG,GAApC;AACD,SAHD,MAGO;AACL;AACAhB,eAAK,CAACH,KAAN,CAAYC,GAAZ,CAAgBA,GAAhB;AACD;AACF,OAlBG,CAAJ;AAqBA;;;;;AAIA6D,kBAAY,CAAC3D,KAAK,CAAC4D,OAAP,CAAZ;AACA5D,WAAK,CAAC4D,OAAN,GAAgBC,UAAU,CAAC,YAAU;AACnC7D,aAAK,CAACvB,QAAN,CAAe+E,OAAf,CAAuB,mBAAvB,EAA4C,CAAC3B,KAAD,CAA5C;AACD,OAFyB,EAEvB7B,KAAK,CAACxB,OAAN,CAAcsF,YAFS,CAA1B;AAGD;AAED;;;;;;;;;iCAMaC,G,EAAK;AAChB,UAAIC,OAAO,GAAID,GAAG,KAAK,CAAR,GAAY,KAAKvF,OAAL,CAAa8E,YAAzB,GAAwC,KAAK9E,OAAL,CAAayF,UAApE;AACA,UAAIC,EAAE,GAAG,KAAK7E,MAAL,CAAYI,EAAZ,CAAesE,GAAf,EAAoBnE,IAApB,CAAyB,IAAzB,KAAkCuE,0EAAW,CAAC,CAAD,EAAI,QAAJ,CAAtD;AACA,WAAK9E,MAAL,CAAYI,EAAZ,CAAesE,GAAf,EAAoBnE,IAApB,CAAyB;AACvB,cAAMsE,EADiB;AAEvB,eAAO,KAAK1F,OAAL,CAAa2C,GAFG;AAGvB,eAAO,KAAK3C,OAAL,CAAa0C,KAHG;AAIvB,gBAAQ,KAAK1C,OAAL,CAAa2D;AAJE,OAAzB;AAMA,WAAK9C,MAAL,CAAYI,EAAZ,CAAesE,GAAf,EAAoBjD,GAApB,CAAwBkD,OAAxB;AACA,WAAKzE,OAAL,CAAaE,EAAb,CAAgBsE,GAAhB,EAAqBnE,IAArB,CAA0B;AACxB,gBAAQ,QADgB;AAExB,yBAAiBsE,EAFO;AAGxB,yBAAiB,KAAK1F,OAAL,CAAa2C,GAHN;AAIxB,yBAAiB,KAAK3C,OAAL,CAAa0C,KAJN;AAKxB,yBAAiB8C,OALO;AAMxB,4BAAoB,KAAKxF,OAAL,CAAauB,QAAb,GAAwB,UAAxB,GAAqC,YANjC;AAOxB,oBAAY;AAPY,OAA1B;AASD;AAED;;;;;;;;;;+BAOWP,O,EAASsB,G,EAAK;AACvB,UAAIiD,GAAG,GAAG,KAAKvF,OAAL,CAAagC,WAAb,GAA2B,KAAKjB,OAAL,CAAa0C,KAAb,CAAmBzC,OAAnB,CAA3B,GAAyD,CAAnE;AACA,WAAKH,MAAL,CAAYI,EAAZ,CAAesE,GAAf,EAAoBjD,GAApB,CAAwBA,GAAxB;AACAtB,aAAO,CAACI,IAAR,CAAa,eAAb,EAA8BkB,GAA9B;AACD;AAED;;;;;;;;;;;;;;iCAWasD,C,EAAG5E,O,EAASsB,G,EAAK;AAC5B,UAAIC,KAAJ,EAAWsD,MAAX;;AACA,UAAI,CAACvD,GAAL,EAAU;AAAC;AACTsD,SAAC,CAACE,cAAF;;AACA,YAAItE,KAAK,GAAG,IAAZ;AAAA,YACID,QAAQ,GAAG,KAAKvB,OAAL,CAAauB,QAD5B;AAAA,YAEIwE,KAAK,GAAGxE,QAAQ,GAAG,QAAH,GAAc,OAFlC;AAAA,YAGIyE,SAAS,GAAGzE,QAAQ,GAAG,KAAH,GAAW,MAHnC;AAAA,YAII0E,WAAW,GAAG1E,QAAQ,GAAGqE,CAAC,CAACM,KAAL,GAAaN,CAAC,CAACO,KAJzC;AAAA,YAKIC,MAAM,GAAG,KAAKnG,QAAL,CAAc,CAAd,EAAiBgE,qBAAjB,GAAyC8B,KAAzC,CALb;AAAA,YAMIM,YAAY,GAAG9E,QAAQ,GAAGrB,6CAAC,CAACoG,MAAD,CAAD,CAAUC,SAAV,EAAH,GAA2BrG,6CAAC,CAACoG,MAAD,CAAD,CAAUE,UAAV,EANtD;;AAQA,YAAIC,UAAU,GAAG,KAAKxG,QAAL,CAAcyG,MAAd,GAAuBV,SAAvB,CAAjB,CAVQ,CAYR;AACA;;AACA,YAAIJ,CAAC,CAACe,OAAF,KAAcf,CAAC,CAACM,KAApB,EAA2B;AAAED,qBAAW,GAAGA,WAAW,GAAGI,YAA5B;AAA2C;;AACxE,YAAIO,YAAY,GAAGX,WAAW,GAAGQ,UAAjC;AACA,YAAII,KAAJ;;AACA,YAAID,YAAY,GAAG,CAAnB,EAAsB;AACpBC,eAAK,GAAG,CAAR;AACD,SAFD,MAEO,IAAID,YAAY,GAAGR,MAAnB,EAA2B;AAChCS,eAAK,GAAGT,MAAR;AACD,SAFM,MAEA;AACLS,eAAK,GAAGD,YAAR;AACD;;AACD,YAAIE,SAAS,GAAGrE,OAAO,CAACoE,KAAD,EAAQT,MAAR,CAAvB;AAEA7D,aAAK,GAAG,KAAKwE,MAAL,CAAYD,SAAZ,CAAR,CA1BQ,CA4BR;;AACA,YAAIE,kEAAG,MAAM,CAAC,KAAKhH,OAAL,CAAauB,QAA3B,EAAqC;AAACgB,eAAK,GAAG,KAAKvC,OAAL,CAAa2C,GAAb,GAAmBJ,KAA3B;AAAkC;;AAExEA,aAAK,GAAGf,KAAK,CAACyF,YAAN,CAAmB,IAAnB,EAAyB1E,KAAzB,CAAR,CA/BQ,CAgCR;;AACAsD,cAAM,GAAG,KAAT;;AAEA,YAAI,CAAC7E,OAAL,EAAc;AAAC;AACb,cAAIkG,YAAY,GAAGC,WAAW,CAAC,KAAKnG,OAAN,EAAegF,SAAf,EAA0Ba,KAA1B,EAAiCd,KAAjC,CAA9B;AAAA,cACIqB,YAAY,GAAGD,WAAW,CAAC,KAAKlF,QAAN,EAAgB+D,SAAhB,EAA2Ba,KAA3B,EAAkCd,KAAlC,CAD9B;AAEI/E,iBAAO,GAAGkG,YAAY,IAAIE,YAAhB,GAA+B,KAAKpG,OAApC,GAA8C,KAAKiB,QAA7D;AACL;AAEF,OAzCD,MAyCO;AAAC;AACNM,aAAK,GAAG,KAAK0E,YAAL,CAAkB,IAAlB,EAAwB3E,GAAxB,CAAR;AACAuD,cAAM,GAAG,IAAT;AACD;;AAED,WAAKxD,aAAL,CAAmBrB,OAAnB,EAA4BuB,KAA5B;AACD;AAED;;;;;;;;;;iCAOavB,O,EAASuB,K,EAAO;AAC3B,UAAID,GAAJ;AAAA,UACEqB,IAAI,GAAG,KAAK3D,OAAL,CAAa2D,IADtB;AAAA,UAEE0D,GAAG,GAAGrE,UAAU,CAACW,IAAI,GAAC,CAAN,CAFlB;AAAA,UAGE2D,IAHF;AAAA,UAGQC,QAHR;AAAA,UAGkBC,QAHlB;;AAIA,UAAI,CAAC,CAACxG,OAAN,EAAe;AACbsB,WAAG,GAAGU,UAAU,CAAChC,OAAO,CAACI,IAAR,CAAa,eAAb,CAAD,CAAhB;AACD,OAFD,MAGK;AACHkB,WAAG,GAAGC,KAAN;AACD;;AACD,UAAID,GAAG,IAAI,CAAX,EAAc;AACZgF,YAAI,GAAGhF,GAAG,GAAGqB,IAAb;AACD,OAFD,MAEO;AACL2D,YAAI,GAAG3D,IAAI,GAAIrB,GAAG,GAAGqB,IAArB;AACD;;AACD4D,cAAQ,GAAGjF,GAAG,GAAGgF,IAAjB;AACAE,cAAQ,GAAGD,QAAQ,GAAG5D,IAAtB;;AACA,UAAI2D,IAAI,KAAK,CAAb,EAAgB;AACd,eAAOhF,GAAP;AACD;;AACDA,SAAG,GAAGA,GAAG,IAAIiF,QAAQ,GAAGF,GAAlB,GAAwBG,QAAxB,GAAmCD,QAAzC;AACA,aAAOjF,GAAP;AACD;AAED;;;;;;;;8BAKU;AACR,WAAKmF,gBAAL,CAAsB,KAAKzG,OAA3B;;AACA,UAAG,KAAKD,OAAL,CAAa,CAAb,CAAH,EAAoB;AAClB,aAAK0G,gBAAL,CAAsB,KAAKxF,QAA3B;AACD;AACF;AAGD;;;;;;;;;qCAMiBjB,O,EAAS;AACxB,UAAIQ,KAAK,GAAG,IAAZ;AAAA,UACIkG,SADJ;;AAGE,UAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAS/B,CAAT,EAAY;AACpC,YAAML,GAAG,GAAG/D,KAAK,CAACX,MAAN,CAAa4C,KAAb,CAAmBvD,6CAAC,CAAC,IAAD,CAApB,CAAZ;;AACAsB,aAAK,CAACoG,YAAN,CAAmBhC,CAAnB,EAAsBpE,KAAK,CAACT,OAAN,CAAcE,EAAd,CAAiBsE,GAAjB,CAAtB,EAA6CrF,6CAAC,CAAC,IAAD,CAAD,CAAQoC,GAAR,EAA7C;AACD,OAHD,CAJsB,CAStB;AACA;AACA;;;AACA,WAAKzB,MAAL,CAAYgH,GAAZ,CAAgB,iBAAhB,EAAmCC,EAAnC,CAAsC,iBAAtC,EAAyD,UAAUlC,CAAV,EAAa;AACpE,YAAGA,CAAC,CAACmC,OAAF,IAAa,EAAhB,EAAoBJ,iBAAiB,CAACK,IAAlB,CAAuB,IAAvB,EAA6BpC,CAA7B;AACrB,OAFD;AAIA,WAAK/E,MAAL,CAAYgH,GAAZ,CAAgB,kBAAhB,EAAoCC,EAApC,CAAuC,kBAAvC,EAA2DH,iBAA3D;;AAEA,UAAI,KAAK3H,OAAL,CAAaiI,WAAjB,EAA8B;AAC5B,aAAKhI,QAAL,CAAc4H,GAAd,CAAkB,iBAAlB,EAAqCC,EAArC,CAAwC,iBAAxC,EAA2D,UAASlC,CAAT,EAAY;AACrE,cAAIpE,KAAK,CAACvB,QAAN,CAAeI,IAAf,CAAoB,UAApB,CAAJ,EAAqC;AAAE,mBAAO,KAAP;AAAe;;AAEtD,cAAI,CAACH,6CAAC,CAAC0F,CAAC,CAACsC,MAAH,CAAD,CAAYC,EAAZ,CAAe,sBAAf,CAAL,EAA6C;AAC3C,gBAAI3G,KAAK,CAACxB,OAAN,CAAcgC,WAAlB,EAA+B;AAC7BR,mBAAK,CAACoG,YAAN,CAAmBhC,CAAnB;AACD,aAFD,MAEO;AACLpE,mBAAK,CAACoG,YAAN,CAAmBhC,CAAnB,EAAsBpE,KAAK,CAACR,OAA5B;AACD;AACF;AACF,SAVD;AAWD;;AAEH,UAAI,KAAKhB,OAAL,CAAaoI,SAAjB,EAA4B;AAC1B,aAAKrH,OAAL,CAAasH,QAAb;AAEA,YAAIC,KAAK,GAAGpI,6CAAC,CAAC,MAAD,CAAb;AACAc,eAAO,CACJ6G,GADH,CACO,qBADP,EAEGC,EAFH,CAEM,qBAFN,EAE6B,UAASlC,CAAT,EAAY;AACrC5E,iBAAO,CAACY,QAAR,CAAiB,aAAjB;;AACAJ,eAAK,CAACH,KAAN,CAAYO,QAAZ,CAAqB,aAArB,EAFqC,CAED;;;AACpCJ,eAAK,CAACvB,QAAN,CAAeI,IAAf,CAAoB,UAApB,EAAgC,IAAhC;;AAEAqH,mBAAS,GAAGxH,6CAAC,CAAC0F,CAAC,CAAC2C,aAAH,CAAb;AAEAD,eAAK,CAACR,EAAN,CAAS,qBAAT,EAAgC,UAASlC,CAAT,EAAY;AAC1CA,aAAC,CAACE,cAAF;;AACAtE,iBAAK,CAACoG,YAAN,CAAmBhC,CAAnB,EAAsB8B,SAAtB;AAED,WAJD,EAIGI,EAJH,CAIM,mBAJN,EAI2B,UAASlC,CAAT,EAAY;AACrCpE,iBAAK,CAACoG,YAAN,CAAmBhC,CAAnB,EAAsB8B,SAAtB;;AAEA1G,mBAAO,CAACwH,WAAR,CAAoB,aAApB;;AACAhH,iBAAK,CAACH,KAAN,CAAYmH,WAAZ,CAAwB,aAAxB;;AACAhH,iBAAK,CAACvB,QAAN,CAAeI,IAAf,CAAoB,UAApB,EAAgC,KAAhC;;AAEAiI,iBAAK,CAACT,GAAN,CAAU,uCAAV;AACD,WAZD;AAaH,SAtBD,EAuBA;AAvBA,SAwBCC,EAxBD,CAwBI,2CAxBJ,EAwBiD,UAASlC,CAAT,EAAY;AAC3DA,WAAC,CAACE,cAAF;AACD,SA1BD;AA2BD;;AAED9E,aAAO,CAAC6G,GAAR,CAAY,mBAAZ,EAAiCC,EAAjC,CAAoC,mBAApC,EAAyD,UAASlC,CAAT,EAAY;AACnE,YAAI6C,QAAQ,GAAGvI,6CAAC,CAAC,IAAD,CAAhB;AAAA,YACIqF,GAAG,GAAG/D,KAAK,CAACxB,OAAN,CAAcgC,WAAd,GAA4BR,KAAK,CAACT,OAAN,CAAc0C,KAAd,CAAoBgF,QAApB,CAA5B,GAA4D,CADtE;AAAA,YAEIC,QAAQ,GAAG1F,UAAU,CAACxB,KAAK,CAACX,MAAN,CAAaI,EAAb,CAAgBsE,GAAhB,EAAqBjD,GAArB,EAAD,CAFzB;AAAA,YAGIqG,QAHJ,CADmE,CAMnE;;;AACAhI,0EAAQ,CAACiI,SAAT,CAAmBhD,CAAnB,EAAsB,QAAtB,EAAgC;AAC9BiD,kBAAQ,EAAE,oBAAW;AACnBF,oBAAQ,GAAGD,QAAQ,GAAGlH,KAAK,CAACxB,OAAN,CAAc2D,IAApC;AACD,WAH6B;AAI9BmF,kBAAQ,EAAE,oBAAW;AACnBH,oBAAQ,GAAGD,QAAQ,GAAGlH,KAAK,CAACxB,OAAN,CAAc2D,IAApC;AACD,WAN6B;AAO9BoF,uBAAa,EAAE,yBAAW;AACxBJ,oBAAQ,GAAGD,QAAQ,GAAGlH,KAAK,CAACxB,OAAN,CAAc2D,IAAd,GAAqB,EAA3C;AACD,WAT6B;AAU9BqF,uBAAa,EAAE,yBAAW;AACxBL,oBAAQ,GAAGD,QAAQ,GAAGlH,KAAK,CAACxB,OAAN,CAAc2D,IAAd,GAAqB,EAA3C;AACD,WAZ6B;AAa9BsF,aAAG,EAAE,eAAW;AACdN,oBAAQ,GAAGnH,KAAK,CAACxB,OAAN,CAAc0C,KAAzB;AACD,WAf6B;AAgB9BwG,aAAG,EAAE,eAAW;AACdP,oBAAQ,GAAGnH,KAAK,CAACxB,OAAN,CAAc2C,GAAzB;AACD,WAlB6B;AAmB9BwG,iBAAO,EAAE,mBAAW;AAAE;AACpBvD,aAAC,CAACE,cAAF;;AACAtE,iBAAK,CAACa,aAAN,CAAoBoG,QAApB,EAA8BE,QAA9B;AACD;AAtB6B,SAAhC;AAwBA;;;;AAID,OAnCD;AAoCD;AAED;;;;;;+BAGW;AACT,WAAK5H,OAAL,CAAa8G,GAAb,CAAiB,YAAjB;AACA,WAAKhH,MAAL,CAAYgH,GAAZ,CAAgB,YAAhB;AACA,WAAK5H,QAAL,CAAc4H,GAAd,CAAkB,YAAlB;AAEA1C,kBAAY,CAAC,KAAKC,OAAN,CAAZ;AACD;;;;EAtiBkBgE,6D;;AAyiBrBtJ,MAAM,CAACM,QAAP,GAAkB;AAChB;;;;;;AAMAsC,OAAK,EAAE,CAPS;;AAQhB;;;;;;AAMAC,KAAG,EAAE,GAdW;;AAehB;;;;;;AAMAgB,MAAI,EAAE,CArBU;;AAsBhB;;;;;;AAMAmB,cAAY,EAAE,CA5BE;;AA6BhB;;;;;;AAMAW,YAAU,EAAE,GAnCI;;AAoChB;;;;;;AAMA3D,SAAO,EAAE,KA1CO;;AA2ChB;;;;;;AAMAmG,aAAW,EAAE,IAjDG;;AAkDhB;;;;;;AAMA1G,UAAQ,EAAE,KAxDM;;AAyDhB;;;;;;AAMA6G,WAAS,EAAE,IA/DK;;AAgEhB;;;;;;AAMA3G,UAAQ,EAAE,KAtEM;;AAuEhB;;;;;;AAMAO,aAAW,EAAE,KA7EG;;AA8EhB;;;AAGA;;AACA;;;;;;AAMAsC,SAAO,EAAE,CAxFO;;AAyFhB;;;AAGA;;AACA;;;;;;AAMAW,UAAQ,EAAE,GAnGM;AAmGF;;AACd;;;;;;AAMAtD,eAAa,EAAE,UA1GC;;AA2GhB;;;;;;AAMA0H,gBAAc,EAAE,KAjHA;;AAkHhB;;;;;;AAMA/D,cAAY,EAAE,GAxHE;;AAyHhB;;;;;;AAMApC,eAAa,EAAE,CA/HC;;AAgIhB;;;;;;AAMAN,uBAAqB,EAAE;AAtIP,CAAlB;;AAyIA,SAASH,OAAT,CAAiB6G,IAAjB,EAAuBC,GAAvB,EAA4B;AAC1B,SAAQD,IAAI,GAAGC,GAAf;AACD;;AACD,SAASpC,WAAT,CAAqBnG,OAArB,EAA8BwI,GAA9B,EAAmCC,QAAnC,EAA6C1D,KAA7C,EAAoD;AAClD,SAAO5C,IAAI,CAACuG,GAAL,CAAU1I,OAAO,CAAC2I,QAAR,GAAmBH,GAAnB,IAA2BxI,OAAO,CAAC+E,KAAD,CAAP,KAAmB,CAA/C,GAAqD0D,QAA9D,CAAP;AACD;;AACD,SAASxG,OAAT,CAAiB2G,IAAjB,EAAuBrH,KAAvB,EAA8B;AAC5B,SAAOY,IAAI,CAAC0G,GAAL,CAAStH,KAAT,IAAgBY,IAAI,CAAC0G,GAAL,CAASD,IAAT,CAAvB;AACD;;;;;;;;;;;;;;AC/sBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa;;;;AAEb;AACA;AACA;;AAEA,IAAME,gBAAgB,GAAI,YAAY;AACpC,MAAIC,QAAQ,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,GAAlB,EAAuB,IAAvB,EAA6B,EAA7B,CAAf;;AACA,OAAK,IAAIC,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAGD,QAAQ,CAAC5I,MAA3B,EAAmC6I,CAAC,EAApC,EAAwC;AACtC,QAAI,UAAGD,QAAQ,CAACC,CAAD,CAAX,yBAAoC1D,MAAxC,EAAgD;AAC9C,aAAOA,MAAM,WAAIyD,QAAQ,CAACC,CAAD,CAAZ,sBAAb;AACD;AACF;;AACD,SAAO,KAAP;AACD,CARyB,EAA1B;;AAUA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,IAAL,EAAc;AAC7BD,IAAE,CAAC7J,IAAH,CAAQ8J,IAAR,EAAcC,KAAd,CAAoB,GAApB,EAAyBC,OAAzB,CAAiC,UAAA3E,EAAE,EAAI;AACrCxF,iDAAC,YAAKwF,EAAL,EAAD,CAAayE,IAAI,KAAK,OAAT,GAAmB,SAAnB,GAA+B,gBAA5C,YAAiEA,IAAjE,kBAAoF,CAACD,EAAD,CAApF;AACD,GAFD;AAGD,CAJD;;AAMA,IAAIzJ,QAAQ,GAAG;AACb6J,WAAS,EAAE;AACTC,SAAK,EAAE,EADE;AAETC,UAAM,EAAE;AAFC,GADE;AAKbC,cAAY,EAAE;AALD,CAAf;AAQAhK,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,GAA4B;AAC1BG,cAAY,EAAE,wBAAW;AACvBT,YAAQ,CAAC/J,6CAAC,CAAC,IAAD,CAAF,EAAU,MAAV,CAAR;AACD,GAHyB;AAI1ByK,eAAa,EAAE,yBAAW;AACxB,QAAIjF,EAAE,GAAGxF,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,OAAb,CAAT;;AACA,QAAIqF,EAAJ,EAAQ;AACNuE,cAAQ,CAAC/J,6CAAC,CAAC,IAAD,CAAF,EAAU,OAAV,CAAR;AACD,KAFD,MAGK;AACHA,mDAAC,CAAC,IAAD,CAAD,CAAQ8E,OAAR,CAAgB,kBAAhB;AACD;AACF,GAZyB;AAa1B4F,gBAAc,EAAE,0BAAW;AACzB,QAAIlF,EAAE,GAAGxF,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,QAAb,CAAT;;AACA,QAAIqF,EAAJ,EAAQ;AACNuE,cAAQ,CAAC/J,6CAAC,CAAC,IAAD,CAAF,EAAU,QAAV,CAAR;AACD,KAFD,MAEO;AACLA,mDAAC,CAAC,IAAD,CAAD,CAAQ8E,OAAR,CAAgB,mBAAhB;AACD;AACF,GApByB;AAqB1B6F,mBAAiB,EAAE,2BAASjF,CAAT,EAAY;AAC7B,QAAIkF,SAAS,GAAG5K,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,UAAb,CAAhB,CAD6B,CAG7B;;AACAuF,KAAC,CAACmF,eAAF;;AAEA,QAAGD,SAAS,KAAK,EAAjB,EAAoB;AAClBE,oEAAM,CAACC,UAAP,CAAkB/K,6CAAC,CAAC,IAAD,CAAnB,EAA2B4K,SAA3B,EAAsC,YAAW;AAC/C5K,qDAAC,CAAC,IAAD,CAAD,CAAQ8E,OAAR,CAAgB,WAAhB;AACD,OAFD;AAGD,KAJD,MAIK;AACH9E,mDAAC,CAAC,IAAD,CAAD,CAAQgL,OAAR,GAAkBlG,OAAlB,CAA0B,WAA1B;AACD;AACF,GAlCyB;AAmC1BmG,qBAAmB,EAAE,+BAAW;AAC9B,QAAIzF,EAAE,GAAGxF,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,cAAb,CAAT;AACAH,iDAAC,YAAKwF,EAAL,EAAD,CAAY0F,cAAZ,CAA2B,mBAA3B,EAAgD,CAAClL,6CAAC,CAAC,IAAD,CAAF,CAAhD;AACD;AAtCyB,CAA5B,C,CAyCA;;AACAO,QAAQ,CAACgK,YAAT,CAAsBY,eAAtB,GAAwC,UAACC,KAAD,EAAW;AACjDA,OAAK,CAACzD,GAAN,CAAU,kBAAV,EAA8BpH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBG,YAAvD;AACAY,OAAK,CAACxD,EAAN,CAAS,kBAAT,EAA6B,aAA7B,EAA4CrH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBG,YAArE;AACD,CAHD,C,CAKA;AACA;;;AACAjK,QAAQ,CAACgK,YAAT,CAAsBc,gBAAtB,GAAyC,UAACD,KAAD,EAAW;AAClDA,OAAK,CAACzD,GAAN,CAAU,kBAAV,EAA8BpH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBI,aAAvD;AACAW,OAAK,CAACxD,EAAN,CAAS,kBAAT,EAA6B,cAA7B,EAA6CrH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBI,aAAtE;AACD,CAHD,C,CAKA;;;AACAlK,QAAQ,CAACgK,YAAT,CAAsBe,iBAAtB,GAA0C,UAACF,KAAD,EAAW;AACnDA,OAAK,CAACzD,GAAN,CAAU,kBAAV,EAA8BpH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvD;AACAU,OAAK,CAACxD,EAAN,CAAS,kBAAT,EAA6B,eAA7B,EAA8CrH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvE;AACD,CAHD,C,CAKA;;;AACAnK,QAAQ,CAACgK,YAAT,CAAsBgB,oBAAtB,GAA6C,UAACH,KAAD,EAAW;AACtDA,OAAK,CAACzD,GAAN,CAAU,kBAAV,EAA8BpH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBM,iBAAvD;AACAS,OAAK,CAACxD,EAAN,CAAS,kBAAT,EAA6B,mCAA7B,EAAkErH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBM,iBAA3F;AACD,CAHD,C,CAKA;;;AACApK,QAAQ,CAACgK,YAAT,CAAsBiB,sBAAtB,GAA+C,UAACJ,KAAD,EAAW;AACxDA,OAAK,CAACzD,GAAN,CAAU,kCAAV,EAA8CpH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBY,mBAAvE;AACAG,OAAK,CAACxD,EAAN,CAAS,kCAAT,EAA6C,qBAA7C,EAAoErH,QAAQ,CAAC6J,SAAT,CAAmBC,KAAnB,CAAyBY,mBAA7F;AACD,CAHD,C,CAOA;;;AACA1K,QAAQ,CAAC6J,SAAT,CAAmBE,MAAnB,GAA6B;AAC3BmB,gBAAc,EAAE,wBAASC,MAAT,EAAiB;AAC/B,QAAG,CAAC9B,gBAAJ,EAAqB;AAAC;AACpB8B,YAAM,CAACC,IAAP,CAAY,YAAU;AACpB3L,qDAAC,CAAC,IAAD,CAAD,CAAQkL,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAACxK,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAT0B;AAU3B0K,gBAAc,EAAE,wBAASF,MAAT,EAAiB;AAC/B,QAAG,CAAC9B,gBAAJ,EAAqB;AAAC;AACpB8B,YAAM,CAACC,IAAP,CAAY,YAAU;AACpB3L,qDAAC,CAAC,IAAD,CAAD,CAAQkL,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAACxK,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAlB0B;AAmB3B2K,iBAAe,EAAE,yBAASnG,CAAT,EAAYoG,QAAZ,EAAqB;AACpC,QAAInM,MAAM,GAAG+F,CAAC,CAACqG,SAAF,CAAY7B,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAb;AACA,QAAI8B,OAAO,GAAGhM,6CAAC,iBAAUL,MAAV,OAAD,CAAsBsM,GAAtB,4BAA6CH,QAA7C,SAAd;AAEAE,WAAO,CAACL,IAAR,CAAa,YAAU;AACrB,UAAIrK,KAAK,GAAGtB,6CAAC,CAAC,IAAD,CAAb;;AACAsB,WAAK,CAAC4J,cAAN,CAAqB,kBAArB,EAAyC,CAAC5J,KAAD,CAAzC;AACD,KAHD;AAID,GA3B0B,CA8B7B;;AA9B6B,CAA7B;;AA+BAf,QAAQ,CAACgK,YAAT,CAAsB2B,kBAAtB,GAA2C,UAASC,UAAT,EAAqB;AAC9D,MAAIC,SAAS,GAAGpM,6CAAC,CAAC,iBAAD,CAAjB;AAAA,MACIqM,SAAS,GAAG,CAAC,UAAD,EAAa,SAAb,EAAwB,QAAxB,CADhB;;AAGA,MAAGF,UAAH,EAAc;AACZ,QAAG,OAAOA,UAAP,KAAsB,QAAzB,EAAkC;AAChCE,eAAS,CAACC,IAAV,CAAeH,UAAf;AACD,KAFD,MAEM,IAAG,QAAOA,UAAP,MAAsB,QAAtB,IAAkC,OAAOA,UAAU,CAAC,CAAD,CAAjB,KAAyB,QAA9D,EAAuE;AAC3EE,eAAS,GAAGA,SAAS,CAACE,MAAV,CAAiBJ,UAAjB,CAAZ;AACD,KAFK,MAED;AACHK,aAAO,CAACC,KAAR,CAAc,8BAAd;AACD;AACF;;AACD,MAAGL,SAAS,CAACnL,MAAb,EAAoB;AAClB,QAAIyL,SAAS,GAAGL,SAAS,CAACM,GAAV,CAAc,UAACC,IAAD,EAAU;AACtC,kCAAqBA,IAArB;AACD,KAFe,EAEbC,IAFa,CAER,GAFQ,CAAhB;AAIA7M,iDAAC,CAACoG,MAAD,CAAD,CAAUuB,GAAV,CAAc+E,SAAd,EAAyB9E,EAAzB,CAA4B8E,SAA5B,EAAuCnM,QAAQ,CAAC6J,SAAT,CAAmBE,MAAnB,CAA0BuB,eAAjE;AACD;AACF,CApBD;;AAsBA,SAASiB,sBAAT,CAAgCC,QAAhC,EAA0CjI,OAA1C,EAAmDkI,QAAnD,EAA6D;AAC3D,MAAIC,KAAJ;AAAA,MAAWC,IAAI,GAAGC,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBvF,IAAtB,CAA2BwF,SAA3B,EAAsC,CAAtC,CAAlB;AACAtN,+CAAC,CAACoG,MAAD,CAAD,CAAUuB,GAAV,CAAc7C,OAAd,EAAuB8C,EAAvB,CAA0B9C,OAA1B,EAAmC,UAASY,CAAT,EAAY;AAC7C,QAAIuH,KAAJ,EAAW;AAAEhI,kBAAY,CAACgI,KAAD,CAAZ;AAAsB;;AACnCA,SAAK,GAAG9H,UAAU,CAAC,YAAU;AAC3B6H,cAAQ,CAACO,KAAT,CAAe,IAAf,EAAqBL,IAArB;AACD,KAFiB,EAEfH,QAAQ,IAAI,EAFG,CAAlB,CAF6C,CAI1B;AACpB,GALD;AAMD;;AAEDxM,QAAQ,CAACgK,YAAT,CAAsBiD,iBAAtB,GAA0C,UAAST,QAAT,EAAkB;AAC1D,MAAIrB,MAAM,GAAG1L,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG0L,MAAM,CAACzK,MAAV,EAAiB;AACf6L,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgCxM,QAAQ,CAAC6J,SAAT,CAAmBE,MAAnB,CAA0BmB,cAA1D,EAA0EC,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAnL,QAAQ,CAACgK,YAAT,CAAsBkD,iBAAtB,GAA0C,UAASV,QAAT,EAAkB;AAC1D,MAAIrB,MAAM,GAAG1L,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG0L,MAAM,CAACzK,MAAV,EAAiB;AACf6L,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgCxM,QAAQ,CAAC6J,SAAT,CAAmBE,MAAnB,CAA0BsB,cAA1D,EAA0EF,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAnL,QAAQ,CAACgK,YAAT,CAAsBmD,yBAAtB,GAAkD,UAAStC,KAAT,EAAgB;AAChE,MAAG,CAACxB,gBAAJ,EAAqB;AAAE,WAAO,KAAP;AAAe;;AACtC,MAAI8B,MAAM,GAAGN,KAAK,CAACxK,IAAN,CAAW,6CAAX,CAAb,CAFgE,CAIhE;;AACA,MAAI+M,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAUC,mBAAV,EAA+B;AAC7D,QAAIC,OAAO,GAAG7N,6CAAC,CAAC4N,mBAAmB,CAAC,CAAD,CAAnB,CAAuB5F,MAAxB,CAAf,CAD6D,CAG7D;;AACA,YAAQ4F,mBAAmB,CAAC,CAAD,CAAnB,CAAuB3D,IAA/B;AACE,WAAK,YAAL;AACE,YAAI4D,OAAO,CAAC3M,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C0M,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,aAAvB,KAAyC,aAAzF,EAAwG;AACtGD,iBAAO,CAAC3C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC2C,OAAD,EAAUzH,MAAM,CAAC2H,WAAjB,CAA9C;AACD;;AACD,YAAIF,OAAO,CAAC3M,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C0M,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,aAAvB,KAAyC,aAAzF,EAAwG;AACtGD,iBAAO,CAAC3C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC2C,OAAD,CAA9C;AACA;;AACF,YAAID,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,aAAvB,KAAyC,OAA7C,EAAsD;AACpDD,iBAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiC9M,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA2M,iBAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiC9C,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC2C,OAAO,CAACG,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACD;;AACD;;AAEF,WAAK,WAAL;AACEH,eAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiC9M,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA2M,eAAO,CAACG,OAAR,CAAgB,eAAhB,EAAiC9C,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC2C,OAAO,CAACG,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACA;;AAEF;AACE,eAAO,KAAP;AACF;AArBF;AAuBD,GA3BD;;AA6BA,MAAItC,MAAM,CAACzK,MAAX,EAAmB;AACjB;AACA,SAAK,IAAI6I,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI4B,MAAM,CAACzK,MAAP,GAAgB,CAArC,EAAwC6I,CAAC,EAAzC,EAA6C;AAC3C,UAAImE,eAAe,GAAG,IAAIrE,gBAAJ,CAAqB+D,yBAArB,CAAtB;AACAM,qBAAe,CAACC,OAAhB,CAAwBxC,MAAM,CAAC5B,CAAD,CAA9B,EAAmC;AAAEqE,kBAAU,EAAE,IAAd;AAAoBC,iBAAS,EAAE,IAA/B;AAAqCC,qBAAa,EAAE,KAApD;AAA2DC,eAAO,EAAE,IAApE;AAA0EC,uBAAe,EAAE,CAAC,aAAD,EAAgB,OAAhB;AAA3F,OAAnC;AACD;AACF;AACF,CAzCD;;AA2CAhO,QAAQ,CAACgK,YAAT,CAAsBiE,kBAAtB,GAA2C,YAAW;AACpD,MAAIC,SAAS,GAAGzO,6CAAC,CAAC0O,QAAD,CAAjB;AAEAnO,UAAQ,CAACgK,YAAT,CAAsBY,eAAtB,CAAsCsD,SAAtC;AACAlO,UAAQ,CAACgK,YAAT,CAAsBc,gBAAtB,CAAuCoD,SAAvC;AACAlO,UAAQ,CAACgK,YAAT,CAAsBe,iBAAtB,CAAwCmD,SAAxC;AACAlO,UAAQ,CAACgK,YAAT,CAAsBgB,oBAAtB,CAA2CkD,SAA3C;AACAlO,UAAQ,CAACgK,YAAT,CAAsBiB,sBAAtB,CAA6CiD,SAA7C;AAED,CATD;;AAWAlO,QAAQ,CAACgK,YAAT,CAAsBoE,kBAAtB,GAA2C,YAAW;AACpD,MAAIF,SAAS,GAAGzO,6CAAC,CAAC0O,QAAD,CAAjB;AACAnO,UAAQ,CAACgK,YAAT,CAAsBmD,yBAAtB,CAAgDe,SAAhD;AACAlO,UAAQ,CAACgK,YAAT,CAAsBiD,iBAAtB;AACAjN,UAAQ,CAACgK,YAAT,CAAsBkD,iBAAtB;AACAlN,UAAQ,CAACgK,YAAT,CAAsB2B,kBAAtB;AACD,CAND;;AASA3L,QAAQ,CAACD,IAAT,GAAgB,UAAUN,CAAV,EAAaN,UAAb,EAAyB;AACvCkP,uEAAM,CAAC5O,CAAC,CAACoG,MAAD,CAAF,EAAY,YAAY;AAC5B,QAAIpG,CAAC,CAAC6O,mBAAF,KAA0B,IAA9B,EAAoC;AAClCtO,cAAQ,CAACgK,YAAT,CAAsBiE,kBAAtB;AACAjO,cAAQ,CAACgK,YAAT,CAAsBoE,kBAAtB;AACA3O,OAAC,CAAC6O,mBAAF,GAAwB,IAAxB;AACD;AACF,GANK,CAAN;;AAQA,MAAGnP,UAAH,EAAe;AACbA,cAAU,CAACa,QAAX,GAAsBA,QAAtB,CADa,CAEb;;AACAb,cAAU,CAACoP,QAAX,GAAsBvO,QAAQ,CAACgK,YAAT,CAAsBoE,kBAA5C;AACD;AACF,CAdD;;;;;;;;;;;;;;;;;;;;;;;;;ACrPA,oD","file":"foundation.slider.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.slider\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.slider\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __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 = 15);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Slider } from '../../foundation.slider';\nFoundation.plugin(Slider, 'Slider');\n\nexport { Foundation, Slider };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.core.utils';\n\nimport { Plugin } from './foundation.core.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider extends Plugin {\n /**\n * Creates a new instance of a slider control.\n * @class\n * @name Slider\n * @param {jQuery} element - jQuery object to make into a slider control.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n this.className = 'Slider'; // ie9 back compat\n\n // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Slider', {\n 'ltr': {\n 'ARROW_RIGHT': 'increase',\n 'ARROW_UP': 'increase',\n 'ARROW_DOWN': 'decrease',\n 'ARROW_LEFT': 'decrease',\n 'SHIFT_ARROW_RIGHT': 'increase_fast',\n 'SHIFT_ARROW_UP': 'increase_fast',\n 'SHIFT_ARROW_DOWN': 'decrease_fast',\n 'SHIFT_ARROW_LEFT': 'decrease_fast',\n 'HOME': 'min',\n 'END': 'max'\n },\n 'rtl': {\n 'ARROW_LEFT': 'increase',\n 'ARROW_RIGHT': 'decrease',\n 'SHIFT_ARROW_LEFT': 'increase_fast',\n 'SHIFT_ARROW_RIGHT': 'decrease_fast'\n }\n });\n }\n\n /**\n * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n * @function\n * @private\n */\n _init() {\n this.inputs = this.$element.find('input');\n this.handles = this.$element.find('[data-slider-handle]');\n\n this.$handle = this.handles.eq(0);\n this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n var _this = this;\n if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n this.options.disabled = true;\n this.$element.addClass(this.options.disabledClass);\n }\n if (!this.inputs.length) {\n this.inputs = $().add(this.$input);\n this.options.binding = true;\n }\n\n this._setInitAttr(0);\n\n if (this.handles[1]) {\n this.options.doubleSided = true;\n this.$handle2 = this.handles.eq(1);\n this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n if (!this.inputs[1]) {\n this.inputs = this.inputs.add(this.$input2);\n }\n\n // this.$handle.triggerHandler('click.zf.slider');\n this._setInitAttr(1);\n }\n\n // Set handle positions\n this.setHandles();\n\n this._events();\n }\n\n setHandles() {\n if(this.handles[1]) {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n }\n }\n\n _reflow() {\n this.setHandles();\n }\n /**\n * @function\n * @private\n * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n */\n _pctOfBar(value) {\n var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n }\n\n return pctOfBar.toFixed(2)\n }\n\n /**\n * @function\n * @private\n * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n */\n _value(pctOfBar) {\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n }\n\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\n\n return value\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n */\n _logTransform(value) {\n return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n */\n _powTransform(value) {\n return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n }\n\n /**\n * Sets the position of the selected handle and fill bar.\n * @function\n * @private\n * @param {jQuery} $hndl - the selected handle to move.\n * @param {Number} location - floating point between the start and end values of the slider bar.\n * @param {Function} cb - callback function to fire on completion.\n * @fires Slider#moved\n * @fires Slider#changed\n */\n _setHandlePos($hndl, location, cb) {\n // don't move if the slider has been disabled since its initialization\n if (this.$element.hasClass(this.options.disabledClass)) {\n return;\n }\n //might need to alter that slightly for bars that will have odd number selections.\n location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n if (location < this.options.start) { location = this.options.start; }\n else if (location > this.options.end) { location = this.options.end; }\n\n var isDbl = this.options.doubleSided;\n\n if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n if (this.handles.index($hndl) === 0) {\n var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n location = location >= h2Val ? h2Val - this.options.step : location;\n } else {\n var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n location = location <= h1Val ? h1Val + this.options.step : location;\n }\n }\n\n var _this = this,\n vert = this.options.vertical,\n hOrW = vert ? 'height' : 'width',\n lOrT = vert ? 'top' : 'left',\n handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n //percentage of bar min/max value based on click or drag point\n pctOfBar = this._pctOfBar(location),\n //number of actual pixels to shift the handle, based on the percentage obtained above\n pxToMove = (elemDim - handleDim) * pctOfBar,\n //percentage of bar to shift the handle\n movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n location = parseFloat(location.toFixed(this.options.decimal));\n // declare empty object for css adjustments, only used with 2 handled-sliders\n var css = {};\n\n this._setValues($hndl, location);\n\n // TODO update to calculate based on values set to respective inputs??\n if (isDbl) {\n var isLeftHndl = this.handles.index($hndl) === 0,\n //empty variable, will be used for min-height/width for fill bar\n dim,\n //percentage w/h of the handle compared to the slider bar\n handlePct = ~~(percent(handleDim, elemDim) * 100);\n //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n if (isLeftHndl) {\n //left or top percentage value to apply to the fill bar.\n css[lOrT] = `${movement}%`;\n //calculate the new min-height/width for the fill bar.\n dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n } else {\n //just caching the value of the left/bottom handle's left/top property\n var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n }\n // assign the min-height/width to our css object\n css[`min-${hOrW}`] = `${dim}%`;\n }\n\n this.$element.one('finished.zf.animate', function() {\n /**\n * Fires when the handle is done moving.\n * @event Slider#moved\n */\n _this.$element.trigger('moved.zf.slider', [$hndl]);\n });\n\n //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n Move(moveTime, $hndl, function() {\n // adjusting the left/top property of the handle, based on the percentage calculated above\n // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n // fall back to next best guess.\n if (isNaN(movement)) {\n $hndl.css(lOrT, `${pctOfBar * 100}%`);\n }\n else {\n $hndl.css(lOrT, `${movement}%`);\n }\n\n if (!_this.options.doubleSided) {\n //if single-handled, a simple method to expand the fill bar\n _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n } else {\n //otherwise, use the css object we created above\n _this.$fill.css(css);\n }\n });\n\n\n /**\n * Fires when the value has not been change for a given time.\n * @event Slider#changed\n */\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.$element.trigger('changed.zf.slider', [$hndl]);\n }, _this.options.changedDelay);\n }\n\n /**\n * Sets the initial attribute for the slider element.\n * @function\n * @private\n * @param {Number} idx - index of the current handle/input to use.\n */\n _setInitAttr(idx) {\n var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n this.inputs.eq(idx).attr({\n 'id': id,\n 'max': this.options.end,\n 'min': this.options.start,\n 'step': this.options.step\n });\n this.inputs.eq(idx).val(initVal);\n this.handles.eq(idx).attr({\n 'role': 'slider',\n 'aria-controls': id,\n 'aria-valuemax': this.options.end,\n 'aria-valuemin': this.options.start,\n 'aria-valuenow': initVal,\n 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n 'tabindex': 0\n });\n }\n\n /**\n * Sets the input and `aria-valuenow` values for the slider element.\n * @function\n * @private\n * @param {jQuery} $handle - the currently selected handle.\n * @param {Number} val - floating point of the new value.\n */\n _setValues($handle, val) {\n var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n this.inputs.eq(idx).val(val);\n $handle.attr('aria-valuenow', val);\n }\n\n /**\n * Handles events on the slider element.\n * Calculates the new location of the current handle.\n * If there are two handles and the bar was clicked, it determines which handle to move.\n * @function\n * @private\n * @param {Object} e - the `event` object passed from the listener.\n * @param {jQuery} $handle - the current handle to calculate for, if selected.\n * @param {Number} val - floating point number for the new value of the slider.\n * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n */\n _handleEvent(e, $handle, val) {\n var value, hasVal;\n if (!val) {//click or drag events\n e.preventDefault();\n var _this = this,\n vertical = this.options.vertical,\n param = vertical ? 'height' : 'width',\n direction = vertical ? 'top' : 'left',\n eventOffset = vertical ? e.pageY : e.pageX,\n barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n var elemOffset = this.$element.offset()[direction];\n\n // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n // best way to guess this is simulated is if clientY == pageY\n if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n var eventFromBar = eventOffset - elemOffset;\n var barXY;\n if (eventFromBar < 0) {\n barXY = 0;\n } else if (eventFromBar > barDim) {\n barXY = barDim;\n } else {\n barXY = eventFromBar;\n }\n var offsetPct = percent(barXY, barDim);\n\n value = this._value(offsetPct);\n\n // turn everything around for RTL, yay math!\n if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n value = _this._adjustValue(null, value);\n //boolean flag for the setHandlePos fn, specifically for vertical sliders\n hasVal = false;\n\n if (!$handle) {//figure out which handle it is, pass it to the next function.\n var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n }\n\n } else {//change event on input\n value = this._adjustValue(null, val);\n hasVal = true;\n }\n\n this._setHandlePos($handle, value);\n }\n\n /**\n * Adjustes value for handle in regard to step value. returns adjusted value\n * @function\n * @private\n * @param {jQuery} $handle - the selected handle.\n * @param {Number} value - value to adjust. used if $handle is falsy\n */\n _adjustValue($handle, value) {\n var val,\n step = this.options.step,\n div = parseFloat(step/2),\n left, prev_val, next_val;\n if (!!$handle) {\n val = parseFloat($handle.attr('aria-valuenow'));\n }\n else {\n val = value;\n }\n if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\n prev_val = val - left;\n next_val = prev_val + step;\n if (left === 0) {\n return val;\n }\n val = val >= prev_val + div ? next_val : prev_val;\n return val;\n }\n\n /**\n * Adds event listeners to the slider elements.\n * @function\n * @private\n */\n _events() {\n this._eventsForHandle(this.$handle);\n if(this.handles[1]) {\n this._eventsForHandle(this.$handle2);\n }\n }\n\n\n /**\n * Adds event listeners a particular handle\n * @function\n * @private\n * @param {jQuery} $handle - the current handle to apply listeners to.\n */\n _eventsForHandle($handle) {\n var _this = this,\n curHandle;\n\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n\n if (this.options.clickSelect) {\n this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n if (_this.$element.data('dragging')) { return false; }\n\n if (!$(e.target).is('[data-slider-handle]')) {\n if (_this.options.doubleSided) {\n _this._handleEvent(e);\n } else {\n _this._handleEvent(e, _this.$handle);\n }\n }\n });\n }\n\n if (this.options.draggable) {\n this.handles.addTouch();\n\n var $body = $('body');\n $handle\n .off('mousedown.zf.slider')\n .on('mousedown.zf.slider', function(e) {\n $handle.addClass('is-dragging');\n _this.$fill.addClass('is-dragging');//\n _this.$element.data('dragging', true);\n\n curHandle = $(e.currentTarget);\n\n $body.on('mousemove.zf.slider', function(e) {\n e.preventDefault();\n _this._handleEvent(e, curHandle);\n\n }).on('mouseup.zf.slider', function(e) {\n _this._handleEvent(e, curHandle);\n\n $handle.removeClass('is-dragging');\n _this.$fill.removeClass('is-dragging');\n _this.$element.data('dragging', false);\n\n $body.off('mousemove.zf.slider mouseup.zf.slider');\n });\n })\n // prevent events triggered by touch\n .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n e.preventDefault();\n });\n }\n\n $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n var _$handle = $(this),\n idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n oldValue = parseFloat(_this.inputs.eq(idx).val()),\n newValue;\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Slider', {\n decrease: function() {\n newValue = oldValue - _this.options.step;\n },\n increase: function() {\n newValue = oldValue + _this.options.step;\n },\n decrease_fast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increase_fast: function() {\n newValue = oldValue + _this.options.step * 10;\n },\n min: function() {\n newValue = _this.options.start;\n },\n max: function() {\n newValue = _this.options.end;\n },\n handled: function() { // only set handle pos when event was handled specially\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }\n });\n /*if (newValue) { // if pressed key has special function, update value\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }*/\n });\n }\n\n /**\n * Destroys the slider plugin.\n */\n _destroy() {\n this.handles.off('.zf.slider');\n this.inputs.off('.zf.slider');\n this.$element.off('.zf.slider');\n\n clearTimeout(this.timeout);\n }\n}\n\nSlider.defaults = {\n /**\n * Minimum value for the slider scale.\n * @option\n * @type {number}\n * @default 0\n */\n start: 0,\n /**\n * Maximum value for the slider scale.\n * @option\n * @type {number}\n * @default 100\n */\n end: 100,\n /**\n * Minimum value change per change event.\n * @option\n * @type {number}\n * @default 1\n */\n step: 1,\n /**\n * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n * @option\n * @type {number}\n * @default 0\n */\n initialStart: 0,\n /**\n * Value at which the right handle/second input should be set to on initialization.\n * @option\n * @type {number}\n * @default 100\n */\n initialEnd: 100,\n /**\n * Allows the input to be located outside the container and visible. Set to by the JS\n * @option\n * @type {boolean}\n * @default false\n */\n binding: false,\n /**\n * Allows the user to click/tap on the slider bar to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n clickSelect: true,\n /**\n * Set to true and use the `vertical` class to change alignment to vertical.\n * @option\n * @type {boolean}\n * @default false\n */\n vertical: false,\n /**\n * Allows the user to drag the slider handle(s) to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n draggable: true,\n /**\n * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n * @option\n * @type {boolean}\n * @default false\n */\n disabled: false,\n /**\n * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n * @option\n * @type {boolean}\n * @default false\n */\n doubleSided: false,\n /**\n * Potential future feature.\n */\n // steps: 100,\n /**\n * Number of decimal places the plugin should go to for floating point precision.\n * @option\n * @type {number}\n * @default 2\n */\n decimal: 2,\n /**\n * Time delay for dragged elements.\n */\n // dragDelay: 0,\n /**\n * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n * @option\n * @type {number}\n * @default 200\n */\n moveTime: 200,//update this if changing the transition time in the sass\n /**\n * Class applied to disabled sliders.\n * @option\n * @type {string}\n * @default 'disabled'\n */\n disabledClass: 'disabled',\n /**\n * Will invert the default layout for a vertical slider.\n * @option\n * @type {boolean}\n * @default false\n */\n invertVertical: false,\n /**\n * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n * @option\n * @type {number}\n * @default 500\n */\n changedDelay: 500,\n /**\n * Basevalue for non-linear sliders\n * @option\n * @type {number}\n * @default 5\n */\n nonLinearBase: 5,\n /**\n * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n * @option\n * @type {string}\n * @default 'linear'\n */\n positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\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":""} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.slider.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","Slider","element","options","$element","$","extend","defaults","data","className","Touch","init","Triggers","_init","Keyboard","register","inputs","find","handles","$handle","eq","$input","length","attr","$fill","css","vertical","_this","disabled","hasClass","disabledClass","addClass","add","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_events","_setHandlePos","val","value","pctOfBar","percent","start","end","positionValueFunction","_logTransform","_powTransform","toFixed","parseFloat","baseLog","nonLinearBase","Math","pow","$hndl","location","cb","isDbl","index","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","getBoundingClientRect","elemDim","_pctOfBar","pxToMove","movement","decimal","_setValues","isLeftHndl","dim","handlePct","style","handlePos","isNaN","initialStart","one","trigger","moveTime","Move","clearTimeout","timeout","setTimeout","changedDelay","idx","initVal","initialEnd","id","GetYoDigits","e","hasVal","preventDefault","param","direction","eventOffset","pageY","pageX","barDim","windowScroll","window","scrollTop","scrollLeft","elemOffset","offset","clientY","eventFromBar","barXY","offsetPct","_value","Rtl","_adjustValue","firstHndlPos","absPosition","secndHndlPos","div","left","prev_val","next_val","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","off","on","keyCode","call","clickSelect","target","is","draggable","addTouch","$body","currentTarget","removeClass","_$handle","oldValue","newValue","handleKey","decrease","increase","decrease_fast","increase_fast","min","max","handled","Plugin","invertVertical","frac","num","dir","clickPos","abs","position","base","log","MutationObserver","prefixes","i","triggers","el","type","split","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","arguments","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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K,CAACa,aAAN,CAAoBoG,QAApB,EAA8BE,QAA9B;AACD;AAtB6B,SAAhC;AAwBA;AACN;AACA;AACA;AACK,OAnCD;AAoCD;AAED;AACF;AACA;;;;WACE,oBAAW;AACT,WAAK5H,OAAL,CAAa8G,GAAb,CAAiB,YAAjB;AACA,WAAKhH,MAAL,CAAYgH,GAAZ,CAAgB,YAAhB;AACA,WAAK5H,QAAL,CAAc4H,GAAd,CAAkB,YAAlB;AAEA1C,kBAAY,CAAC,KAAKC,OAAN,CAAZ;AACD;;;;EAtiBkBgE,6D;;AAyiBrBtJ,MAAM,CAACM,QAAP,GAAkB;AAChB;AACF;AACA;AACA;AACA;AACA;AACEsC,OAAK,EAAE,CAPS;;AAQhB;AACF;AACA;AACA;AACA;AACA;AACEC,KAAG,EAAE,GAdW;;AAehB;AACF;AACA;AACA;AACA;AACA;AACEgB,MAAI,EAAE,CArBU;;AAsBhB;AACF;AACA;AACA;AACA;AACA;AACEmB,cAAY,EAAE,CA5BE;;AA6BhB;AACF;AACA;AACA;AACA;AACA;AACEW,YAAU,EAAE,GAnCI;;AAoChB;AACF;AACA;AACA;AACA;AACA;AACE3D,SAAO,EAAE,KA1CO;;AA2ChB;AACF;AACA;AACA;AACA;AACA;AACEmG,aAAW,EAAE,IAjDG;;AAkDhB;AACF;AACA;AACA;AACA;AACA;AACE1G,UAAQ,EAAE,KAxDM;;AAyDhB;AACF;AACA;AACA;AACA;AACA;AACE6G,WAAS,EAAE,IA/DK;;AAgEhB;AACF;AACA;AACA;AACA;AACA;AACE3G,UAAQ,EAAE,KAtEM;;AAuEhB;AACF;AACA;AACA;AACA;AACA;AACEO,aAAW,EAAE,KA7EG;;AA8EhB;AACF;AACA;AACE;;AACA;AACF;AACA;AACA;AACA;AACA;AACEsC,SAAO,EAAE,CAxFO;;AAyFhB;AACF;AACA;AACE;;AACA;AACF;AACA;AACA;AACA;AACA;AACEW,UAAQ,EAAE,GAnGM;AAmGF;;AACd;AACF;AACA;AACA;AACA;AACA;AACEtD,eAAa,EAAE,UA1GC;;AA2GhB;AACF;AACA;AACA;AACA;AACA;AACE0H,gBAA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","file":"foundation.slider.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.slider\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.slider\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __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 = 15);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Slider } from '../../foundation.slider';\nFoundation.plugin(Slider, 'Slider');\n\nexport { Foundation, Slider };\n","import $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.core.utils';\n\nimport { Plugin } from './foundation.core.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider extends Plugin {\n /**\n * Creates a new instance of a slider control.\n * @class\n * @name Slider\n * @param {jQuery} element - jQuery object to make into a slider control.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n this.className = 'Slider'; // ie9 back compat\n\n // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Slider', {\n 'ltr': {\n 'ARROW_RIGHT': 'increase',\n 'ARROW_UP': 'increase',\n 'ARROW_DOWN': 'decrease',\n 'ARROW_LEFT': 'decrease',\n 'SHIFT_ARROW_RIGHT': 'increase_fast',\n 'SHIFT_ARROW_UP': 'increase_fast',\n 'SHIFT_ARROW_DOWN': 'decrease_fast',\n 'SHIFT_ARROW_LEFT': 'decrease_fast',\n 'HOME': 'min',\n 'END': 'max'\n },\n 'rtl': {\n 'ARROW_LEFT': 'increase',\n 'ARROW_RIGHT': 'decrease',\n 'SHIFT_ARROW_LEFT': 'increase_fast',\n 'SHIFT_ARROW_RIGHT': 'decrease_fast'\n }\n });\n }\n\n /**\n * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n * @function\n * @private\n */\n _init() {\n this.inputs = this.$element.find('input');\n this.handles = this.$element.find('[data-slider-handle]');\n\n this.$handle = this.handles.eq(0);\n this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n var _this = this;\n if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n this.options.disabled = true;\n this.$element.addClass(this.options.disabledClass);\n }\n if (!this.inputs.length) {\n this.inputs = $().add(this.$input);\n this.options.binding = true;\n }\n\n this._setInitAttr(0);\n\n if (this.handles[1]) {\n this.options.doubleSided = true;\n this.$handle2 = this.handles.eq(1);\n this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n if (!this.inputs[1]) {\n this.inputs = this.inputs.add(this.$input2);\n }\n\n // this.$handle.triggerHandler('click.zf.slider');\n this._setInitAttr(1);\n }\n\n // Set handle positions\n this.setHandles();\n\n this._events();\n }\n\n setHandles() {\n if(this.handles[1]) {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n }\n }\n\n _reflow() {\n this.setHandles();\n }\n /**\n * @function\n * @private\n * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n */\n _pctOfBar(value) {\n var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n }\n\n return pctOfBar.toFixed(2)\n }\n\n /**\n * @function\n * @private\n * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n */\n _value(pctOfBar) {\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n }\n\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\n\n return value\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n */\n _logTransform(value) {\n return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n */\n _powTransform(value) {\n return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n }\n\n /**\n * Sets the position of the selected handle and fill bar.\n * @function\n * @private\n * @param {jQuery} $hndl - the selected handle to move.\n * @param {Number} location - floating point between the start and end values of the slider bar.\n * @param {Function} cb - callback function to fire on completion.\n * @fires Slider#moved\n * @fires Slider#changed\n */\n _setHandlePos($hndl, location, cb) {\n // don't move if the slider has been disabled since its initialization\n if (this.$element.hasClass(this.options.disabledClass)) {\n return;\n }\n //might need to alter that slightly for bars that will have odd number selections.\n location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n if (location < this.options.start) { location = this.options.start; }\n else if (location > this.options.end) { location = this.options.end; }\n\n var isDbl = this.options.doubleSided;\n\n if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n if (this.handles.index($hndl) === 0) {\n var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n location = location >= h2Val ? h2Val - this.options.step : location;\n } else {\n var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n location = location <= h1Val ? h1Val + this.options.step : location;\n }\n }\n\n var _this = this,\n vert = this.options.vertical,\n hOrW = vert ? 'height' : 'width',\n lOrT = vert ? 'top' : 'left',\n handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n //percentage of bar min/max value based on click or drag point\n pctOfBar = this._pctOfBar(location),\n //number of actual pixels to shift the handle, based on the percentage obtained above\n pxToMove = (elemDim - handleDim) * pctOfBar,\n //percentage of bar to shift the handle\n movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n location = parseFloat(location.toFixed(this.options.decimal));\n // declare empty object for css adjustments, only used with 2 handled-sliders\n var css = {};\n\n this._setValues($hndl, location);\n\n // TODO update to calculate based on values set to respective inputs??\n if (isDbl) {\n var isLeftHndl = this.handles.index($hndl) === 0,\n //empty variable, will be used for min-height/width for fill bar\n dim,\n //percentage w/h of the handle compared to the slider bar\n handlePct = ~~(percent(handleDim, elemDim) * 100);\n //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n if (isLeftHndl) {\n //left or top percentage value to apply to the fill bar.\n css[lOrT] = `${movement}%`;\n //calculate the new min-height/width for the fill bar.\n dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n } else {\n //just caching the value of the left/bottom handle's left/top property\n var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n }\n // assign the min-height/width to our css object\n css[`min-${hOrW}`] = `${dim}%`;\n }\n\n this.$element.one('finished.zf.animate', function() {\n /**\n * Fires when the handle is done moving.\n * @event Slider#moved\n */\n _this.$element.trigger('moved.zf.slider', [$hndl]);\n });\n\n //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n Move(moveTime, $hndl, function() {\n // adjusting the left/top property of the handle, based on the percentage calculated above\n // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n // fall back to next best guess.\n if (isNaN(movement)) {\n $hndl.css(lOrT, `${pctOfBar * 100}%`);\n }\n else {\n $hndl.css(lOrT, `${movement}%`);\n }\n\n if (!_this.options.doubleSided) {\n //if single-handled, a simple method to expand the fill bar\n _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n } else {\n //otherwise, use the css object we created above\n _this.$fill.css(css);\n }\n });\n\n\n /**\n * Fires when the value has not been change for a given time.\n * @event Slider#changed\n */\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.$element.trigger('changed.zf.slider', [$hndl]);\n }, _this.options.changedDelay);\n }\n\n /**\n * Sets the initial attribute for the slider element.\n * @function\n * @private\n * @param {Number} idx - index of the current handle/input to use.\n */\n _setInitAttr(idx) {\n var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n this.inputs.eq(idx).attr({\n 'id': id,\n 'max': this.options.end,\n 'min': this.options.start,\n 'step': this.options.step\n });\n this.inputs.eq(idx).val(initVal);\n this.handles.eq(idx).attr({\n 'role': 'slider',\n 'aria-controls': id,\n 'aria-valuemax': this.options.end,\n 'aria-valuemin': this.options.start,\n 'aria-valuenow': initVal,\n 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n 'tabindex': 0\n });\n }\n\n /**\n * Sets the input and `aria-valuenow` values for the slider element.\n * @function\n * @private\n * @param {jQuery} $handle - the currently selected handle.\n * @param {Number} val - floating point of the new value.\n */\n _setValues($handle, val) {\n var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n this.inputs.eq(idx).val(val);\n $handle.attr('aria-valuenow', val);\n }\n\n /**\n * Handles events on the slider element.\n * Calculates the new location of the current handle.\n * If there are two handles and the bar was clicked, it determines which handle to move.\n * @function\n * @private\n * @param {Object} e - the `event` object passed from the listener.\n * @param {jQuery} $handle - the current handle to calculate for, if selected.\n * @param {Number} val - floating point number for the new value of the slider.\n * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n */\n _handleEvent(e, $handle, val) {\n var value, hasVal;\n if (!val) {//click or drag events\n e.preventDefault();\n var _this = this,\n vertical = this.options.vertical,\n param = vertical ? 'height' : 'width',\n direction = vertical ? 'top' : 'left',\n eventOffset = vertical ? e.pageY : e.pageX,\n barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n var elemOffset = this.$element.offset()[direction];\n\n // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n // best way to guess this is simulated is if clientY == pageY\n if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n var eventFromBar = eventOffset - elemOffset;\n var barXY;\n if (eventFromBar < 0) {\n barXY = 0;\n } else if (eventFromBar > barDim) {\n barXY = barDim;\n } else {\n barXY = eventFromBar;\n }\n var offsetPct = percent(barXY, barDim);\n\n value = this._value(offsetPct);\n\n // turn everything around for RTL, yay math!\n if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n value = _this._adjustValue(null, value);\n //boolean flag for the setHandlePos fn, specifically for vertical sliders\n hasVal = false;\n\n if (!$handle) {//figure out which handle it is, pass it to the next function.\n var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n }\n\n } else {//change event on input\n value = this._adjustValue(null, val);\n hasVal = true;\n }\n\n this._setHandlePos($handle, value);\n }\n\n /**\n * Adjustes value for handle in regard to step value. returns adjusted value\n * @function\n * @private\n * @param {jQuery} $handle - the selected handle.\n * @param {Number} value - value to adjust. used if $handle is falsy\n */\n _adjustValue($handle, value) {\n var val,\n step = this.options.step,\n div = parseFloat(step/2),\n left, prev_val, next_val;\n if (!!$handle) {\n val = parseFloat($handle.attr('aria-valuenow'));\n }\n else {\n val = value;\n }\n if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\n prev_val = val - left;\n next_val = prev_val + step;\n if (left === 0) {\n return val;\n }\n val = val >= prev_val + div ? next_val : prev_val;\n return val;\n }\n\n /**\n * Adds event listeners to the slider elements.\n * @function\n * @private\n */\n _events() {\n this._eventsForHandle(this.$handle);\n if(this.handles[1]) {\n this._eventsForHandle(this.$handle2);\n }\n }\n\n\n /**\n * Adds event listeners a particular handle\n * @function\n * @private\n * @param {jQuery} $handle - the current handle to apply listeners to.\n */\n _eventsForHandle($handle) {\n var _this = this,\n curHandle;\n\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n\n if (this.options.clickSelect) {\n this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n if (_this.$element.data('dragging')) { return false; }\n\n if (!$(e.target).is('[data-slider-handle]')) {\n if (_this.options.doubleSided) {\n _this._handleEvent(e);\n } else {\n _this._handleEvent(e, _this.$handle);\n }\n }\n });\n }\n\n if (this.options.draggable) {\n this.handles.addTouch();\n\n var $body = $('body');\n $handle\n .off('mousedown.zf.slider')\n .on('mousedown.zf.slider', function(e) {\n $handle.addClass('is-dragging');\n _this.$fill.addClass('is-dragging');//\n _this.$element.data('dragging', true);\n\n curHandle = $(e.currentTarget);\n\n $body.on('mousemove.zf.slider', function(e) {\n e.preventDefault();\n _this._handleEvent(e, curHandle);\n\n }).on('mouseup.zf.slider', function(e) {\n _this._handleEvent(e, curHandle);\n\n $handle.removeClass('is-dragging');\n _this.$fill.removeClass('is-dragging');\n _this.$element.data('dragging', false);\n\n $body.off('mousemove.zf.slider mouseup.zf.slider');\n });\n })\n // prevent events triggered by touch\n .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n e.preventDefault();\n });\n }\n\n $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n var _$handle = $(this),\n idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n oldValue = parseFloat(_this.inputs.eq(idx).val()),\n newValue;\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Slider', {\n decrease: function() {\n newValue = oldValue - _this.options.step;\n },\n increase: function() {\n newValue = oldValue + _this.options.step;\n },\n decrease_fast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increase_fast: function() {\n newValue = oldValue + _this.options.step * 10;\n },\n min: function() {\n newValue = _this.options.start;\n },\n max: function() {\n newValue = _this.options.end;\n },\n handled: function() { // only set handle pos when event was handled specially\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }\n });\n /*if (newValue) { // if pressed key has special function, update value\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }*/\n });\n }\n\n /**\n * Destroys the slider plugin.\n */\n _destroy() {\n this.handles.off('.zf.slider');\n this.inputs.off('.zf.slider');\n this.$element.off('.zf.slider');\n\n clearTimeout(this.timeout);\n }\n}\n\nSlider.defaults = {\n /**\n * Minimum value for the slider scale.\n * @option\n * @type {number}\n * @default 0\n */\n start: 0,\n /**\n * Maximum value for the slider scale.\n * @option\n * @type {number}\n * @default 100\n */\n end: 100,\n /**\n * Minimum value change per change event.\n * @option\n * @type {number}\n * @default 1\n */\n step: 1,\n /**\n * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n * @option\n * @type {number}\n * @default 0\n */\n initialStart: 0,\n /**\n * Value at which the right handle/second input should be set to on initialization.\n * @option\n * @type {number}\n * @default 100\n */\n initialEnd: 100,\n /**\n * Allows the input to be located outside the container and visible. Set to by the JS\n * @option\n * @type {boolean}\n * @default false\n */\n binding: false,\n /**\n * Allows the user to click/tap on the slider bar to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n clickSelect: true,\n /**\n * Set to true and use the `vertical` class to change alignment to vertical.\n * @option\n * @type {boolean}\n * @default false\n */\n vertical: false,\n /**\n * Allows the user to drag the slider handle(s) to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n draggable: true,\n /**\n * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n * @option\n * @type {boolean}\n * @default false\n */\n disabled: false,\n /**\n * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n * @option\n * @type {boolean}\n * @default false\n */\n doubleSided: false,\n /**\n * Potential future feature.\n */\n // steps: 100,\n /**\n * Number of decimal places the plugin should go to for floating point precision.\n * @option\n * @type {number}\n * @default 2\n */\n decimal: 2,\n /**\n * Time delay for dragged elements.\n */\n // dragDelay: 0,\n /**\n * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n * @option\n * @type {number}\n * @default 200\n */\n moveTime: 200,//update this if changing the transition time in the sass\n /**\n * Class applied to disabled sliders.\n * @option\n * @type {string}\n * @default 'disabled'\n */\n disabledClass: 'disabled',\n /**\n * Will invert the default layout for a vertical slider.\n * @option\n * @type {boolean}\n * @default false\n */\n invertVertical: false,\n /**\n * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n * @option\n * @type {number}\n * @default 500\n */\n changedDelay: 500,\n /**\n * Basevalue for non-linear sliders\n * @option\n * @type {number}\n * @default 5\n */\n nonLinearBase: 5,\n /**\n * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n * @option\n * @type {string}\n * @default 'linear'\n */\n positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\n","import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).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":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.slider.min.js b/dist/js/plugins/foundation.slider.min.js index 317d09d05c..f31cabe314 100644 --- a/dist/js/plugins/foundation.slider.min.js +++ b/dist/js/plugins/foundation.slider.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.keyboard","./foundation.util.motion","./foundation.util.touch","jquery"],e):"object"==typeof exports?exports["foundation.slider"]=e(require("./foundation.core"),require("./foundation.util.keyboard"),require("./foundation.util.motion"),require("./foundation.util.touch"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.slider"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.__FOUNDATION_EXTERNAL__["foundation.util.touch"],t.jQuery))}(window,function(i,n,s,o,r){return u={},a.m=l={"./foundation.core":function(t,e){t.exports=i},"./foundation.util.keyboard":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=s},"./foundation.util.touch":function(t,e){t.exports=o},"./js/entries/plugins/foundation.slider.js":function(t,e,i){"use strict";i.r(e);var n=i("./foundation.core");i.d(e,"Foundation",function(){return n.Foundation});var s=i("./js/foundation.slider.js");i.d(e,"Slider",function(){return s.Slider}),n.Foundation.plugin(s.Slider,"Slider")},"./js/foundation.slider.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Slider",function(){return f});var n=i("jquery"),p=i.n(n),r=i("./foundation.util.keyboard"),y=i("./foundation.util.motion"),g=i("./foundation.core"),s=i("./foundation.util.touch"),o=i("./js/foundation.util.triggers.js");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(t,e){for(var i=0;ithis.options.end&&(e=this.options.end);var n=this.options.doubleSided;if(n)if(0===this.handles.index(t)){var s=parseFloat(this.$handle2.attr("aria-valuenow"));e=s<=e?s-this.options.step:e}else{var o=parseFloat(this.$handle.attr("aria-valuenow"));e=e<=o?o+this.options.step:e}var r=this,a=this.options.vertical,l=a?"height":"width",u=a?"top":"left",d=t[0].getBoundingClientRect()[l],c=this.$element[0].getBoundingClientRect()[l],f=this._pctOfBar(e),h=(100*z((c-d)*f,c)).toFixed(this.options.decimal);e=parseFloat(e.toFixed(this.options.decimal));var p={};if(this._setValues(t,e),n){var g,v=0===this.handles.index(t),m=~~(100*z(d,c));if(v)p[u]="".concat(h,"%"),g=parseFloat(this.$handle2[0].style[u])-h+m,i&&"function"==typeof i&&i();else{var b=parseFloat(this.$handle[0].style[u]);g=h-(isNaN(b)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):b)+m}p["min-".concat(l)]="".concat(g,"%")}this.$element.one("finished.zf.animate",function(){r.$element.trigger("moved.zf.slider",[t])});var _=this.$element.data("dragging")?1e3/60:this.options.moveTime;Object(y.Move)(_,t,function(){isNaN(h)?t.css(u,"".concat(100*f,"%")):t.css(u,"".concat(h,"%")),r.options.doubleSided?r.$fill.css(p):r.$fill.css(l,"".concat(100*f,"%"))}),clearTimeout(r.timeout),r.timeout=setTimeout(function(){r.$element.trigger("changed.zf.slider",[t])},r.options.changedDelay)}}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,i=this.inputs.eq(t).attr("id")||Object(g.GetYoDigits)(6,"slider");this.inputs.eq(t).attr({id:i,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":i,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,i){var n;if(i)n=this._adjustValue(null,i),!0;else{t.preventDefault();var s=this.options.vertical,o=s?"height":"width",r=s?"top":"left",a=s?t.pageY:t.pageX,l=this.$element[0].getBoundingClientRect()[o],u=s?p()(window).scrollTop():p()(window).scrollLeft(),d=this.$element.offset()[r];t.clientY===t.pageY&&(a+=u);var c,f=a-d,h=z(c=f<0?0:lthis.options.end&&(e=this.options.end),(n=this.options.doubleSided)&&(e=0===this.handles.index(t)?(c=parseFloat(this.$handle2.attr("aria-valuenow")))<=e?c-this.options.step:e:e<=(a=parseFloat(this.$handle.attr("aria-valuenow")))?a+this.options.step:e),c=(o=this).options.vertical,s=c?"height":"width",r=c?"top":"left",a=t[0].getBoundingClientRect()[s],c=this.$element[0].getBoundingClientRect()[s],l=this._pctOfBar(e),u=((c-a)*l/c*100).toFixed(this.options.decimal),e=parseFloat(e.toFixed(this.options.decimal)),d={},this._setValues(t,e),n&&(c=~~(a/c*100),0===this.handles.index(t)?(d[r]="".concat(u,"%"),f=parseFloat(this.$handle2[0].style[r])-u+c,i&&"function"==typeof i&&i()):(i=parseFloat(this.$handle[0].style[r]),f=u-(isNaN(i)?(this.options.initialStart-this.options.start)/((this.options.end-this.options.start)/100):i)+c),d["min-".concat(s)]="".concat(f,"%")),this.$element.one("finished.zf.animate",function(){o.$element.trigger("moved.zf.slider",[t])}),f=this.$element.data("dragging")?1e3/60:this.options.moveTime,Object(h.Move)(f,t,function(){isNaN(u)?t.css(r,"".concat(100*l,"%")):t.css(r,"".concat(u,"%")),o.options.doubleSided?o.$fill.css(d):o.$fill.css(s,"".concat(100*l,"%"))}),clearTimeout(o.timeout),o.timeout=setTimeout(function(){o.$element.trigger("changed.zf.slider",[t])},o.options.changedDelay))}},{key:"_setInitAttr",value:function(t){var e=0===t?this.options.initialStart:this.options.initialEnd,i=this.inputs.eq(t).attr("id")||Object(d.GetYoDigits)(6,"slider");this.inputs.eq(t).attr({id:i,max:this.options.end,min:this.options.start,step:this.options.step}),this.inputs.eq(t).val(e),this.handles.eq(t).attr({role:"slider","aria-controls":i,"aria-valuemax":this.options.end,"aria-valuemin":this.options.start,"aria-valuenow":e,"aria-orientation":this.options.vertical?"vertical":"horizontal",tabindex:0})}},{key:"_setValues",value:function(t,e){var i=this.options.doubleSided?this.handles.index(t):0;this.inputs.eq(i).val(e),t.attr("aria-valuenow",e)}},{key:"_handleEvent",value:function(t,e,i){var n,o,s,r,a,l;i?l=this._adjustValue(null,i):(t.preventDefault(),n=(a=this.options.vertical)?"height":"width",o=a?"top":"left",s=a?t.pageY:t.pageX,r=this.$element[0].getBoundingClientRect()[n],i=a?u()(window).scrollTop():u()(window).scrollLeft(),a=this.$element.offset()[o],t.clientY===t.pageY&&(s+=i),l=this._value((a=(a=s-a)<0?0:r 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n if (!this.inputs[1]) {\n this.inputs = this.inputs.add(this.$input2);\n }\n\n // this.$handle.triggerHandler('click.zf.slider');\n this._setInitAttr(1);\n }\n\n // Set handle positions\n this.setHandles();\n\n this._events();\n }\n\n setHandles() {\n if(this.handles[1]) {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n }\n }\n\n _reflow() {\n this.setHandles();\n }\n /**\n * @function\n * @private\n * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n */\n _pctOfBar(value) {\n var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n }\n\n return pctOfBar.toFixed(2)\n }\n\n /**\n * @function\n * @private\n * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n */\n _value(pctOfBar) {\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n }\n\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\n\n return value\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n */\n _logTransform(value) {\n return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n */\n _powTransform(value) {\n return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n }\n\n /**\n * Sets the position of the selected handle and fill bar.\n * @function\n * @private\n * @param {jQuery} $hndl - the selected handle to move.\n * @param {Number} location - floating point between the start and end values of the slider bar.\n * @param {Function} cb - callback function to fire on completion.\n * @fires Slider#moved\n * @fires Slider#changed\n */\n _setHandlePos($hndl, location, cb) {\n // don't move if the slider has been disabled since its initialization\n if (this.$element.hasClass(this.options.disabledClass)) {\n return;\n }\n //might need to alter that slightly for bars that will have odd number selections.\n location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n if (location < this.options.start) { location = this.options.start; }\n else if (location > this.options.end) { location = this.options.end; }\n\n var isDbl = this.options.doubleSided;\n\n if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n if (this.handles.index($hndl) === 0) {\n var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n location = location >= h2Val ? h2Val - this.options.step : location;\n } else {\n var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n location = location <= h1Val ? h1Val + this.options.step : location;\n }\n }\n\n var _this = this,\n vert = this.options.vertical,\n hOrW = vert ? 'height' : 'width',\n lOrT = vert ? 'top' : 'left',\n handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n //percentage of bar min/max value based on click or drag point\n pctOfBar = this._pctOfBar(location),\n //number of actual pixels to shift the handle, based on the percentage obtained above\n pxToMove = (elemDim - handleDim) * pctOfBar,\n //percentage of bar to shift the handle\n movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n location = parseFloat(location.toFixed(this.options.decimal));\n // declare empty object for css adjustments, only used with 2 handled-sliders\n var css = {};\n\n this._setValues($hndl, location);\n\n // TODO update to calculate based on values set to respective inputs??\n if (isDbl) {\n var isLeftHndl = this.handles.index($hndl) === 0,\n //empty variable, will be used for min-height/width for fill bar\n dim,\n //percentage w/h of the handle compared to the slider bar\n handlePct = ~~(percent(handleDim, elemDim) * 100);\n //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n if (isLeftHndl) {\n //left or top percentage value to apply to the fill bar.\n css[lOrT] = `${movement}%`;\n //calculate the new min-height/width for the fill bar.\n dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n } else {\n //just caching the value of the left/bottom handle's left/top property\n var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n }\n // assign the min-height/width to our css object\n css[`min-${hOrW}`] = `${dim}%`;\n }\n\n this.$element.one('finished.zf.animate', function() {\n /**\n * Fires when the handle is done moving.\n * @event Slider#moved\n */\n _this.$element.trigger('moved.zf.slider', [$hndl]);\n });\n\n //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n Move(moveTime, $hndl, function() {\n // adjusting the left/top property of the handle, based on the percentage calculated above\n // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n // fall back to next best guess.\n if (isNaN(movement)) {\n $hndl.css(lOrT, `${pctOfBar * 100}%`);\n }\n else {\n $hndl.css(lOrT, `${movement}%`);\n }\n\n if (!_this.options.doubleSided) {\n //if single-handled, a simple method to expand the fill bar\n _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n } else {\n //otherwise, use the css object we created above\n _this.$fill.css(css);\n }\n });\n\n\n /**\n * Fires when the value has not been change for a given time.\n * @event Slider#changed\n */\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.$element.trigger('changed.zf.slider', [$hndl]);\n }, _this.options.changedDelay);\n }\n\n /**\n * Sets the initial attribute for the slider element.\n * @function\n * @private\n * @param {Number} idx - index of the current handle/input to use.\n */\n _setInitAttr(idx) {\n var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n this.inputs.eq(idx).attr({\n 'id': id,\n 'max': this.options.end,\n 'min': this.options.start,\n 'step': this.options.step\n });\n this.inputs.eq(idx).val(initVal);\n this.handles.eq(idx).attr({\n 'role': 'slider',\n 'aria-controls': id,\n 'aria-valuemax': this.options.end,\n 'aria-valuemin': this.options.start,\n 'aria-valuenow': initVal,\n 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n 'tabindex': 0\n });\n }\n\n /**\n * Sets the input and `aria-valuenow` values for the slider element.\n * @function\n * @private\n * @param {jQuery} $handle - the currently selected handle.\n * @param {Number} val - floating point of the new value.\n */\n _setValues($handle, val) {\n var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n this.inputs.eq(idx).val(val);\n $handle.attr('aria-valuenow', val);\n }\n\n /**\n * Handles events on the slider element.\n * Calculates the new location of the current handle.\n * If there are two handles and the bar was clicked, it determines which handle to move.\n * @function\n * @private\n * @param {Object} e - the `event` object passed from the listener.\n * @param {jQuery} $handle - the current handle to calculate for, if selected.\n * @param {Number} val - floating point number for the new value of the slider.\n * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n */\n _handleEvent(e, $handle, val) {\n var value, hasVal;\n if (!val) {//click or drag events\n e.preventDefault();\n var _this = this,\n vertical = this.options.vertical,\n param = vertical ? 'height' : 'width',\n direction = vertical ? 'top' : 'left',\n eventOffset = vertical ? e.pageY : e.pageX,\n barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n var elemOffset = this.$element.offset()[direction];\n\n // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n // best way to guess this is simulated is if clientY == pageY\n if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n var eventFromBar = eventOffset - elemOffset;\n var barXY;\n if (eventFromBar < 0) {\n barXY = 0;\n } else if (eventFromBar > barDim) {\n barXY = barDim;\n } else {\n barXY = eventFromBar;\n }\n var offsetPct = percent(barXY, barDim);\n\n value = this._value(offsetPct);\n\n // turn everything around for RTL, yay math!\n if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n value = _this._adjustValue(null, value);\n //boolean flag for the setHandlePos fn, specifically for vertical sliders\n hasVal = false;\n\n if (!$handle) {//figure out which handle it is, pass it to the next function.\n var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n }\n\n } else {//change event on input\n value = this._adjustValue(null, val);\n hasVal = true;\n }\n\n this._setHandlePos($handle, value);\n }\n\n /**\n * Adjustes value for handle in regard to step value. returns adjusted value\n * @function\n * @private\n * @param {jQuery} $handle - the selected handle.\n * @param {Number} value - value to adjust. used if $handle is falsy\n */\n _adjustValue($handle, value) {\n var val,\n step = this.options.step,\n div = parseFloat(step/2),\n left, prev_val, next_val;\n if (!!$handle) {\n val = parseFloat($handle.attr('aria-valuenow'));\n }\n else {\n val = value;\n }\n if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\n prev_val = val - left;\n next_val = prev_val + step;\n if (left === 0) {\n return val;\n }\n val = val >= prev_val + div ? next_val : prev_val;\n return val;\n }\n\n /**\n * Adds event listeners to the slider elements.\n * @function\n * @private\n */\n _events() {\n this._eventsForHandle(this.$handle);\n if(this.handles[1]) {\n this._eventsForHandle(this.$handle2);\n }\n }\n\n\n /**\n * Adds event listeners a particular handle\n * @function\n * @private\n * @param {jQuery} $handle - the current handle to apply listeners to.\n */\n _eventsForHandle($handle) {\n var _this = this,\n curHandle;\n\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n\n if (this.options.clickSelect) {\n this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n if (_this.$element.data('dragging')) { return false; }\n\n if (!$(e.target).is('[data-slider-handle]')) {\n if (_this.options.doubleSided) {\n _this._handleEvent(e);\n } else {\n _this._handleEvent(e, _this.$handle);\n }\n }\n });\n }\n\n if (this.options.draggable) {\n this.handles.addTouch();\n\n var $body = $('body');\n $handle\n .off('mousedown.zf.slider')\n .on('mousedown.zf.slider', function(e) {\n $handle.addClass('is-dragging');\n _this.$fill.addClass('is-dragging');//\n _this.$element.data('dragging', true);\n\n curHandle = $(e.currentTarget);\n\n $body.on('mousemove.zf.slider', function(e) {\n e.preventDefault();\n _this._handleEvent(e, curHandle);\n\n }).on('mouseup.zf.slider', function(e) {\n _this._handleEvent(e, curHandle);\n\n $handle.removeClass('is-dragging');\n _this.$fill.removeClass('is-dragging');\n _this.$element.data('dragging', false);\n\n $body.off('mousemove.zf.slider mouseup.zf.slider');\n });\n })\n // prevent events triggered by touch\n .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n e.preventDefault();\n });\n }\n\n $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n var _$handle = $(this),\n idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n oldValue = parseFloat(_this.inputs.eq(idx).val()),\n newValue;\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Slider', {\n decrease: function() {\n newValue = oldValue - _this.options.step;\n },\n increase: function() {\n newValue = oldValue + _this.options.step;\n },\n decrease_fast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increase_fast: function() {\n newValue = oldValue + _this.options.step * 10;\n },\n min: function() {\n newValue = _this.options.start;\n },\n max: function() {\n newValue = _this.options.end;\n },\n handled: function() { // only set handle pos when event was handled specially\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }\n });\n /*if (newValue) { // if pressed key has special function, update value\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }*/\n });\n }\n\n /**\n * Destroys the slider plugin.\n */\n _destroy() {\n this.handles.off('.zf.slider');\n this.inputs.off('.zf.slider');\n this.$element.off('.zf.slider');\n\n clearTimeout(this.timeout);\n }\n}\n\nSlider.defaults = {\n /**\n * Minimum value for the slider scale.\n * @option\n * @type {number}\n * @default 0\n */\n start: 0,\n /**\n * Maximum value for the slider scale.\n * @option\n * @type {number}\n * @default 100\n */\n end: 100,\n /**\n * Minimum value change per change event.\n * @option\n * @type {number}\n * @default 1\n */\n step: 1,\n /**\n * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n * @option\n * @type {number}\n * @default 0\n */\n initialStart: 0,\n /**\n * Value at which the right handle/second input should be set to on initialization.\n * @option\n * @type {number}\n * @default 100\n */\n initialEnd: 100,\n /**\n * Allows the input to be located outside the container and visible. Set to by the JS\n * @option\n * @type {boolean}\n * @default false\n */\n binding: false,\n /**\n * Allows the user to click/tap on the slider bar to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n clickSelect: true,\n /**\n * Set to true and use the `vertical` class to change alignment to vertical.\n * @option\n * @type {boolean}\n * @default false\n */\n vertical: false,\n /**\n * Allows the user to drag the slider handle(s) to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n draggable: true,\n /**\n * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n * @option\n * @type {boolean}\n * @default false\n */\n disabled: false,\n /**\n * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n * @option\n * @type {boolean}\n * @default false\n */\n doubleSided: false,\n /**\n * Potential future feature.\n */\n // steps: 100,\n /**\n * Number of decimal places the plugin should go to for floating point precision.\n * @option\n * @type {number}\n * @default 2\n */\n decimal: 2,\n /**\n * Time delay for dragged elements.\n */\n // dragDelay: 0,\n /**\n * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n * @option\n * @type {number}\n * @default 200\n */\n moveTime: 200,//update this if changing the transition time in the sass\n /**\n * Class applied to disabled sliders.\n * @option\n * @type {string}\n * @default 'disabled'\n */\n disabledClass: 'disabled',\n /**\n * Will invert the default layout for a vertical slider.\n * @option\n * @type {boolean}\n * @default false\n */\n invertVertical: false,\n /**\n * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n * @option\n * @type {number}\n * @default 500\n */\n changedDelay: 500,\n /**\n * Basevalue for non-linear sliders\n * @option\n * @type {number}\n * @default 5\n */\n nonLinearBase: 5,\n /**\n * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n * @option\n * @type {string}\n * @default 'linear'\n */\n positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\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__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.touch\"],\"amd\":\"./foundation.util.touch\",\"commonjs\":\"./foundation.util.touch\",\"commonjs2\":\"./foundation.util.touch\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.slider.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_slider__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Slider","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_5__","_typeof","obj","Symbol","iterator","constructor","prototype","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","key","element","$","this","className","options","a","extend","defaults","$element","data","init","Keyboard","register","ltr","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","ARROW_LEFT","SHIFT_ARROW_RIGHT","SHIFT_ARROW_UP","SHIFT_ARROW_DOWN","SHIFT_ARROW_LEFT","HOME","END","rtl","value","handles","$handle","eq","$input","inputs","length","$fill","find","_this","css","vertical","addClass","disabledClass","disabled","binding","add","_setInitAttr","$handle2","$input2","doubleSided","concat","attr","_events","_this2","_setHandlePos","val","setHandles","pctOfBar","positionValueFunction","start","end","_logTransform","_powTransform","toFixed","parseFloat","base","nonLinearBase","Math","pow","$hndl","isDbl","hOrW","handleDim","elemDim","pxToMove","handlePct","moveTime","hasClass","location","h2Val","step","h1Val","lOrT","vert","getBoundingClientRect","_pctOfBar","percent","decimal","_setValues","index","dim","cb","isNaN","movement","trigger","setTimeout","changedDelay","id","idx","initVal","initialStart","initialEnd","max","min","role","aria-controls","aria-valuemax","aria-valuemin","aria-valuenow","aria-orientation","tabindex","eventOffset","barDim","windowScroll","barXY","preventDefault","_adjustValue","e","direction","pageY","elemOffset","scrollTop","scrollLeft","clientY","Rtl","eventFromBar","hasVal","firstHndlPos","secndHndlPos","absPosition","param","left","prev_val","div","_eventsForHandle","curHandle","_handleEvent","handleChangeEvent","off","on","call","target","is","$body","addTouch","currentTarget","removeClass","_$handle","oldValue","newValue","handleKey","decrease","increase","decrease_fast","increase_fast","handled","clearTimeout","dir","clickPos","clickSelect","draggable","invertVertical","Triggers","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","triggers","el","type","split","forEach","MutationObserver","prefixes","i","Listeners","Basic","Global","Initializers","timer","Array","slice","arguments","args","listener","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","yetiBoxes","pluginName","plugNames","console","error","map","name","listeners","join","debounceGlobalListener","debounce","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","elementObserver","attributes","childList","characterData","subtree","document","$document","addMutationEventsListener","addResizeListener","addScrollListener","onLoad","triggersInitialized","addSimpleListeners","addGlobalListeners","installedModules","m","modules","c","getter","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","bind","object","property","hasOwnProperty","p","s","moduleId","l"],"mappings":"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","file":"foundation.slider.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.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.keyboard\", \"./foundation.util.motion\", \"./foundation.util.touch\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.slider\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.keyboard\"), require(\"./foundation.util.motion\"), require(\"./foundation.util.touch\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.slider\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_touch__;","import { Foundation } from './foundation.core';\n\nimport { Slider } from '../../foundation.slider';\nFoundation.plugin(Slider, 'Slider');\n\nexport { Foundation, Slider };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { Move } from './foundation.util.motion';\nimport { GetYoDigits, rtl as Rtl } from './foundation.core.utils';\n\nimport { Plugin } from './foundation.core.plugin';\n\nimport { Touch } from './foundation.util.touch';\n\nimport { Triggers } from './foundation.util.triggers';\n/**\n * Slider module.\n * @module foundation.slider\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n * @requires foundation.util.keyboard\n * @requires foundation.util.touch\n */\n\nclass Slider extends Plugin {\n /**\n * Creates a new instance of a slider control.\n * @class\n * @name Slider\n * @param {jQuery} element - jQuery object to make into a slider control.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Slider.defaults, this.$element.data(), options);\n this.className = 'Slider'; // ie9 back compat\n\n // Touch and Triggers inits are idempotent, we just need to make sure it's initialied.\n Touch.init($);\n Triggers.init($);\n\n this._init();\n\n Keyboard.register('Slider', {\n 'ltr': {\n 'ARROW_RIGHT': 'increase',\n 'ARROW_UP': 'increase',\n 'ARROW_DOWN': 'decrease',\n 'ARROW_LEFT': 'decrease',\n 'SHIFT_ARROW_RIGHT': 'increase_fast',\n 'SHIFT_ARROW_UP': 'increase_fast',\n 'SHIFT_ARROW_DOWN': 'decrease_fast',\n 'SHIFT_ARROW_LEFT': 'decrease_fast',\n 'HOME': 'min',\n 'END': 'max'\n },\n 'rtl': {\n 'ARROW_LEFT': 'increase',\n 'ARROW_RIGHT': 'decrease',\n 'SHIFT_ARROW_LEFT': 'increase_fast',\n 'SHIFT_ARROW_RIGHT': 'decrease_fast'\n }\n });\n }\n\n /**\n * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).\n * @function\n * @private\n */\n _init() {\n this.inputs = this.$element.find('input');\n this.handles = this.$element.find('[data-slider-handle]');\n\n this.$handle = this.handles.eq(0);\n this.$input = this.inputs.length ? this.inputs.eq(0) : $(`#${this.$handle.attr('aria-controls')}`);\n this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);\n\n var _this = this;\n if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {\n this.options.disabled = true;\n this.$element.addClass(this.options.disabledClass);\n }\n if (!this.inputs.length) {\n this.inputs = $().add(this.$input);\n this.options.binding = true;\n }\n\n this._setInitAttr(0);\n\n if (this.handles[1]) {\n this.options.doubleSided = true;\n this.$handle2 = this.handles.eq(1);\n this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $(`#${this.$handle2.attr('aria-controls')}`);\n\n if (!this.inputs[1]) {\n this.inputs = this.inputs.add(this.$input2);\n }\n\n // this.$handle.triggerHandler('click.zf.slider');\n this._setInitAttr(1);\n }\n\n // Set handle positions\n this.setHandles();\n\n this._events();\n }\n\n setHandles() {\n if(this.handles[1]) {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val(), () => {\n this._setHandlePos(this.$handle2, this.inputs.eq(1).val());\n });\n } else {\n this._setHandlePos(this.$handle, this.inputs.eq(0).val());\n }\n }\n\n _reflow() {\n this.setHandles();\n }\n /**\n * @function\n * @private\n * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value)\n */\n _pctOfBar(value) {\n var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start)\n\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n }\n\n return pctOfBar.toFixed(2)\n }\n\n /**\n * @function\n * @private\n * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value\n */\n _value(pctOfBar) {\n switch(this.options.positionValueFunction) {\n case \"pow\":\n pctOfBar = this._powTransform(pctOfBar);\n break;\n case \"log\":\n pctOfBar = this._logTransform(pctOfBar);\n break;\n }\n\n var value\n if (this.options.vertical) {\n // linear interpolation which is working with negative values for start\n // https://math.stackexchange.com/a/1019084\n value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end)\n } else {\n value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start);\n }\n\n return value\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function\n */\n _logTransform(value) {\n return baseLog(this.options.nonLinearBase, ((value*(this.options.nonLinearBase-1))+1))\n }\n\n /**\n * @function\n * @private\n * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function\n */\n _powTransform(value) {\n return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1)\n }\n\n /**\n * Sets the position of the selected handle and fill bar.\n * @function\n * @private\n * @param {jQuery} $hndl - the selected handle to move.\n * @param {Number} location - floating point between the start and end values of the slider bar.\n * @param {Function} cb - callback function to fire on completion.\n * @fires Slider#moved\n * @fires Slider#changed\n */\n _setHandlePos($hndl, location, cb) {\n // don't move if the slider has been disabled since its initialization\n if (this.$element.hasClass(this.options.disabledClass)) {\n return;\n }\n //might need to alter that slightly for bars that will have odd number selections.\n location = parseFloat(location);//on input change events, convert string to number...grumble.\n\n // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max\n if (location < this.options.start) { location = this.options.start; }\n else if (location > this.options.end) { location = this.options.end; }\n\n var isDbl = this.options.doubleSided;\n\n if (isDbl) { //this block is to prevent 2 handles from crossing eachother. Could/should be improved.\n if (this.handles.index($hndl) === 0) {\n var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));\n location = location >= h2Val ? h2Val - this.options.step : location;\n } else {\n var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));\n location = location <= h1Val ? h1Val + this.options.step : location;\n }\n }\n\n var _this = this,\n vert = this.options.vertical,\n hOrW = vert ? 'height' : 'width',\n lOrT = vert ? 'top' : 'left',\n handleDim = $hndl[0].getBoundingClientRect()[hOrW],\n elemDim = this.$element[0].getBoundingClientRect()[hOrW],\n //percentage of bar min/max value based on click or drag point\n pctOfBar = this._pctOfBar(location),\n //number of actual pixels to shift the handle, based on the percentage obtained above\n pxToMove = (elemDim - handleDim) * pctOfBar,\n //percentage of bar to shift the handle\n movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);\n //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value\n location = parseFloat(location.toFixed(this.options.decimal));\n // declare empty object for css adjustments, only used with 2 handled-sliders\n var css = {};\n\n this._setValues($hndl, location);\n\n // TODO update to calculate based on values set to respective inputs??\n if (isDbl) {\n var isLeftHndl = this.handles.index($hndl) === 0,\n //empty variable, will be used for min-height/width for fill bar\n dim,\n //percentage w/h of the handle compared to the slider bar\n handlePct = ~~(percent(handleDim, elemDim) * 100);\n //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar\n if (isLeftHndl) {\n //left or top percentage value to apply to the fill bar.\n css[lOrT] = `${movement}%`;\n //calculate the new min-height/width for the fill bar.\n dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;\n //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider\n //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.\n if (cb && typeof cb === 'function') { cb(); }//this is only needed for the initialization of 2 handled sliders\n } else {\n //just caching the value of the left/bottom handle's left/top property\n var handlePos = parseFloat(this.$handle[0].style[lOrT]);\n //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0\n //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself\n dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start)/((this.options.end-this.options.start)/100) : handlePos) + handlePct;\n }\n // assign the min-height/width to our css object\n css[`min-${hOrW}`] = `${dim}%`;\n }\n\n this.$element.one('finished.zf.animate', function() {\n /**\n * Fires when the handle is done moving.\n * @event Slider#moved\n */\n _this.$element.trigger('moved.zf.slider', [$hndl]);\n });\n\n //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.\n var moveTime = this.$element.data('dragging') ? 1000/60 : this.options.moveTime;\n\n Move(moveTime, $hndl, function() {\n // adjusting the left/top property of the handle, based on the percentage calculated above\n // if movement isNaN, that is because the slider is hidden and we cannot determine handle width,\n // fall back to next best guess.\n if (isNaN(movement)) {\n $hndl.css(lOrT, `${pctOfBar * 100}%`);\n }\n else {\n $hndl.css(lOrT, `${movement}%`);\n }\n\n if (!_this.options.doubleSided) {\n //if single-handled, a simple method to expand the fill bar\n _this.$fill.css(hOrW, `${pctOfBar * 100}%`);\n } else {\n //otherwise, use the css object we created above\n _this.$fill.css(css);\n }\n });\n\n\n /**\n * Fires when the value has not been change for a given time.\n * @event Slider#changed\n */\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(function(){\n _this.$element.trigger('changed.zf.slider', [$hndl]);\n }, _this.options.changedDelay);\n }\n\n /**\n * Sets the initial attribute for the slider element.\n * @function\n * @private\n * @param {Number} idx - index of the current handle/input to use.\n */\n _setInitAttr(idx) {\n var initVal = (idx === 0 ? this.options.initialStart : this.options.initialEnd)\n var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider');\n this.inputs.eq(idx).attr({\n 'id': id,\n 'max': this.options.end,\n 'min': this.options.start,\n 'step': this.options.step\n });\n this.inputs.eq(idx).val(initVal);\n this.handles.eq(idx).attr({\n 'role': 'slider',\n 'aria-controls': id,\n 'aria-valuemax': this.options.end,\n 'aria-valuemin': this.options.start,\n 'aria-valuenow': initVal,\n 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',\n 'tabindex': 0\n });\n }\n\n /**\n * Sets the input and `aria-valuenow` values for the slider element.\n * @function\n * @private\n * @param {jQuery} $handle - the currently selected handle.\n * @param {Number} val - floating point of the new value.\n */\n _setValues($handle, val) {\n var idx = this.options.doubleSided ? this.handles.index($handle) : 0;\n this.inputs.eq(idx).val(val);\n $handle.attr('aria-valuenow', val);\n }\n\n /**\n * Handles events on the slider element.\n * Calculates the new location of the current handle.\n * If there are two handles and the bar was clicked, it determines which handle to move.\n * @function\n * @private\n * @param {Object} e - the `event` object passed from the listener.\n * @param {jQuery} $handle - the current handle to calculate for, if selected.\n * @param {Number} val - floating point number for the new value of the slider.\n * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.\n */\n _handleEvent(e, $handle, val) {\n var value, hasVal;\n if (!val) {//click or drag events\n e.preventDefault();\n var _this = this,\n vertical = this.options.vertical,\n param = vertical ? 'height' : 'width',\n direction = vertical ? 'top' : 'left',\n eventOffset = vertical ? e.pageY : e.pageX,\n barDim = this.$element[0].getBoundingClientRect()[param],\n windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();\n\n var elemOffset = this.$element.offset()[direction];\n\n // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...\n // best way to guess this is simulated is if clientY == pageY\n if (e.clientY === e.pageY) { eventOffset = eventOffset + windowScroll; }\n var eventFromBar = eventOffset - elemOffset;\n var barXY;\n if (eventFromBar < 0) {\n barXY = 0;\n } else if (eventFromBar > barDim) {\n barXY = barDim;\n } else {\n barXY = eventFromBar;\n }\n var offsetPct = percent(barXY, barDim);\n\n value = this._value(offsetPct);\n\n // turn everything around for RTL, yay math!\n if (Rtl() && !this.options.vertical) {value = this.options.end - value;}\n\n value = _this._adjustValue(null, value);\n //boolean flag for the setHandlePos fn, specifically for vertical sliders\n hasVal = false;\n\n if (!$handle) {//figure out which handle it is, pass it to the next function.\n var firstHndlPos = absPosition(this.$handle, direction, barXY, param),\n secndHndlPos = absPosition(this.$handle2, direction, barXY, param);\n $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;\n }\n\n } else {//change event on input\n value = this._adjustValue(null, val);\n hasVal = true;\n }\n\n this._setHandlePos($handle, value);\n }\n\n /**\n * Adjustes value for handle in regard to step value. returns adjusted value\n * @function\n * @private\n * @param {jQuery} $handle - the selected handle.\n * @param {Number} value - value to adjust. used if $handle is falsy\n */\n _adjustValue($handle, value) {\n var val,\n step = this.options.step,\n div = parseFloat(step/2),\n left, prev_val, next_val;\n if (!!$handle) {\n val = parseFloat($handle.attr('aria-valuenow'));\n }\n else {\n val = value;\n }\n if (val >= 0) {\n left = val % step;\n } else {\n left = step + (val % step);\n }\n prev_val = val - left;\n next_val = prev_val + step;\n if (left === 0) {\n return val;\n }\n val = val >= prev_val + div ? next_val : prev_val;\n return val;\n }\n\n /**\n * Adds event listeners to the slider elements.\n * @function\n * @private\n */\n _events() {\n this._eventsForHandle(this.$handle);\n if(this.handles[1]) {\n this._eventsForHandle(this.$handle2);\n }\n }\n\n\n /**\n * Adds event listeners a particular handle\n * @function\n * @private\n * @param {jQuery} $handle - the current handle to apply listeners to.\n */\n _eventsForHandle($handle) {\n var _this = this,\n curHandle;\n\n const handleChangeEvent = function(e) {\n const idx = _this.inputs.index($(this));\n _this._handleEvent(e, _this.handles.eq(idx), $(this).val());\n };\n\n // IE only triggers the change event when the input loses focus which strictly follows the HTML specification\n // listen for the enter key and trigger a change\n // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events\n this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) {\n if(e.keyCode == 13) handleChangeEvent.call(this, e);\n });\n\n this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent);\n\n if (this.options.clickSelect) {\n this.$element.off('click.zf.slider').on('click.zf.slider', function(e) {\n if (_this.$element.data('dragging')) { return false; }\n\n if (!$(e.target).is('[data-slider-handle]')) {\n if (_this.options.doubleSided) {\n _this._handleEvent(e);\n } else {\n _this._handleEvent(e, _this.$handle);\n }\n }\n });\n }\n\n if (this.options.draggable) {\n this.handles.addTouch();\n\n var $body = $('body');\n $handle\n .off('mousedown.zf.slider')\n .on('mousedown.zf.slider', function(e) {\n $handle.addClass('is-dragging');\n _this.$fill.addClass('is-dragging');//\n _this.$element.data('dragging', true);\n\n curHandle = $(e.currentTarget);\n\n $body.on('mousemove.zf.slider', function(e) {\n e.preventDefault();\n _this._handleEvent(e, curHandle);\n\n }).on('mouseup.zf.slider', function(e) {\n _this._handleEvent(e, curHandle);\n\n $handle.removeClass('is-dragging');\n _this.$fill.removeClass('is-dragging');\n _this.$element.data('dragging', false);\n\n $body.off('mousemove.zf.slider mouseup.zf.slider');\n });\n })\n // prevent events triggered by touch\n .on('selectstart.zf.slider touchmove.zf.slider', function(e) {\n e.preventDefault();\n });\n }\n\n $handle.off('keydown.zf.slider').on('keydown.zf.slider', function(e) {\n var _$handle = $(this),\n idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,\n oldValue = parseFloat(_this.inputs.eq(idx).val()),\n newValue;\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Slider', {\n decrease: function() {\n newValue = oldValue - _this.options.step;\n },\n increase: function() {\n newValue = oldValue + _this.options.step;\n },\n decrease_fast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increase_fast: function() {\n newValue = oldValue + _this.options.step * 10;\n },\n min: function() {\n newValue = _this.options.start;\n },\n max: function() {\n newValue = _this.options.end;\n },\n handled: function() { // only set handle pos when event was handled specially\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }\n });\n /*if (newValue) { // if pressed key has special function, update value\n e.preventDefault();\n _this._setHandlePos(_$handle, newValue);\n }*/\n });\n }\n\n /**\n * Destroys the slider plugin.\n */\n _destroy() {\n this.handles.off('.zf.slider');\n this.inputs.off('.zf.slider');\n this.$element.off('.zf.slider');\n\n clearTimeout(this.timeout);\n }\n}\n\nSlider.defaults = {\n /**\n * Minimum value for the slider scale.\n * @option\n * @type {number}\n * @default 0\n */\n start: 0,\n /**\n * Maximum value for the slider scale.\n * @option\n * @type {number}\n * @default 100\n */\n end: 100,\n /**\n * Minimum value change per change event.\n * @option\n * @type {number}\n * @default 1\n */\n step: 1,\n /**\n * Value at which the handle/input *(left handle/first input)* should be set to on initialization.\n * @option\n * @type {number}\n * @default 0\n */\n initialStart: 0,\n /**\n * Value at which the right handle/second input should be set to on initialization.\n * @option\n * @type {number}\n * @default 100\n */\n initialEnd: 100,\n /**\n * Allows the input to be located outside the container and visible. Set to by the JS\n * @option\n * @type {boolean}\n * @default false\n */\n binding: false,\n /**\n * Allows the user to click/tap on the slider bar to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n clickSelect: true,\n /**\n * Set to true and use the `vertical` class to change alignment to vertical.\n * @option\n * @type {boolean}\n * @default false\n */\n vertical: false,\n /**\n * Allows the user to drag the slider handle(s) to select a value.\n * @option\n * @type {boolean}\n * @default true\n */\n draggable: true,\n /**\n * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.\n * @option\n * @type {boolean}\n * @default false\n */\n disabled: false,\n /**\n * Allows the use of two handles. Double checked by the JS. Changes some logic handling.\n * @option\n * @type {boolean}\n * @default false\n */\n doubleSided: false,\n /**\n * Potential future feature.\n */\n // steps: 100,\n /**\n * Number of decimal places the plugin should go to for floating point precision.\n * @option\n * @type {number}\n * @default 2\n */\n decimal: 2,\n /**\n * Time delay for dragged elements.\n */\n // dragDelay: 0,\n /**\n * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.\n * @option\n * @type {number}\n * @default 200\n */\n moveTime: 200,//update this if changing the transition time in the sass\n /**\n * Class applied to disabled sliders.\n * @option\n * @type {string}\n * @default 'disabled'\n */\n disabledClass: 'disabled',\n /**\n * Will invert the default layout for a vertical slider.\n * @option\n * @type {boolean}\n * @default false\n */\n invertVertical: false,\n /**\n * Milliseconds before the `changed.zf-slider` event is triggered after value change.\n * @option\n * @type {number}\n * @default 500\n */\n changedDelay: 500,\n /**\n * Basevalue for non-linear sliders\n * @option\n * @type {number}\n * @default 5\n */\n nonLinearBase: 5,\n /**\n * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.\n * @option\n * @type {string}\n * @default 'linear'\n */\n positionValueFunction: 'linear',\n};\n\nfunction percent(frac, num) {\n return (frac / num);\n}\nfunction absPosition($handle, dir, clickPos, param) {\n return Math.abs(($handle.position()[dir] + ($handle[param]() / 2)) - clickPos);\n}\nfunction baseLog(base, value) {\n return Math.log(value)/Math.log(base)\n}\n\nexport {Slider};\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"," \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 = 15);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.smoothScroll.js b/dist/js/plugins/foundation.smoothScroll.js index ff75a0847e..e881df0940 100644 --- a/dist/js/plugins/foundation.smoothScroll.js +++ b/dist/js/plugins/foundation.smoothScroll.js @@ -144,7 +144,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ "./foundation.core"); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -152,15 +152,19 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } @@ -170,20 +174,20 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func * @module foundation.smoothScroll */ -var SmoothScroll = -/*#__PURE__*/ -function (_Plugin) { +var SmoothScroll = /*#__PURE__*/function (_Plugin) { _inherits(SmoothScroll, _Plugin); + var _super = _createSuper(SmoothScroll); + function SmoothScroll() { _classCallCheck(this, SmoothScroll); - return _possibleConstructorReturn(this, _getPrototypeOf(SmoothScroll).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(SmoothScroll, [{ key: "_setup", - + value: /** * Creates a new instance of SmoothScroll. * @class @@ -192,7 +196,7 @@ function (_Plugin) { * @param {Object} element - jQuery object to add the trigger to. * @param {Object} options - Overrides to the default plugin settings. */ - value: function _setup(element, options) { + function _setup(element, options) { this.$element = element; this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, SmoothScroll.defaults, this.$element.data(), options); this.className = 'SmoothScroll'; // ie9 back compat @@ -249,18 +253,18 @@ function (_Plugin) { } }, { key: "_destroy", - + value: /** * Destroys the SmoothScroll instance. * @function */ - value: function _destroy() { + function _destroy() { this.$element.off('click.zf.smoothScroll', this._linkClickListener); this.$element.off('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListener); } }], [{ key: "scrollToLoc", - + value: /** * Function to scroll to a given location on the page. * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo' @@ -269,7 +273,7 @@ function (_Plugin) { * @static * @function */ - value: function scrollToLoc(loc) { + function scrollToLoc(loc) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SmoothScroll.defaults; var callback = arguments.length > 2 ? arguments[2] : undefined; var $loc = jquery__WEBPACK_IMPORTED_MODULE_0___default()(loc); // Do nothing if target does not exist to prevent errors diff --git a/dist/js/plugins/foundation.smoothScroll.js.map b/dist/js/plugins/foundation.smoothScroll.js.map index cef085a134..7e7279f35e 100644 --- a/dist/js/plugins/foundation.smoothScroll.js.map +++ b/dist/js/plugins/foundation.smoothScroll.js.map @@ -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]/./js/entries/plugins/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","SmoothScroll","element","options","$element","$","extend","defaults","data","className","_init","id","GetYoDigits","attr","_events","_linkClickListener","_handleLinkClick","bind","on","e","currentTarget","is","arrival","getAttribute","_inTransition","scrollToLoc","preventDefault","off","loc","callback","$loc","length","scrollPos","Math","round","offset","top","threshold","stop","animate","scrollTop","animationDuration","animationEasing","Plugin"],"mappings":"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","file":"foundation.smoothScroll.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.smoothScroll\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 16);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { SmoothScroll } from '../../foundation.smoothScroll';\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\n\nexport { Foundation, SmoothScroll };\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","SmoothScroll","element","options","$element","$","extend","defaults","data","className","_init","id","GetYoDigits","attr","_events","_linkClickListener","_handleLinkClick","bind","on","e","currentTarget","is","arrival","getAttribute","_inTransition","scrollToLoc","preventDefault","off","loc","callback","$loc","length","scrollPos","Math","round","offset","top","threshold","stop","animate","scrollTop","animationDuration","animationEasing","Plugin"],"mappings":"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","file":"foundation.smoothScroll.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.smoothScroll\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 16);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { SmoothScroll } from '../../foundation.smoothScroll';\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\n\nexport { Foundation, SmoothScroll };\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.smoothScroll.min.js b/dist/js/plugins/foundation.smoothScroll.min.js index b0ade3636e..e1f3fc9142 100644 --- a/dist/js/plugins/foundation.smoothScroll.min.js +++ b/dist/js/plugins/foundation.smoothScroll.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports["foundation.smoothScroll"]=e(require("./foundation.core"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.smoothScroll"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery))}(window,function(o,n){return u={},r.m=i={"./foundation.core":function(t,e){t.exports=o},"./js/entries/plugins/foundation.smoothScroll.js":function(t,e,o){"use strict";o.r(e);var n=o("./foundation.core");o.d(e,"Foundation",function(){return n.Foundation});var r=o("./js/foundation.smoothScroll.js");o.d(e,"SmoothScroll",function(){return r.SmoothScroll}),n.Foundation.plugin(r.SmoothScroll,"SmoothScroll")},"./js/foundation.smoothScroll.js":function(t,e,o){"use strict";o.r(e),o.d(e,"SmoothScroll",function(){return l});var n=o("jquery"),c=o.n(n),r=o("./foundation.core");function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var o=0;o {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.smoothScroll.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_smoothScroll__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","SmoothScroll","Reflect","construct","sham","Proxy","Boolean","prototype","valueOf","call","e","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","options","length","undefined","arguments","defaults","scrollPos","offset","round","$","loc","animationDuration","callback","$loc","top","threshold","stop","animate","scrollTop","animationEasing","this","_init","element","jquery__WEBPACK_IMPORTED_MODULE_0___default","a","extend","$element","data","className","id","value","_events","attr","key","_linkClickListener","_handleLinkClick","bind","arrival","currentTarget","is","getAttribute","preventDefault","scrollToLoc","installedModules","m","modules","c","name","getter","defineProperty","enumerable","get","Symbol","toStringTag","t","mode","__esModule","ns","create","n","object","property","hasOwnProperty","p","s","moduleId","i","l"],"mappings":"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","file":"foundation.smoothScroll.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.smoothScroll\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.smoothScroll\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { SmoothScroll } from '../../foundation.smoothScroll';\nFoundation.plugin(SmoothScroll, 'SmoothScroll');\n\nexport { Foundation, SmoothScroll };\n","import $ from 'jquery';\nimport { GetYoDigits } from './foundation.core.utils';\nimport { Plugin } from './foundation.core.plugin';\n\n/**\n * SmoothScroll module.\n * @module foundation.smoothScroll\n */\nclass SmoothScroll extends Plugin {\n /**\n * Creates a new instance of SmoothScroll.\n * @class\n * @name SmoothScroll\n * @fires SmoothScroll#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, SmoothScroll.defaults, this.$element.data(), options);\n this.className = 'SmoothScroll'; // ie9 back compat\n\n this._init();\n }\n\n /**\n * Initialize the SmoothScroll plugin\n * @private\n */\n _init() {\n const id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll');\n this.$element.attr({ id });\n\n this._events();\n }\n\n /**\n * Initializes events for SmoothScroll.\n * @private\n */\n _events() {\n this._linkClickListener = this._handleLinkClick.bind(this);\n this.$element.on('click.zf.smoothScroll', this._linkClickListener);\n this.$element.on('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n\n /**\n * Handle the given event to smoothly scroll to the anchor pointed by the event target.\n * @param {*} e - event\n * @function\n * @private\n */\n _handleLinkClick(e) {\n // Follow the link if it does not point to an anchor.\n if (!$(e.currentTarget).is('a[href^=\"#\"]')) return;\n\n const arrival = e.currentTarget.getAttribute('href');\n\n this._inTransition = true;\n\n SmoothScroll.scrollToLoc(arrival, this.options, () => {\n this._inTransition = false;\n });\n\n e.preventDefault();\n };\n\n /**\n * Function to scroll to a given location on the page.\n * @param {String} loc - A properly formatted jQuery id selector. Example: '#foo'\n * @param {Object} options - The options to use.\n * @param {Function} callback - The callback function.\n * @static\n * @function\n */\n static scrollToLoc(loc, options = SmoothScroll.defaults, callback) {\n const $loc = $(loc);\n\n // Do nothing if target does not exist to prevent errors\n if (!$loc.length) return false;\n\n var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset);\n\n $('html, body').stop(true).animate(\n { scrollTop: scrollPos },\n options.animationDuration,\n options.animationEasing,\n () => {\n if (typeof callback === 'function'){\n callback();\n }\n }\n );\n }\n\n /**\n * Destroys the SmoothScroll instance.\n * @function\n */\n _destroy() {\n this.$element.off('click.zf.smoothScroll', this._linkClickListener)\n this.$element.off('click.zf.smoothScroll', 'a[href^=\"#\"]', this._linkClickListener);\n }\n}\n\n/**\n * Default settings for plugin.\n */\nSmoothScroll.defaults = {\n /**\n * Amount of time, in ms, the animated scrolling should take between locations.\n * @option\n * @type {number}\n * @default 500\n */\n animationDuration: 500,\n /**\n * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`.\n * @option\n * @type {string}\n * @default 'linear'\n * @see {@link https://api.jquery.com/animate|Jquery animate}\n */\n animationEasing: 'linear',\n /**\n * Number of pixels to use as a marker for location changes.\n * @option\n * @type {number}\n * @default 50\n */\n threshold: 50,\n /**\n * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.\n * @option\n * @type {number}\n * @default 0\n */\n offset: 0\n}\n\nexport {SmoothScroll}\n"," \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 = 16);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.sticky.js b/dist/js/plugins/foundation.sticky.js index 39f2a0a100..f64c05839e 100644 --- a/dist/js/plugins/foundation.sticky.js +++ b/dist/js/plugins/foundation.sticky.js @@ -169,9 +169,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ "./foundation.util.mediaQuery"); /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js"); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -179,15 +177,19 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } @@ -201,20 +203,20 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func * @requires foundation.util.mediaQuery */ -var Sticky = -/*#__PURE__*/ -function (_Plugin) { +var Sticky = /*#__PURE__*/function (_Plugin) { _inherits(Sticky, _Plugin); + var _super = _createSuper(Sticky); + function Sticky() { _classCallCheck(this, Sticky); - return _possibleConstructorReturn(this, _getPrototypeOf(Sticky).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Sticky, [{ key: "_setup", - + value: /** * Creates a new instance of a sticky thing. * @class @@ -222,7 +224,7 @@ function (_Plugin) { * @param {jQuery} element - jQuery object to make sticky. * @param {Object} options - options object passed when creating the element programmatically. */ - value: function _setup(element, options) { + function _setup(element, options) { this.$element = element; this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Sticky.defaults, this.$element.data(), options); this.className = 'Sticky'; // ie9 back compat @@ -795,9 +797,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion"); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -931,9 +931,8 @@ Triggers.Listeners.Global = { _this.triggerHandler('close.zf.trigger', [_this]); }); - } // Global, parses whole document. - -}; + } +}; // Global, parses whole document. Triggers.Initializers.addClosemeListener = function (pluginName) { var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'), diff --git a/dist/js/plugins/foundation.sticky.js.map b/dist/js/plugins/foundation.sticky.js.map index 307df57952..cc8e265937 100644 --- a/dist/js/plugins/foundation.sticky.js.map +++ b/dist/js/plugins/foundation.sticky.js.map @@ -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.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.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.sticky.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","Sticky","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","MediaQuery","$parent","parent","id","GetYoDigits","_this","length","$container","wasWrapped","wrap","container","addClass","containerClass","stickyClass","attr","anchor","scrollCount","checkEvery","isStuck","onLoadListener","onLoad","window","containerHeight","css","getBoundingClientRect","height","elemHeight","$anchor","_parsePoints","_setSizes","scroll","pageYOffset","_calc","_removeSticky","topPoint","_events","split","reverse","join","top","topAnchor","btm","btmAnchor","document","documentElement","scrollHeight","pts","breaks","i","len","pt","place","offset","toLowerCase","points","scrollListener","isOn","canStick","off","on","e","el","_eventsHandler","_pauseListeners","trigger","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","removeClass","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","cb","is","stickyOn","newElemWidth","width","comp","getComputedStyle","pdngl","parseInt","pdngr","dynamicHeight","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","bottom","unwrap","Plugin","em","body","fontSize","MutationObserver","prefixes","triggers","type","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.sticky.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.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], 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_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 = 17);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Sticky } from '../../foundation.sticky';\nFoundation.plugin(Sticky, 'Sticky');\n\nexport { Foundation, Sticky };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\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 sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
        ',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\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":""} \ No newline at end of file +{"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.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.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.sticky.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","Sticky","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","MediaQuery","$parent","parent","id","GetYoDigits","_this","length","$container","wasWrapped","wrap","container","addClass","containerClass","stickyClass","attr","anchor","scrollCount","checkEvery","isStuck","onLoadListener","onLoad","window","containerHeight","css","getBoundingClientRect","height","elemHeight","$anchor","_parsePoints","_setSizes","scroll","pageYOffset","_calc","_removeSticky","topPoint","_events","split","reverse","join","top","topAnchor","btm","btmAnchor","document","documentElement","scrollHeight","pts","breaks","i","len","pt","place","offset","toLowerCase","points","scrollListener","isOn","canStick","off","on","e","el","_eventsHandler","_pauseListeners","trigger","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","removeClass","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","cb","is","stickyOn","newElemWidth","width","comp","getComputedStyle","pdngl","parseInt","pdngr","dynamicHeight","newContainerHeight","hasClass","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","winHeight","innerHeight","bottom","unwrap","Plugin","em","body","fontSize","MutationObserver","prefixes","triggers","type","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.sticky.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.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], 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_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 = 17);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Sticky } from '../../foundation.sticky';\nFoundation.plugin(Sticky, 'Sticky');\n\nexport { Foundation, Sticky };\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\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 sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
        ',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\n","import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).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":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.sticky.min.js b/dist/js/plugins/foundation.sticky.min.js index 247fe664a9..82a222b888 100644 --- a/dist/js/plugins/foundation.sticky.min.js +++ b/dist/js/plugins/foundation.sticky.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.mediaQuery","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.sticky"]=e(require("./foundation.core"),require("./foundation.util.mediaQuery"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.sticky"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(i,n,o,s){return c={},r.m=a={"./foundation.core":function(t,e){t.exports=i},"./foundation.util.mediaQuery":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=o},"./js/entries/plugins/foundation.sticky.js":function(t,e,i){"use strict";i.r(e);var n=i("./foundation.core");i.d(e,"Foundation",function(){return n.Foundation});var o=i("./js/foundation.sticky.js");i.d(e,"Sticky",function(){return o.Sticky}),n.Foundation.plugin(o.Sticky,"Sticky")},"./js/foundation.sticky.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Sticky",function(){return h});var n=i("jquery"),a=i.n(n),o=i("./foundation.core"),c=i("./foundation.util.mediaQuery"),s=i("./js/foundation.util.triggers.js");function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var i=0;i=i.topPoint))}),i._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t=[""==this.options.topAnchor?1:this.options.topAnchor,""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor],e={},i=0,n=t.length;i=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",o={};o[i]="".concat(this.options[i],"em"),o[e]=0,o[n]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-".concat(n)).addClass("is-stuck is-at-".concat(e)).css(o).trigger("sticky.zf.stuckto:".concat(e)),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i="top"===e,n={},o=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,s=t?"top":"bottom";n[i?"marginTop":"marginBottom"]=0,n.bottom="auto",n.top=t?0:o,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-".concat(e)).addClass("is-anchored is-at-".concat(s)).css(n).trigger("sticky.zf.unstuckfrom:".concat(s))}},{key:"_setSizes",value:function(t){this.canStick=c.MediaQuery.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e=this.$container[0].getBoundingClientRect().width,i=window.getComputedStyle(this.$container[0]),n=parseInt(i["padding-left"],10),o=parseInt(i["padding-right"],10);if(this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":"".concat(e-n-o,"px")}),this.options.dynamicHeight||!this.containerHeight){var s=this.$element[0].getBoundingClientRect().height||this.containerHeight;s="none"==this.$element.css("display")?0:s,this.$container.css("height",s),this.containerHeight=s}if(this.elemHeight=this.containerHeight,!this.isStuck&&this.$element.hasClass("is-at-bottom")){var r=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight;this.$element.css("top",r)}this._setBreakPoints(this.containerHeight,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var i=g(this.options.marginTop),n=g(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,s=this.points?this.points[1]:o+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(o-=i,s-=t+i):"bottom"===this.options.stickTo&&(o-=r-(t+n),s-=r-n),this.topPoint=o,this.bottomPoint=s,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass("".concat(this.options.stickyClass," is-anchored is-at-top")).css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),this.scrollListener&&a()(window).off(this.scrollListener),this.onLoadListener&&a()(window).off(this.onLoadListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}]),i}();function g(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}h.defaults={container:"
        ",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",dynamicHeight:!0,checkEvery:-1}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return l});var n=i("jquery"),s=i.n(n),o=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 c(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=i.topPoint))}),i._events(e.split("-").reverse().join("-"))})}},{key:"_parsePoints",value:function(){for(var t,e,i,n=[""==this.options.topAnchor?1:this.options.topAnchor,""==this.options.btmAnchor?document.documentElement.scrollHeight:this.options.btmAnchor],o={},s=0,r=n.length;s=this.topPoint?e<=this.bottomPoint?this.isStuck||this._setSticky():this.isStuck&&this._removeSticky(!1):this.isStuck&&this._removeSticky(!0)}},{key:"_setSticky",value:function(){var t=this,e=this.options.stickTo,i="top"===e?"marginTop":"marginBottom",n="top"===e?"bottom":"top",o={};o[i]="".concat(this.options[i],"em"),o[e]=0,o[n]="auto",this.isStuck=!0,this.$element.removeClass("is-anchored is-at-".concat(n)).addClass("is-stuck is-at-".concat(e)).css(o).trigger("sticky.zf.stuckto:".concat(e)),this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd",function(){t._setSizes()})}},{key:"_removeSticky",value:function(t){var e=this.options.stickTo,i={},n=(this.points?this.points[1]-this.points[0]:this.anchorHeight)-this.elemHeight,o=t?"top":"bottom";i["top"===e?"marginTop":"marginBottom"]=0,i.bottom="auto",i.top=t?0:n,this.isStuck=!1,this.$element.removeClass("is-stuck is-at-".concat(e)).addClass("is-anchored is-at-".concat(o)).css(i).trigger("sticky.zf.unstuckfrom:".concat(o))}},{key:"_setSizes",value:function(t){this.canStick=r.MediaQuery.is(this.options.stickyOn),this.canStick||t&&"function"==typeof t&&t();var e,i=this.$container[0].getBoundingClientRect().width,n=window.getComputedStyle(this.$container[0]),o=parseInt(n["padding-left"],10),n=parseInt(n["padding-right"],10);this.$anchor&&this.$anchor.length?this.anchorHeight=this.$anchor[0].getBoundingClientRect().height:this._parsePoints(),this.$element.css({"max-width":"".concat(i-o-n,"px")}),!this.options.dynamicHeight&&this.containerHeight||(e=this.$element[0].getBoundingClientRect().height||this.containerHeight,e="none"==this.$element.css("display")?0:e,this.$container.css("height",e),this.containerHeight=e),this.elemHeight=this.containerHeight,this.isStuck||this.$element.hasClass("is-at-bottom")&&(e=(this.points?this.points[1]-this.$container.offset().top:this.anchorHeight)-this.elemHeight,this.$element.css("top",e)),this._setBreakPoints(this.containerHeight,function(){t&&"function"==typeof t&&t()})}},{key:"_setBreakPoints",value:function(t,e){if(!this.canStick){if(!e||"function"!=typeof e)return!1;e()}var i=h(this.options.marginTop),n=h(this.options.marginBottom),o=this.points?this.points[0]:this.$anchor.offset().top,s=this.points?this.points[1]:o+this.anchorHeight,r=window.innerHeight;"top"===this.options.stickTo?(o-=i,s-=t+i):"bottom"===this.options.stickTo&&(o-=r-(t+n),s-=r-n),this.topPoint=o,this.bottomPoint=s,e&&"function"==typeof e&&e()}},{key:"_destroy",value:function(){this._removeSticky(!0),this.$element.removeClass("".concat(this.options.stickyClass," is-anchored is-at-top")).css({height:"",top:"",bottom:"","max-width":""}).off("resizeme.zf.trigger").off("mutateme.zf.trigger"),this.$anchor&&this.$anchor.length&&this.$anchor.off("change.zf.sticky"),this.scrollListener&&a()(window).off(this.scrollListener),this.onLoadListener&&a()(window).off(this.onLoadListener),this.wasWrapped?this.$element.unwrap():this.$container.removeClass(this.options.containerClass).css({height:""})}}])&&u(t.prototype,e),i&&u(t,i),o}();function h(t){return parseInt(window.getComputedStyle(document.body,null).fontSize,10)*t}n.defaults={container:"
        ",stickTo:"top",anchor:"",topAnchor:"",btmAnchor:"",marginTop:1,marginBottom:1,stickyOn:"medium",stickyClass:"sticky",containerClass:"sticky-container",dynamicHeight:!0,checkEvery:-1}},"./js/foundation.util.triggers.js":function(t,e,i){"use strict";i.r(e),i.d(e,"Triggers",function(){return u});var e=i("jquery"),s=i.n(e),n=i("./foundation.core"),o=i("./foundation.util.motion");function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function a(e,i){e.data(i).split(" ").forEach(function(t){s()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})}var c=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
        ',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\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__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","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.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.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.sticky.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_sticky__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Sticky","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_typeof","obj","Symbol","iterator","constructor","prototype","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","key","element","$","this","className","options","a","extend","defaults","$element","data","init","_init","MediaQuery","_this","parent","$parent","length","wasWrapped","$container","wrap","container","addClass","containerClass","id","data-resize","anchor","attr","data-mutate","onLoadListener","onLoad","isStuck","containerHeight","getBoundingClientRect","height","elemHeight","css","_parsePoints","scroll","_removeSticky","topPoint","_events","split","reverse","join","value","btm","place","pt","topAnchor","btmAnchor","document","documentElement","scrollHeight","breaks","pts","i","offset","top","toLowerCase","points","scrollListener","concat","isOn","scrollCount","checkEvery","off","on","e","_setSizes","_calc","pageYOffset","el","$anchor","_eventsHandler","canStick","_pauseListeners","trigger","checkSizes","_setSticky","bottomPoint","stickTo","mrgn","notStuckTo","removeClass","stickToTop","isTop","topOrBottom","anchorHeight","anchorPt","is","stickyOn","cb","pdngl","parseInt","comp","width","pdngr","newContainerHeight","marginTop","marginBottom","winHeight","mTop","mBtm","stickyClass","bottom","emCalc","em","dynamicHeight","Triggers","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","type","forEach","MutationObserver","prefixes","Listeners","Basic","Global","Initializers","timer","Array","slice","call","arguments","clearTimeout","setTimeout","args","listener","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","closeMeListener","pluginId","namespace","not","yetiBoxes","pluginName","plugNames","console","error","map","name","listeners","debounceGlobalListener","debounce","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","elementObserver","attributes","childList","characterData","subtree","$document","addMutationEventsListener","addResizeListener","addScrollListener","triggersInitialized","addSimpleListeners","addGlobalListeners","installedModules","m","modules","c","getter","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","bind","object","property","hasOwnProperty","p","s","moduleId","l"],"mappings":"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","file":"foundation.sticky.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.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.sticky\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.sticky\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], 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_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Sticky } from '../../foundation.sticky';\nFoundation.plugin(Sticky, 'Sticky');\n\nexport { Foundation, Sticky };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad, GetYoDigits } from './foundation.core.utils';\nimport { MediaQuery } from './foundation.util.mediaQuery';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Sticky module.\n * @module foundation.sticky\n * @requires foundation.util.triggers\n * @requires foundation.util.mediaQuery\n */\n\nclass Sticky extends Plugin {\n /**\n * Creates a new instance of a sticky thing.\n * @class\n * @name Sticky\n * @param {jQuery} element - jQuery object to make sticky.\n * @param {Object} options - options object passed when creating the element programmatically.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);\n this.className = 'Sticky'; // ie9 back compat\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 sticky element by adding classes, getting/setting dimensions, breakpoints and attributes\n * @function\n * @private\n */\n _init() {\n MediaQuery._init();\n\n var $parent = this.$element.parent('[data-sticky-container]'),\n id = this.$element[0].id || GetYoDigits(6, 'sticky'),\n _this = this;\n\n if($parent.length){\n this.$container = $parent;\n } else {\n this.wasWrapped = true;\n this.$element.wrap(this.options.container);\n this.$container = this.$element.parent();\n }\n this.$container.addClass(this.options.containerClass);\n\n this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id, 'data-mutate': id });\n if (this.options.anchor !== '') {\n $('#' + _this.options.anchor).attr({ 'data-mutate': id });\n }\n\n this.scrollCount = this.options.checkEvery;\n this.isStuck = false;\n this.onLoadListener = onLoad($(window), function () {\n //We calculate the container height to have correct values for anchor points offset calculation.\n _this.containerHeight = _this.$element.css(\"display\") == \"none\" ? 0 : _this.$element[0].getBoundingClientRect().height;\n _this.$container.css('height', _this.containerHeight);\n _this.elemHeight = _this.containerHeight;\n if (_this.options.anchor !== '') {\n _this.$anchor = $('#' + _this.options.anchor);\n } else {\n _this._parsePoints();\n }\n\n _this._setSizes(function () {\n var scroll = window.pageYOffset;\n _this._calc(false, scroll);\n //Unstick the element will ensure that proper classes are set.\n if (!_this.isStuck) {\n _this._removeSticky((scroll >= _this.topPoint) ? false : true);\n }\n });\n _this._events(id.split('-').reverse().join('-'));\n });\n }\n\n /**\n * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.\n * @function\n * @private\n */\n _parsePoints() {\n var top = this.options.topAnchor == \"\" ? 1 : this.options.topAnchor,\n btm = this.options.btmAnchor== \"\" ? document.documentElement.scrollHeight : this.options.btmAnchor,\n pts = [top, btm],\n breaks = {};\n for (var i = 0, len = pts.length; i < len && pts[i]; i++) {\n var pt;\n if (typeof pts[i] === 'number') {\n pt = pts[i];\n } else {\n var place = pts[i].split(':'),\n anchor = $(`#${place[0]}`);\n\n pt = anchor.offset().top;\n if (place[1] && place[1].toLowerCase() === 'bottom') {\n pt += anchor[0].getBoundingClientRect().height;\n }\n }\n breaks[i] = pt;\n }\n\n\n this.points = breaks;\n return;\n }\n\n /**\n * Adds event handlers for the scrolling element.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _events(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n if (this.isOn) { return; }\n if (this.canStick) {\n this.isOn = true;\n $(window).off(scrollListener)\n .on(scrollListener, function(e) {\n if (_this.scrollCount === 0) {\n _this.scrollCount = _this.options.checkEvery;\n _this._setSizes(function() {\n _this._calc(false, window.pageYOffset);\n });\n } else {\n _this.scrollCount--;\n _this._calc(false, window.pageYOffset);\n }\n });\n }\n\n this.$element.off('resizeme.zf.trigger')\n .on('resizeme.zf.trigger', function(e, el) {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function (e, el) {\n _this._eventsHandler(id);\n });\n }\n }\n\n /**\n * Handler for events.\n * @private\n * @param {String} id - pseudo-random id for unique scroll event listener.\n */\n _eventsHandler(id) {\n var _this = this,\n scrollListener = this.scrollListener = `scroll.zf.${id}`;\n\n _this._setSizes(function() {\n _this._calc(false);\n if (_this.canStick) {\n if (!_this.isOn) {\n _this._events(id);\n }\n } else if (_this.isOn) {\n _this._pauseListeners(scrollListener);\n }\n });\n }\n\n /**\n * Removes event handlers for scroll and change events on anchor.\n * @fires Sticky#pause\n * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`\n */\n _pauseListeners(scrollListener) {\n this.isOn = false;\n $(window).off(scrollListener);\n\n /**\n * Fires when the plugin is paused due to resize event shrinking the view.\n * @event Sticky#pause\n * @private\n */\n this.$element.trigger('pause.zf.sticky');\n }\n\n /**\n * Called on every `scroll` event and on `_init`\n * fires functions based on booleans and cached values\n * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.\n * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.\n */\n _calc(checkSizes, scroll) {\n if (checkSizes) { this._setSizes(); }\n\n if (!this.canStick) {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n return false;\n }\n\n if (!scroll) { scroll = window.pageYOffset; }\n\n if (scroll >= this.topPoint) {\n if (scroll <= this.bottomPoint) {\n if (!this.isStuck) {\n this._setSticky();\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(false);\n }\n }\n } else {\n if (this.isStuck) {\n this._removeSticky(true);\n }\n }\n }\n\n /**\n * Causes the $element to become stuck.\n * Adds `position: fixed;`, and helper classes.\n * @fires Sticky#stuckto\n * @function\n * @private\n */\n _setSticky() {\n var _this = this,\n stickTo = this.options.stickTo,\n mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',\n notStuckTo = stickTo === 'top' ? 'bottom' : 'top',\n css = {};\n\n css[mrgn] = `${this.options[mrgn]}em`;\n css[stickTo] = 0;\n css[notStuckTo] = 'auto';\n this.isStuck = true;\n this.$element.removeClass(`is-anchored is-at-${notStuckTo}`)\n .addClass(`is-stuck is-at-${stickTo}`)\n .css(css)\n /**\n * Fires when the $element has become `position: fixed;`\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`\n * @event Sticky#stuckto\n */\n .trigger(`sticky.zf.stuckto:${stickTo}`);\n this.$element.on(\"transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd\", function() {\n _this._setSizes();\n });\n }\n\n /**\n * Causes the $element to become unstuck.\n * Removes `position: fixed;`, and helper classes.\n * Adds other helper classes.\n * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.\n * @fires Sticky#unstuckfrom\n * @private\n */\n _removeSticky(isTop) {\n var stickTo = this.options.stickTo,\n stickToTop = stickTo === 'top',\n css = {},\n anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,\n mrgn = stickToTop ? 'marginTop' : 'marginBottom',\n topOrBottom = isTop ? 'top' : 'bottom';\n\n css[mrgn] = 0;\n\n css['bottom'] = 'auto';\n if(isTop) {\n css['top'] = 0;\n } else {\n css['top'] = anchorPt;\n }\n\n this.isStuck = false;\n this.$element.removeClass(`is-stuck is-at-${stickTo}`)\n .addClass(`is-anchored is-at-${topOrBottom}`)\n .css(css)\n /**\n * Fires when the $element has become anchored.\n * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`\n * @event Sticky#unstuckfrom\n */\n .trigger(`sticky.zf.unstuckfrom:${topOrBottom}`);\n }\n\n /**\n * Sets the $element and $container sizes for plugin.\n * Calls `_setBreakPoints`.\n * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.\n * @private\n */\n _setSizes(cb) {\n this.canStick = MediaQuery.is(this.options.stickyOn);\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n var _this = this,\n newElemWidth = this.$container[0].getBoundingClientRect().width,\n comp = window.getComputedStyle(this.$container[0]),\n pdngl = parseInt(comp['padding-left'], 10),\n pdngr = parseInt(comp['padding-right'], 10);\n\n if (this.$anchor && this.$anchor.length) {\n this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;\n } else {\n this._parsePoints();\n }\n\n this.$element.css({\n 'max-width': `${newElemWidth - pdngl - pdngr}px`\n });\n\n // Recalculate the height only if it is \"dynamic\"\n if (this.options.dynamicHeight || !this.containerHeight) {\n // Get the sticked element height and apply it to the container to \"hold the place\"\n var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;\n newContainerHeight = this.$element.css(\"display\") == \"none\" ? 0 : newContainerHeight;\n this.$container.css('height', newContainerHeight);\n this.containerHeight = newContainerHeight;\n }\n this.elemHeight = this.containerHeight;\n\n if (!this.isStuck) {\n if (this.$element.hasClass('is-at-bottom')) {\n var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight;\n this.$element.css('top', anchorPt);\n }\n }\n\n this._setBreakPoints(this.containerHeight, function() {\n if (cb && typeof cb === 'function') { cb(); }\n });\n }\n\n /**\n * Sets the upper and lower breakpoints for the element to become sticky/unsticky.\n * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.\n * @param {Function} cb - optional callback function to be called on completion.\n * @private\n */\n _setBreakPoints(elemHeight, cb) {\n if (!this.canStick) {\n if (cb && typeof cb === 'function') { cb(); }\n else { return false; }\n }\n var mTop = emCalc(this.options.marginTop),\n mBtm = emCalc(this.options.marginBottom),\n topPoint = this.points ? this.points[0] : this.$anchor.offset().top,\n bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,\n // topPoint = this.$anchor.offset().top || this.points[0],\n // bottomPoint = topPoint + this.anchorHeight || this.points[1],\n winHeight = window.innerHeight;\n\n if (this.options.stickTo === 'top') {\n topPoint -= mTop;\n bottomPoint -= (elemHeight + mTop);\n } else if (this.options.stickTo === 'bottom') {\n topPoint -= (winHeight - (elemHeight + mBtm));\n bottomPoint -= (winHeight - mBtm);\n } else {\n //this would be the stickTo: both option... tricky\n }\n\n this.topPoint = topPoint;\n this.bottomPoint = bottomPoint;\n\n if (cb && typeof cb === 'function') { cb(); }\n }\n\n /**\n * Destroys the current sticky element.\n * Resets the element to the top position first.\n * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.\n * @function\n */\n _destroy() {\n this._removeSticky(true);\n\n this.$element.removeClass(`${this.options.stickyClass} is-anchored is-at-top`)\n .css({\n height: '',\n top: '',\n bottom: '',\n 'max-width': ''\n })\n .off('resizeme.zf.trigger')\n .off('mutateme.zf.trigger');\n if (this.$anchor && this.$anchor.length) {\n this.$anchor.off('change.zf.sticky');\n }\n if (this.scrollListener) $(window).off(this.scrollListener)\n if (this.onLoadListener) $(window).off(this.onLoadListener)\n\n if (this.wasWrapped) {\n this.$element.unwrap();\n } else {\n this.$container.removeClass(this.options.containerClass)\n .css({\n height: ''\n });\n }\n }\n}\n\nSticky.defaults = {\n /**\n * Customizable container template. Add your own classes for styling and sizing.\n * @option\n * @type {string}\n * @default '<div data-sticky-container></div>'\n */\n container: '
        ',\n /**\n * Location in the view the element sticks to. Can be `'top'` or `'bottom'`.\n * @option\n * @type {string}\n * @default 'top'\n */\n stickTo: 'top',\n /**\n * If anchored to a single element, the id of that element.\n * @option\n * @type {string}\n * @default ''\n */\n anchor: '',\n /**\n * If using more than one element as anchor points, the id of the top anchor.\n * @option\n * @type {string}\n * @default ''\n */\n topAnchor: '',\n /**\n * If using more than one element as anchor points, the id of the bottom anchor.\n * @option\n * @type {string}\n * @default ''\n */\n btmAnchor: '',\n /**\n * Margin, in `em`'s to apply to the top of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginTop: 1,\n /**\n * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.\n * @option\n * @type {number}\n * @default 1\n */\n marginBottom: 1,\n /**\n * Breakpoint string that is the minimum screen size an element should become sticky.\n * @option\n * @type {string}\n * @default 'medium'\n */\n stickyOn: 'medium',\n /**\n * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.\n * @option\n * @type {string}\n * @default 'sticky'\n */\n stickyClass: 'sticky',\n /**\n * Class applied to sticky container. Foundation defaults to `sticky-container`.\n * @option\n * @type {string}\n * @default 'sticky-container'\n */\n containerClass: 'sticky-container',\n /**\n * If true (by default), keep the sticky container the same height as the element. Otherwise, the container height is set once and does not change.\n * @option\n * @type {boolean}\n * @default true\n */\n dynamicHeight: true,\n /**\n * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.\n * @option\n * @type {number}\n * @default -1\n */\n checkEvery: -1\n};\n\n/**\n * Helper function to calculate em values\n * @param Number {em} - number of em's to calculate into pixels\n */\nfunction emCalc(em) {\n return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;\n}\n\nexport {Sticky};\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"," \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 = 17);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.tabs.js b/dist/js/plugins/foundation.tabs.js index 92b6ec86ca..828130ee2d 100644 --- a/dist/js/plugins/foundation.tabs.js +++ b/dist/js/plugins/foundation.tabs.js @@ -170,9 +170,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.imageLoader */ "./foundation.util.imageLoader"); /* harmony import */ var _foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3__); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -180,15 +178,19 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } @@ -202,20 +204,20 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func * @requires foundation.util.imageLoader if tabs contain images */ -var Tabs = -/*#__PURE__*/ -function (_Plugin) { +var Tabs = /*#__PURE__*/function (_Plugin) { _inherits(Tabs, _Plugin); + var _super = _createSuper(Tabs); + function Tabs() { _classCallCheck(this, Tabs); - return _possibleConstructorReturn(this, _getPrototypeOf(Tabs).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Tabs, [{ key: "_setup", - + value: /** * Creates a new instance of tabs. * @class @@ -224,7 +226,7 @@ function (_Plugin) { * @param {jQuery} element - jQuery object to make into tabs. * @param {Object} options - Overrides to the default plugin settings. */ - value: function _setup(element, options) { + function _setup(element, options) { this.$element = element; this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Tabs.defaults, this.$element.data(), options); this.className = 'Tabs'; // ie9 back compat @@ -336,15 +338,15 @@ function (_Plugin) { _this2.selectTab($anchor, true); } // Otherwise, collapse everything else { - _this2._collapse(); - } // Roll up a little to show the titles + _this2._collapse(); + } // Roll up a little to show the titles if (_this2.options.deepLinkSmudge) { var offset = _this2.$element.offset(); jquery__WEBPACK_IMPORTED_MODULE_0___default()('html, body').animate({ - scrollTop: offset.top + scrollTop: offset.top - _this2.options.deepLinkSmudgeOffset }, _this2.options.deepLinkSmudgeDelay); } /** @@ -595,7 +597,7 @@ function (_Plugin) { } }, { key: "_setHeight", - + value: /** * Sets the height of each panel to the height of the tallest panel. * If enabled in options, gets called on media query change. @@ -604,11 +606,15 @@ function (_Plugin) { * @function * @private */ - value: function _setHeight() { + function _setHeight() { var max = 0, _this = this; // Lock down the `this` value for the root tabs object + if (!this.$tabContent) { + return; + } + this.$tabContent.find(".".concat(this.options.panelClass)).css('height', '').each(function () { var panel = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), isActive = panel.hasClass("".concat(_this.options.panelActiveClass)); // get the options from the parent instead of trying to get them from the child @@ -687,6 +693,14 @@ Tabs.defaults = { */ deepLinkSmudgeDelay: 300, + /** + * If `deepLinkSmudge` is enabled, animation offset from the top for the deep link adjustment + * @option + * @type {number} + * @default 0 + */ + deepLinkSmudgeOffset: 0, + /** * If `deepLink` is enabled, update the browser history with the open tab * @option diff --git a/dist/js/plugins/foundation.tabs.js.map b/dist/js/plugins/foundation.tabs.js.map index ec61319d90..e979bb1b82 100644 --- a/dist/js/plugins/foundation.tabs.js.map +++ b/dist/js/plugins/foundation.tabs.js.map @@ -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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Tabs","element","options","$element","$","extend","defaults","data","className","_init","Keyboard","register","_this","_isInitializing","attr","$tabTitles","find","linkClass","$tabContent","id","each","$elem","$link","isActive","hasClass","linkActiveClass","hash","slice","linkId","_initialAnchor","autoFocus","onLoadListener","onLoad","window","animate","scrollTop","offset","top","deepLinkSmudgeDelay","focus","matchHeight","$images","length","onImagesLoaded","_setHeight","bind","_checkDeepLink","anchor","location","anchorNoHash","indexOf","$anchor","first","isOwnAnchor","selectTab","_collapse","deepLinkSmudge","trigger","deepLink","_events","_addKeyHandler","_addClickHandler","_setHeightMqHandler","on","off","e","preventDefault","_handleTabChange","which","$elements","parent","children","$prevElement","$nextElement","i","is","wrapOnKeys","last","eq","Math","max","min","handleKey","open","previous","next","handled","$target","historyHandled","activeCollapse","$oldTab","$tabLink","target","$targetContent","_collapseTab","_openTab","updateHistory","history","pushState","replaceState","addClass","panelActiveClass","removeAttr","$target_anchor","removeClass","$activeTab","elem","idStr","hashIdStr","has","panelClass","css","panel","temp","getBoundingClientRect","height","hide","end","Plugin"],"mappings":"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","file":"foundation.tabs.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __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 = 18);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","plugin","Tabs","element","options","$element","$","extend","defaults","data","className","_init","Keyboard","register","_this","_isInitializing","attr","$tabTitles","find","linkClass","$tabContent","id","each","$elem","$link","isActive","hasClass","linkActiveClass","hash","slice","linkId","_initialAnchor","autoFocus","onLoadListener","onLoad","window","animate","scrollTop","offset","top","deepLinkSmudgeDelay","focus","matchHeight","$images","length","onImagesLoaded","_setHeight","bind","_checkDeepLink","anchor","location","anchorNoHash","indexOf","$anchor","first","isOwnAnchor","selectTab","_collapse","deepLinkSmudge","deepLinkSmudgeOffset","trigger","deepLink","_events","_addKeyHandler","_addClickHandler","_setHeightMqHandler","on","off","e","preventDefault","_handleTabChange","which","$elements","parent","children","$prevElement","$nextElement","i","is","wrapOnKeys","last","eq","Math","max","min","handleKey","open","previous","next","handled","$target","historyHandled","activeCollapse","$oldTab","$tabLink","target","$targetContent","_collapseTab","_openTab","updateHistory","history","pushState","replaceState","addClass","panelActiveClass","removeAttr","$target_anchor","removeClass","$activeTab","elem","idStr","hashIdStr","has","panelClass","css","panel","temp","getBoundingClientRect","height","hide","end","Plugin"],"mappings":"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","file":"foundation.tabs.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __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 = 18);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","import $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top - this.options.deepLinkSmudgeOffset}, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n if (!this.$tabContent) {\n return;\n }\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLinkSmudge` is enabled, animation offset from the top for the deep link adjustment\n * @option\n * @type {number}\n * @default 0\n */\n deepLinkSmudgeOffset: 0,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.tabs.min.js b/dist/js/plugins/foundation.tabs.min.js index 193390b516..c75edd86c3 100644 --- a/dist/js/plugins/foundation.tabs.min.js +++ b/dist/js/plugins/foundation.tabs.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.imageLoader"),require("./foundation.util.keyboard"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.imageLoader","./foundation.util.keyboard","jquery"],e):"object"==typeof exports?exports["foundation.tabs"]=e(require("./foundation.core"),require("./foundation.util.imageLoader"),require("./foundation.util.keyboard"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.tabs"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.imageLoader"],t.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"],t.jQuery))}(window,function(n,i,o,a){return l={},s.m=r={"./foundation.core":function(t,e){t.exports=n},"./foundation.util.imageLoader":function(t,e){t.exports=i},"./foundation.util.keyboard":function(t,e){t.exports=o},"./js/entries/plugins/foundation.tabs.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var o=n("./js/foundation.tabs.js");n.d(e,"Tabs",function(){return o.Tabs}),i.Foundation.plugin(o.Tabs,"Tabs")},"./js/foundation.tabs.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Tabs",function(){return h});var i=n("jquery"),r=n.n(i),l=n("./foundation.core"),s=n("./foundation.util.keyboard"),o=n("./foundation.util.imageLoader");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 c(t,e){for(var n=0;n {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","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.imageLoader\"],\"amd\":\"./foundation.util.imageLoader\",\"commonjs\":\"./foundation.util.imageLoader\",\"commonjs2\":\"./foundation.util.imageLoader\"}","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.keyboard\"],\"amd\":\"./foundation.util.keyboard\",\"commonjs\":\"./foundation.util.keyboard\",\"commonjs2\":\"./foundation.util.keyboard\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.tabs.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.tabs.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_tabs__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Tabs","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_3__","_typeof","obj","Symbol","iterator","constructor","prototype","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","key","element","$","this","className","_init","Keyboard","register","ENTER","SPACE","ARROW_RIGHT","ARROW_UP","ARROW_DOWN","$images","_this","_isInitializing","$element","attr","role","$tabTitles","each","find","concat","options","linkClass","$tabContent","id","$elem","isActive","linkActiveClass","hash","$link","linkId","hasClass","aria-controls","aria-selected","scrollTop","offset","top","animate","deepLinkSmudgeDelay","focus","length","_setHeight","bind","anchor","location","_this2","_initialAnchor","anchorNoHash","$anchor","selectTab","deepLinkSmudgeOffset","trigger","deepLink","_addClickHandler","_setHeightMqHandler","matchHeight","on","_checkDeepLink","_handleTabChange","off","e","$prevElement","$nextElement","$elements","parent","children","wrapOnKeys","eq","i","last","Math","first","max","handleKey","previous","next","handled","preventDefault","value","$target","target","$targetContent","_collapse","activeCollapse","$tabLink","$oldTab","history","pushState","updateHistory","replaceState","addClass","slice","panelActiveClass","removeAttr","$target_anchor","removeClass","aria-hidden","$activeTab","hashIdStr","idStr","elem","indexOf","has","historyHandled","panelClass","css","panel","display","temp","getBoundingClientRect","height","visibility","hide","end","Plugin","installedModules","m","modules","c","name","getter","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","object","property","hasOwnProperty","call","p","s","moduleId","l"],"mappings":"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","file":"foundation.tabs.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.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.imageLoader\", \"./foundation.util.keyboard\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.tabs\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.imageLoader\"), require(\"./foundation.util.keyboard\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.tabs\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__, __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_imageLoader__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__;","import { Foundation } from './foundation.core';\n\nimport { Tabs } from '../../foundation.tabs';\nFoundation.plugin(Tabs, 'Tabs');\n\nexport { Foundation, Tabs };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Plugin } from './foundation.core.plugin';\nimport { onLoad } from './foundation.core.utils';\nimport { Keyboard } from './foundation.util.keyboard';\nimport { onImagesLoaded } from './foundation.util.imageLoader';\n/**\n * Tabs module.\n * @module foundation.tabs\n * @requires foundation.util.keyboard\n * @requires foundation.util.imageLoader if tabs contain images\n */\n\nclass Tabs extends Plugin {\n /**\n * Creates a new instance of tabs.\n * @class\n * @name Tabs\n * @fires Tabs#init\n * @param {jQuery} element - jQuery object to make into tabs.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);\n this.className = 'Tabs'; // ie9 back compat\n\n this._init();\n Keyboard.register('Tabs', {\n 'ENTER': 'open',\n 'SPACE': 'open',\n 'ARROW_RIGHT': 'next',\n 'ARROW_UP': 'previous',\n 'ARROW_DOWN': 'next',\n 'ARROW_LEFT': 'previous'\n // 'TAB': 'next',\n // 'SHIFT_TAB': 'previous'\n });\n }\n\n /**\n * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.\n * @private\n */\n _init() {\n var _this = this;\n this._isInitializing = true;\n\n this.$element.attr({'role': 'tablist'});\n this.$tabTitles = this.$element.find(`.${this.options.linkClass}`);\n this.$tabContent = $(`[data-tabs-content=\"${this.$element[0].id}\"]`);\n\n this.$tabTitles.each(function(){\n var $elem = $(this),\n $link = $elem.find('a'),\n isActive = $elem.hasClass(`${_this.options.linkActiveClass}`),\n hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1),\n linkId = $link[0].id ? $link[0].id : `${hash}-label`,\n $tabContent = $(`#${hash}`);\n\n $elem.attr({'role': 'presentation'});\n\n $link.attr({\n 'role': 'tab',\n 'aria-controls': hash,\n 'aria-selected': isActive,\n 'id': linkId,\n 'tabindex': isActive ? '0' : '-1'\n });\n\n $tabContent.attr({\n 'role': 'tabpanel',\n 'aria-labelledby': linkId\n });\n\n // Save up the initial hash to return to it later when going back in history\n if (isActive) {\n _this._initialAnchor = `#${hash}`;\n }\n\n if(!isActive) {\n $tabContent.attr('aria-hidden', 'true');\n }\n\n if(isActive && _this.options.autoFocus){\n _this.onLoadListener = onLoad($(window), function() {\n $('html, body').animate({ scrollTop: $elem.offset().top }, _this.options.deepLinkSmudgeDelay, () => {\n $link.focus();\n });\n });\n }\n });\n\n if(this.options.matchHeight) {\n var $images = this.$tabContent.find('img');\n\n if ($images.length) {\n onImagesLoaded($images, this._setHeight.bind(this));\n } else {\n this._setHeight();\n }\n }\n\n // Current context-bound function to open tabs on page load or history hashchange\n this._checkDeepLink = () => {\n var anchor = window.location.hash;\n\n if (!anchor.length) {\n // If we are still initializing and there is no anchor, then there is nothing to do\n if (this._isInitializing) return;\n // Otherwise, move to the initial anchor\n if (this._initialAnchor) anchor = this._initialAnchor;\n }\n\n var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor;\n var $anchor = anchorNoHash && $(`#${anchorNoHash}`);\n var $link = anchor && this.$element.find(`[href$=\"${anchor}\"],[data-tabs-target=\"${anchorNoHash}\"]`).first();\n // Whether the anchor element that has been found is part of this element\n var isOwnAnchor = !!($anchor.length && $link.length);\n\n if (isOwnAnchor) {\n // If there is an anchor for the hash, select it\n if ($anchor && $anchor.length && $link && $link.length) {\n this.selectTab($anchor, true);\n }\n // Otherwise, collapse everything\n else {\n this._collapse();\n }\n\n // Roll up a little to show the titles\n if (this.options.deepLinkSmudge) {\n var offset = this.$element.offset();\n $('html, body').animate({ scrollTop: offset.top }, this.options.deepLinkSmudgeDelay);\n }\n\n /**\n * Fires when the plugin has deeplinked at pageload\n * @event Tabs#deeplink\n */\n this.$element.trigger('deeplink.zf.tabs', [$link, $anchor]);\n }\n }\n\n //use browser to open a tab, if it exists in this tabset\n if (this.options.deepLink) {\n this._checkDeepLink();\n }\n\n this._events();\n\n this._isInitializing = false;\n }\n\n /**\n * Adds event handlers for items within the tabs.\n * @private\n */\n _events() {\n this._addKeyHandler();\n this._addClickHandler();\n this._setHeightMqHandler = null;\n\n if (this.options.matchHeight) {\n this._setHeightMqHandler = this._setHeight.bind(this);\n\n $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n\n if(this.options.deepLink) {\n $(window).on('hashchange', this._checkDeepLink);\n }\n }\n\n /**\n * Adds click handlers for items within the tabs.\n * @private\n */\n _addClickHandler() {\n var _this = this;\n\n this.$element\n .off('click.zf.tabs')\n .on('click.zf.tabs', `.${this.options.linkClass}`, function(e){\n e.preventDefault();\n _this._handleTabChange($(this));\n });\n }\n\n /**\n * Adds keyboard event handlers for items within the tabs.\n * @private\n */\n _addKeyHandler() {\n var _this = this;\n\n this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function(e){\n if (e.which === 9) return;\n\n\n var $element = $(this),\n $elements = $element.parent('ul').children('li'),\n $prevElement,\n $nextElement;\n\n $elements.each(function(i) {\n if ($(this).is($element)) {\n if (_this.options.wrapOnKeys) {\n $prevElement = i === 0 ? $elements.last() : $elements.eq(i-1);\n $nextElement = i === $elements.length -1 ? $elements.first() : $elements.eq(i+1);\n } else {\n $prevElement = $elements.eq(Math.max(0, i-1));\n $nextElement = $elements.eq(Math.min(i+1, $elements.length-1));\n }\n return;\n }\n });\n\n // handle keyboard event with keyboard util\n Keyboard.handleKey(e, 'Tabs', {\n open: function() {\n $element.find('[role=\"tab\"]').focus();\n _this._handleTabChange($element);\n },\n previous: function() {\n $prevElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($prevElement);\n },\n next: function() {\n $nextElement.find('[role=\"tab\"]').focus();\n _this._handleTabChange($nextElement);\n },\n handled: function() {\n e.preventDefault();\n }\n });\n });\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`. Collapses active tab.\n * @param {jQuery} $target - Tab to open.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @fires Tabs#change\n * @function\n */\n _handleTabChange($target, historyHandled) {\n\n // With `activeCollapse`, if the target is the active Tab, collapse it.\n if ($target.hasClass(`${this.options.linkActiveClass}`)) {\n if(this.options.activeCollapse) {\n this._collapse();\n }\n return;\n }\n\n var $oldTab = this.$element.\n find(`.${this.options.linkClass}.${this.options.linkActiveClass}`),\n $tabLink = $target.find('[role=\"tab\"]'),\n target = $tabLink.attr('data-tabs-target'),\n anchor = target && target.length ? `#${target}` : $tabLink[0].hash,\n $targetContent = this.$tabContent.find(anchor);\n\n //close old tab\n this._collapseTab($oldTab);\n\n //open new tab\n this._openTab($target);\n\n //either replace or update browser history\n if (this.options.deepLink && !historyHandled) {\n if (this.options.updateHistory) {\n history.pushState({}, '', anchor);\n } else {\n history.replaceState({}, '', anchor);\n }\n }\n\n /**\n * Fires when the plugin has successfully changed tabs.\n * @event Tabs#change\n */\n this.$element.trigger('change.zf.tabs', [$target, $targetContent]);\n\n //fire to children a mutation event\n $targetContent.find(\"[data-mutate]\").trigger(\"mutateme.zf.trigger\");\n }\n\n /**\n * Opens the tab `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to open.\n * @function\n */\n _openTab($target) {\n var $tabLink = $target.find('[role=\"tab\"]'),\n hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1),\n $targetContent = this.$tabContent.find(`#${hash}`);\n\n $target.addClass(`${this.options.linkActiveClass}`);\n\n $tabLink.attr({\n 'aria-selected': 'true',\n 'tabindex': '0'\n });\n\n $targetContent\n .addClass(`${this.options.panelActiveClass}`).removeAttr('aria-hidden');\n }\n\n /**\n * Collapses `$targetContent` defined by `$target`.\n * @param {jQuery} $target - Tab to collapse.\n * @function\n */\n _collapseTab($target) {\n var $target_anchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$target_anchor.attr('aria-controls')}`)\n .removeClass(`${this.options.panelActiveClass}`)\n .attr({ 'aria-hidden': 'true' })\n }\n\n /**\n * Collapses the active Tab.\n * @fires Tabs#collapse\n * @function\n */\n _collapse() {\n var $activeTab = this.$element.find(`.${this.options.linkClass}.${this.options.linkActiveClass}`);\n\n if ($activeTab.length) {\n this._collapseTab($activeTab);\n\n /**\n * Fires when the plugin has successfully collapsed tabs.\n * @event Tabs#collapse\n */\n this.$element.trigger('collapse.zf.tabs', [$activeTab]);\n }\n }\n\n /**\n * Public method for selecting a content pane to display.\n * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.\n * @param {boolean} historyHandled - browser has already handled a history update\n * @function\n */\n selectTab(elem, historyHandled) {\n var idStr, hashIdStr;\n\n if (typeof elem === 'object') {\n idStr = elem[0].id;\n } else {\n idStr = elem;\n }\n\n if (idStr.indexOf('#') < 0) {\n hashIdStr = `#${idStr}`;\n } else {\n hashIdStr = idStr;\n idStr = idStr.slice(1);\n }\n\n var $target = this.$tabTitles.has(`[href$=\"${hashIdStr}\"],[data-tabs-target=\"${idStr}\"]`).first();\n\n this._handleTabChange($target, historyHandled);\n };\n\n /**\n * Sets the height of each panel to the height of the tallest panel.\n * If enabled in options, gets called on media query change.\n * If loading content via external source, can be called directly or with _reflow.\n * If enabled with `data-match-height=\"true\"`, tabs sets to equal height\n * @function\n * @private\n */\n _setHeight() {\n var max = 0,\n _this = this; // Lock down the `this` value for the root tabs object\n\n this.$tabContent\n .find(`.${this.options.panelClass}`)\n .css('height', '')\n .each(function() {\n\n var panel = $(this),\n isActive = panel.hasClass(`${_this.options.panelActiveClass}`); // get the options from the parent instead of trying to get them from the child\n\n if (!isActive) {\n panel.css({'visibility': 'hidden', 'display': 'block'});\n }\n\n var temp = this.getBoundingClientRect().height;\n\n if (!isActive) {\n panel.css({\n 'visibility': '',\n 'display': ''\n });\n }\n\n max = temp > max ? temp : max;\n })\n .css('height', `${max}px`);\n }\n\n /**\n * Destroys an instance of tabs.\n * @fires Tabs#destroyed\n */\n _destroy() {\n this.$element\n .find(`.${this.options.linkClass}`)\n .off('.zf.tabs').hide().end()\n .find(`.${this.options.panelClass}`)\n .hide();\n\n if (this.options.matchHeight) {\n if (this._setHeightMqHandler != null) {\n $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);\n }\n }\n\n if (this.options.deepLink) {\n $(window).off('hashchange', this._checkDeepLink);\n }\n\n if (this.onLoadListener) {\n $(window).off(this.onLoadListener);\n }\n }\n}\n\nTabs.defaults = {\n /**\n * Link the location hash to the active pane.\n * Set the location hash when the active pane changes, and open the corresponding pane when the location changes.\n * @option\n * @type {boolean}\n * @default false\n */\n deepLink: false,\n\n /**\n * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible\n * @option\n * @type {boolean}\n * @default false\n */\n deepLinkSmudge: false,\n\n /**\n * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment\n * @option\n * @type {number}\n * @default 300\n */\n deepLinkSmudgeDelay: 300,\n\n /**\n * If `deepLink` is enabled, update the browser history with the open tab\n * @option\n * @type {boolean}\n * @default false\n */\n updateHistory: false,\n\n /**\n * Allows the window to scroll to content of active pane on load.\n * Not recommended if more than one tab panel per page.\n * @option\n * @type {boolean}\n * @default false\n */\n autoFocus: false,\n\n /**\n * Allows keyboard input to 'wrap' around the tab links.\n * @option\n * @type {boolean}\n * @default true\n */\n wrapOnKeys: true,\n\n /**\n * Allows the tab content panes to match heights if set to true.\n * @option\n * @type {boolean}\n * @default false\n */\n matchHeight: false,\n\n /**\n * Allows active tabs to collapse when clicked.\n * @option\n * @type {boolean}\n * @default false\n */\n activeCollapse: false,\n\n /**\n * Class applied to `li`'s in tab link list.\n * @option\n * @type {string}\n * @default 'tabs-title'\n */\n linkClass: 'tabs-title',\n\n /**\n * Class applied to the active `li` in tab link list.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n linkActiveClass: 'is-active',\n\n /**\n * Class applied to the content containers.\n * @option\n * @type {string}\n * @default 'tabs-panel'\n */\n panelClass: 'tabs-panel',\n\n /**\n * Class applied to the active content container.\n * @option\n * @type {string}\n * @default 'is-active'\n */\n panelActiveClass: 'is-active'\n};\n\nexport {Tabs};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"," \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 = 18);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.toggler.js b/dist/js/plugins/foundation.toggler.js index 6d968871e9..44b3a7b5de 100644 --- a/dist/js/plugins/foundation.toggler.js +++ b/dist/js/plugins/foundation.toggler.js @@ -158,9 +158,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core"); /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js"); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -168,15 +166,19 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } @@ -190,20 +192,20 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func * @requires foundation.util.triggers */ -var Toggler = -/*#__PURE__*/ -function (_Plugin) { +var Toggler = /*#__PURE__*/function (_Plugin) { _inherits(Toggler, _Plugin); + var _super = _createSuper(Toggler); + function Toggler() { _classCallCheck(this, Toggler); - return _possibleConstructorReturn(this, _getPrototypeOf(Toggler).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Toggler, [{ key: "_setup", - + value: /** * Creates a new instance of Toggler. * @class @@ -212,7 +214,7 @@ function (_Plugin) { * @param {Object} element - jQuery object to add the trigger to. * @param {Object} options - Overrides to the default plugin settings. */ - value: function _setup(element, options) { + function _setup(element, options) { this.$element = element; this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Toggler.defaults, element.data(), options); this.className = ''; @@ -247,17 +249,17 @@ function (_Plugin) { $triggers.attr('aria-expanded', !this.$element.is(':hidden')); } // Otherwise, parse toggle class else { - input = this.options.toggler; + input = this.options.toggler; - if (typeof input !== 'string' || !input.length) { - throw new Error("The 'toogler' option containing the target class is required, got \"".concat(input, "\"")); - } // Allow for a . at the beginning of the string + if (typeof input !== 'string' || !input.length) { + throw new Error("The 'toggler' option containing the target class is required, got \"".concat(input, "\"")); + } // Allow for a . at the beginning of the string - this.className = input[0] === '.' ? input.slice(1) : input; // - aria-expanded: according to the elements class set. + this.className = input[0] === '.' ? input.slice(1) : input; // - aria-expanded: according to the elements class set. - $triggers.attr('aria-expanded', this.$element.hasClass(this.className)); - } // - aria-controls: adding the element id to it if not already in it. + $triggers.attr('aria-expanded', this.$element.hasClass(this.className)); + } // - aria-controls: adding the element id to it if not already in it. $triggers.each(function (index, trigger) { @@ -394,9 +396,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion"); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -530,9 +530,8 @@ Triggers.Listeners.Global = { _this.triggerHandler('close.zf.trigger', [_this]); }); - } // Global, parses whole document. - -}; + } +}; // Global, parses whole document. Triggers.Initializers.addClosemeListener = function (pluginName) { var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'), diff --git a/dist/js/plugins/foundation.toggler.js.map b/dist/js/plugins/foundation.toggler.js.map index ad9d073ba5..6c2ef7ebbb 100644 --- a/dist/js/plugins/foundation.toggler.js.map +++ b/dist/js/plugins/foundation.toggler.js.map @@ -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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.toggler.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","Toggler","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","_events","id","$triggers","input","animate","split","animationIn","animationOut","attr","is","toggler","length","Error","slice","hasClass","each","index","trigger","$trigger","controls","containsId","RegExp","RegExpEscape","test","off","on","toggle","bind","toggleClass","isOn","_updateARIA","find","_this","Motion","animateIn","animateOut","Plugin","undefined","MutationObserver","prefixes","i","window","triggers","el","type","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","e","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.toggler.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.toggler\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.toggler\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 19);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Toggler } from '../../foundation.toggler';\nFoundation.plugin(Toggler, 'Toggler');\n\nexport { Foundation, Toggler };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n // Collect triggers to set ARIA attributes to\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n }\n // Otherwise, parse toggle class\n else {\n input = this.options.toggler;\n if (typeof input !== 'string' || !input.length) {\n throw new Error(`The 'toogler' option containing the target class is required, got \"${input}\"`);\n }\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n\n // - aria-expanded: according to the elements class set.\n $triggers.attr('aria-expanded', this.$element.hasClass(this.className));\n }\n\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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":""} \ No newline at end of file +{"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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.toggler.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","Toggler","element","options","$element","$","extend","defaults","data","className","Triggers","init","_init","_events","id","$triggers","input","animate","split","animationIn","animationOut","attr","is","toggler","length","Error","slice","hasClass","each","index","trigger","$trigger","controls","containsId","RegExp","RegExpEscape","test","off","on","toggle","bind","toggleClass","isOn","_updateARIA","find","_this","Motion","animateIn","animateOut","Plugin","undefined","MutationObserver","prefixes","i","window","triggers","el","type","forEach","Listeners","Basic","Global","Initializers","openListener","closeListener","toggleListener","closeableListener","e","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","namespace","plugins","not","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;ACAA,qE;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,2DAAlB,EAA2B,SAA3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;IAEMA,O;;;;;;;;;;;;;;AACJ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE,oBAAOC,OAAP,EAAgBC,OAAhB,EAAyB;AACvB,WAAKC,QAAL,GAAgBF,OAAhB;AACA,WAAKC,OAAL,GAAeE,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAaL,OAAO,CAACM,QAArB,EAA+BL,OAAO,CAACM,IAAR,EAA/B,EAA+CL,OAA/C,CAAf;AACA,WAAKM,SAAL,GAAiB,EAAjB;AACA,WAAKA,SAAL,GAAiB,SAAjB,CAJuB,CAIK;AAE5B;;AACAC,wEAAQ,CAACC,IAAT,CAAcN,6CAAd;;AAEA,WAAKO,KAAL;;AACA,WAAKC,OAAL;AACD;AAED;AACF;AACA;AACA;AACA;;;;WACE,iBAAQ;AACN;AACA,UAAIC,EAAE,GAAG,KAAKV,QAAL,CAAc,CAAd,EAAiBU,EAA1B;AAAA,UACEC,SAAS,GAAGV,6CAAC,yBAAiBS,EAAjB,iCAAwCA,EAAxC,kCAAgEA,EAAhE,SADf;AAGA,UAAIE,KAAJ,CALM,CAMN;;AACA,UAAI,KAAKb,OAAL,CAAac,OAAjB,EAA0B;AACxBD,aAAK,GAAG,KAAKb,OAAL,CAAac,OAAb,CAAqBC,KAArB,CAA2B,GAA3B,CAAR;AAEA,aAAKC,WAAL,GAAmBH,KAAK,CAAC,CAAD,CAAxB;AACA,aAAKI,YAAL,GAAoBJ,KAAK,CAAC,CAAD,CAAL,IAAY,IAAhC,CAJwB,CAMxB;;AACAD,iBAAS,CAACM,IAAV,CAAe,eAAf,EAAgC,CAAC,KAAKjB,QAAL,CAAckB,EAAd,CAAiB,SAAjB,CAAjC;AACD,OARD,CASA;AATA,WAUK;AACHN,aAAK,GAAG,KAAKb,OAAL,CAAaoB,OAArB;;AACA,YAAI,OAAOP,KAAP,KAAiB,QAAjB,IAA6B,CAACA,KAAK,CAACQ,MAAxC,EAAgD;AAC9C,gBAAM,IAAIC,KAAJ,+EAAgFT,KAAhF,QAAN;AACD,SAJE,CAKH;;;AACA,aAAKP,SAAL,GAAiBO,KAAK,CAAC,CAAD,CAAL,KAAa,GAAb,GAAmBA,KAAK,CAACU,KAAN,CAAY,CAAZ,CAAnB,GAAoCV,KAArD,CANG,CAQH;;AACAD,iBAAS,CAACM,IAAV,CAAe,eAAf,EAAgC,KAAKjB,QAAL,CAAcuB,QAAd,CAAuB,KAAKlB,SAA5B,CAAhC;AACD,OA3BK,CA6BN;;;AACAM,eAAS,CAACa,IAAV,CAAe,UAACC,KAAD,EAAQC,OAAR,EAAoB;AACjC,YAAMC,QAAQ,GAAG1B,6CAAC,CAACyB,OAAD,CAAlB;AACA,YAAME,QAAQ,GAAGD,QAAQ,CAACV,IAAT,CAAc,eAAd,KAAkC,EAAnD;AAEA,YAAMY,UAAU,GAAG,IAAIC,MAAJ,cAAiBC,4EAAY,CAACrB,EAAD,CAA7B,UAAwCsB,IAAxC,CAA6CJ,QAA7C,CAAnB;AACA,YAAI,CAACC,UAAL,EAAiBF,QAAQ,CAACV,IAAT,CAAc,eAAd,EAA+BW,QAAQ,aAAMA,QAAN,cAAkBlB,EAAlB,IAAyBA,EAAhE;AAClB,OAND;AAOD;AAED;AACF;AACA;AACA;AACA;;;;WACE,mBAAU;AACR,WAAKV,QAAL,CAAciC,GAAd,CAAkB,mBAAlB,EAAuCC,EAAvC,CAA0C,mBAA1C,EAA+D,KAAKC,MAAL,CAAYC,IAAZ,CAAiB,IAAjB,CAA/D;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,kBAAS;AACP,WAAM,KAAKrC,OAAL,CAAac,OAAb,GAAuB,gBAAvB,GAA0C,cAAhD;AACD;;;WAED,wBAAe;AACb,WAAKb,QAAL,CAAcqC,WAAd,CAA0B,KAAKhC,SAA/B;AAEA,UAAIiC,IAAI,GAAG,KAAKtC,QAAL,CAAcuB,QAAd,CAAuB,KAAKlB,SAA5B,CAAX;;AACA,UAAIiC,IAAJ,EAAU;AACR;AACN;AACA;AACA;AACM,aAAKtC,QAAL,CAAc0B,OAAd,CAAsB,eAAtB;AACD,OAND,MAOK;AACH;AACN;AACA;AACA;AACM,aAAK1B,QAAL,CAAc0B,OAAd,CAAsB,gBAAtB;AACD;;AAED,WAAKa,WAAL,CAAiBD,IAAjB;;AACA,WAAKtC,QAAL,CAAcwC,IAAd,CAAmB,eAAnB,EAAoCd,OAApC,CAA4C,qBAA5C;AACD;;;WAED,0BAAiB;AACf,UAAIe,KAAK,GAAG,IAAZ;;AAEA,UAAI,KAAKzC,QAAL,CAAckB,EAAd,CAAiB,SAAjB,CAAJ,EAAiC;AAC/BwB,sEAAM,CAACC,SAAP,CAAiB,KAAK3C,QAAtB,EAAgC,KAAKe,WAArC,EAAkD,YAAW;AAC3D0B,eAAK,CAACF,WAAN,CAAkB,IAAlB;;AACA,eAAKb,OAAL,CAAa,eAAb;AACA,eAAKc,IAAL,CAAU,eAAV,EAA2Bd,OAA3B,CAAmC,qBAAnC;AACD,SAJD;AAKD,OAND,MAOK;AACHgB,sEAAM,CAACE,UAAP,CAAkB,KAAK5C,QAAvB,EAAiC,KAAKgB,YAAtC,EAAoD,YAAW;AAC7DyB,eAAK,CAACF,WAAN,CAAkB,KAAlB;;AACA,eAAKb,OAAL,CAAa,gBAAb;AACA,eAAKc,IAAL,CAAU,eAAV,EAA2Bd,OAA3B,CAAmC,qBAAnC;AACD,SAJD;AAKD;AACF;;;WAED,qBAAYY,IAAZ,EAAkB;AAChB,UAAI5B,EAAE,GAAG,KAAKV,QAAL,CAAc,CAAd,EAAiBU,EAA1B;AACAT,mDAAC,wBAAgBS,EAAhB,gCAAsCA,EAAtC,iCAA6DA,EAA7D,SAAD,CACGO,IADH,CACQ;AACJ,yBAAiBqB,IAAI,GAAG,IAAH,GAAU;AAD3B,OADR;AAID;AAED;AACF;AACA;AACA;;;;WACE,oBAAW;AACT,WAAKtC,QAAL,CAAciC,GAAd,CAAkB,aAAlB;AACD;;;;EA7ImBY,8D;;AAgJtBhD,OAAO,CAACM,QAAR,GAAmB;AACjB;AACF;AACA;AACA;AACA;AACEgB,SAAO,EAAE2B,SANQ;;AAOjB;AACF;AACA;AACA;AACA;AACA;AACEjC,SAAO,EAAE;AAbQ,CAAnB;;;;;;;;;;;;;;;;;;;;;;;AC7JA;AACA;AACA;;AAEA,IAAMkC,gBAAgB,GAAI,YAAY;AACpC,MAAIC,QAAQ,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,GAAlB,EAAuB,IAAvB,EAA6B,EAA7B,CAAf;;AACA,OAAK,IAAIC,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAGD,QAAQ,CAAC5B,MAA3B,EAAmC6B,CAAC,EAApC,EAAwC;AACtC,QAAI,UAAGD,QAAQ,CAACC,CAAD,CAAX,yBAAoCC,MAAxC,EAAgD;AAC9C,aAAOA,MAAM,WAAIF,QAAQ,CAACC,CAAD,CAAZ,sBAAb;AACD;AACF;;AACD,SAAO,KAAP;AACD,CARyB,EAA1B;;AAUA,IAAME,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,IAAL,EAAc;AAC7BD,IAAE,CAAChD,IAAH,CAAQiD,IAAR,EAAcvC,KAAd,CAAoB,GAApB,EAAyBwC,OAAzB,CAAiC,UAAA5C,EAAE,EAAI;AACrCT,iDAAC,YAAKS,EAAL,EAAD,CAAa2C,IAAI,KAAK,OAAT,GAAmB,SAAnB,GAA+B,gBAA5C,YAAiEA,IAAjE,kBAAoF,CAACD,EAAD,CAApF;AACD,GAFD;AAGD,CAJD;;AAMA,IAAI9C,QAAQ,GAAG;AACbiD,WAAS,EAAE;AACTC,SAAK,EAAE,EADE;AAETC,UAAM,EAAE;AAFC,GADE;AAKbC,cAAY,EAAE;AALD,CAAf;AAQApD,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,GAA4B;AAC1BG,cAAY,EAAE,wBAAW;AACvBR,YAAQ,CAAClD,6CAAC,CAAC,IAAD,CAAF,EAAU,MAAV,CAAR;AACD,GAHyB;AAI1B2D,eAAa,EAAE,yBAAW;AACxB,QAAIlD,EAAE,GAAGT,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,OAAb,CAAT;;AACA,QAAIM,EAAJ,EAAQ;AACNyC,cAAQ,CAAClD,6CAAC,CAAC,IAAD,CAAF,EAAU,OAAV,CAAR;AACD,KAFD,MAGK;AACHA,mDAAC,CAAC,IAAD,CAAD,CAAQyB,OAAR,CAAgB,kBAAhB;AACD;AACF,GAZyB;AAa1BmC,gBAAc,EAAE,0BAAW;AACzB,QAAInD,EAAE,GAAGT,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,QAAb,CAAT;;AACA,QAAIM,EAAJ,EAAQ;AACNyC,cAAQ,CAAClD,6CAAC,CAAC,IAAD,CAAF,EAAU,QAAV,CAAR;AACD,KAFD,MAEO;AACLA,mDAAC,CAAC,IAAD,CAAD,CAAQyB,OAAR,CAAgB,mBAAhB;AACD;AACF,GApByB;AAqB1BoC,mBAAiB,EAAE,2BAASC,CAAT,EAAY;AAC7B,QAAIC,SAAS,GAAG/D,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,UAAb,CAAhB,CAD6B,CAG7B;;AACA2D,KAAC,CAACE,eAAF;;AAEA,QAAGD,SAAS,KAAK,EAAjB,EAAoB;AAClBtB,oEAAM,CAACE,UAAP,CAAkB3C,6CAAC,CAAC,IAAD,CAAnB,EAA2B+D,SAA3B,EAAsC,YAAW;AAC/C/D,qDAAC,CAAC,IAAD,CAAD,CAAQyB,OAAR,CAAgB,WAAhB;AACD,OAFD;AAGD,KAJD,MAIK;AACHzB,mDAAC,CAAC,IAAD,CAAD,CAAQiE,OAAR,GAAkBxC,OAAlB,CAA0B,WAA1B;AACD;AACF,GAlCyB;AAmC1ByC,qBAAmB,EAAE,+BAAW;AAC9B,QAAIzD,EAAE,GAAGT,6CAAC,CAAC,IAAD,CAAD,CAAQG,IAAR,CAAa,cAAb,CAAT;AACAH,iDAAC,YAAKS,EAAL,EAAD,CAAY0D,cAAZ,CAA2B,mBAA3B,EAAgD,CAACnE,6CAAC,CAAC,IAAD,CAAF,CAAhD;AACD;AAtCyB,CAA5B,C,CAyCA;;AACAK,QAAQ,CAACoD,YAAT,CAAsBW,eAAtB,GAAwC,UAACC,KAAD,EAAW;AACjDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBG,YAAvD;AACAW,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,aAA7B,EAA4C5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBG,YAArE;AACD,CAHD,C,CAKA;AACA;;;AACArD,QAAQ,CAACoD,YAAT,CAAsBa,gBAAtB,GAAyC,UAACD,KAAD,EAAW;AAClDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBI,aAAvD;AACAU,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,cAA7B,EAA6C5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBI,aAAtE;AACD,CAHD,C,CAKA;;;AACAtD,QAAQ,CAACoD,YAAT,CAAsBc,iBAAtB,GAA0C,UAACF,KAAD,EAAW;AACnDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvD;AACAS,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,eAA7B,EAA8C5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvE;AACD,CAHD,C,CAKA;;;AACAvD,QAAQ,CAACoD,YAAT,CAAsBe,oBAAtB,GAA6C,UAACH,KAAD,EAAW;AACtDA,OAAK,CAACrC,GAAN,CAAU,kBAAV,EAA8B3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBM,iBAAvD;AACAQ,OAAK,CAACpC,EAAN,CAAS,kBAAT,EAA6B,mCAA7B,EAAkE5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBM,iBAA3F;AACD,CAHD,C,CAKA;;;AACAxD,QAAQ,CAACoD,YAAT,CAAsBgB,sBAAtB,GAA+C,UAACJ,KAAD,EAAW;AACxDA,OAAK,CAACrC,GAAN,CAAU,kCAAV,EAA8C3B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBW,mBAAvE;AACAG,OAAK,CAACpC,EAAN,CAAS,kCAAT,EAA6C,qBAA7C,EAAoE5B,QAAQ,CAACiD,SAAT,CAAmBC,KAAnB,CAAyBW,mBAA7F;AACD,CAHD,C,CAOA;;;AACA7D,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,GAA6B;AAC3BkB,gBAAc,EAAE,wBAASC,MAAT,EAAiB;AAC/B,QAAG,CAAC7B,gBAAJ,EAAqB;AAAC;AACpB6B,YAAM,CAACpD,IAAP,CAAY,YAAU;AACpBvB,qDAAC,CAAC,IAAD,CAAD,CAAQmE,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAAC3D,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAT0B;AAU3B4D,gBAAc,EAAE,wBAASD,MAAT,EAAiB;AAC/B,QAAG,CAAC7B,gBAAJ,EAAqB;AAAC;AACpB6B,YAAM,CAACpD,IAAP,CAAY,YAAU;AACpBvB,qDAAC,CAAC,IAAD,CAAD,CAAQmE,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAAC3D,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAlB0B;AAmB3B6D,iBAAe,EAAE,yBAASf,CAAT,EAAYgB,QAAZ,EAAqB;AACpC,QAAInF,MAAM,GAAGmE,CAAC,CAACiB,SAAF,CAAYlE,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAb;AACA,QAAImE,OAAO,GAAGhF,6CAAC,iBAAUL,MAAV,OAAD,CAAsBsF,GAAtB,4BAA6CH,QAA7C,SAAd;AAEAE,WAAO,CAACzD,IAAR,CAAa,YAAU;AACrB,UAAIiB,KAAK,GAAGxC,6CAAC,CAAC,IAAD,CAAb;;AACAwC,WAAK,CAAC2B,cAAN,CAAqB,kBAArB,EAAyC,CAAC3B,KAAD,CAAzC;AACD,KAHD;AAID;AA3B0B,CAA7B,C,CA8BA;;AACAnC,QAAQ,CAACoD,YAAT,CAAsByB,kBAAtB,GAA2C,UAASC,UAAT,EAAqB;AAC9D,MAAIC,SAAS,GAAGpF,6CAAC,CAAC,iBAAD,CAAjB;AAAA,MACIqF,SAAS,GAAG,CAAC,UAAD,EAAa,SAAb,EAAwB,QAAxB,CADhB;;AAGA,MAAGF,UAAH,EAAc;AACZ,QAAG,OAAOA,UAAP,KAAsB,QAAzB,EAAkC;AAChCE,eAAS,CAACC,IAAV,CAAeH,UAAf;AACD,KAFD,MAEM,IAAG,QAAOA,UAAP,MAAsB,QAAtB,IAAkC,OAAOA,UAAU,CAAC,CAAD,CAAjB,KAAyB,QAA9D,EAAuE;AAC3EE,eAAS,GAAGA,SAAS,CAACE,MAAV,CAAiBJ,UAAjB,CAAZ;AACD,KAFK,MAED;AACHK,aAAO,CAACC,KAAR,CAAc,8BAAd;AACD;AACF;;AACD,MAAGL,SAAS,CAACjE,MAAb,EAAoB;AAClB,QAAIuE,SAAS,GAAGL,SAAS,CAACM,GAAV,CAAc,UAACC,IAAD,EAAU;AACtC,kCAAqBA,IAArB;AACD,KAFe,EAEbC,IAFa,CAER,GAFQ,CAAhB;AAIA7F,iDAAC,CAACiD,MAAD,CAAD,CAAUjB,GAAV,CAAc0D,SAAd,EAAyBzD,EAAzB,CAA4ByD,SAA5B,EAAuCrF,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,CAA0BqB,eAAjE;AACD;AACF,CApBD;;AAsBA,SAASiB,sBAAT,CAAgCC,QAAhC,EAA0CtE,OAA1C,EAAmDuE,QAAnD,EAA6D;AAC3D,MAAIC,KAAJ;AAAA,MAAWC,IAAI,GAAGC,KAAK,CAACC,SAAN,CAAgB/E,KAAhB,CAAsBgF,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAlB;AACAtG,+CAAC,CAACiD,MAAD,CAAD,CAAUjB,GAAV,CAAcP,OAAd,EAAuBQ,EAAvB,CAA0BR,OAA1B,EAAmC,UAASqC,CAAT,EAAY;AAC7C,QAAImC,KAAJ,EAAW;AAAEM,kBAAY,CAACN,KAAD,CAAZ;AAAsB;;AACnCA,SAAK,GAAGO,UAAU,CAAC,YAAU;AAC3BR,cAAQ,CAACS,KAAT,CAAe,IAAf,EAAqBP,IAArB;AACD,KAFiB,EAEfH,QAAQ,IAAI,EAFG,CAAlB,CAF6C,CAI1B;AACpB,GALD;AAMD;;AAED1F,QAAQ,CAACoD,YAAT,CAAsBiD,iBAAtB,GAA0C,UAASX,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAG3E,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG2E,MAAM,CAACxD,MAAV,EAAiB;AACf2E,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgC1F,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,CAA0BkB,cAA1D,EAA0EC,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAtE,QAAQ,CAACoD,YAAT,CAAsBkD,iBAAtB,GAA0C,UAASZ,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAG3E,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAG2E,MAAM,CAACxD,MAAV,EAAiB;AACf2E,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgC1F,QAAQ,CAACiD,SAAT,CAAmBE,MAAnB,CAA0BoB,cAA1D,EAA0ED,MAA1E,CAAtB;AACD;AACF,CALD;;AAOAtE,QAAQ,CAACoD,YAAT,CAAsBmD,yBAAtB,GAAkD,UAASvC,KAAT,EAAgB;AAChE,MAAG,CAACvB,gBAAJ,EAAqB;AAAE,WAAO,KAAP;AAAe;;AACtC,MAAI6B,MAAM,GAAGN,KAAK,CAAC9B,IAAN,CAAW,6CAAX,CAAb,CAFgE,CAIhE;;AACA,MAAIsE,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAUC,mBAAV,EAA+B;AAC7D,QAAIC,OAAO,GAAG/G,6CAAC,CAAC8G,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,MAAxB,CAAf,CAD6D,CAG7D;;AACA,YAAQF,mBAAmB,CAAC,CAAD,CAAnB,CAAuB1D,IAA/B;AACE,WAAK,YAAL;AACE,YAAI2D,OAAO,CAAC/F,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C8F,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,EAAU9D,MAAM,CAACiE,WAAjB,CAA9C;AACD;;AACD,YAAIH,OAAO,CAAC/F,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4C8F,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,CAA9C;AACA;;AACF,YAAID,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,OAA7C,EAAsD;AACpDF,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiCnG,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA+F,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACD;;AACD;;AAEF,WAAK,WAAL;AACEJ,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiCnG,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACA+F,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACA;;AAEF;AACE,eAAO,KAAP;AACF;AArBF;AAuBD,GA3BD;;AA6BA,MAAIxC,MAAM,CAACxD,MAAX,EAAmB;AACjB;AACA,SAAK,IAAI6B,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAI2B,MAAM,CAACxD,MAAP,GAAgB,CAArC,EAAwC6B,CAAC,EAAzC,EAA6C;AAC3C,UAAIoE,eAAe,GAAG,IAAItE,gBAAJ,CAAqB+D,yBAArB,CAAtB;AACAO,qBAAe,CAACC,OAAhB,CAAwB1C,MAAM,CAAC3B,CAAD,CAA9B,EAAmC;AAAEsE,kBAAU,EAAE,IAAd;AAAoBC,iBAAS,EAAE,IAA/B;AAAqCC,qBAAa,EAAE,KAApD;AAA2DC,eAAO,EAAE,IAApE;AAA0EC,uBAAe,EAAE,CAAC,aAAD,EAAgB,OAAhB;AAA3F,OAAnC;AACD;AACF;AACF,CAzCD;;AA2CArH,QAAQ,CAACoD,YAAT,CAAsBkE,kBAAtB,GAA2C,YAAW;AACpD,MAAIC,SAAS,GAAG5H,6CAAC,CAAC6H,QAAD,CAAjB;AAEAxH,UAAQ,CAACoD,YAAT,CAAsBW,eAAtB,CAAsCwD,SAAtC;AACAvH,UAAQ,CAACoD,YAAT,CAAsBa,gBAAtB,CAAuCsD,SAAvC;AACAvH,UAAQ,CAACoD,YAAT,CAAsBc,iBAAtB,CAAwCqD,SAAxC;AACAvH,UAAQ,CAACoD,YAAT,CAAsBe,oBAAtB,CAA2CoD,SAA3C;AACAvH,UAAQ,CAACoD,YAAT,CAAsBgB,sBAAtB,CAA6CmD,SAA7C;AAED,CATD;;AAWAvH,QAAQ,CAACoD,YAAT,CAAsBqE,kBAAtB,GAA2C,YAAW;AACpD,MAAIF,SAAS,GAAG5H,6CAAC,CAAC6H,QAAD,CAAjB;AACAxH,UAAQ,CAACoD,YAAT,CAAsBmD,yBAAtB,CAAgDgB,SAAhD;AACAvH,UAAQ,CAACoD,YAAT,CAAsBiD,iBAAtB;AACArG,UAAQ,CAACoD,YAAT,CAAsBkD,iBAAtB;AACAtG,UAAQ,CAACoD,YAAT,CAAsByB,kBAAtB;AACD,CAND;;AASA7E,QAAQ,CAACC,IAAT,GAAgB,UAAUN,CAAV,EAAaN,UAAb,EAAyB;AACvCqI,uEAAM,CAAC/H,CAAC,CAACiD,MAAD,CAAF,EAAY,YAAY;AAC5B,QAAIjD,CAAC,CAACgI,mBAAF,KAA0B,IAA9B,EAAoC;AAClC3H,cAAQ,CAACoD,YAAT,CAAsBkE,kBAAtB;AACAtH,cAAQ,CAACoD,YAAT,CAAsBqE,kBAAtB;AACA9H,OAAC,CAACgI,mBAAF,GAAwB,IAAxB;AACD;AACF,GANK,CAAN;;AAQA,MAAGtI,UAAH,EAAe;AACbA,cAAU,CAACW,QAAX,GAAsBA,QAAtB,CADa,CAEb;;AACAX,cAAU,CAACuI,QAAX,GAAsB5H,QAAQ,CAACoD,YAAT,CAAsBqE,kBAA5C;AACD;AACF,CAdD;;;;;;;;;;;;;;;;;;;;;;;;;ACnPA,oD","file":"foundation.toggler.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.toggler\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.toggler\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 19);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Toggler } from '../../foundation.toggler';\nFoundation.plugin(Toggler, 'Toggler');\n\nexport { Foundation, Toggler };\n","import $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n // Collect triggers to set ARIA attributes to\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n }\n // Otherwise, parse toggle class\n else {\n input = this.options.toggler;\n if (typeof input !== 'string' || !input.length) {\n throw new Error(`The 'toggler' option containing the target class is required, got \"${input}\"`);\n }\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n\n // - aria-expanded: according to the elements class set.\n $triggers.attr('aria-expanded', this.$element.hasClass(this.className));\n }\n\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\n","import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).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":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.toggler.min.js b/dist/js/plugins/foundation.toggler.min.js index f2b06745ee..9f890b3e04 100644 --- a/dist/js/plugins/foundation.toggler.min.js +++ b/dist/js/plugins/foundation.toggler.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.motion","jquery"],e):"object"==typeof exports?exports["foundation.toggler"]=e(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.toggler"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.__FOUNDATION_EXTERNAL__["foundation.util.motion"],t.jQuery))}(window,function(n,i,r){return s={},o.m=a={"./foundation.core":function(t,e){t.exports=n},"./foundation.util.motion":function(t,e){t.exports=i},"./js/entries/plugins/foundation.toggler.js":function(t,e,n){"use strict";n.r(e);var i=n("./foundation.core");n.d(e,"Foundation",function(){return i.Foundation});var r=n("./js/foundation.toggler.js");n.d(e,"Toggler",function(){return r.Toggler}),i.Foundation.plugin(r.Toggler,"Toggler")},"./js/foundation.toggler.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Toggler",function(){return d});var i=n("jquery"),o=n.n(i),r=n("./foundation.util.motion"),a=n("./foundation.core"),s=n("./js/foundation.util.triggers.js");function l(t){return(l="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 c(t,e){for(var n=0;n {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.toggler.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_toggler__WEBPACK_IMPORTED_MODULE_1__","Foundation","plugin","Toggler","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__","_typeof","obj","Symbol","iterator","constructor","prototype","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","key","element","$","this","className","a","extend","defaults","data","options","init","_events","value","id","input","$element","animationIn","animationOut","split","$triggers","attr","is","toggler","length","hasClass","controls","index","trigger","containsId","RegExpEscape","$trigger","RegExp","concat","test","off","on","toggle","bind","isOn","find","_this","_updateARIA","aria-expanded","undefined","Triggers","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","triggers","el","type","forEach","MutationObserver","prefixes","i","Listeners","Basic","Global","Initializers","timer","Array","slice","call","arguments","e","clearTimeout","setTimeout","args","listener","apply","openListener","closeListener","toggleListener","closeableListener","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","scrollListener","closeMeListener","pluginId","namespace","not","yetiBoxes","pluginName","plugNames","console","error","map","name","listeners","join","debounceGlobalListener","debounce","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","elementObserver","attributes","childList","characterData","subtree","document","$document","addMutationEventsListener","addResizeListener","addScrollListener","onLoad","triggersInitialized","addSimpleListeners","addGlobalListeners","installedModules","m","modules","c","getter","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","object","property","hasOwnProperty","p","s","moduleId","l"],"mappings":"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","file":"foundation.toggler.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.toggler\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.toggler\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\n\nimport { Toggler } from '../../foundation.toggler';\nFoundation.plugin(Toggler, 'Toggler');\n\nexport { Foundation, Toggler };\n","'use strict';\n\nimport $ from 'jquery';\nimport { Motion } from './foundation.util.motion';\nimport { Plugin } from './foundation.core.plugin';\nimport { RegExpEscape } from './foundation.core.utils';\nimport { Triggers } from './foundation.util.triggers';\n\n/**\n * Toggler module.\n * @module foundation.toggler\n * @requires foundation.util.motion\n * @requires foundation.util.triggers\n */\n\nclass Toggler extends Plugin {\n /**\n * Creates a new instance of Toggler.\n * @class\n * @name Toggler\n * @fires Toggler#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n _setup(element, options) {\n this.$element = element;\n this.options = $.extend({}, Toggler.defaults, element.data(), options);\n this.className = '';\n this.className = 'Toggler'; // ie9 back compat\n\n // Triggers init is idempotent, just need to make sure it is initialized\n Triggers.init($);\n\n this._init();\n this._events();\n }\n\n /**\n * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.\n * @function\n * @private\n */\n _init() {\n // Collect triggers to set ARIA attributes to\n var id = this.$element[0].id,\n $triggers = $(`[data-open~=\"${id}\"], [data-close~=\"${id}\"], [data-toggle~=\"${id}\"]`);\n\n var input;\n // Parse animation classes if they were set\n if (this.options.animate) {\n input = this.options.animate.split(' ');\n\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n\n // - aria-expanded: according to the element visibility.\n $triggers.attr('aria-expanded', !this.$element.is(':hidden'));\n }\n // Otherwise, parse toggle class\n else {\n input = this.options.toggler;\n if (typeof input !== 'string' || !input.length) {\n throw new Error(`The 'toogler' option containing the target class is required, got \"${input}\"`);\n }\n // Allow for a . at the beginning of the string\n this.className = input[0] === '.' ? input.slice(1) : input;\n\n // - aria-expanded: according to the elements class set.\n $triggers.attr('aria-expanded', this.$element.hasClass(this.className));\n }\n\n // - aria-controls: adding the element id to it if not already in it.\n $triggers.each((index, trigger) => {\n const $trigger = $(trigger);\n const controls = $trigger.attr('aria-controls') || '';\n\n const containsId = new RegExp(`\\\\b${RegExpEscape(id)}\\\\b`).test(controls);\n if (!containsId) $trigger.attr('aria-controls', controls ? `${controls} ${id}` : id);\n });\n }\n\n /**\n * Initializes events for the toggle trigger.\n * @function\n * @private\n */\n _events() {\n this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));\n }\n\n /**\n * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was \"on\" or \"off\".\n * @function\n * @fires Toggler#on\n * @fires Toggler#off\n */\n toggle() {\n this[ this.options.animate ? '_toggleAnimate' : '_toggleClass']();\n }\n\n _toggleClass() {\n this.$element.toggleClass(this.className);\n\n var isOn = this.$element.hasClass(this.className);\n if (isOn) {\n /**\n * Fires if the target element has the class after a toggle.\n * @event Toggler#on\n */\n this.$element.trigger('on.zf.toggler');\n }\n else {\n /**\n * Fires if the target element does not have the class after a toggle.\n * @event Toggler#off\n */\n this.$element.trigger('off.zf.toggler');\n }\n\n this._updateARIA(isOn);\n this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger');\n }\n\n _toggleAnimate() {\n var _this = this;\n\n if (this.$element.is(':hidden')) {\n Motion.animateIn(this.$element, this.animationIn, function() {\n _this._updateARIA(true);\n this.trigger('on.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n else {\n Motion.animateOut(this.$element, this.animationOut, function() {\n _this._updateARIA(false);\n this.trigger('off.zf.toggler');\n this.find('[data-mutate]').trigger('mutateme.zf.trigger');\n });\n }\n }\n\n _updateARIA(isOn) {\n var id = this.$element[0].id;\n $(`[data-open=\"${id}\"], [data-close=\"${id}\"], [data-toggle=\"${id}\"]`)\n .attr({\n 'aria-expanded': isOn ? true : false\n });\n }\n\n /**\n * Destroys the instance of Toggler on the element.\n * @function\n */\n _destroy() {\n this.$element.off('.zf.toggler');\n }\n}\n\nToggler.defaults = {\n /**\n * Class of the element to toggle. It can be provided with or without \".\"\n * @option\n * @type {string}\n */\n toggler: undefined,\n /**\n * Tells the plugin if the element should animated when toggled.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\nexport {Toggler};\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"," \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 = 19);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.tooltip.js b/dist/js/plugins/foundation.tooltip.js index 8b713e1460..6fe31de35d 100644 --- a/dist/js/plugins/foundation.tooltip.js +++ b/dist/js/plugins/foundation.tooltip.js @@ -177,9 +177,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_box__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.plugin */ "./foundation.core"); /* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -187,15 +185,19 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } @@ -220,20 +222,20 @@ function nextItem(item, array) { } } -var Positionable = -/*#__PURE__*/ -function (_Plugin) { +var Positionable = /*#__PURE__*/function (_Plugin) { _inherits(Positionable, _Plugin); + var _super = _createSuper(Positionable); + function Positionable() { _classCallCheck(this, Positionable); - return _possibleConstructorReturn(this, _getPrototypeOf(Positionable).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Positionable, [{ key: "_init", - + value: /** * Abstract class encapsulating the tether-like explicit positioning logic * including repositioning based on overlap. @@ -243,7 +245,7 @@ function (_Plugin) { * generated) by explicitly declaring them. * **/ - value: function _init() { + function _init() { this.triedPositions = {}; this.position = this.options.position === 'auto' ? this._getDefaultPosition() : this.options.position; this.alignment = this.options.alignment === 'auto' ? this._getDefaultAlignment() : this.options.alignment; @@ -467,9 +469,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _foundation_util_triggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.util.triggers */ "./js/foundation.util.triggers.js"); /* harmony import */ var _foundation_positionable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./foundation.positionable */ "./js/foundation.positionable.js"); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } @@ -477,20 +477,24 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + @@ -504,20 +508,20 @@ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || func * @requires foundation.util.triggers */ -var Tooltip = -/*#__PURE__*/ -function (_Positionable) { +var Tooltip = /*#__PURE__*/function (_Positionable) { _inherits(Tooltip, _Positionable); + var _super = _createSuper(Tooltip); + function Tooltip() { _classCallCheck(this, Tooltip); - return _possibleConstructorReturn(this, _getPrototypeOf(Tooltip).apply(this, arguments)); + return _super.apply(this, arguments); } _createClass(Tooltip, [{ key: "_setup", - + value: /** * Creates a new instance of a Tooltip. * @class @@ -526,7 +530,7 @@ function (_Positionable) { * @param {jQuery} element - jQuery object to attach a tooltip to. * @param {Object} options - object to extend the default configuration. */ - value: function _setup(element, options) { + function _setup(element, options) { this.$element = element; this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, Tooltip.defaults, this.$element.data(), options); this.className = 'Tooltip'; // ie9 back compat @@ -1023,9 +1027,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion"); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -1159,9 +1161,8 @@ Triggers.Listeners.Global = { _this.triggerHandler('close.zf.trigger', [_this]); }); - } // Global, parses whole document. - -}; + } +}; // Global, parses whole document. Triggers.Initializers.addClosemeListener = function (pluginName) { var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'), diff --git a/dist/js/plugins/foundation.tooltip.js.map b/dist/js/plugins/foundation.tooltip.js.map index 8144b27ea8..17df6a7208 100644 --- a/dist/js/plugins/foundation.tooltip.js.map +++ b/dist/js/plugins/foundation.tooltip.js.map @@ -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 = $('
        ').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":""} \ No newline at end of file +{"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":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;ACAA,kE;;;;;;;;;;;ACAA,yE;;;;;;;;;;;ACAA,qE;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACAA,2DAAU,CAACC,MAAX,CAAkBC,2DAAlB,EAA2B,SAA3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AAEA,IAAMC,SAAS,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,KAAlB,EAAyB,QAAzB,CAAlB;AACA,IAAMC,mBAAmB,GAAG,CAAC,KAAD,EAAQ,QAAR,EAAkB,QAAlB,CAA5B;AACA,IAAMC,qBAAqB,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,QAAlB,CAA9B;AAEA,IAAMC,UAAU,GAAG;AACjB,UAAQF,mBADS;AAEjB,WAASA,mBAFQ;AAGjB,SAAOC,qBAHU;AAIjB,YAAUA;AAJO,CAAnB;;AAOA,SAASE,QAAT,CAAkBC,IAAlB,EAAwBC,KAAxB,EAA+B;AAC7B,MAAIC,UAAU,GAAGD,KAAK,CAACE,OAAN,CAAcH,IAAd,CAAjB;;AACA,MAAGE,UAAU,KAAKD,KAAK,CAACG,MAAN,GAAe,CAAjC,EAAoC;AAClC,WAAOH,KAAK,CAAC,CAAD,CAAZ;AACD,GAFD,MAEO;AACL,WAAOA,KAAK,CAACC,UAAU,GAAG,CAAd,CAAZ;AACD;AACF;;IAGKG,Y;;;;;;;;;;;;;;AACJ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEE,qBAAQ;AACN,WAAKC,cAAL,GAAsB,EAAtB;AACA,WAAKC,QAAL,GAAiB,KAAKC,OAAL,CAAaD,QAAb,KAA0B,MAA1B,GAAmC,KAAKE,mBAAL,EAAnC,GAAgE,KAAKD,OAAL,CAAaD,QAA9F;AACA,WAAKG,SAAL,GAAiB,KAAKF,OAAL,CAAaE,SAAb,KAA2B,MAA3B,GAAoC,KAAKC,oBAAL,EAApC,GAAkE,KAAKH,OAAL,CAAaE,SAAhG;AACA,WAAKE,gBAAL,GAAwB,KAAKL,QAA7B;AACA,WAAKM,iBAAL,GAAyB,KAAKH,SAA9B;AACD;;;WAED,+BAAuB;AACrB,aAAO,QAAP;AACD;;;WAED,gCAAuB;AACrB,cAAO,KAAKH,QAAZ;AACE,aAAK,QAAL;AACA,aAAK,KAAL;AACE,iBAAOO,mEAAG,KAAK,OAAL,GAAe,MAAzB;;AACF,aAAK,MAAL;AACA,aAAK,OAAL;AACE,iBAAO,QAAP;AANJ;AAQD;AAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,uBAAc;AACZ,UAAG,KAAKC,oBAAL,CAA0B,KAAKR,QAA/B,CAAH,EAA6C;AAC3C,aAAKA,QAAL,GAAgBR,QAAQ,CAAC,KAAKQ,QAAN,EAAgBZ,SAAhB,CAAxB;AACA,aAAKe,SAAL,GAAiBZ,UAAU,CAAC,KAAKS,QAAN,CAAV,CAA0B,CAA1B,CAAjB;AACD,OAHD,MAGO;AACL,aAAKS,QAAL;AACD;AACF;AAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,oBAAW;AACT,WAAKC,iBAAL,CAAuB,KAAKV,QAA5B,EAAsC,KAAKG,SAA3C;;AACA,WAAKA,SAAL,GAAiBX,QAAQ,CAAC,KAAKW,SAAN,EAAiBZ,UAAU,CAAC,KAAKS,QAAN,CAA3B,CAAzB;AACD;;;WAED,2BAAkBA,QAAlB,EAA4BG,SAA5B,EAAuC;AACrC,WAAKJ,cAAL,CAAoBC,QAApB,IAAgC,KAAKD,cAAL,CAAoBC,QAApB,KAAiC,EAAjE;AACA,WAAKD,cAAL,CAAoBC,QAApB,EAA8BW,IAA9B,CAAmCR,SAAnC;AACD;;;WAED,+BAAsB;AACpB,UAAIS,WAAW,GAAG,IAAlB;;AACA,WAAI,IAAIC,CAAC,GAAG,CAAZ,EAAeA,CAAC,GAAGzB,SAAS,CAACS,MAA7B,EAAqCgB,CAAC,EAAtC,EAA0C;AACxCD,mBAAW,GAAGA,WAAW,IAAI,KAAKJ,oBAAL,CAA0BpB,SAAS,CAACyB,CAAD,CAAnC,CAA7B;AACD;;AACD,aAAOD,WAAP;AACD;;;WAED,8BAAqBZ,QAArB,EAA+B;AAC7B,aAAO,KAAKD,cAAL,CAAoBC,QAApB,KAAiC,KAAKD,cAAL,CAAoBC,QAApB,EAA8BH,MAA9B,IAAwCN,UAAU,CAACS,QAAD,CAAV,CAAqBH,MAArG;AACD,K,CAGD;AACA;AACA;AACA;AACA;AACA;;;;WACA,uBAAc;AACZ,aAAO,KAAKI,OAAL,CAAaa,OAApB;AACD;;;WAED,uBAAc;AACZ,aAAO,KAAKb,OAAL,CAAac,OAApB;AACD;;;WAED,sBAAaC,OAAb,EAAsBC,QAAtB,EAAgCC,OAAhC,EAAyC;AACvC,UAAGF,OAAO,CAACG,IAAR,CAAa,eAAb,MAAkC,OAArC,EAA6C;AAAE,eAAO,KAAP;AAAe;;AAE9D,UAAI,CAAC,KAAKlB,OAAL,CAAamB,YAAlB,EAAgC;AAC9B;AACA,aAAKpB,QAAL,GAAgB,KAAKK,gBAArB;AACA,aAAKF,SAAL,GAAiB,KAAKG,iBAAtB;AACD;;AAEDW,cAAQ,CAACI,MAAT,CAAgBC,wDAAG,CAACC,kBAAJ,CAAuBN,QAAvB,EAAiCD,OAAjC,EAA0C,KAAKhB,QAA/C,EAAyD,KAAKG,SAA9D,EAAyE,KAAKqB,WAAL,EAAzE,EAA6F,KAAKC,WAAL,EAA7F,CAAhB;;AAEA,UAAG,CAAC,KAAKxB,OAAL,CAAamB,YAAjB,EAA+B;AAC7B,YAAIM,UAAU,GAAG,SAAjB,CAD6B,CAE7B;;AACA,YAAIC,cAAc,GAAG;AAAC3B,kBAAQ,EAAE,KAAKA,QAAhB;AAA0BG,mBAAS,EAAE,KAAKA;AAA1C,SAArB;;AACA,eAAM,CAAC,KAAKyB,mBAAL,EAAP,EAAmC;AACjC,cAAIC,OAAO,GAAGP,wDAAG,CAACQ,WAAJ,CAAgBb,QAAhB,EAA0BC,OAA1B,EAAmC,KAAnC,EAA0C,KAA1C,EAAiD,KAAKjB,OAAL,CAAa8B,kBAA9D,CAAd;;AACA,cAAGF,OAAO,KAAK,CAAf,EAAkB;AAChB;AACD;;AAED,cAAGA,OAAO,GAAGH,UAAb,EAAyB;AACvBA,sBAAU,GAAGG,OAAb;AACAF,0BAAc,GAAG;AAAC3B,sBAAQ,EAAE,KAAKA,QAAhB;AAA0BG,uBAAS,EAAE,KAAKA;AAA1C,aAAjB;AACD;;AAED,eAAK6B,WAAL;;AAEAf,kBAAQ,CAACI,MAAT,CAAgBC,wDAAG,CAACC,kBAAJ,CAAuBN,QAAvB,EAAiCD,OAAjC,EAA0C,KAAKhB,QAA/C,EAAyD,KAAKG,SAA9D,EAAyE,KAAKqB,WAAL,EAAzE,EAA6F,KAAKC,WAAL,EAA7F,CAAhB;AACD,SAlB4B,CAmB7B;AACA;;;AACA,aAAKzB,QAAL,GAAgB2B,cAAc,CAAC3B,QAA/B;AACA,aAAKG,SAAL,GAAiBwB,cAAc,CAACxB,SAAhC;AACAc,gBAAQ,CAACI,MAAT,CAAgBC,wDAAG,CAACC,kBAAJ,CAAuBN,QAAvB,EAAiCD,OAAjC,EAA0C,KAAKhB,QAA/C,EAAyD,KAAKG,SAA9D,EAAyE,KAAKqB,WAAL,EAAzE,EAA6F,KAAKC,WAAL,EAA7F,CAAhB;AACD;AACF;;;;EAhIwBQ,8D;;AAoI3BnC,YAAY,CAACoC,QAAb,GAAwB;AACtB;AACF;AACA;AACA;AACA;AACA;AACElC,UAAQ,EAAE,MAPY;;AAQtB;AACF;AACA;AACA;AACA;AACA;AACEG,WAAS,EAAE,MAdW;;AAetB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEiB,cAAY,EAAE,KAvBQ;;AAwBtB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEW,oBAAkB,EAAE,IAhCE;;AAiCtB;AACF;AACA;AACA;AACA;AACA;AACEjB,SAAO,EAAE,CAvCa;;AAwCtB;AACF;AACA;AACA;AACA;AACA;AACEC,SAAO,EAAE;AA9Ca,CAAxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7JA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEM5B,O;;;;;;;;;;;;;;AACJ;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE,oBAAOgD,OAAP,EAAgBlC,OAAhB,EAAyB;AACvB,WAAKgB,QAAL,GAAgBkB,OAAhB;AACA,WAAKlC,OAAL,GAAemC,6CAAC,CAACC,MAAF,CAAS,EAAT,EAAalD,OAAO,CAAC+C,QAArB,EAA+B,KAAKjB,QAAL,CAAcqB,IAAd,EAA/B,EAAqDrC,OAArD,CAAf;AACA,WAAKsC,SAAL,GAAiB,SAAjB,CAHuB,CAGK;;AAE5B,WAAKC,QAAL,GAAgB,KAAhB;AACA,WAAKC,OAAL,GAAe,KAAf,CANuB,CAQvB;;AACAC,wEAAQ,CAACC,IAAT,CAAcP,6CAAd;;AAEA,WAAKQ,KAAL;AACD;AAED;AACF;AACA;AACA;;;;WACE,iBAAQ;AACNC,4EAAU,CAACD,KAAX;;AACA,UAAIE,MAAM,GAAG,KAAK7B,QAAL,CAAcE,IAAd,CAAmB,kBAAnB,KAA0C4B,0EAAW,CAAC,CAAD,EAAI,SAAJ,CAAlE;AAEA,WAAK9C,OAAL,CAAa+C,OAAb,GAAuB,KAAK/C,OAAL,CAAa+C,OAAb,IAAwB,KAAK/B,QAAL,CAAcE,IAAd,CAAmB,OAAnB,CAA/C;AACA,WAAK8B,QAAL,GAAgB,KAAKhD,OAAL,CAAagD,QAAb,GAAwBb,6CAAC,CAAC,KAAKnC,OAAL,CAAagD,QAAd,CAAzB,GAAmD,KAAKC,cAAL,CAAoBJ,MAApB,CAAnE;;AAEA,UAAI,KAAK7C,OAAL,CAAakD,SAAjB,EAA4B;AAC1B,aAAKF,QAAL,CAAcG,QAAd,CAAuBC,QAAQ,CAACC,IAAhC,EACGC,IADH,CACQ,KAAKtD,OAAL,CAAa+C,OADrB,EAEGQ,IAFH;AAGD,OAJD,MAIO;AACL,aAAKP,QAAL,CAAcG,QAAd,CAAuBC,QAAQ,CAACC,IAAhC,EACGG,IADH,CACQ,KAAKxD,OAAL,CAAa+C,OADrB,EAEGQ,IAFH;AAGD;;AAED,WAAKvC,QAAL,CAAcE,IAAd,CAAmB;AACjB,iBAAS,EADQ;AAEjB,4BAAoB2B,MAFH;AAGjB,yBAAiBA,MAHA;AAIjB,uBAAeA,MAJE;AAKjB,uBAAeA;AALE,OAAnB,EAMGY,QANH,CAMY,KAAKzD,OAAL,CAAa0D,YANzB;;AAQA;;AACA,WAAKC,OAAL;AACD;;;WAED,+BAAsB;AACpB;AACA,UAAIC,gBAAgB,GAAG,KAAK5C,QAAL,CAAc,CAAd,EAAiBsB,SAAxC;;AACA,UAAI,KAAKtB,QAAL,CAAc,CAAd,aAA4B6C,UAAhC,EAA4C;AACxCD,wBAAgB,GAAGA,gBAAgB,CAACE,OAApC;AACH;;AACD,UAAI/D,QAAQ,GAAG6D,gBAAgB,CAACG,KAAjB,CAAuB,8BAAvB,CAAf;AACA,aAAOhE,QAAQ,GAAGA,QAAQ,CAAC,CAAD,CAAX,GAAiB,KAAhC;AACD;;;WAED,gCAAuB;AACrB,aAAO,QAAP;AACD;;;WAED,uBAAc;AACZ,UAAG,KAAKA,QAAL,KAAkB,MAAlB,IAA4B,KAAKA,QAAL,KAAkB,OAAjD,EAA0D;AACxD,eAAO,KAAKC,OAAL,CAAac,OAAb,GAAuB,KAAKd,OAAL,CAAagE,YAA3C;AACD,OAFD,MAEO;AACL,eAAO,KAAKhE,OAAL,CAAac,OAApB;AACD;AACF;;;WAED,uBAAc;AACZ,UAAG,KAAKf,QAAL,KAAkB,KAAlB,IAA2B,KAAKA,QAAL,KAAkB,QAAhD,EAA0D;AACxD,eAAO,KAAKC,OAAL,CAAaa,OAAb,GAAuB,KAAKb,OAAL,CAAaiE,aAA3C;AACD,OAFD,MAEO;AACL,eAAO,KAAKjE,OAAL,CAAaa,OAApB;AACD;AACF;AAED;AACF;AACA;AACA;;;;WACE,wBAAeqD,EAAf,EAAmB;AACjB,UAAIC,eAAe,GAAG,UAAI,KAAKnE,OAAL,CAAaoE,YAAjB,cAAiC,KAAKpE,OAAL,CAAamE,eAA9C,EAAiEE,IAAjE,EAAtB;AACA,UAAIC,SAAS,GAAInC,6CAAC,CAAC,aAAD,CAAD,CAAiBsB,QAAjB,CAA0BU,eAA1B,EAA2CjD,IAA3C,CAAgD;AAC/D,gBAAQ,SADuD;AAE/D,uBAAe,IAFgD;AAG/D,0BAAkB,KAH6C;AAI/D,yBAAiB,KAJ8C;AAK/D,cAAMgD;AALyD,OAAhD,CAAjB;AAOA,aAAOI,SAAP;AACD;AAED;AACF;AACA;AACA;AACA;;;;WACE,wBAAe;AACb,gFAAmB,KAAKtD,QAAxB,EAAkC,KAAKgC,QAAvC;AACD;AAED;AACF;AACA;AACA;AACA;AACA;;;;WACE,gBAAO;AACL,UAAI,KAAKhD,OAAL,CAAauE,MAAb,KAAwB,KAAxB,IAAiC,CAAC3B,sEAAU,CAAC4B,EAAX,CAAc,KAAKxE,OAAL,CAAauE,MAA3B,CAAtC,EAA0E;AACxE;AACA,eAAO,KAAP;AACD;;AAED,UAAIE,KAAK,GAAG,IAAZ;;AACA,WAAKzB,QAAL,CAAc0B,GAAd,CAAkB,YAAlB,EAAgC,QAAhC,EAA0CC,IAA1C;;AACA,WAAKC,YAAL;;AACA,WAAK5B,QAAL,CAAc6B,WAAd,CAA0B,uBAA1B,EAAmDpB,QAAnD,CAA4D,KAAK1D,QAAjE;AACA,WAAKiD,QAAL,CAAc6B,WAAd,CAA0B,4DAA1B,EAAwFpB,QAAxF,CAAiG,WAAW,KAAKvD,SAAjH;AAEA;AACJ;AACA;AACA;;AACI,WAAKc,QAAL,CAAc8D,OAAd,CAAsB,oBAAtB,EAA4C,KAAK9B,QAAL,CAAc9B,IAAd,CAAmB,IAAnB,CAA5C;AAGA,WAAK8B,QAAL,CAAc9B,IAAd,CAAmB;AACjB,0BAAkB,IADD;AAEjB,uBAAe;AAFE,OAAnB;AAIAuD,WAAK,CAAClC,QAAN,GAAiB,IAAjB,CAvBK,CAwBL;;AACA,WAAKS,QAAL,CAAc+B,IAAd,GAAqBxB,IAArB,GAA4BmB,GAA5B,CAAgC,YAAhC,EAA8C,EAA9C,EAAkDM,MAAlD,CAAyD,KAAKhF,OAAL,CAAaiF,cAAtE,EAAsF,YAAW,CAC/F;AACD,OAFD;AAGA;AACJ;AACA;AACA;;AACI,WAAKjE,QAAL,CAAc8D,OAAd,CAAsB,iBAAtB;AACD;AAED;AACF;AACA;AACA;AACA;;;;WACE,gBAAO;AACL;AACA,UAAIL,KAAK,GAAG,IAAZ;;AACA,WAAKzB,QAAL,CAAc+B,IAAd,GAAqB7D,IAArB,CAA0B;AACxB,uBAAe,IADS;AAExB,0BAAkB;AAFM,OAA1B,EAGGgE,OAHH,CAGW,KAAKlF,OAAL,CAAamF,eAHxB,EAGyC,YAAW;AAClDV,aAAK,CAAClC,QAAN,GAAiB,KAAjB;AACAkC,aAAK,CAACjC,OAAN,GAAgB,KAAhB;AACD,OAND;AAOA;AACJ;AACA;AACA;;AACI,WAAKxB,QAAL,CAAc8D,OAAd,CAAsB,iBAAtB;AACD;AAED;AACF;AACA;AACA;AACA;;;;WACE,mBAAU;AACR,UAAML,KAAK,GAAG,IAAd;;AACA,UAAMW,QAAQ,GAAG,kBAAkBC,MAAlB,IAA6B,OAAOA,MAAM,CAACC,YAAd,KAA+B,WAA7E;AACA,UAAMhB,SAAS,GAAG,KAAKtB,QAAvB;AACA,UAAIuC,OAAO,GAAG,KAAd,CAJQ,CAMR;;AACA,UAAIH,QAAQ,IAAI,KAAKpF,OAAL,CAAawF,eAA7B,EAA8C;;AAE9C,UAAI,CAAC,KAAKxF,OAAL,CAAayF,YAAlB,EAAgC;AAC9B,aAAKzE,QAAL,CACC0E,EADD,CACI,uBADJ,EAC6B,UAASC,CAAT,EAAY;AACvC,cAAI,CAAClB,KAAK,CAAClC,QAAX,EAAqB;AACnBkC,iBAAK,CAACmB,OAAN,GAAgBC,UAAU,CAAC,YAAW;AACpCpB,mBAAK,CAACE,IAAN;AACD,aAFyB,EAEvBF,KAAK,CAACzE,OAAN,CAAc8F,UAFS,CAA1B;AAGD;AACF,SAPD,EAQCJ,EARD,CAQI,uBARJ,EAQ6BK,mFAAoB,CAAC,UAASJ,CAAT,EAAY;AAC5DK,sBAAY,CAACvB,KAAK,CAACmB,OAAP,CAAZ;;AACA,cAAI,CAACL,OAAD,IAAad,KAAK,CAACjC,OAAN,IAAiB,CAACiC,KAAK,CAACzE,OAAN,CAAciG,SAAjD,EAA6D;AAC3DxB,iBAAK,CAAClB,IAAN;AACD;AACF,SALgD,CARjD;AAcD;;AAED,UAAI6B,QAAJ,EAAc;AACZ,aAAKpE,QAAL,CACC0E,EADD,CACI,oCADJ,EAC0C,UAAUC,CAAV,EAAa;AACrDlB,eAAK,CAAClC,QAAN,GAAiBkC,KAAK,CAAClB,IAAN,EAAjB,GAAgCkB,KAAK,CAACE,IAAN,EAAhC;AACD,SAHD;AAID;;AAED,UAAI,KAAK3E,OAAL,CAAaiG,SAAjB,EAA4B;AAC1B,aAAKjF,QAAL,CAAc0E,EAAd,CAAiB,sBAAjB,EAAyC,UAASC,CAAT,EAAY;AACnD,cAAIlB,KAAK,CAACjC,OAAV,EAAmB,CACjB;AACA;AACD,WAHD,MAGO;AACLiC,iBAAK,CAACjC,OAAN,GAAgB,IAAhB;;AACA,gBAAI,CAACiC,KAAK,CAACzE,OAAN,CAAcyF,YAAd,IAA8B,CAAChB,KAAK,CAACzD,QAAN,CAAeE,IAAf,CAAoB,UAApB,CAAhC,KAAoE,CAACuD,KAAK,CAAClC,QAA/E,EAAyF;AACvFkC,mBAAK,CAACE,IAAN;AACD;AACF;AACF,SAVD;AAWD,OAZD,MAYO;AACL,aAAK3D,QAAL,CAAc0E,EAAd,CAAiB,sBAAjB,EAAyC,UAASC,CAAT,EAAY;AACnDlB,eAAK,CAACjC,OAAN,GAAgB,IAAhB;AACD,SAFD;AAGD;;AAED,WAAKxB,QAAL,CAAc0E,EAAd,CAAiB;AACf;AACA;AACA,4BAAoB,KAAKnC,IAAL,CAAU2C,IAAV,CAAe,IAAf;AAHL,OAAjB;AAMA,WAAKlF,QAAL,CACG0E,EADH,CACM,kBADN,EAC0B,UAASC,CAAT,EAAY;AAClCJ,eAAO,GAAG,IAAV;;AACA,YAAId,KAAK,CAACjC,OAAV,EAAmB;AACjB;AACA;AACA,cAAG,CAACiC,KAAK,CAACzE,OAAN,CAAciG,SAAlB,EAA6B;AAAEV,mBAAO,GAAG,KAAV;AAAkB;;AACjD,iBAAO,KAAP;AACD,SALD,MAKO;AACLd,eAAK,CAACE,IAAN;AACD;AACF,OAXH,EAaGe,EAbH,CAaM,qBAbN,EAa6B,UAASC,CAAT,EAAY;AACrCJ,eAAO,GAAG,KAAV;AACAd,aAAK,CAACjC,OAAN,GAAgB,KAAhB;;AACAiC,aAAK,CAAClB,IAAN;AACD,OAjBH,EAmBGmC,EAnBH,CAmBM,qBAnBN,EAmB6B,YAAW;AACpC,YAAIjB,KAAK,CAAClC,QAAV,EAAoB;AAClBkC,eAAK,CAACG,YAAN;AACD;AACF,OAvBH;AAwBD;AAED;AACF;AACA;AACA;;;;WACE,kBAAS;AACP,UAAI,KAAKrC,QAAT,EAAmB;AACjB,aAAKgB,IAAL;AACD,OAFD,MAEO;AACL,aAAKoB,IAAL;AACD;AACF;AAED;AACF;AACA;AACA;;;;WACE,oBAAW;AACT,WAAK3D,QAAL,CAAcE,IAAd,CAAmB,OAAnB,EAA4B,KAAK8B,QAAL,CAAcQ,IAAd,EAA5B,EACc2C,GADd,CACkB,yBADlB,EAEctB,WAFd,CAE0B,KAAK7E,OAAL,CAAa0D,YAFvC,EAGcmB,WAHd,CAG0B,uBAH1B,EAIcuB,UAJd,CAIyB,wFAJzB;AAMA,WAAKpD,QAAL,CAAcqD,MAAd;AACD;;;;EA9RmBxG,qE;;AAiStBX,OAAO,CAAC+C,QAAR,GAAmB;AACjB;AACF;AACA;AACA;AACA;AACA;AACE6D,YAAU,EAAE,GAPK;;AAQjB;AACF;AACA;AACA;AACA;AACA;AACEb,gBAAc,EAAE,GAdC;;AAejB;AACF;AACA;AACA;AACA;AACA;AACEE,iBAAe,EAAE,GArBA;;AAsBjB;AACF;AACA;AACA;AACA;AACA;AACEM,cAAY,EAAE,KA5BG;;AA6BjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACED,iBAAe,EAAE,KArCA;;AAsCjB;AACF;AACA;AACA;AACA;AACA;AACErB,iBAAe,EAAE,EA5CA;;AA6CjB;AACF;AACA;AACA;AACA;AACA;AACEC,cAAY,EAAE,SAnDG;;AAoDjB;AACF;AACA;AACA;AACA;AACA;AACEV,cAAY,EAAE,SA1DG;;AA2DjB;AACF;AACA;AACA;AACA;AACA;AACEa,QAAM,EAAE,OAjES;;AAkEjB;AACF;AACA;AACA;AACA;AACA;AACEvB,UAAQ,EAAE,EAxEO;;AAyEjB;AACF;AACA;AACA;AACA;AACA;AACED,SAAO,EAAE,EA/EQ;AAgFjBuD,gBAAc,EAAE,eAhFC;;AAiFjB;AACF;AACA;AACA;AACA;AACA;AACEL,WAAS,EAAE,IAvFM;;AAwFjB;AACF;AACA;AACA;AACA;AACA;AACElG,UAAQ,EAAE,MA9FO;;AA+FjB;AACF;AACA;AACA;AACA;AACA;AACEG,WAAS,EAAE,MArGM;;AAsGjB;AACF;AACA;AACA;AACA;AACA;AACA;AACEiB,cAAY,EAAE,KA7GG;;AA8GjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEW,oBAAkB,EAAE,KAvHH;;AAwHjB;AACF;AACA;AACA;AACA;AACA;AACEjB,SAAO,EAAE,CA9HQ;;AA+HjB;AACF;AACA;AACA;AACA;AACA;AACEC,SAAO,EAAE,CArIQ;;AAsIjB;AACF;AACA;AACA;AACA;AACA;AACEmD,eAAa,EAAE,EA5IE;;AA6IjB;AACF;AACA;AACA;AACA;AACA;AACED,cAAY,EAAE,EAnJG;;AAoJf;AACJ;AACA;AACA;AACA;AACA;AACA;AACEd,WAAS,EAAE;AA3JM,CAAnB;AA8JA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;AC/cA;AACA;AACA;;AAEA,IAAMqD,gBAAgB,GAAI,YAAY;AACpC,MAAIC,QAAQ,GAAG,CAAC,QAAD,EAAW,KAAX,EAAkB,GAAlB,EAAuB,IAAvB,EAA6B,EAA7B,CAAf;;AACA,OAAK,IAAI5F,CAAC,GAAC,CAAX,EAAcA,CAAC,GAAG4F,QAAQ,CAAC5G,MAA3B,EAAmCgB,CAAC,EAApC,EAAwC;AACtC,QAAI,UAAG4F,QAAQ,CAAC5F,CAAD,CAAX,yBAAoCyE,MAAxC,EAAgD;AAC9C,aAAOA,MAAM,WAAImB,QAAQ,CAAC5F,CAAD,CAAZ,sBAAb;AACD;AACF;;AACD,SAAO,KAAP;AACD,CARyB,EAA1B;;AAUA,IAAM6F,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,IAAL,EAAc;AAC7BD,IAAE,CAACrE,IAAH,CAAQsE,IAAR,EAAcC,KAAd,CAAoB,GAApB,EAAyBC,OAAzB,CAAiC,UAAA3C,EAAE,EAAI;AACrC/B,iDAAC,YAAK+B,EAAL,EAAD,CAAayC,IAAI,KAAK,OAAT,GAAmB,SAAnB,GAA+B,gBAA5C,YAAiEA,IAAjE,kBAAoF,CAACD,EAAD,CAApF;AACD,GAFD;AAGD,CAJD;;AAMA,IAAIjE,QAAQ,GAAG;AACbqE,WAAS,EAAE;AACTC,SAAK,EAAE,EADE;AAETC,UAAM,EAAE;AAFC,GADE;AAKbC,cAAY,EAAE;AALD,CAAf;AAQAxE,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,GAA4B;AAC1BG,cAAY,EAAE,wBAAW;AACvBT,YAAQ,CAACtE,6CAAC,CAAC,IAAD,CAAF,EAAU,MAAV,CAAR;AACD,GAHyB;AAI1BgF,eAAa,EAAE,yBAAW;AACxB,QAAIjD,EAAE,GAAG/B,6CAAC,CAAC,IAAD,CAAD,CAAQE,IAAR,CAAa,OAAb,CAAT;;AACA,QAAI6B,EAAJ,EAAQ;AACNuC,cAAQ,CAACtE,6CAAC,CAAC,IAAD,CAAF,EAAU,OAAV,CAAR;AACD,KAFD,MAGK;AACHA,mDAAC,CAAC,IAAD,CAAD,CAAQ2C,OAAR,CAAgB,kBAAhB;AACD;AACF,GAZyB;AAa1BsC,gBAAc,EAAE,0BAAW;AACzB,QAAIlD,EAAE,GAAG/B,6CAAC,CAAC,IAAD,CAAD,CAAQE,IAAR,CAAa,QAAb,CAAT;;AACA,QAAI6B,EAAJ,EAAQ;AACNuC,cAAQ,CAACtE,6CAAC,CAAC,IAAD,CAAF,EAAU,QAAV,CAAR;AACD,KAFD,MAEO;AACLA,mDAAC,CAAC,IAAD,CAAD,CAAQ2C,OAAR,CAAgB,mBAAhB;AACD;AACF,GApByB;AAqB1BuC,mBAAiB,EAAE,2BAAS1B,CAAT,EAAY;AAC7B,QAAI2B,SAAS,GAAGnF,6CAAC,CAAC,IAAD,CAAD,CAAQE,IAAR,CAAa,UAAb,CAAhB,CAD6B,CAG7B;;AACAsD,KAAC,CAAC4B,eAAF;;AAEA,QAAGD,SAAS,KAAK,EAAjB,EAAoB;AAClBE,oEAAM,CAACC,UAAP,CAAkBtF,6CAAC,CAAC,IAAD,CAAnB,EAA2BmF,SAA3B,EAAsC,YAAW;AAC/CnF,qDAAC,CAAC,IAAD,CAAD,CAAQ2C,OAAR,CAAgB,WAAhB;AACD,OAFD;AAGD,KAJD,MAIK;AACH3C,mDAAC,CAAC,IAAD,CAAD,CAAQ+C,OAAR,GAAkBJ,OAAlB,CAA0B,WAA1B;AACD;AACF,GAlCyB;AAmC1B4C,qBAAmB,EAAE,+BAAW;AAC9B,QAAIxD,EAAE,GAAG/B,6CAAC,CAAC,IAAD,CAAD,CAAQE,IAAR,CAAa,cAAb,CAAT;AACAF,iDAAC,YAAK+B,EAAL,EAAD,CAAYyD,cAAZ,CAA2B,mBAA3B,EAAgD,CAACxF,6CAAC,CAAC,IAAD,CAAF,CAAhD;AACD;AAtCyB,CAA5B,C,CAyCA;;AACAM,QAAQ,CAACwE,YAAT,CAAsBW,eAAtB,GAAwC,UAACC,KAAD,EAAW;AACjDA,OAAK,CAAC1B,GAAN,CAAU,kBAAV,EAA8B1D,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBG,YAAvD;AACAW,OAAK,CAACnC,EAAN,CAAS,kBAAT,EAA6B,aAA7B,EAA4CjD,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBG,YAArE;AACD,CAHD,C,CAKA;AACA;;;AACAzE,QAAQ,CAACwE,YAAT,CAAsBa,gBAAtB,GAAyC,UAACD,KAAD,EAAW;AAClDA,OAAK,CAAC1B,GAAN,CAAU,kBAAV,EAA8B1D,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBI,aAAvD;AACAU,OAAK,CAACnC,EAAN,CAAS,kBAAT,EAA6B,cAA7B,EAA6CjD,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBI,aAAtE;AACD,CAHD,C,CAKA;;;AACA1E,QAAQ,CAACwE,YAAT,CAAsBc,iBAAtB,GAA0C,UAACF,KAAD,EAAW;AACnDA,OAAK,CAAC1B,GAAN,CAAU,kBAAV,EAA8B1D,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvD;AACAS,OAAK,CAACnC,EAAN,CAAS,kBAAT,EAA6B,eAA7B,EAA8CjD,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBK,cAAvE;AACD,CAHD,C,CAKA;;;AACA3E,QAAQ,CAACwE,YAAT,CAAsBe,oBAAtB,GAA6C,UAACH,KAAD,EAAW;AACtDA,OAAK,CAAC1B,GAAN,CAAU,kBAAV,EAA8B1D,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBM,iBAAvD;AACAQ,OAAK,CAACnC,EAAN,CAAS,kBAAT,EAA6B,mCAA7B,EAAkEjD,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBM,iBAA3F;AACD,CAHD,C,CAKA;;;AACA5E,QAAQ,CAACwE,YAAT,CAAsBgB,sBAAtB,GAA+C,UAACJ,KAAD,EAAW;AACxDA,OAAK,CAAC1B,GAAN,CAAU,kCAAV,EAA8C1D,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBW,mBAAvE;AACAG,OAAK,CAACnC,EAAN,CAAS,kCAAT,EAA6C,qBAA7C,EAAoEjD,QAAQ,CAACqE,SAAT,CAAmBC,KAAnB,CAAyBW,mBAA7F;AACD,CAHD,C,CAOA;;;AACAjF,QAAQ,CAACqE,SAAT,CAAmBE,MAAnB,GAA6B;AAC3BkB,gBAAc,EAAE,wBAASC,MAAT,EAAiB;AAC/B,QAAG,CAAC5B,gBAAJ,EAAqB;AAAC;AACpB4B,YAAM,CAACC,IAAP,CAAY,YAAU;AACpBjG,qDAAC,CAAC,IAAD,CAAD,CAAQwF,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAACjH,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAT0B;AAU3BmH,gBAAc,EAAE,wBAASF,MAAT,EAAiB;AAC/B,QAAG,CAAC5B,gBAAJ,EAAqB;AAAC;AACpB4B,YAAM,CAACC,IAAP,CAAY,YAAU;AACpBjG,qDAAC,CAAC,IAAD,CAAD,CAAQwF,cAAR,CAAuB,qBAAvB;AACD,OAFD;AAGD,KAL8B,CAM/B;;;AACAQ,UAAM,CAACjH,IAAP,CAAY,aAAZ,EAA2B,QAA3B;AACD,GAlB0B;AAmB3BoH,iBAAe,EAAE,yBAAS3C,CAAT,EAAY4C,QAAZ,EAAqB;AACpC,QAAItJ,MAAM,GAAG0G,CAAC,CAAC6C,SAAF,CAAY5B,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAb;AACA,QAAI6B,OAAO,GAAGtG,6CAAC,iBAAUlD,MAAV,OAAD,CAAsByJ,GAAtB,4BAA6CH,QAA7C,SAAd;AAEAE,WAAO,CAACL,IAAR,CAAa,YAAU;AACrB,UAAI3D,KAAK,GAAGtC,6CAAC,CAAC,IAAD,CAAb;;AACAsC,WAAK,CAACkD,cAAN,CAAqB,kBAArB,EAAyC,CAAClD,KAAD,CAAzC;AACD,KAHD;AAID;AA3B0B,CAA7B,C,CA8BA;;AACAhC,QAAQ,CAACwE,YAAT,CAAsB0B,kBAAtB,GAA2C,UAASC,UAAT,EAAqB;AAC9D,MAAIC,SAAS,GAAG1G,6CAAC,CAAC,iBAAD,CAAjB;AAAA,MACI2G,SAAS,GAAG,CAAC,UAAD,EAAa,SAAb,EAAwB,QAAxB,CADhB;;AAGA,MAAGF,UAAH,EAAc;AACZ,QAAG,OAAOA,UAAP,KAAsB,QAAzB,EAAkC;AAChCE,eAAS,CAACpI,IAAV,CAAekI,UAAf;AACD,KAFD,MAEM,IAAG,QAAOA,UAAP,MAAsB,QAAtB,IAAkC,OAAOA,UAAU,CAAC,CAAD,CAAjB,KAAyB,QAA9D,EAAuE;AAC3EE,eAAS,GAAGA,SAAS,CAACC,MAAV,CAAiBH,UAAjB,CAAZ;AACD,KAFK,MAED;AACHI,aAAO,CAACC,KAAR,CAAc,8BAAd;AACD;AACF;;AACD,MAAGJ,SAAS,CAACjJ,MAAb,EAAoB;AAClB,QAAIsJ,SAAS,GAAGJ,SAAS,CAACK,GAAV,CAAc,UAACC,IAAD,EAAU;AACtC,kCAAqBA,IAArB;AACD,KAFe,EAEbC,IAFa,CAER,GAFQ,CAAhB;AAIAlH,iDAAC,CAACkD,MAAD,CAAD,CAAUc,GAAV,CAAc+C,SAAd,EAAyBxD,EAAzB,CAA4BwD,SAA5B,EAAuCzG,QAAQ,CAACqE,SAAT,CAAmBE,MAAnB,CAA0BsB,eAAjE;AACD;AACF,CApBD;;AAsBA,SAASgB,sBAAT,CAAgCC,QAAhC,EAA0CzE,OAA1C,EAAmD0E,QAAnD,EAA6D;AAC3D,MAAIC,KAAJ;AAAA,MAAWC,IAAI,GAAGC,KAAK,CAACC,SAAN,CAAgBC,KAAhB,CAAsBC,IAAtB,CAA2BC,SAA3B,EAAsC,CAAtC,CAAlB;AACA5H,+CAAC,CAACkD,MAAD,CAAD,CAAUc,GAAV,CAAcrB,OAAd,EAAuBY,EAAvB,CAA0BZ,OAA1B,EAAmC,UAASa,CAAT,EAAY;AAC7C,QAAI8D,KAAJ,EAAW;AAAEzD,kBAAY,CAACyD,KAAD,CAAZ;AAAsB;;AACnCA,SAAK,GAAG5D,UAAU,CAAC,YAAU;AAC3B2D,cAAQ,CAACQ,KAAT,CAAe,IAAf,EAAqBN,IAArB;AACD,KAFiB,EAEfH,QAAQ,IAAI,EAFG,CAAlB,CAF6C,CAI1B;AACpB,GALD;AAMD;;AAED9G,QAAQ,CAACwE,YAAT,CAAsBgD,iBAAtB,GAA0C,UAASV,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAGhG,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAGgG,MAAM,CAACvI,MAAV,EAAiB;AACf0J,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgC9G,QAAQ,CAACqE,SAAT,CAAmBE,MAAnB,CAA0BkB,cAA1D,EAA0EC,MAA1E,CAAtB;AACD;AACF,CALD;;AAOA1F,QAAQ,CAACwE,YAAT,CAAsBiD,iBAAtB,GAA0C,UAASX,QAAT,EAAkB;AAC1D,MAAIpB,MAAM,GAAGhG,6CAAC,CAAC,eAAD,CAAd;;AACA,MAAGgG,MAAM,CAACvI,MAAV,EAAiB;AACf0J,0BAAsB,CAACC,QAAD,EAAW,mBAAX,EAAgC9G,QAAQ,CAACqE,SAAT,CAAmBE,MAAnB,CAA0BqB,cAA1D,EAA0EF,MAA1E,CAAtB;AACD;AACF,CALD;;AAOA1F,QAAQ,CAACwE,YAAT,CAAsBkD,yBAAtB,GAAkD,UAAStC,KAAT,EAAgB;AAChE,MAAG,CAACtB,gBAAJ,EAAqB;AAAE,WAAO,KAAP;AAAe;;AACtC,MAAI4B,MAAM,GAAGN,KAAK,CAACuC,IAAN,CAAW,6CAAX,CAAb,CAFgE,CAIhE;;AACA,MAAIC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAUC,mBAAV,EAA+B;AAC7D,QAAIC,OAAO,GAAGpI,6CAAC,CAACmI,mBAAmB,CAAC,CAAD,CAAnB,CAAuBE,MAAxB,CAAf,CAD6D,CAG7D;;AACA,YAAQF,mBAAmB,CAAC,CAAD,CAAnB,CAAuB3D,IAA/B;AACE,WAAK,YAAL;AACE,YAAI4D,OAAO,CAACrJ,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4CoJ,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,EAAUlF,MAAM,CAACqF,WAAjB,CAA9C;AACD;;AACD,YAAIH,OAAO,CAACrJ,IAAR,CAAa,aAAb,MAAgC,QAAhC,IAA4CoJ,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,aAAzF,EAAwG;AACtGF,iBAAO,CAAC5C,cAAR,CAAuB,qBAAvB,EAA8C,CAAC4C,OAAD,CAA9C;AACA;;AACF,YAAID,mBAAmB,CAAC,CAAD,CAAnB,CAAuBG,aAAvB,KAAyC,OAA7C,EAAsD;AACpDF,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiCzJ,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACAqJ,iBAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACD;;AACD;;AAEF,WAAK,WAAL;AACEJ,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiCzJ,IAAjC,CAAsC,aAAtC,EAAoD,QAApD;AACAqJ,eAAO,CAACI,OAAR,CAAgB,eAAhB,EAAiChD,cAAjC,CAAgD,qBAAhD,EAAuE,CAAC4C,OAAO,CAACI,OAAR,CAAgB,eAAhB,CAAD,CAAvE;AACA;;AAEF;AACE,eAAO,KAAP;AACF;AArBF;AAuBD,GA3BD;;AA6BA,MAAIxC,MAAM,CAACvI,MAAX,EAAmB;AACjB;AACA,SAAK,IAAIgB,CAAC,GAAG,CAAb,EAAgBA,CAAC,IAAIuH,MAAM,CAACvI,MAAP,GAAgB,CAArC,EAAwCgB,CAAC,EAAzC,EAA6C;AAC3C,UAAIgK,eAAe,GAAG,IAAIrE,gBAAJ,CAAqB8D,yBAArB,CAAtB;AACAO,qBAAe,CAACC,OAAhB,CAAwB1C,MAAM,CAACvH,CAAD,CAA9B,EAAmC;AAAEkK,kBAAU,EAAE,IAAd;AAAoBC,iBAAS,EAAE,IAA/B;AAAqCC,qBAAa,EAAE,KAApD;AAA2DC,eAAO,EAAE,IAApE;AAA0EC,uBAAe,EAAE,CAAC,aAAD,EAAgB,OAAhB;AAA3F,OAAnC;AACD;AACF;AACF,CAzCD;;AA2CAzI,QAAQ,CAACwE,YAAT,CAAsBkE,kBAAtB,GAA2C,YAAW;AACpD,MAAIC,SAAS,GAAGjJ,6CAAC,CAACiB,QAAD,CAAjB;AAEAX,UAAQ,CAACwE,YAAT,CAAsBW,eAAtB,CAAsCwD,SAAtC;AACA3I,UAAQ,CAACwE,YAAT,CAAsBa,gBAAtB,CAAuCsD,SAAvC;AACA3I,UAAQ,CAACwE,YAAT,CAAsBc,iBAAtB,CAAwCqD,SAAxC;AACA3I,UAAQ,CAACwE,YAAT,CAAsBe,oBAAtB,CAA2CoD,SAA3C;AACA3I,UAAQ,CAACwE,YAAT,CAAsBgB,sBAAtB,CAA6CmD,SAA7C;AAED,CATD;;AAWA3I,QAAQ,CAACwE,YAAT,CAAsBoE,kBAAtB,GAA2C,YAAW;AACpD,MAAID,SAAS,GAAGjJ,6CAAC,CAACiB,QAAD,CAAjB;AACAX,UAAQ,CAACwE,YAAT,CAAsBkD,yBAAtB,CAAgDiB,SAAhD;AACA3I,UAAQ,CAACwE,YAAT,CAAsBgD,iBAAtB;AACAxH,UAAQ,CAACwE,YAAT,CAAsBiD,iBAAtB;AACAzH,UAAQ,CAACwE,YAAT,CAAsB0B,kBAAtB;AACD,CAND;;AASAlG,QAAQ,CAACC,IAAT,GAAgB,UAAUP,CAAV,EAAanD,UAAb,EAAyB;AACvCsM,uEAAM,CAACnJ,CAAC,CAACkD,MAAD,CAAF,EAAY,YAAY;AAC5B,QAAIlD,CAAC,CAACoJ,mBAAF,KAA0B,IAA9B,EAAoC;AAClC9I,cAAQ,CAACwE,YAAT,CAAsBkE,kBAAtB;AACA1I,cAAQ,CAACwE,YAAT,CAAsBoE,kBAAtB;AACAlJ,OAAC,CAACoJ,mBAAF,GAAwB,IAAxB;AACD;AACF,GANK,CAAN;;AAQA,MAAGvM,UAAH,EAAe;AACbA,cAAU,CAACyD,QAAX,GAAsBA,QAAtB,CADa,CAEb;;AACAzD,cAAU,CAACwM,QAAX,GAAsB/I,QAAQ,CAACwE,YAAT,CAAsBoE,kBAA5C;AACD;AACF,CAdD;;;;;;;;;;;;;;;;;;;;;;;;;ACnPA,oD","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","import { 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","import $ from 'jquery';\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 = $('
        ').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","import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).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":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.tooltip.min.js b/dist/js/plugins/foundation.tooltip.min.js index 2fb67afa79..57273a1564 100644 --- a/dist/js/plugins/foundation.tooltip.min.js +++ b/dist/js/plugins/foundation.tooltip.min.js @@ -1,2 +1,2 @@ -!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
        ").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
        ").addClass(e).attr({role:"tooltip","aria-hidden":!0,"data-is-active":!1,"data-is-focus":!1,id:t})}},{key:"_setPosition",value:function(){c(h(n.prototype),"_setPosition",this).call(this,this.$element,this.template)}},{key:"show",value:function(){if("all"!==this.options.showOn&&!a.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){return i=!0,e.isClick?(e.options.clickOpen||(i=!1),!1):void 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()}}])&&f(t.prototype,e),i&&f(t,i),n}();o.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 u});var e=i("jquery"),r=i.n(e),o=i("./foundation.core"),n=i("./foundation.util.motion");function s(t){return(s="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 a(e,i){e.data(i).split(" ").forEach(function(t){r()("#".concat(t))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[e])})}var l=function(){for(var t=["WebKit","Moz","O","Ms",""],e=0;e
        ').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__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","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]/webpack/bootstrap"],"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__","__webpack_require__","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__","_typeof","obj","Symbol","iterator","constructor","prototype","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","VERTICAL_ALIGNMENTS","left","right","top","currentIdx","array","item","length","key","this","alignment","options","originalPosition","position","_getDefaultPosition","originalAlignment","_getDefaultAlignment","value","nextItem","POSITIONS","_realign","triedPositions","push","isExhausted","i","$anchor","$element","$parent","attr","allowOverlap","offset","GetExplicitOffsets","_getVOffset","_getHOffset","minCoordinates","overlap","OverlapArea","allowBottomOverlap","Box","vOffset","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__","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","isActive","element","isClick","a","extend","defaults","data","_init","init","$","elemId","allowHtml","template","appendTo","document","body","tipText","_buildTemplate","text","title","aria-describedby","data-toggle","addClass","triggerClass","elementClassName","className","match","baseVal","hOffset","tooltipWidth","tooltipHeight","id","templateClasses","concat","tooltipClass","trim","role","aria-hidden","data-is-active","data-is-focus","removeClass","show","_setPosition","trigger","_this","stop","fadeOut","fadeOutDuration","$template","isFocus","hasTouch","disableForTouch","ontouchstart","disableHover","on","timeout","setTimeout","ignoreMousedisappear","clearTimeout","clickOpen","hide","Triggers","el","type","split","forEach","prefixes","Basic","Global","Initializers","Listeners","timer","debounce","listener","args","off","apply","triggers","openListener","closeListener","stopPropagation","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","animateOut","animation","triggerHandler","$elem","addOpenListener","addCloseListener","addToggleListener","toggleListener","addCloseableListener","closeableListener","addToggleFocusListener","toggleFocusListener","MutationObserver","resizeListener","$nodes","each","scrollListener","closeMeListener","plugins","namespace","not","pluginId","yetiBoxes","plugNames","pluginName","console","error","listeners","map","name","debounceGlobalListener","listeningElementsMutation","mutationRecordsList","$target","pageYOffset","attributeName","closest","elementObserver","observe","childList","characterData","subtree","attributeFilter","$document","addResizeListener","addScrollListener","addClosemeListener","onLoad","addSimpleListeners","addGlobalListeners","triggersInitialized","IHearYou","installedModules","m","modules","c","getter","defineProperty","enumerable","get","toStringTag","t","mode","__esModule","ns","create","bind","object","property","hasOwnProperty","p","s","moduleId","l"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,EAAAG,QAAA,qBAAAA,QAAA,yBAAAA,QAAA,gCAAAA,QAAA,4BAAAA,QAAA,WACA,mBAAAC,QAAAA,OAAAC,IACAD,OAAA,CAAA,oBAAA,wBAAA,+BAAA,2BAAA,UAAAJ,GACA,iBAAAC,QACAA,QAAA,sBAAAD,EAAAG,QAAA,qBAAAA,QAAA,yBAAAA,QAAA,gCAAAA,QAAA,4BAAAA,QAAA,YAEAJ,EAAA,wBAAAA,EAAA,yBAAA,GAAyEA,EAAA,wBAAA,sBAAAC,EAAAD,EAAA,wBAAA,mBAAAA,EAAA,wBAAA,uBAAAA,EAAA,wBAAA,8BAAAA,EAAA,wBAAA,0BAAAA,EAAA,SARzE,CASCO,OAAA,SAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GACD,O,qCCVAT,EAAAD,QAAAM,G,sCCAAL,EAAAD,QAAAO,G,6CCAAN,EAAAD,QAAAQ,G,yCCAAP,EAAAD,QAAAS,G,0ECAAE,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,qBAAAA,EAAAI,EAAAF,EAAA,aAAA,WAAA,OAAAC,EAAA,aAAA,IAAAE,EAAAL,EAAA,8BAAAA,EAAAI,EAAAF,EAAA,UAAA,WAAA,OAAAG,EAAA,UAGAC,EAAAA,WAAWC,OAAOC,EAAAA,QAAS,Y,+DCH3BR,EAAAC,EAAAC,GAAAF,EAAAI,EAAAF,EAAA,eAAA,WAAA,OAAAO,IAAA,IAAAC,EAAAV,EAAA,yBAAAW,EAAAX,EAAA,qBAAa,SAAAY,EAAAC,GAAA,OAAAD,EAAA,mBAAAE,QAAA,iBAAAA,OAAAC,SAAA,SAAAF,GAAA,cAAAA,GAAA,SAAAA,GAAA,OAAAA,GAAA,mBAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAG,UAAA,gBAAAJ,IAAAA,G,67BAEb,SAAAK,EAAAC,GAAA,OAAAD,EAAAE,OAAAC,eAAAD,OAAAE,eAAA,SAAAH,GAAA,OAAAA,EAAAI,WAAAH,OAAAE,eAAAH,KAAAA,GAMA,IAAMK,EAAAA,CAAAA,OAAqB,QAAI,MAAQ,UAEjCC,EAAa,CAAA,MAAA,SAAA,UACjBD,EAAQE,CADS,OAAA,QAAA,UAEjBD,EAASC,CACTC,KAAOH,EACPI,MAAAF,EAJFG,IAAAL,E,0BASKM,EAAUC,EAAKA,QAAAC,GAEjB,OAFDF,IAEOC,EAAAE,OAAA,EACEF,EAAMD,GAEhBC,EAAAD,EAAA,G,uPAuIDrB,EAAwB,W,kLAnItByB,IAAA,Q,MAYE,WACAC,KAAKC,eAAiBC,GACtBF,KAAKG,SAAL,SAAKA,KAALD,QAA6BE,SAA7BJ,KAAAK,sBAAAL,KAAAE,QAAAE,SACAJ,KAAKM,UAAL,SAAKA,KAALJ,QAA8BD,UAA9BD,KAAAO,uBAAAP,KAAAE,QAAAD,UACDD,KAAAG,iBAAAH,KAAAI,S,yCAGCL,IAAA,sBACDS,MAAA,W,kBAGCT,IAAA,uBACES,MAAA,WACA,OAAKR,KAALI,UACE,IAAA,S,UACF,OAAKnB,OAALT,EAAA,IAAKS,GAAL,QAAA,OAEE,IAAA,OANJ,IAAA,QAQD,MAAA,Y,CASCc,IAAA,cACES,MAAA,WACAR,KAAKC,qBAAuBD,KAAKI,WAFnCJ,KAGOI,SAAAK,EAAAT,KAAAI,SAAAM,GACLV,KAAKW,UAALrB,EAAAU,KAAAI,UAAA,IAEHJ,KAAAW,a,CASCZ,IAAA,W,iBACAC,KAAKC,kBAAYQ,KAASL,SAAKH,KAAWX,W,qDAI1CS,IAAA,oBACAS,MAAKI,SAAyBC,EAAKZ,GACpCD,KAAAY,eAAAR,GAAAJ,KAAAY,eAAAR,IAAA,G,kCAGCL,IAAA,sB,iBAGC,IAFD,IAAAe,GAAgB,EAEfC,EAAA,EAAAA,EAAAL,EAAAZ,OAAAiB,I,iDAKDhB,IAAA,uBACDS,MAGD,SAAAJ,GACA,OAAAJ,KAAAY,eAAAR,IAAAJ,KAAAY,eAAAR,GAAAN,QAAAR,EAAAc,GAAAN,S,CAMEC,IAAA,cACDS,MAAA,W,+BAGCT,IAAA,cACDS,MAAA,W,+BAGCT,IAAA,eAA+CS,MAAA,SAAAQ,EAAAC,EAAAC,GAAe,GAAA,UAAAF,EAAAG,KAAA,iB,YAI5DnB,KAAKI,QAAWgB,eAEjBpB,KAAAI,SAAAJ,KAAAG,iB,uCAIDc,EAAII,OAAKnB,EAAsB,IAAAoB,mBAAAL,EAAAD,EAAAhB,KAAAI,SAAAJ,KAAAC,UAAAD,KAAAuB,cAAAvB,KAAAwB,iB,+BAG7B,IAAIC,EAAAA,IAA2CxB,EAAgBA,CAA/DG,SAAAJ,KAAAI,S,wDAGE,IAAGsB,EAAOnD,EAAQ,IAAAoD,YAAAV,EAAAC,GAAA,GAAA,EAAAlB,KAAAE,QAAA0B,oBAEjB,GAAA,IAAAF,E,OAICD,EAAAA,IAAkBrB,EAAUsB,EAAezB,EAAW,CAAtDG,SAAAJ,KAAAI,SACDH,UAAAD,KAAAC,YAIDgB,KAAAA,cAGFA,EAAAI,OAAA9C,EAAA,IAAA+C,mBAAAL,EAAAD,EAAAhB,KAAAI,SAAAJ,KAAAC,UAAAD,KAAAuB,cAAAvB,KAAAwB,gBAGAP,KAAAA,SAAgBY,EAAAA,SACjB7B,KAAAC,UAAAwB,EAAAxB,UACFgB,EAAAI,OAAA9C,EAAA,IAAA+C,mBAAAL,EAAAD,EAAAhB,KAAAI,SAAAJ,KAAAC,UAAAD,KAAAuB,cAAAvB,KAAAwB,sB,4CAYDpB,SAAA,OAOAH,UAAA,OASAmB,cAAA,EASAQ,oBAAA,EAOAE,QAAA,E,sECvMFjE,EAAAC,EAAAC,GAAAF,EAAAI,EAAAF,EAAA,UAAA,WAAA,OAAAM,IAAA,IAAA0D,EAAAlE,EAAA,UAAAmE,EAAAnE,EAAAoE,EAAAF,GAAAG,EAAArE,EAAA,qBAAAsE,EAAAtE,EAAA,gCAAauE,EAAAvE,EAAA,oC,i0BAEb,WAAA,GAAA,oBAAAwE,UAAAA,QAAAC,UAAA,OAAA,EAAA,GAAAD,QAAAC,UAAAC,KAAA,OAAA,EAAA,GAAA,mBAAAC,MAAA,OAAA,EAAA,IAAA,OAAAC,QAAA3D,UAAA4D,QAAAC,KAAAN,QAAAC,UAAAG,QAAA,GAAA,gBAAA,EAAA,MAAAG,GAAA,OAAA,G,4aAGA,SAAA7D,EAAAC,GAAA,OAAAD,EAAAE,OAAAC,eAAAD,OAAAE,eAAA,SAAAH,GAAA,OAAAA,EAAAI,WAAAH,OAAAE,eAAAH,KAAAA,G,4aA8SE,O,0CApREgB,KAAK6C,SAAWC,EAChB9C,KAAK+C,QAAUf,EAEfgB,EAAAC,OAAA,GAAA5E,EAAA6E,SAAAlD,KAAAiB,SAAAkC,OAAAjD,G,0CAGAF,KAAKoD,SAAL,EAGFhB,EAAA,SAAAiB,KAAArB,EAAAgB,G,gBAMEjD,IAAA,QAEAS,MAAKN,WACLiC,EAAwCmB,WAAAA,QAExC,IAAIC,EAAKrD,KAAQsD,SAAjBrC,KAA4B,qBAAAlC,OAAAiD,EAAA,YAAAjD,CAAA,EAAA,WAC1Be,KAAAE,QAAKuD,QAASC,KAASC,QAASC,SACxB5D,KAAKE,SAAQ2D,KADrB,SAGD7D,KAJDyD,SAIOzD,KAAAE,QAAAuD,SAAAzB,GAAAA,CAAAhC,KAAAE,QAAAuD,UAAAzD,KAAA8D,eAAAP,IAINvD,KAAAE,QAAAsD,U,iEAGCxD,KAAAyD,SADiBC,SAAAC,SAAAC,MAAAG,KAAA/D,KAAAE,QAAA2D,U,OAIjB7D,KAAAiB,SAAAE,KAAeoC,CACfS,MAAA,GALFC,mBAMiB/D,E,kBAEjBgE,cAAAX,E,kBACAY,SAAAnE,KAAAE,QAAAkE,c,2DAKA,C,0BACA5D,MAAI,WAEH,IAAA6D,EAAArE,KAAAiB,SAAA,GAAAqD,U,GAEDD,EADIjE,KAAAA,SAAWiE,aAAiBE,WACdnE,EAAlBoE,Q,+DAKD,C,6DAIG,CACDzE,IAFD,cAGES,MAAA,WACD,MAAA,SAAAR,KAAAI,UAAA,UAAAJ,KAAAI,SACFJ,KAAAE,QAAAuE,QAAAzE,KAAAE,QAAAwE,a,uBAIG,CACD3E,IAFD,cAGES,MAAA,WACD,MAAA,QAAAR,KAAAI,UAAA,WAAAJ,KAAAI,SACFJ,KAAAE,QAAA4B,QAAA9B,KAAAE,QAAAyE,c,uBAQC,CACE5E,IAAA,iBACAS,MAAA,SAF+DoE,GAG/D,IAAAC,EAAkB,GAH6CC,OAAA9E,KAAAE,QAAA6E,aAAA,KAAAD,OAAA9E,KAAAE,QAAA2E,iBAAAG,O,OAI/DhD,GAAAA,CAJ+D,eAAAmC,SAAAU,GAAA1D,KAAA,CAK/D8D,KAAML,UALRM,eAAA,EAOAC,kBAAA,EACDC,iBAAA,EAEDR,GAAAA,MAOC,CAED7E,IAAA,e,gGAQI,CACAA,IAAA,OACDS,MAAA,W,+EAKDR,KAAKyD,SAAS4B,IAAAA,aAAY,UAAAC,OAG1BtF,KAAAuF,e,qMAOmBvF,KAAnBiB,SAAAuE,QAAA,qBAAAxF,KAAAyD,SAAAtC,KAAA,OAIAsE,KAAKhC,SAALtC,KAAiB,C,oBAEjB+D,eAAcQ,IAjBTH,KAoBL1C,UAAA,E,6IAcA,C,WACArC,MAAKiD,WAEH,IAAAgC,EAAAzF,KAEAyF,KAAAA,SAAM5C,OAAW1B,KAAjB,CACAsE,eAAA,EALFN,kBAAA,IAOAQ,QAAA3F,KAAAE,QAAA0F,gBAAA,W,yEAcA7F,IAAA,UACAS,MAAMqF,WACN,IAAIC,EAAO9F,KAGP+F,EAAQ,iBAAiBC,aAAiB,IAAAzI,OAAA0I,aAE1CH,G,eAAM5F,GAGN6F,GAAWlD,KAAAA,QAAUmD,kBAEjBP,KAAAA,QAAAS,cACDlG,KAFyBiB,SAEjBf,GAAAA,wBAFT,SAAA0C,GAGD6C,EAAA5C,WAEFsD,EAAGC,QAAAC,WAAyBC,WAC3BC,EAAAA,Q,yBAEEd,GAAAA,wBAAAxG,OAAAiD,EAAA,qBAAAjD,CAAA,SAAA2D,GACD2D,aAAAd,EAAAW,SAEJN,KAAAL,EAAA1C,SAAA0C,EAAAvF,QAAAsG,Y,YAOAT,G,kEAEGN,EAAKvF,SAAQsG,EAAjBC,OAA4BhB,EAAAH,SAKvBtF,KAHDE,QAGOsG,UACLf,KAAAA,SAAM1C,GAAN,uBAAA,SAAAH,G,YAGC6C,EAAA1C,SAAA,GARL0C,EAAAvF,QAAAgG,cAAAT,EAAAxE,SAAAE,KAAA,aAAAsE,EAAA5C,UAWK4C,EAAAH,U,oDAMPG,EAAKxE,SAAY,IAAAjB,KAAjBiB,SAAAkF,GAAA,C,0CAUMnG,KAAAiB,SAAAkF,GAAA,mBAAA,SAAAvD,GAE+BkD,OAD/BA,GAAA,EAC+BA,EAAAA,SAC/BL,EAAOvF,QAAPsG,YAJFV,GAKO,IAKL,QAEFL,EAAM1C,SACN0C,GAAAA,sBAAA,SAAA7C,GAhBJkD,GAmBM,EACFL,EAAIA,SAAM5C,EAET4C,EAAAgB,SAtBLN,GAAA,sBAAA,WAwBDV,EAAA5C,UAED4C,EAAAF,oBAMI,CACDxF,IAFD,SAGES,MAAA,WACDR,KAAA6C,SACF7C,KAAAyG,O,cAaC,CACD1G,IAAA,W,yUAID1B,E,yaCnTF,SAAAlB,EAAAY,EAAAF,gBAAAA,EAAAC,EAAAC,GAAAF,EAAAI,EAAAF,EAAA,WAAA,WAAA,OAAA2I,IAAA,IAAA3E,EAAAlE,EAAA,UAAAmE,EAAAnE,EAAAoE,EAAAF,GAAaG,EAAArE,EAAA,qB,gCAEb,SAAAY,EAAAC,GAAA,OAAAD,EAAA,mBAAAE,QAAA,iBAAAA,OAAAC,SAAA,SAAAF,GAAA,cAAAA,GAAA,SAAAA,GAAA,OAAAA,GAAA,mBAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAG,UAAA,gBAAAJ,IAAAA,GAgBI4E,SAAAA,EAAAA,EAAAA,GACDqD,EAFDxD,KAAAyD,GAAAC,MAAA,KAAAC,QAAA,SAAAlC,GADF5C,GAAAA,CAAA,IAAA8C,OAAAF,IAAA,UAAAgC,EAAA,UAAA,kBAAA,GAAA9B,OAAA8B,EAAA,eAAA,CAAAD,M,iBANM,IAFJ,IAAAI,EAAA,CAAchG,SAAIgG,MAASjH,IAAS,KAAI,IAEpCiB,EAAOxD,EAAAA,EAAMwJ,EAAIA,OAAShG,IAC3B,GAAA,GAAA+D,OAAAiC,EAAAhG,GAAA,sBAAAxD,OACF,OAAAA,OAAA,GAAAuH,OAAAiC,EAAAhG,GAAA,qB,YAYCiG,EADS,CAETC,UAAQ,CAHGD,MAAA,GAKbE,OAAAA,IAGFR,aAASS,IAiIP,SAAIC,EAAJC,EAAA7B,EAAA8B,GAAA,IAAWC,EACXjE,EAAAA,MAAAA,UAAAA,MAAAA,KAAAA,UAAE/F,GACAyE,GAAAA,CAAWzE,QAAAiK,IAAAhC,GAAAW,GAAAX,EAAA,SAAA5C,GAAE2D,GAAsBA,aAAAa,GAEjCE,EAAAA,WAAe,WADCA,EAEPG,MAFO,KAECF,IAJrBF,GAAA,MAhIEK,EAAAA,UAASpE,MAAAA,CACVqE,aAHyB,WAI1BC,EAAAA,GAAAA,CAA0B5H,MAAA,S,yBAEhBgC,GAAAA,CAAAhC,MAAAmD,KAAA,SAING,EAAAA,GAAAA,CAAQkC,MAAQ,SAVMxD,GAAAA,CAAAhC,MAAAwF,QAAA,qB,0BAehBxD,GAAAA,CAAAhC,MAAAmD,KAAA,UAGNG,EAAAA,GAAAA,CAAQkC,MAAQ,UAlBMxD,GAAAA,CAAAhC,MAAAwF,QAAA,sB,8BAyBxB5C,IAAEiF,EAAAA,GAAAA,CAAF7H,MAAAmD,KAAA,YAEAP,EAAAiF,kBAEIvE,KAAAA,EACDwE,EAFD,OAAAC,WAAA/F,GAAAA,CAAAhC,MAAAgI,EAAA,WADFhG,GAAAA,CAIKhC,MAAAwF,QAAA,eA/BmBxD,GAAAA,CAAAhC,MAAA2F,UAAAH,QAAA,cAqCxBlC,oBAAAA,WACD,IAAAsB,EAAA5C,GAAAA,CAAAhC,MAAAmD,KAAA,gBAGHnB,GAAAA,CAAA,IAAA8C,OAAAF,IAAAqD,eAAA,oBAAA,CAAAjG,GAAAA,CAAAhC,UAGEkI,EAAM/B,aAAGgC,gBAAoB,SAAezB,G,EAG9Cc,IAAA,mBAAAd,EAAAS,UAAAH,MAAAW,cACAO,EAAA/B,GAAA,mBAAA,cAAAO,EAAAS,UAAAH,MAAAW,eAGEO,EAAM/B,aAAGiC,iBAAoB,SAAgB1B,G,EAG/Cc,IAAA,mBAAAd,EAAAS,UAAAH,MAAAY,e,yEAGEM,EAAM/B,aAAGkC,kBAAoB,SAAiB3B,G,EAGhDc,IAAA,mBAAAd,EAAAS,UAAAH,MAAAsB,gB,2EAGEJ,EAAM/B,aAAGoC,qBAAoB,SAAAL,G,EAG/BV,IAAA,mBAAAd,EAAAS,UAAAH,MAAAwB,mB,kGAGEN,EAAM/B,aAAGsC,uBAAoC,SAAAP,G,EAK/CV,IAAA,mCAAAd,EAAAS,UAAAH,MAAA0B,qB,sGAGIhC,EAAIiC,UAAAA,OAAiB,CAACC,eAAA,SAAAC,GACpBA,GAECA,EAFDC,KAAA,WAIF9G,GAAAA,CAAAhC,MAAAiI,eAAA,yBAGFc,EAAAA,KAAc,cAAE,WACQA,eAAA,SAAAF,GACpBA,GAECA,EAFDC,KAAA,WAIF9G,GAAAA,CAAAhC,MAAAiI,eAAA,yBAGFe,EAAAA,KAAAA,cAAiB,WAEfA,gBAAc1F,SAAAA,EAAAA,GAEd2F,EAAarG,EAAAsG,UAAUrC,MAAA,KAAA,GACTvD,GAAAA,CAAE,SAAdwB,OAAA1G,EAAA,MAAA+K,IAAA,mBAAArE,OAAAsE,EAAA,O,gBACA3D,IAAAA,EAAMwC,GAAAA,CAANjI,MAKNyF,EAAAwC,eAAA,mBAAA,CAAAxC,QAEEiB,EAAI2C,aAAY/F,mBAAAA,SAAAA,GAAhB,IACIgG,EAAYtH,GAAAA,CADhB,mB,kCAIEuH,IACiBA,iBAANA,EADXD,EAESzI,KAAA0I,GACsBA,WAApB9K,EAAG6K,IAAZ,iBAAAC,EAAA,GADID,EAEDA,EAAAxE,OAAAyE,GAEJC,QAAAC,MAAA,iCAGDJ,EAAIK,SACFA,EAAAJ,EAAAK,IAAqBC,SAArBA,GADc,MAER,cAFR9E,OAAA8E,KAIAtG,KAAAA,KACDtB,GAAAA,CAAAzE,QAAAiK,IAAAkC,GAAAvD,GAAAuD,EAAAhD,EAAAS,UAAAF,OAAA+B,mBAcDtC,EAAImC,aAASvF,kBAAAA,SAAAA,G,2BAEXuG,EAAAA,QACDA,EAAAxC,EAAA,oBAAAX,EAAAS,UAAAF,OAAA2B,eAAAC,IAIDnC,EAAImC,aAASvF,kBAAAA,SAAAA,G,2BAEXuG,EAAAA,QACDA,EAAAxC,EAAA,oBAAAX,EAAAS,UAAAF,OAAA8B,eAAAF,IAIDnC,EAAIiC,aAAAA,0BAAiB,SAAAT,GAAE,IAAAS,EAAe,OAAA,EAKtBrF,SAAdwG,EAAgBC,G,uBAId,OAAKA,EAAL,GAAAnD,MACE,IAAA,aACyB,WAAvBoD,EAAQ/B,KAAAA,gBAAR,gBAA8C8B,EAAiBE,GAAAA,eAChED,EAAA/B,eAAA,sBAAA,CAAA+B,EAAAzM,OAAA0M,cAEwB,WAAvBD,EAAQ/B,KAAAA,gBAAR,gBAA8C8B,EAA9C,GAAAG,eACAF,EAAA/B,eAAA,sBAAA,CAAA+B,IAEsC,UAAtCA,EAAgB,GAAAE,gBAChBF,EAAQG,QAAQ,iBAAiBlC,KAAAA,cAAe,UACjD+B,EAAAG,QAAA,iBAAAlC,eAAA,sBAAA,CAAA+B,EAAAG,QAAA,oB,MAIDH,IAAAA,YACAA,EAAQG,QAAQ,iBAAiBlC,KAAAA,cAAe,UAChD+B,EAAAG,QAAA,iBAAAlC,eAAA,sBAAA,CAAA+B,EAAAG,QAAA,mB,MAGA,QACF,OAAA,G,4DAKF,GAAAtB,EAAA/I,OAEE,IAAA,IAAIsK,EAAAA,EAAAA,GAAevB,EAAOF,OAAAA,EAAAA,IACV0B,IAAQxB,EAAWiB,GAAcO,QAAdxB,EAAA9H,GAAA,CAAoBuJ,YAAW,EAAMC,WAAAA,EAAsBC,eAA3D,EAA0EC,SAAAA,EAA7GA,gBAAA,CAAA,cAAA,YAMJ/D,EAAIgE,aAAYpH,mBAAAA,WAEhBoD,IAAAA,EAASQ,GAAAA,CAATvD,UACA+C,EAASQ,aAAakB,gBAAtBsC,GACAhE,EAASQ,aAAamB,iBAAtBqC,GACAhE,EAASQ,aAAaqB,kBAAAA,GACtB7B,EAASQ,aAAauB,qBAAAA,GAPxB/B,EAAAQ,aAAAuB,uBAAAiC,IAYEhE,EAAIgE,aAAYpH,mBAAAA,WAChBoD,IAAAA,EAASQ,GAAAA,CAATvD,UACA+C,EAASQ,aAAayD,0BAAtBD,GACAhE,EAASQ,aAAa0D,oBACtBlE,EAASQ,aAAa2D,oBALxBnE,EAAAQ,aAAA2D,sBAUEC,EAAAA,KAAAA,SAAAA,EAAAA,GACE7L,OAAKiD,EAA+B,OAApCjD,CAAoCqE,EAAA/F,QAAA,YACZwN,IAAtBrE,EAAAA,sBACAA,EAASQ,aAAa8D,qBACtB1H,EAAE2H,aAAFD,qBACD1H,EAAA2H,qBAAA,KAID9M,I,aAGDA,EAAA+M,SAAAxE,EAAAQ,aAAA8D,sB,iHCjQHG,EAAA,GA4BAtN,EAAAuN,EAAAC,EAGAxN,EAAAyN,EAAAH,EAGAtN,EAAAI,EAAA,SAAAf,EAAA0M,EAAA2B,GACA1N,EAAAmB,EAAA9B,EAAA0M,IACA3K,OAAAuM,eAAAtO,EAAA0M,EAAA,CAA0C6B,YAAA,EAAAC,IAAAH,KAK1C1N,EAAAC,EAAA,SAAAZ,GACA,oBAAAyB,QAAAA,OAAAgN,aACA1M,OAAAuM,eAAAtO,EAAAyB,OAAAgN,YAAA,CAAwDnL,MAAA,WAExDvB,OAAAuM,eAAAtO,EAAA,aAAA,CAAiDsD,OAAA,KAQjD3C,EAAA+N,EAAA,SAAApL,EAAAqL,GAEA,GADA,EAAAA,IAAArL,EAAA3C,EAAA2C,IACA,EAAAqL,EAAA,OAAArL,EACA,GAAA,EAAAqL,GAAA,iBAAArL,GAAAA,GAAAA,EAAAsL,WAAA,OAAAtL,EACA,IAAAuL,EAAA9M,OAAA+M,OAAA,MAGA,GAFAnO,EAAAC,EAAAiO,GACA9M,OAAAuM,eAAAO,EAAA,UAAA,CAAyCN,YAAA,EAAAjL,MAAAA,IACzC,EAAAqL,GAAA,iBAAArL,EAAA,IAAA,IAAAT,KAAAS,EAAA3C,EAAAI,EAAA8N,EAAAhM,EAAA,SAAAA,GAAgH,OAAAS,EAAAT,IAAqBkM,KAAA,KAAAlM,IACrI,OAAAgM,GAIAlO,EAAAoE,EAAA,SAAA9E,GACA,IAAAoO,EAAApO,GAAAA,EAAA2O,WACA,WAA2B,OAAA3O,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAU,EAAAI,EAAAsN,EAAA,IAAAA,GACAA,GAIA1N,EAAAmB,EAAA,SAAAkN,EAAAC,GAAsD,OAAAlN,OAAAH,UAAAsN,eAAAzJ,KAAAuJ,EAAAC,IAGtDtO,EAAAwO,EAAA,GAIAxO,EAAAA,EAAAyO,EAAA,IA9EA,SAAAzO,EAAA0O,GAGA,GAAApB,EAAAoB,GACA,OAAApB,EAAAoB,GAAArP,QAGA,IAAAC,EAAAgO,EAAAoB,GAAA,CACAxL,EAAAwL,EACAC,GAAA,EACAtP,QAAA,IAUA,OANAmO,EAAAkB,GAAA5J,KAAAxF,EAAAD,QAAAC,EAAAA,EAAAD,QAAAW,GAGAV,EAAAqP,GAAA,EAGArP,EAAAD,Q,MAvBAiO","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 ","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 = $('
        ').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"," \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"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.box.js b/dist/js/plugins/foundation.util.box.js index 981b93a56b..0050073f47 100644 --- a/dist/js/plugins/foundation.util.box.js +++ b/dist/js/plugins/foundation.util.box.js @@ -140,25 +140,22 @@ _foundation_core__WEBPACK_IMPORTED_MODULE_0__["Foundation"].Box = _foundation_ut "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Box", function() { return Box; }); - - var Box = { ImNotTouchingYou: ImNotTouchingYou, OverlapArea: OverlapArea, GetDimensions: GetDimensions, GetExplicitOffsets: GetExplicitOffsets - /** - * Compares the dimensions of an element to a container and determines collision events with container. - * @function - * @param {jQuery} element - jQuery object to test for collisions. - * @param {jQuery} parent - jQuery object to use as bounding container. - * @param {Boolean} lrOnly - set to true to check left and right values only. - * @param {Boolean} tbOnly - set to true to check top and bottom values only. - * @default if no parent object passed, detects collisions with `window`. - * @returns {Boolean} - true if collision free, false if a collision in any direction. - */ - }; +/** + * Compares the dimensions of an element to a container and determines collision events with container. + * @function + * @param {jQuery} element - jQuery object to test for collisions. + * @param {jQuery} parent - jQuery object to use as bounding container. + * @param {Boolean} lrOnly - set to true to check left and right values only. + * @param {Boolean} tbOnly - set to true to check top and bottom values only. + * @default if no parent object passed, detects collisions with `window`. + * @returns {Boolean} - true if collision free, false if a collision in any direction. + */ function ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) { return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0; diff --git a/dist/js/plugins/foundation.util.box.js.map b/dist/js/plugins/foundation.util.box.js.map index c8448535aa..cfad65bb57 100644 --- a/dist/js/plugins/foundation.util.box.js.map +++ b/dist/js/plugins/foundation.util.box.js.map @@ -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]/./js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.box.js"],"names":["Foundation","Box","ImNotTouchingYou","OverlapArea","GetDimensions","GetExplicitOffsets","element","parent","lrOnly","tbOnly","ignoreBottom","eleDims","topOver","bottomOver","leftOver","rightOver","parDims","height","offset","top","left","width","windowDims","Math","min","sqrt","elem","length","window","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","anchor","position","alignment","vOffset","hOffset","isOverflow","$eleDims","$anchorDims","topVal","leftVal"],"mappings":"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","file":"foundation.util.box.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\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 = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n }\n\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.box.js"],"names":["Foundation","Box","ImNotTouchingYou","OverlapArea","GetDimensions","GetExplicitOffsets","element","parent","lrOnly","tbOnly","ignoreBottom","eleDims","topOver","bottomOver","leftOver","rightOver","parDims","height","offset","top","left","width","windowDims","Math","min","sqrt","elem","length","window","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","anchor","position","alignment","vOffset","hOffset","isOverflow","$eleDims","$anchorDims","topVal","leftVal"],"mappings":"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","file":"foundation.util.box.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\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 = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","var Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n }\n\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.box.min.js b/dist/js/plugins/foundation.util.box.min.js index 1e6a6b95bf..2c71e54850 100644 --- a/dist/js/plugins/foundation.util.box.min.js +++ b/dist/js/plugins/foundation.util.box.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core")):"function"==typeof define&&define.amd?define(["./foundation.core"],e):"object"==typeof exports?exports["foundation.util.box"]=e(require("./foundation.core")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.util.box"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"]))}(window,function(o){return f={},i.m=n={"./foundation.core":function(t,e){t.exports=o},"./js/entries/plugins/foundation.util.box.js":function(t,e,o){"use strict";o.r(e);var n=o("./foundation.core");o.d(e,"Foundation",function(){return n.Foundation});var i=o("./js/foundation.util.box.js");o.d(e,"Box",function(){return i.Box}),n.Foundation.Box=i.Box},"./js/foundation.util.box.js":function(t,e,o){"use strict";o.r(e),o.d(e,"Box",function(){return n});var n={ImNotTouchingYou:function(t,e,o,n,i){return 0===f(t,e,o,n,i)},OverlapArea:f,GetDimensions:c,GetExplicitOffsets:function(t,e,o,n,i,f,r){var s,u,a=c(t),d=e?c(e):null;if(null!==d){switch(o){case"top":s=d.offset.top-(a.height+i);break;case"bottom":s=d.offset.top+d.height+i;break;case"left":u=d.offset.left-(a.width+f);break;case"right":u=d.offset.left+d.width+f}switch(o){case"top":case"bottom":switch(n){case"left":u=d.offset.left+f;break;case"right":u=d.offset.left-a.width+d.width-f;break;case"center":u=r?f:d.offset.left+d.width/2-a.width/2+f}break;case"right":case"left":switch(n){case"bottom":s=d.offset.top-i+d.height-a.height;break;case"top":s=d.offset.top+i;break;case"center":s=d.offset.top+i+d.height/2-a.height/2}}}return{top:s,left:u}}};function f(t,e,o,n,i){var f,r,s,u,a=c(t);if(e){var d=c(e);r=d.height+d.offset.top-(a.offset.top+a.height),f=a.offset.top-d.offset.top,s=a.offset.left-d.offset.left,u=d.width+d.offset.left-(a.offset.left+a.width)}else r=a.windowDims.height+a.windowDims.offset.top-(a.offset.top+a.height),f=a.offset.top-a.windowDims.offset.top,s=a.offset.left-a.windowDims.offset.left,u=a.windowDims.width-(a.offset.left+a.width);return r=i?0:Math.min(r,0),f=Math.min(f,0),s=Math.min(s,0),u=Math.min(u,0),o?s+u:n?f+r:Math.sqrt(f*f+r*r+s*s+u*u)}function c(t){if((t=t.length?t[0]:t)===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),o=t.parentNode.getBoundingClientRect(),n=document.body.getBoundingClientRect(),i=window.pageYOffset,f=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+i,left:e.left+f},parentDims:{width:o.width,height:o.height,offset:{top:o.top+i,left:o.left+f}},windowDims:{width:n.width,height:n.height,offset:{top:i,left:f}}}}},21:function(t,e,o){t.exports=o("./js/entries/plugins/foundation.util.box.js")}},i.c=f,i.d=function(t,e,o){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=21);function i(t){if(f[t])return f[t].exports;var e=f[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}var n,f}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core")):"function"==typeof define&&define.amd?define(["./foundation.core"],e):"object"==typeof exports?exports["foundation.util.box"]=e(require("./foundation.core")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.util.box"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"]))}(window,function(o){return n={"./foundation.core":function(t,e){t.exports=o},"./js/entries/plugins/foundation.util.box.js":function(t,e,o){"use strict";o.r(e);var n=o("./foundation.core");o.d(e,"Foundation",function(){return n.Foundation});var i=o("./js/foundation.util.box.js");o.d(e,"Box",function(){return i.Box}),n.Foundation.Box=i.Box},"./js/foundation.util.box.js":function(t,e,o){"use strict";o.r(e),o.d(e,"Box",function(){return n});var n={ImNotTouchingYou:function(t,e,o,n,i){return 0===f(t,e,o,n,i)},OverlapArea:f,GetDimensions:c,GetExplicitOffsets:function(t,e,o,n,i,f,r){var s,u,a=c(t),d=e?c(e):null;if(null!==d){switch(o){case"top":s=d.offset.top-(a.height+i);break;case"bottom":s=d.offset.top+d.height+i;break;case"left":u=d.offset.left-(a.width+f);break;case"right":u=d.offset.left+d.width+f}switch(o){case"top":case"bottom":switch(n){case"left":u=d.offset.left+f;break;case"right":u=d.offset.left-a.width+d.width-f;break;case"center":u=r?f:d.offset.left+d.width/2-a.width/2+f}break;case"right":case"left":switch(n){case"bottom":s=d.offset.top-i+d.height-a.height;break;case"top":s=d.offset.top+i;break;case"center":s=d.offset.top+i+d.height/2-a.height/2}}}return{top:s,left:u}}};function f(t,e,o,n,i){var f,r,s,t=c(t);return t=e?(f=(e=c(e)).height+e.offset.top-(t.offset.top+t.height),r=t.offset.top-e.offset.top,s=t.offset.left-e.offset.left,e.width+e.offset.left-(t.offset.left+t.width)):(f=t.windowDims.height+t.windowDims.offset.top-(t.offset.top+t.height),r=t.offset.top-t.windowDims.offset.top,s=t.offset.left-t.windowDims.offset.left,t.windowDims.width-(t.offset.left+t.width)),f=i?0:Math.min(f,0),r=Math.min(r,0),s=Math.min(s,0),t=Math.min(t,0),o?s+t:n?r+f:Math.sqrt(r*r+f*f+s*s+t*t)}function c(t){if((t=t.length?t[0]:t)===window||t===document)throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");var e=t.getBoundingClientRect(),o=t.parentNode.getBoundingClientRect(),n=document.body.getBoundingClientRect(),i=window.pageYOffset,t=window.pageXOffset;return{width:e.width,height:e.height,offset:{top:e.top+i,left:e.left+t},parentDims:{width:o.width,height:o.height,offset:{top:o.top+i,left:o.left+t}},windowDims:{width:n.width,height:n.height,offset:{top:i,left:t}}}}},21:function(t,e,o){t.exports=o("./js/entries/plugins/foundation.util.box.js")}},f={},i.m=n,i.c=f,i.d=function(t,e,o){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=21);function i(t){if(f[t])return f[t].exports;var e=f[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,i),e.l=!0,e.exports}var n,f}); //# sourceMappingURL=foundation.util.box.min.js.map diff --git a/dist/js/plugins/foundation.util.box.min.js.map b/dist/js/plugins/foundation.util.box.min.js.map index 330cc6e058..f578bc0ac7 100644 --- a/dist/js/plugins/foundation.util.box.min.js.map +++ b/dist/js/plugins/foundation.util.box.min.js.map @@ -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]/js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.box.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_box__WEBPACK_IMPORTED_MODULE_1__","Foundation","Box","ImNotTouchingYou","element","parent","lrOnly","tbOnly","ignoreBottom","OverlapArea","GetDimensions","GetExplicitOffsets","anchor","position","alignment","vOffset","hOffset","isOverflow","topVal","leftVal","$eleDims","$anchorDims","offset","top","height","left","width","topOver","bottomOver","leftOver","rightOver","eleDims","parDims","windowDims","Math","min","sqrt","elem","length","document","Error","rect","getBoundingClientRect","parRect","parentNode","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.box.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\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 = 21);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n }\n\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.box.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_box__WEBPACK_IMPORTED_MODULE_1__","Foundation","Box","OverlapArea","element","parent","lrOnly","tbOnly","ignoreBottom","ImNotTouchingYou","topVal","GetExplicitOffsets","anchor","$anchorDims","offset","top","$eleDims","height","vOffset","leftVal","left","width","hOffset","position","isOverflow","topOver","leftOver","eleDims","GetDimensions","bottomOver","rightOver","parDims","windowDims","Math","min","sqrt","elem","document","length","rect","Error","parRect","parentNode","getBoundingClientRect","pageXOffset","winRect","winY","winX","parentDims","installedModules","m","modules","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l"],"mappings":"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","file":"foundation.util.box.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Box } from '../../foundation.util.box';\n\nFoundation.Box = Box;\n\nexport { Foundation, Box };\n","'use strict';\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n}\n\n/**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver, bottomOver, leftOver, rightOver;\n if (parent) {\n var parDims = GetDimensions(parent);\n\n bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width);\n }\n else {\n bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n if (tbOnly) {\n return topOver + bottomOver;\n }\n\n // use sum of squares b/c we care about overlap area.\n return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver));\n}\n\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\nfunction GetDimensions(elem){\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n }\n}\n\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n }\n\n // set alignment related attribute\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n case 'center':\n leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset;\n break;\n }\n break;\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n case 'top':\n topVal = $anchorDims.offset.top + vOffset\n break;\n case 'center':\n topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2)\n break;\n }\n break;\n }\n }\n\n return {top: topVal, left: leftVal};\n}\n\nexport {Box};\n"," \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 = 21);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.imageLoader.js b/dist/js/plugins/foundation.util.imageLoader.js index 4b8a9a16b9..7bca8ebf6c 100644 --- a/dist/js/plugins/foundation.util.imageLoader.js +++ b/dist/js/plugins/foundation.util.imageLoader.js @@ -143,8 +143,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); - - /** * Runs a callback function when images are fully loaded. * @param {Object} images - Image(s) to check if loaded. diff --git a/dist/js/plugins/foundation.util.imageLoader.js.map b/dist/js/plugins/foundation.util.imageLoader.js.map index 8900e8d3b3..2755a2690f 100644 --- a/dist/js/plugins/foundation.util.imageLoader.js.map +++ b/dist/js/plugins/foundation.util.imageLoader.js.map @@ -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]/./js/entries/plugins/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","onImagesLoaded","images","callback","self","unloaded","length","each","complete","naturalWidth","singleImageLoaded","image","Image","events","$","one","me","event","off","src","attr"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEAA,2DAAU,CAACC,cAAX,GAA4BA,2EAA5B;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAa;;AAEb;AAEA;;;;;;AAKA,SAASA,cAAT,CAAwBC,MAAxB,EAAgCC,QAAhC,EAAyC;AACvC,MAAIC,IAAI,GAAG,IAAX;AAAA,MACIC,QAAQ,GAAGH,MAAM,CAACI,MADtB;;AAGA,MAAID,QAAQ,KAAK,CAAjB,EAAoB;AAClBF,YAAQ;AACT;;AAEDD,QAAM,CAACK,IAAP,CAAY,YAAU;AACpB;AACA,QAAI,KAAKC,QAAL,IAAiB,OAAO,KAAKC,YAAZ,KAA6B,WAAlD,EAA+D;AAC7DC,uBAAiB;AAClB,KAFD,MAGK;AACH;AACA,UAAIC,KAAK,GAAG,IAAIC,KAAJ,EAAZ,CAFG,CAGH;;AACA,UAAIC,MAAM,GAAG,gCAAb;AACAC,mDAAC,CAACH,KAAD,CAAD,CAASI,GAAT,CAAaF,MAAb,EAAqB,SAASG,EAAT,CAAYC,KAAZ,EAAkB;AACrC;AACAH,qDAAC,CAAC,IAAD,CAAD,CAAQI,GAAR,CAAYL,MAAZ,EAAoBG,EAApB;AACAN,yBAAiB;AAClB,OAJD;AAKAC,WAAK,CAACQ,GAAN,GAAYL,6CAAC,CAAC,IAAD,CAAD,CAAQM,IAAR,CAAa,KAAb,CAAZ;AACD;AACF,GAjBD;;AAmBA,WAASV,iBAAT,GAA6B;AAC3BL,YAAQ;;AACR,QAAIA,QAAQ,KAAK,CAAjB,EAAoB;AAClBF,cAAQ;AACT;AACF;AACF;;;;;;;;;;;;;;;;;;;;;;;;;AC1CD,oD","file":"foundation.util.imageLoader.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.imageLoader\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 22);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { onImagesLoaded } from '../../foundation.util.imageLoader';\n\nFoundation.onImagesLoaded = onImagesLoaded;\n\nexport { Foundation, onImagesLoaded };\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","onImagesLoaded","images","callback","self","unloaded","length","each","complete","naturalWidth","singleImageLoaded","image","Image","events","$","one","me","event","off","src","attr"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEAA,2DAAU,CAACC,cAAX,GAA4BA,2EAA5B;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;;AACA,SAASA,cAAT,CAAwBC,MAAxB,EAAgCC,QAAhC,EAAyC;AACvC,MAAIC,IAAI,GAAG,IAAX;AAAA,MACIC,QAAQ,GAAGH,MAAM,CAACI,MADtB;;AAGA,MAAID,QAAQ,KAAK,CAAjB,EAAoB;AAClBF,YAAQ;AACT;;AAEDD,QAAM,CAACK,IAAP,CAAY,YAAU;AACpB;AACA,QAAI,KAAKC,QAAL,IAAiB,OAAO,KAAKC,YAAZ,KAA6B,WAAlD,EAA+D;AAC7DC,uBAAiB;AAClB,KAFD,MAGK;AACH;AACA,UAAIC,KAAK,GAAG,IAAIC,KAAJ,EAAZ,CAFG,CAGH;;AACA,UAAIC,MAAM,GAAG,gCAAb;AACAC,mDAAC,CAACH,KAAD,CAAD,CAASI,GAAT,CAAaF,MAAb,EAAqB,SAASG,EAAT,CAAYC,KAAZ,EAAkB;AACrC;AACAH,qDAAC,CAAC,IAAD,CAAD,CAAQI,GAAR,CAAYL,MAAZ,EAAoBG,EAApB;AACAN,yBAAiB;AAClB,OAJD;AAKAC,WAAK,CAACQ,GAAN,GAAYL,6CAAC,CAAC,IAAD,CAAD,CAAQM,IAAR,CAAa,KAAb,CAAZ;AACD;AACF,GAjBD;;AAmBA,WAASV,iBAAT,GAA6B;AAC3BL,YAAQ;;AACR,QAAIA,QAAQ,KAAK,CAAjB,EAAoB;AAClBF,cAAQ;AACT;AACF;AACF;;;;;;;;;;;;;;;;;;;;;;;;;ACxCD,oD","file":"foundation.util.imageLoader.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.imageLoader\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 22);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { onImagesLoaded } from '../../foundation.util.imageLoader';\n\nFoundation.onImagesLoaded = onImagesLoaded;\n\nexport { Foundation, onImagesLoaded };\n","import $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.imageLoader.min.js b/dist/js/plugins/foundation.util.imageLoader.min.js index b153c81ab3..fb243cc65f 100644 --- a/dist/js/plugins/foundation.util.imageLoader.min.js +++ b/dist/js/plugins/foundation.util.imageLoader.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.imageLoader"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.imageLoader"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(o,t){return i={},r.m=u={"./foundation.core":function(e,n){e.exports=o},"./js/entries/plugins/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n);var t=o("./foundation.core");o.d(n,"Foundation",function(){return t.Foundation});var r=o("./js/foundation.util.imageLoader.js");o.d(n,"onImagesLoaded",function(){return r.onImagesLoaded}),t.Foundation.onImagesLoaded=r.onImagesLoaded},"./js/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n),o.d(n,"onImagesLoaded",function(){return u});var t=o("jquery"),r=o.n(t);function u(e,n){var o=e.length;function t(){0===--o&&n()}0===o&&n(),e.each(function(){if(this.complete&&void 0!==this.naturalWidth)t();else{var e=new Image,o="load.zf.images error.zf.images";r()(e).one(o,function e(n){r()(this).off(o,e),t()}),e.src=r()(this).attr("src")}})}},22:function(e,n,o){e.exports=o("./js/entries/plugins/foundation.util.imageLoader.js")},jquery:function(e,n){e.exports=t}},r.c=i,r.d=function(e,n,o){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var t in n)r.d(o,t,function(e){return n[e]}.bind(null,t));return o},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=22);function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var u,i}); +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.imageLoader"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.imageLoader"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(o,t){return u={"./foundation.core":function(e,n){e.exports=o},"./js/entries/plugins/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n);var t=o("./foundation.core");o.d(n,"Foundation",function(){return t.Foundation});var r=o("./js/foundation.util.imageLoader.js");o.d(n,"onImagesLoaded",function(){return r.onImagesLoaded}),t.Foundation.onImagesLoaded=r.onImagesLoaded},"./js/foundation.util.imageLoader.js":function(e,n,o){"use strict";o.r(n),o.d(n,"onImagesLoaded",function(){return t});var n=o("jquery"),r=o.n(n);function t(e,n){var o=e.length;function t(){0===--o&&n()}0===o&&n(),e.each(function(){var e,o;this.complete&&void 0!==this.naturalWidth?t():(e=new Image,o="load.zf.images error.zf.images",r()(e).one(o,function e(n){r()(this).off(o,e),t()}),e.src=r()(this).attr("src"))})}},22:function(e,n,o){e.exports=o("./js/entries/plugins/foundation.util.imageLoader.js")},jquery:function(e,n){e.exports=t}},i={},r.m=u,r.c=i,r.d=function(e,n,o){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var t in n)r.d(o,t,function(e){return n[e]}.bind(null,t));return o},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=22);function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var u,i}); //# sourceMappingURL=foundation.util.imageLoader.min.js.map diff --git a/dist/js/plugins/foundation.util.imageLoader.min.js.map b/dist/js/plugins/foundation.util.imageLoader.min.js.map index 4974e0bbc1..d87cf7c853 100644 --- a/dist/js/plugins/foundation.util.imageLoader.min.js.map +++ b/dist/js/plugins/foundation.util.imageLoader.min.js.map @@ -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]/js/entries/plugins/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.imageLoader.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__","Foundation","onImagesLoaded","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","images","callback","unloaded","length","singleImageLoaded","each","this","complete","naturalWidth","image","Image","events","$","one","me","event","off","src","attr","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.imageLoader.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.imageLoader\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 22);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { onImagesLoaded } from '../../foundation.util.imageLoader';\n\nFoundation.onImagesLoaded = onImagesLoaded;\n\nexport { Foundation, onImagesLoaded };\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.imageLoader.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_imageLoader__WEBPACK_IMPORTED_MODULE_1__","Foundation","onImagesLoaded","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","unloaded","images","singleImageLoaded","each","image","this","complete","naturalWidth","Image","$","one","events","me","attr","installedModules","m","modules","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l"],"mappings":"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","file":"foundation.util.imageLoader.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.imageLoader\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.imageLoader\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { onImagesLoaded } from '../../foundation.util.imageLoader';\n\nFoundation.onImagesLoaded = onImagesLoaded;\n\nexport { Foundation, onImagesLoaded };\n","'use strict';\n\nimport $ from 'jquery';\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\nfunction onImagesLoaded(images, callback){\n var self = this,\n unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function(){\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n }\n else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image();\n // Still count image as loaded if it finalizes with an error.\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event){\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\nexport { onImagesLoaded };\n"," \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 = 22);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.keyboard.js b/dist/js/plugins/foundation.util.keyboard.js index 61435fce51..5c156f0fb5 100644 --- a/dist/js/plugins/foundation.util.keyboard.js +++ b/dist/js/plugins/foundation.util.keyboard.js @@ -153,8 +153,6 @@ __webpack_require__.r(__webpack_exports__); ******************************************/ - - var keyCodes = { 9: 'TAB', 13: 'ENTER', @@ -181,6 +179,37 @@ function findFocusable($element) { return true; + }).sort(function (a, b) { + if (jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') == jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex')) { + return 0; + } + + var aTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex')), + bTabIndex = parseInt(jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex')); // Undefined is treated the same as 0 + + if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(a).attr('tabindex') == 'undefined' && bTabIndex > 0) { + return 1; + } + + if (typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(b).attr('tabindex') == 'undefined' && aTabIndex > 0) { + return -1; + } + + if (aTabIndex == 0 && bTabIndex > 0) { + return 1; + } + + if (bTabIndex == 0 && aTabIndex > 0) { + return -1; + } + + if (aTabIndex < bTabIndex) { + return -1; + } + + if (aTabIndex > bTabIndex) { + return 1; + } }); } diff --git a/dist/js/plugins/foundation.util.keyboard.js.map b/dist/js/plugins/foundation.util.keyboard.js.map index 21a0f87257..850f0550d0 100644 --- a/dist/js/plugins/foundation.util.keyboard.js.map +++ b/dist/js/plugins/foundation.util.keyboard.js.map @@ -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]/./js/entries/plugins/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Keyboard","keyCodes","commands","findFocusable","$element","find","filter","$","is","attr","parseKey","event","key","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","ctrlKey","altKey","keys","getKeyCodes","handleKey","component","functions","commandList","cmds","command","fn","console","warn","zfIsKeyHandled","ltr","Rtl","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","kcs","k","kc"],"mappings":"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","file":"foundation.util.keyboard.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 23);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n'use strict';\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.keyboard.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Keyboard","keyCodes","commands","findFocusable","$element","find","filter","$","is","attr","sort","a","b","aTabIndex","parseInt","bTabIndex","parseKey","event","key","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","ctrlKey","altKey","keys","getKeyCodes","handleKey","component","functions","commandList","cmds","command","fn","console","warn","zfIsKeyHandled","ltr","Rtl","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","kcs","k","kc"],"mappings":"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","file":"foundation.util.keyboard.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 23);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Keyboard } from '../../foundation.util.keyboard';\n\nFoundation.Keyboard = Keyboard;\n\nexport { Foundation, Keyboard };\n","/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\nimport $ from 'jquery';\nimport { rtl as Rtl } from './foundation.core.utils';\n\nconst keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n}\n\nvar commands = {}\n\n// Functions pulled out to be referenceable from internals\nfunction findFocusable($element) {\n if(!$element) {return false; }\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function() {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) { return false; } //only have visible elements and those that have a tabindex greater or equal 0\n return true;\n })\n .sort( function( a, b ) {\n if ($(a).attr('tabindex') == $(b).attr('tabindex')) {\n return 0;\n }\n let aTabIndex = parseInt($(a).attr('tabindex')),\n bTabIndex = parseInt($(b).attr('tabindex'));\n // Undefined is treated the same as 0\n if (typeof $(a).attr('tabindex') == 'undefined' && bTabIndex > 0) {\n return 1;\n }\n if (typeof $(b).attr('tabindex') == 'undefined' && aTabIndex > 0) {\n return -1;\n }\n if (aTabIndex == 0 && bTabIndex > 0) {\n return 1;\n }\n if (bTabIndex == 0 && aTabIndex > 0) {\n return -1;\n }\n if (aTabIndex < bTabIndex) {\n return -1;\n }\n if (aTabIndex > bTabIndex) {\n return 1;\n }\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();\n\n // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n key = key.replace(/\\W+/, '');\n\n if (event.shiftKey) key = `SHIFT_${key}`;\n if (event.ctrlKey) key = `CTRL_${key}`;\n if (event.altKey) key = `ALT_${key}`;\n\n // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n key = key.replace(/_$/, '');\n\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n\n if (!commandList) return console.warn('Component not defined!');\n\n // Ignore the event if it was already handled\n if (event.zfIsKeyHandled === true) return;\n\n // This component does not differentiate between ltr and rtl\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);\n\n else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n command = cmds[keyCode];\n\n fn = functions[command];\n // Execute the handler if found\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply();\n\n // Mark the event as \"handled\" to prevent future handlings\n event.zfIsKeyHandled = true;\n\n // Execute function when event was handled\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n\n register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n\n\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n\n $element.on('keydown.zf.trapfocus', function(event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n }\n else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n}\n\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\nfunction getKeyCodes(kcs) {\n var k = {};\n for (var kc in kcs) k[kcs[kc]] = kcs[kc];\n return k;\n}\n\nexport {Keyboard};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.keyboard.min.js b/dist/js/plugins/foundation.util.keyboard.min.js index 2510753193..23a8f62c54 100644 --- a/dist/js/plugins/foundation.util.keyboard.min.js +++ b/dist/js/plugins/foundation.util.keyboard.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.keyboard"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(t,o){return i={},r.m=u={"./foundation.core":function(e,n){e.exports=t},"./js/entries/plugins/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n);var o=t("./foundation.core");t.d(n,"Foundation",function(){return o.Foundation});var r=t("./js/foundation.util.keyboard.js");t.d(n,"Keyboard",function(){return r.Keyboard}),o.Foundation.Keyboard=r.Keyboard},"./js/foundation.util.keyboard.js":function(e,n,t){"use strict";t.r(n),t.d(n,"Keyboard",function(){return c});var o=t("jquery"),a=t.n(o),f=t("./foundation.core"),r={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},d={};function u(e){return!!e&&e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!a()(this).is(":visible")||a()(this).attr("tabindex")<0)})}function i(e){var n=r[e.which||e.keyCode]||String.fromCharCode(e.which).toUpperCase();return n=n.replace(/\W+/,""),e.shiftKey&&(n="SHIFT_".concat(n)),e.ctrlKey&&(n="CTRL_".concat(n)),e.altKey&&(n="ALT_".concat(n)),n=n.replace(/_$/,"")}var c={keys:function(e){var n={};for(var t in e)n[e[t]]=e[t];return n}(r),parseKey:i,handleKey:function(e,n,t){var o,r=d[n],u=this.parseKey(e);if(!r)return console.warn("Component not defined!");if(!0!==e.zfIsKeyHandled)if((o=t[(void 0===r.ltr?r:Object(f.rtl)()?a.a.extend({},r.ltr,r.rtl):a.a.extend({},r.rtl,r.ltr))[u]])&&"function"==typeof o){var i=o.apply();e.zfIsKeyHandled=!0,!t.handled&&"function"!=typeof t.handled||t.handled(i)}else!t.unhandled&&"function"!=typeof t.unhandled||t.unhandled()},findFocusable:u,register:function(e,n){d[e]=n},trapFocus:function(e){var n=u(e),t=n.eq(0),o=n.eq(-1);e.on("keydown.zf.trapfocus",function(e){e.target===o[0]&&"TAB"===i(e)?(e.preventDefault(),t.focus()):e.target===t[0]&&"SHIFT_TAB"===i(e)&&(e.preventDefault(),o.focus())})},releaseFocus:function(e){e.off("keydown.zf.trapfocus")}}},23:function(e,n,t){e.exports=t("./js/entries/plugins/foundation.util.keyboard.js")},jquery:function(e,n){e.exports=o}},r.c=i,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(n,e){if(1&e&&(n=r(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)r.d(t,o,function(e){return n[e]}.bind(null,o));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.p="",r(r.s=23);function r(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,r),n.l=!0,n.exports}var u,i}); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports["foundation.util.keyboard"]=t(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.keyboard"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(n,r){return i={"./foundation.core":function(e,t){e.exports=n},"./js/entries/plugins/foundation.util.keyboard.js":function(e,t,n){"use strict";n.r(t);var r=n("./foundation.core");n.d(t,"Foundation",function(){return r.Foundation});var o=n("./js/foundation.util.keyboard.js");n.d(t,"Keyboard",function(){return o.Keyboard}),r.Foundation.Keyboard=o.Keyboard},"./js/foundation.util.keyboard.js":function(e,t,n){"use strict";n.r(t),n.d(t,"Keyboard",function(){return f});var t=n("jquery"),o=n.n(t),i=n("./foundation.core"),r={9:"TAB",13:"ENTER",27:"ESCAPE",32:"SPACE",35:"END",36:"HOME",37:"ARROW_LEFT",38:"ARROW_UP",39:"ARROW_RIGHT",40:"ARROW_DOWN"},u={};function a(e){return!!e&&e.find("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]").filter(function(){return!(!o()(this).is(":visible")||o()(this).attr("tabindex")<0)}).sort(function(e,t){if(o()(e).attr("tabindex")==o()(t).attr("tabindex"))return 0;var n=parseInt(o()(e).attr("tabindex")),r=parseInt(o()(t).attr("tabindex"));return void 0===o()(e).attr("tabindex")&&0 arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } -function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } +function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } diff --git a/dist/js/plugins/foundation.util.mediaQuery.js.map b/dist/js/plugins/foundation.util.mediaQuery.js.map index b7df734387..8e45285a13 100644 --- a/dist/js/plugins/foundation.util.mediaQuery.js.map +++ b/dist/js/plugins/foundation.util.mediaQuery.js.map @@ -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]/./js/entries/plugins/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","MediaQuery","_init","defaultQueries","landscape","portrait","retina","window","matchMedia","styleMedia","media","style","document","createElement","script","getElementsByTagName","info","type","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","isInitialized","self","$meta","$","length","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","push","name","value","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","parts","trim","split","filter","p","bpSize","bpModifier","Error","i","queryIndex","findIndex","q","_getQueryName","nextQuery","TypeError","matched","off","on","newSize","currentSize","trigger","str","styleObject","slice","reduce","ret","param","replace","val","decodeURIComponent","Array","isArray"],"mappings":"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","file":"foundation.util.mediaQuery.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.mediaQuery\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 24);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { MediaQuery } from '../../foundation.util.mediaQuery';\n\nFoundation.MediaQuery = MediaQuery;\nFoundation.MediaQuery._init();\n\nexport { Foundation, MediaQuery };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","MediaQuery","_init","defaultQueries","landscape","portrait","retina","window","matchMedia","styleMedia","media","style","document","createElement","script","getElementsByTagName","info","type","id","head","appendChild","parentNode","insertBefore","getComputedStyle","currentStyle","matchMedium","text","styleSheet","cssText","textContent","width","matches","queries","current","isInitialized","self","$meta","$","length","appendTo","extractedStyles","css","namedQueries","parseStyleToObject","key","hasOwnProperty","push","name","value","_getCurrentSize","_watcher","_reInit","atLeast","size","query","get","only","upTo","nextSize","next","is","parts","trim","split","filter","p","bpSize","bpModifier","Error","i","queryIndex","findIndex","q","_getQueryName","nextQuery","TypeError","matched","off","on","newSize","currentSize","trigger","str","styleObject","slice","reduce","ret","param","replace","val","decodeURIComponent","Array","isArray"],"mappings":"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","file":"foundation.util.mediaQuery.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.mediaQuery\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 24);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { MediaQuery } from '../../foundation.util.mediaQuery';\n\nFoundation.MediaQuery = MediaQuery;\nFoundation.MediaQuery._init();\n\nexport { Foundation, MediaQuery };\n","import $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.mediaQuery.min.js b/dist/js/plugins/foundation.util.mediaQuery.min.js index 2d50756b2c..5831b5b67d 100644 --- a/dist/js/plugins/foundation.util.mediaQuery.min.js +++ b/dist/js/plugins/foundation.util.mediaQuery.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports["foundation.util.mediaQuery"]=t(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.mediaQuery"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(n,r){return u={},i.m=o={"./foundation.core":function(e,t){e.exports=n},"./js/entries/plugins/foundation.util.mediaQuery.js":function(e,t,n){"use strict";n.r(t);var r=n("./foundation.core");n.d(t,"Foundation",function(){return r.Foundation});var i=n("./js/foundation.util.mediaQuery.js");n.d(t,"MediaQuery",function(){return i.MediaQuery}),r.Foundation.MediaQuery=i.MediaQuery,r.Foundation.MediaQuery._init()},"./js/foundation.util.mediaQuery.js":function(e,t,n){"use strict";n.r(t),n.d(t,"MediaQuery",function(){return a});var r=n("jquery"),i=n.n(r);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var u,a=e[Symbol.iterator]();!(r=(u=a.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}window.matchMedia||(window.matchMedia=function(){var t=window.styleMedia||window.media;if(!t){var n,r=document.createElement("style"),e=document.getElementsByTagName("script")[0];r.type="text/css",r.id="matchmediajs-test",e?e.parentNode.insertBefore(r,e):document.head.appendChild(r),n="getComputedStyle"in window&&window.getComputedStyle(r,null)||r.currentStyle,t={matchMedium:function(e){var t="@media "+e+"{ #matchmediajs-test { width: 1px; } }";return r.styleSheet?r.styleSheet.cssText=t:r.textContent=t,"1px"===n.width}}}return function(e){return{matches:t.matchMedium(e||"all"),media:e||"all"}}}());var a={queries:[],current:"",_init:function(){if(!0!==this.isInitialized){this.isInitialized=!0;i()("meta.foundation-mq").length||i()('').appendTo(document.head);var e,t=i()(".foundation-mq").css("font-family");for(var n in e=function(e){var t={};return"string"==typeof e&&(e=e.trim().slice(1,-1))?t=e.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),r=n[0],i=n[1];return r=decodeURIComponent(r),i=void 0===i?null:decodeURIComponent(i),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]:e[r]=i,e},{}):t}(t),this.queries=[],e)e.hasOwnProperty(n)&&this.queries.push({name:n,value:"only screen and (min-width: ".concat(e[n],")")});this.current=this._getCurrentSize(),this._watcher()}},_reInit:function(){this.isInitialized=!1,this._init()},atLeast:function(e){var t=this.get(e);return!!t&&window.matchMedia(t).matches},only:function(e){return e===this._getCurrentSize()},upTo:function(e){var t=this.next(e);return!t||!this.atLeast(t)},is:function(e){var t=u(e.trim().split(" ").filter(function(e){return!!e.length}),2),n=t[0],r=t[1],i=void 0===r?"":r;if("only"===i)return this.only(n);if(!i||"up"===i)return this.atLeast(n);if("down"===i)return this.upTo(n);throw new Error('\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like " ", got "'.concat(e,'".\n '))},get:function(e){for(var t in this.queries)if(this.queries.hasOwnProperty(t)){var n=this.queries[t];if(e===n.name)return n.value}return null},next:function(t){var n=this,e=this.queries.findIndex(function(e){return n._getQueryName(e)===t});if(-1===e)throw new Error('\n Unknown breakpoint "'.concat(t,'" passed to MediaQuery.next().\n Ensure it is present in your Sass "$breakpoints" setting.\n '));var r=this.queries[e+1];return r?r.name:null},_getQueryName:function(e){if("string"==typeof e)return e;if("object"===o(e))return e.name;throw new TypeError('\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got "'.concat(e,'" (').concat(o(e),")\n "))},_getCurrentSize:function(){for(var e,t=0;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n').appendTo(document.head);var e,t,n,r=i()(".foundation-mq").css("font-family");for(n in t={},e="string"==typeof(r=r)&&(r=r.trim().slice(1,-1))?t=r.split("&").reduce(function(e,t){var n=t.replace(/\+/g," ").split("="),t=n[0],n=n[1],t=decodeURIComponent(t),n=void 0===n?null:decodeURIComponent(n);return e.hasOwnProperty(t)?Array.isArray(e[t])?e[t].push(n):e[t]=[e[t],n]:e[t]=n,e},{}):t,this.queries=[],e)e.hasOwnProperty(n)&&this.queries.push({name:n,value:"only screen and (min-width: ".concat(e[n],")")});this.current=this._getCurrentSize(),this._watcher()}},_reInit:function(){this.isInitialized=!1,this._init()},atLeast:function(e){e=this.get(e);return!!e&&window.matchMedia(e).matches},only:function(e){return e===this._getCurrentSize()},upTo:function(e){e=this.next(e);return!e||!this.atLeast(e)},is:function(e){var t=o(e.trim().split(" ").filter(function(e){return!!e.length}),2),n=t[0],t=t[1],t=void 0===t?"":t;if("only"===t)return this.only(n);if(!t||"up"===t)return this.atLeast(n);if("down"===t)return this.upTo(n);throw new Error('\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like " ", got "'.concat(e,'".\n '))},get:function(e){for(var t in this.queries)if(this.queries.hasOwnProperty(t)){t=this.queries[t];if(e===t.name)return t.value}return null},next:function(t){var n=this,e=this.queries.findIndex(function(e){return n._getQueryName(e)===t});if(-1===e)throw new Error('\n Unknown breakpoint "'.concat(t,'" passed to MediaQuery.next().\n Ensure it is present in your Sass "$breakpoints" setting.\n '));e=this.queries[e+1];return e?e.name:null},_getQueryName:function(e){if("string"==typeof e)return e;if("object"===r(e))return e.name;throw new TypeError('\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got "'.concat(e,'" (').concat(r(e),")\n "))},_getCurrentSize:function(){for(var e,t=0;t').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.mediaQuery.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.mediaQuery.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","Foundation","MediaQuery","_init","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_typeof","obj","Symbol","iterator","constructor","prototype","arr","Array","isArray","landscape","info","style","styleMedia","media","document","createElement","getElementsByTagName","script","parentNode","insertBefore","matchMedium","getComputedStyle","currentStyle","styleSheet","textContent","cssText","text","width","matches","current","this","isInitialized","length","namedQueries","styleObject","queries","parseStyleToObject","css","self","str","trim","slice","parts","split","reduce","ret","param","val","replace","key","decodeURIComponent","hasOwnProperty","push","name","value","concat","_watcher","_getCurrentSize","query","get","size","only","upTo","nextSize","atLeast","is","_parts","_slicedToArray","filter","p","bpModifier","i","queryIndex","findIndex","q","nextQuery","_getQueryName","TypeError","matched","matchMedia","$","off","on","newSize","currentSize","trigger","installedModules","m","modules","c","getter","o","Object","defineProperty","enumerable","toStringTag","t","mode","__esModule","ns","create","bind","object","property","call","s","moduleId","l"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,EAAAG,QAAA,qBAAAA,QAAA,WACA,mBAAAC,QAAAA,OAAAC,IACAD,OAAA,CAAA,oBAAA,UAAAJ,GACA,iBAAAC,QACAA,QAAA,8BAAAD,EAAAG,QAAA,qBAAAA,QAAA,YAEAJ,EAAA,wBAAAA,EAAA,yBAAA,GAAyEA,EAAA,wBAAA,8BAAAC,EAAAD,EAAA,wBAAA,mBAAAA,EAAA,SARzE,CASCO,OAAA,SAAAC,EAAAC,GACD,O,qCCVAN,EAAAD,QAAAM,G,kFCAAE,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,qBAAAA,EAAAI,EAAAF,EAAA,aAAA,WAAA,OAAAC,EAAA,aAAA,IAAAE,EAAAL,EAAA,sCAAAA,EAAAI,EAAAF,EAAA,aAAA,WAAA,OAAAG,EAAA,aAGAC,EAAAA,WAAWC,WAAaA,EAAAA,WACxBD,EAAAA,WAAWC,WAAWC,S,kECJtBR,EAAAC,EAAAC,GAAAF,EAAAI,EAAAF,EAAA,aAAA,WAAA,OAAAK,IAAA,IAAAE,EAAAT,EAAA,UAAAU,EAAAV,EAAAW,EAAAF,GAAa,SAAAG,EAAAC,GAAA,OAAAD,EAAA,mBAAAE,QAAA,iBAAAA,OAAAC,SAAA,SAAAF,GAAA,cAAAA,GAAA,SAAAA,GAAA,OAAAA,GAAA,mBAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAG,UAAA,gBAAAJ,IAAAA,G,gCAIbK,GAAA,GAAAC,MAAAC,QAAAF,GAAA,OAAAA,E,63BAGEG,IAwBEC,EAGAC,EANEC,E,wCAAAA,EAAa3B,OAAA2B,YAAA3B,OAAA4B,SAGfH,EAAcI,SAFdC,cAAA,SAIAJ,EAAcG,SAAAE,qBAAd,UAAA,GACAL,EAAc,K,kBAEdA,EAAKM,GAAL,oBAAAA,E,+BAGEA,SAAOC,KAAAA,YAAWC,GAOlBC,EAAAA,qBAAanC,QAAU4B,OAAOQ,iBAAAV,EAAA,OAAAA,EAAAW,aAC5BV,EAAQ,C,wBAGJD,EAAMY,UAAYV,EAAA,yCAL1B,OAKIF,EAEOY,WACLZ,EAAMa,WAANC,QAAAC,E,gBARN,QAAAhB,EAAAiB,SAmBEC,SAAShB,GACTC,MAAK,CAFPe,QAAAhB,EAAAQ,YAAAP,GAAA,OADFA,MAAAA,GAAA,UAYAgB,IAAAA,EAHe,C,WAKfA,QAAA,GAQEjC,MAAI,WAEH,IAAM,IAFPkC,KAEOC,cAAN,C,sBAMSC,GAAAA,CAAO,sBAEhBA,Q,4DAKDC,IAEIA,EA2MFC,EAvMOC,EANTF,EAAeG,GAAAA,CAAf,kBAAAC,IAAA,eAMIC,IAAKH,KAuMPD,EAAA,G,EAEH,iB,OAIDK,EAAKA,EAAKC,OAAAC,MAAA,GAAA,IAMRP,EAAUQ,EAAMC,MAAhB,KAAAC,OAAA,SAAAC,EAAAC,GACA,IAAIC,EAAML,EAAVM,QAAA,MAAA,KAAAL,MAAA,KACGM,EAAGC,EAAAA,GAGNH,EAAAL,EAAA,G,wBAGAK,OAASI,IAAAA,EAAqB,KAAAD,mBAAAH,GAUhC,OAVEF,EAEOM,eAAIF,GAEJ1C,MAAAC,QAAAqC,EAAAI,IACLJ,EAAII,GAAJG,KAAYP,G,cAFZA,EAAII,GAAKG,EAONlB,GACR,I,OAxOQC,QAAL,GAEIF,EACEoB,EADgBF,eAAAF,I,KAEhBK,QAAKF,KAAA,CAFPC,KAAAJ,EAIDK,MAAA,+BAAAC,OAAAtB,EAAAgB,GAAA,OAKHnB,KAAK0B,QAAL1B,KAAA2B,kB,qCAWA3B,KAAKlC,eAAL,E,kCAYI8D,EAAO5B,KAAA6B,IAAAC,GAEV,QAAAF,G,8BAcFG,KAlFc,SAAAD,G,mCA8FbE,KAAA,SAAAF,G,eAGC,OAEDG,IACAjC,KAAAkC,QAAAD,IAW6CE,GAAA,SAAQjC,GAAR,IADtCkC,EAAAC,EACPP,EAAApB,OAAAG,MAAA,KAAAyB,OAAA,SAAAC,G,mBADO,GAEQC,EAAAA,EAFR,G,yBAON,GACD,SAAAA,E,oBAGC,IACDA,GAAA,OAAAA,E,uBAGC,GAAA,SAAAA,E,+LAgBCX,IAAA,SAAQxB,GACN,IAAA,IAAIuB,KAAK5B,KAAGK,QACZ,GAAAL,KAAI8B,QAASF,eAAYa,GAAOb,CACjCA,EAAA5B,KAAAK,QAAAoC,GACF,GAAAX,IAAAF,EAAAL,KAAA,OAAAK,EAAAJ,M,8BAYD,IAAMkB,EAAAA,KAANA,EAAA1C,KAAAK,QAAAsC,UAAA,SAAAC,G,gCAMC,IAAA,IAAAF,E,wKAnKYG,EAAA7C,KAAAK,QAAAqC,EAAA,G,sBAmLbI,cAAWtB,SACTA,GACF,GAAM,iBAAIuB,EAAJ,OAAAvB,EArLO,GAAA,WAAAtD,EAAAsD,GAAA,OAAAA,EAAAD,K,2OAoMb,IAAAyB,E,+BAGE,IAAI7F,EAAO8F,KAAAA,QAAWrB,GAErBzE,OAAA8F,WAAArB,EAAAJ,OAAA1B,UACFkD,EAAApB,G,qDAWDsB,IAAAA,EAAAA,KACElF,GAAAA,CAAAb,QAAAgG,IAAA,wBAAAC,GAAA,uBAAA,W,0BAEIC,EAAYC,EAAAA,QAEdD,IAAAC,IAGAJ,EAAAA,QAAAA,EARJlF,GAAAA,CAAAb,QAAAoG,QAAA,wBAAA,CAAAF,EAAAC,U,6FC5RJ,SAAAvG,EAAAD,iBCCA0G,EAAA,GA4BAlG,EAAAmG,EAAAC,EAGApG,EAAAqG,EAAAH,EAGAlG,EAAAI,EAAA,SAAAZ,EAAAyE,EAAAqC,GACAtG,EAAAuG,EAAA/G,EAAAyE,IACAuC,OAAAC,eAAAjH,EAAAyE,EAAA,CAA0CyC,YAAA,EAAAnC,IAAA+B,KAK1CtG,EAAAC,EAAA,SAAAT,GACA,oBAAAsB,QAAAA,OAAA6F,aACAH,OAAAC,eAAAjH,EAAAsB,OAAA6F,YAAA,CAAwDzC,MAAA,WAExDsC,OAAAC,eAAAjH,EAAA,aAAA,CAAiD0E,OAAA,KAQjDlE,EAAA4G,EAAA,SAAA1C,EAAA2C,GAEA,GADA,EAAAA,IAAA3C,EAAAlE,EAAAkE,IACA,EAAA2C,EAAA,OAAA3C,EACA,GAAA,EAAA2C,GAAA,iBAAA3C,GAAAA,GAAAA,EAAA4C,WAAA,OAAA5C,EACA,IAAA6C,EAAAP,OAAAQ,OAAA,MAGA,GAFAhH,EAAAC,EAAA8G,GACAP,OAAAC,eAAAM,EAAA,UAAA,CAAyCL,YAAA,EAAAxC,MAAAA,IACzC,EAAA2C,GAAA,iBAAA3C,EAAA,IAAA,IAAAL,KAAAK,EAAAlE,EAAAI,EAAA2G,EAAAlD,EAAA,SAAAA,GAAgH,OAAAK,EAAAL,IAAqBoD,KAAA,KAAApD,IACrI,OAAAkD,GAIA/G,EAAAW,EAAA,SAAAlB,GACA,IAAA6G,EAAA7G,GAAAA,EAAAqH,WACA,WAA2B,OAAArH,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAO,EAAAI,EAAAkG,EAAA,IAAAA,GACAA,GAIAtG,EAAAuG,EAAA,SAAAW,EAAAC,GAAsD,OAAAX,OAAAvF,UAAA8C,eAAAqD,KAAAF,EAAAC,IAGtDnH,EAAAiF,EAAA,GAIAjF,EAAAA,EAAAqH,EAAA,IA9EA,SAAArH,EAAAsH,GAGA,GAAApB,EAAAoB,GACA,OAAApB,EAAAoB,GAAA9H,QAGA,IAAAC,EAAAyG,EAAAoB,GAAA,CACAnC,EAAAmC,EACAC,GAAA,EACA/H,QAAA,IAUA,OANA4G,EAAAkB,GAAAF,KAAA3H,EAAAD,QAAAC,EAAAA,EAAAD,QAAAQ,GAGAP,EAAA8H,GAAA,EAGA9H,EAAAD,Q,MAvBA0G","file":"foundation.util.mediaQuery.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.mediaQuery\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { MediaQuery } from '../../foundation.util.mediaQuery';\n\nFoundation.MediaQuery = MediaQuery;\nFoundation.MediaQuery._init();\n\nexport { Foundation, MediaQuery };\n","'use strict';\n\nimport $ from 'jquery';\n\n// Default set of media queries\nconst defaultQueries = {\n 'default' : 'only screen',\n landscape : 'only screen and (orientation: landscape)',\n portrait : 'only screen and (orientation: portrait)',\n retina : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +\n 'only screen and (min--moz-device-pixel-ratio: 2),' +\n 'only screen and (-o-min-device-pixel-ratio: 2/1),' +\n 'only screen and (min-device-pixel-ratio: 2),' +\n 'only screen and (min-resolution: 192dpi),' +\n 'only screen and (min-resolution: 2dppx)'\n };\n\n\n// matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n/* eslint-disable */\nwindow.matchMedia || (window.matchMedia = (function () {\n \"use strict\";\n\n // For browsers that support matchMedium api such as IE 9 and webkit\n var styleMedia = (window.styleMedia || window.media);\n\n // For those that don't support matchMedium\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n }\n\n // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;\n\n styleMedia = {\n matchMedium: function (media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';\n\n // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n }\n\n // Test if media query is true or false\n return info.width === '1px';\n }\n };\n }\n\n return function(media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n})());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init() {\n\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n if(!$meta.length){\n $('').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n\n namedQueries = parseStyleToObject(extractedStyles);\n\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if(namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: `only screen and (min-width: ${namedQueries[key]})`\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit() {\n this.isInitialized = false;\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo(size) {\n const nextSize = this.next(size);\n\n // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n if (nextSize) {\n return !this.atLeast(nextSize);\n }\n\n // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is(size) {\n const parts = size.trim().split(' ').filter(p => !!p.length);\n const [bpSize, bpModifier = ''] = parts;\n\n // Only the breakpont\n if (bpModifier === 'only') {\n return this.only(bpSize);\n }\n // At least the breakpoint (included)\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n }\n // Up to the breakpoint (included)\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(`\n Invalid breakpoint passed to MediaQuery.is().\n Expected a breakpoint name formatted like \" \", got \"${size}\".\n `);\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get(size) {\n for (var i in this.queries) {\n if(this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next(size) {\n const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size);\n if (queryIndex === -1) {\n throw new Error(`\n Unknown breakpoint \"${size}\" passed to MediaQuery.next().\n Ensure it is present in your Sass \"$breakpoints\" setting.\n `);\n }\n\n const nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName(value) {\n if (typeof value === 'string')\n return value;\n if (typeof value === 'object')\n return value.name;\n throw new TypeError(`\n Invalid value passed to MediaQuery._getQueryName().\n Expected a breakpoint name (String) or a breakpoint query (Object), got \"${value}\" (${typeof value})\n `);\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher() {\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', () => {\n var newSize = this._getCurrentSize(), currentSize = this.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n this.current = newSize;\n\n // Broadcast the media query change on the window\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n};\n\n\n\n// Thank you: https://github.com/sindresorhus/query-string\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function(ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key);\n\n // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n return ret;\n }, {});\n\n return styleObject;\n}\n\nexport {MediaQuery};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"," \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 = 24);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.motion.js b/dist/js/plugins/foundation.util.motion.js index c140bec5b2..c968089c92 100644 --- a/dist/js/plugins/foundation.util.motion.js +++ b/dist/js/plugins/foundation.util.motion.js @@ -150,8 +150,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__); - - /** * Motion module. * @module foundation.motion diff --git a/dist/js/plugins/foundation.util.motion.js.map b/dist/js/plugins/foundation.util.motion.js.map index e6d7601c4f..3e26d58725 100644 --- a/dist/js/plugins/foundation.util.motion.js.map +++ b/dist/js/plugins/foundation.util.motion.js.map @@ -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]/./js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Motion","Move","initClasses","activeClasses","animateIn","element","animation","cb","animate","animateOut","duration","elem","fn","anim","prog","start","apply","trigger","triggerHandler","move","ts","window","requestAnimationFrame","cancelAnimationFrame","isIn","$","eq","length","initClass","activeClass","reset","addClass","css","show","offsetWidth","one","transitionend","finish","hide","style","transitionDuration","removeClass"],"mappings":"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","file":"foundation.util.motion.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 25);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","'use strict';\n\nimport $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Motion","Move","initClasses","activeClasses","animateIn","element","animation","cb","animate","animateOut","duration","elem","fn","anim","prog","start","apply","trigger","triggerHandler","move","ts","window","requestAnimationFrame","cancelAnimationFrame","isIn","$","eq","length","initClass","activeClass","reset","addClass","css","show","offsetWidth","one","transitionend","finish","hide","style","transitionDuration","removeClass"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEAA,2DAAU,CAACC,MAAX,GAAoBA,8DAApB;AACAD,2DAAU,CAACE,IAAX,GAAkBA,4DAAlB;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;;AAEA,IAAMC,WAAW,GAAK,CAAC,WAAD,EAAc,WAAd,CAAtB;AACA,IAAMC,aAAa,GAAG,CAAC,kBAAD,EAAqB,kBAArB,CAAtB;AAEA,IAAMH,MAAM,GAAG;AACbI,WAAS,EAAE,mBAASC,OAAT,EAAkBC,SAAlB,EAA6BC,EAA7B,EAAiC;AAC1CC,WAAO,CAAC,IAAD,EAAOH,OAAP,EAAgBC,SAAhB,EAA2BC,EAA3B,CAAP;AACD,GAHY;AAKbE,YAAU,EAAE,oBAASJ,OAAT,EAAkBC,SAAlB,EAA6BC,EAA7B,EAAiC;AAC3CC,WAAO,CAAC,KAAD,EAAQH,OAAR,EAAiBC,SAAjB,EAA4BC,EAA5B,CAAP;AACD;AAPY,CAAf;;AAUA,SAASN,IAAT,CAAcS,QAAd,EAAwBC,IAAxB,EAA8BC,EAA9B,EAAiC;AAC/B,MAAIC,IAAJ;AAAA,MAAUC,IAAV;AAAA,MAAgBC,KAAK,GAAG,IAAxB,CAD+B,CAE/B;;AAEA,MAAIL,QAAQ,KAAK,CAAjB,EAAoB;AAClBE,MAAE,CAACI,KAAH,CAASL,IAAT;AACAA,QAAI,CAACM,OAAL,CAAa,qBAAb,EAAoC,CAACN,IAAD,CAApC,EAA4CO,cAA5C,CAA2D,qBAA3D,EAAkF,CAACP,IAAD,CAAlF;AACA;AACD;;AAED,WAASQ,IAAT,CAAcC,EAAd,EAAiB;AACf,QAAG,CAACL,KAAJ,EAAWA,KAAK,GAAGK,EAAR,CADI,CAEf;;AACAN,QAAI,GAAGM,EAAE,GAAGL,KAAZ;AACAH,MAAE,CAACI,KAAH,CAASL,IAAT;;AAEA,QAAGG,IAAI,GAAGJ,QAAV,EAAmB;AAAEG,UAAI,GAAGQ,MAAM,CAACC,qBAAP,CAA6BH,IAA7B,EAAmCR,IAAnC,CAAP;AAAkD,KAAvE,MACI;AACFU,YAAM,CAACE,oBAAP,CAA4BV,IAA5B;AACAF,UAAI,CAACM,OAAL,CAAa,qBAAb,EAAoC,CAACN,IAAD,CAApC,EAA4CO,cAA5C,CAA2D,qBAA3D,EAAkF,CAACP,IAAD,CAAlF;AACD;AACF;;AACDE,MAAI,GAAGQ,MAAM,CAACC,qBAAP,CAA6BH,IAA7B,CAAP;AACD;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASX,OAAT,CAAiBgB,IAAjB,EAAuBnB,OAAvB,EAAgCC,SAAhC,EAA2CC,EAA3C,EAA+C;AAC7CF,SAAO,GAAGoB,6CAAC,CAACpB,OAAD,CAAD,CAAWqB,EAAX,CAAc,CAAd,CAAV;AAEA,MAAI,CAACrB,OAAO,CAACsB,MAAb,EAAqB;AAErB,MAAIC,SAAS,GAAGJ,IAAI,GAAGtB,WAAW,CAAC,CAAD,CAAd,GAAoBA,WAAW,CAAC,CAAD,CAAnD;AACA,MAAI2B,WAAW,GAAGL,IAAI,GAAGrB,aAAa,CAAC,CAAD,CAAhB,GAAsBA,aAAa,CAAC,CAAD,CAAzD,CAN6C,CAQ7C;;AACA2B,OAAK;AAELzB,SAAO,CACJ0B,QADH,CACYzB,SADZ,EAEG0B,GAFH,CAEO,YAFP,EAEqB,MAFrB;AAIAV,uBAAqB,CAAC,YAAM;AAC1BjB,WAAO,CAAC0B,QAAR,CAAiBH,SAAjB;AACA,QAAIJ,IAAJ,EAAUnB,OAAO,CAAC4B,IAAR;AACX,GAHoB,CAArB,CAf6C,CAoB7C;;AACAX,uBAAqB,CAAC,YAAM;AAC1B;AACA;AACA;AACAjB,WAAO,CAAC,CAAD,CAAP,CAAW6B,WAAX;AACA7B,WAAO,CACJ2B,GADH,CACO,YADP,EACqB,EADrB,EAEGD,QAFH,CAEYF,WAFZ;AAGD,GARoB,CAArB,CArB6C,CA+B7C;;AACAxB,SAAO,CAAC8B,GAAR,CAAYC,4EAAa,CAAC/B,OAAD,CAAzB,EAAoCgC,MAApC,EAhC6C,CAkC7C;;AACA,WAASA,MAAT,GAAkB;AAChB,QAAI,CAACb,IAAL,EAAWnB,OAAO,CAACiC,IAAR;AACXR,SAAK;AACL,QAAIvB,EAAJ,EAAQA,EAAE,CAACS,KAAH,CAASX,OAAT;AACT,GAvC4C,CAyC7C;;;AACA,WAASyB,KAAT,GAAiB;AACfzB,WAAO,CAAC,CAAD,CAAP,CAAWkC,KAAX,CAAiBC,kBAAjB,GAAsC,CAAtC;AACAnC,WAAO,CAACoC,WAAR,WAAuBb,SAAvB,cAAoCC,WAApC,cAAmDvB,SAAnD;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;ACrGD,oD","file":"foundation.util.motion.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 25);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","import $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.motion.min.js b/dist/js/plugins/foundation.util.motion.min.js index e6dbe30ede..c47ffc40b1 100644 --- a/dist/js/plugins/foundation.util.motion.min.js +++ b/dist/js/plugins/foundation.util.motion.min.js @@ -1,2 +1,2 @@ -!function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports["foundation.util.motion"]=t(require("./foundation.core"),require("jquery")):(n.__FOUNDATION_EXTERNAL__=n.__FOUNDATION_EXTERNAL__||{},n.__FOUNDATION_EXTERNAL__["foundation.util.motion"]=t(n.__FOUNDATION_EXTERNAL__["foundation.core"],n.jQuery))}(window,function(e,o){return u={},i.m=r={"./foundation.core":function(n,t){n.exports=e},"./js/entries/plugins/foundation.util.motion.js":function(n,t,e){"use strict";e.r(t);var o=e("./foundation.core");e.d(t,"Foundation",function(){return o.Foundation});var i=e("./js/foundation.util.motion.js");e.d(t,"Motion",function(){return i.Motion}),e.d(t,"Move",function(){return i.Move}),o.Foundation.Motion=i.Motion,o.Foundation.Move=i.Move},"./js/foundation.util.motion.js":function(n,t,e){"use strict";e.r(t),e.d(t,"Move",function(){return r}),e.d(t,"Motion",function(){return i});var o=e("jquery"),a=e.n(o),f=e("./foundation.core"),c=["mui-enter","mui-leave"],d=["mui-enter-active","mui-leave-active"],i={animateIn:function(n,t,e){u(!0,n,t,e)},animateOut:function(n,t,e){u(!1,n,t,e)}};function r(e,o,i){var r,u,a=null;if(0===e)return i.apply(o),void o.trigger("finished.zf.animate",[o]).triggerHandler("finished.zf.animate",[o]);r=window.requestAnimationFrame(function n(t){u=t-(a=a||t),i.apply(o),u {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.motion.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","Foundation","Motion","Move","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","initClasses","animateIn","activeClasses","element","animation","cb","animate","duration","elem","fn","prog","anim","start","triggerHandler","requestAnimationFrame","move","ts","apply","trigger","activeClass","reset","concat","initClass","$","length","addClass","offsetWidth","css","one","Object","isIn","installedModules","m","modules","c","name","getter","o","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l"],"mappings":"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","file":"foundation.util.motion.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\nimport { Motion, Move } from '../../foundation.util.motion';\n\nFoundation.Motion = Motion;\nFoundation.Move = Move;\n\nexport { Foundation, Motion, Move };\n","'use strict';\n\nimport $ from 'jquery';\nimport { transitionend } from './foundation.core.utils';\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nconst initClasses = ['mui-enter', 'mui-leave'];\nconst activeClasses = ['mui-enter-active', 'mui-leave-active'];\n\nconst Motion = {\n animateIn: function(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n\n animateOut: function(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n}\n\nfunction Move(duration, elem, fn){\n var anim, prog, start = null;\n // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts){\n if(!start) start = ts;\n // console.log(start, ts);\n prog = ts - start;\n fn.apply(elem);\n\n if(prog < duration){ anim = window.requestAnimationFrame(move, elem); }\n else{\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n anim = window.requestAnimationFrame(move);\n}\n\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n\n if (!element.length) return;\n\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1];\n\n // Set up the animation\n reset();\n\n element\n .addClass(animation)\n .css('transition', 'none');\n\n requestAnimationFrame(() => {\n element.addClass(initClass);\n if (isIn) element.show();\n });\n\n // Start the animation\n requestAnimationFrame(() => {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element\n .css('transition', '')\n .addClass(activeClass);\n });\n\n // Clean up the animation when it finishes\n element.one(transitionend(element), finish);\n\n // Hides the element (for out animations), resets the element, and runs a callback\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n }\n\n // Resets transitions and removes motion-specific classes\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(`${initClass} ${activeClass} ${animation}`);\n }\n}\n\nexport { Move, Motion };\n\n"," \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 = 25);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.nest.js b/dist/js/plugins/foundation.util.nest.js index 359af6ae3b..c5c51c0443 100644 --- a/dist/js/plugins/foundation.util.nest.js +++ b/dist/js/plugins/foundation.util.nest.js @@ -143,8 +143,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery"); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); - - var Nest = { Feather: function Feather(menu) { var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf'; @@ -168,7 +166,7 @@ var Nest = { $item.addClass(hasSubClass); if (applyAria) { - $item.attr({ + $item.children('a:first').attr({ 'aria-haspopup': true, 'aria-label': $item.children('a:first').text() }); // Note: Drilldowns behave differently in how they hide, and so need diff --git a/dist/js/plugins/foundation.util.nest.js.map b/dist/js/plugins/foundation.util.nest.js.map index c5d2036464..22f5f1dd42 100644 --- a/dist/js/plugins/foundation.util.nest.js.map +++ b/dist/js/plugins/foundation.util.nest.js.map @@ -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]/./js/entries/plugins/foundation.util.nest.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.nest.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Nest","Feather","menu","type","attr","find","items","subMenuClass","subItemClass","hasSubClass","applyAria","each","$item","$","$sub","children","length","addClass","text","parent","Burn","removeClass","removeAttr","css"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEAA,2DAAU,CAACC,IAAX,GAAkBA,0DAAlB;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAa;;AAEb;AAEA,IAAMA,IAAI,GAAG;AACXC,SADW,mBACHC,IADG,EACgB;AAAA,QAAbC,IAAa,uEAAN,IAAM;AACzBD,QAAI,CAACE,IAAL,CAAU,MAAV,EAAkB,SAAlB;AACAF,QAAI,CAACG,IAAL,CAAU,GAAV,EAAeD,IAAf,CAAoB;AAAC,cAAQ;AAAT,KAApB;AAEA,QAAIE,KAAK,GAAGJ,IAAI,CAACG,IAAL,CAAU,IAAV,EAAgBD,IAAhB,CAAqB;AAAC,cAAQ;AAAT,KAArB,CAAZ;AAAA,QACIG,YAAY,gBAASJ,IAAT,aADhB;AAAA,QAEIK,YAAY,aAAMD,YAAN,UAFhB;AAAA,QAGIE,WAAW,gBAASN,IAAT,oBAHf;AAAA,QAIIO,SAAS,GAAIP,IAAI,KAAK,WAJ1B,CAJyB,CAQe;;AAExCG,SAAK,CAACK,IAAN,CAAW,YAAW;AACpB,UAAIC,KAAK,GAAGC,6CAAC,CAAC,IAAD,CAAb;AAAA,UACIC,IAAI,GAAGF,KAAK,CAACG,QAAN,CAAe,IAAf,CADX;;AAGA,UAAID,IAAI,CAACE,MAAT,EAAiB;AACfJ,aAAK,CAACK,QAAN,CAAeR,WAAf;;AACA,YAAGC,SAAH,EAAc;AACZE,eAAK,CAACR,IAAN,CAAW;AACT,6BAAiB,IADR;AAET,0BAAcQ,KAAK,CAACG,QAAN,CAAe,SAAf,EAA0BG,IAA1B;AAFL,WAAX,EADY,CAKZ;AACA;AACA;;AACA,cAAGf,IAAI,KAAK,WAAZ,EAAyB;AACvBS,iBAAK,CAACR,IAAN,CAAW;AAAC,+BAAiB;AAAlB,aAAX;AACD;AACF;;AACDU,YAAI,CACDG,QADH,mBACuBV,YADvB,GAEGH,IAFH,CAEQ;AACJ,0BAAgB,EADZ;AAEJ,kBAAQ;AAFJ,SAFR;;AAMA,YAAGD,IAAI,KAAK,WAAZ,EAAyB;AACvBW,cAAI,CAACV,IAAL,CAAU;AAAC,2BAAe;AAAhB,WAAV;AACD;AACF;;AAED,UAAIQ,KAAK,CAACO,MAAN,CAAa,gBAAb,EAA+BH,MAAnC,EAA2C;AACzCJ,aAAK,CAACK,QAAN,2BAAkCT,YAAlC;AACD;AACF,KAhCD;AAkCA;AACD,GA9CU;AAgDXY,MAhDW,gBAgDNlB,IAhDM,EAgDAC,IAhDA,EAgDM;AACf,QAAI;AACAI,gBAAY,gBAASJ,IAAT,aADhB;AAAA,QAEIK,YAAY,aAAMD,YAAN,UAFhB;AAAA,QAGIE,WAAW,gBAASN,IAAT,oBAHf;AAKAD,QAAI,CACDG,IADH,CACQ,wDADR,EAEGgB,WAFH,WAEkBd,YAFlB,cAEkCC,YAFlC,cAEkDC,WAFlD,yCAGGa,UAHH,CAGc,cAHd,EAG8BC,GAH9B,CAGkC,SAHlC,EAG6C,EAH7C;AAKD;AA3DU,CAAb;;;;;;;;;;;;;;;;;;;;;;;;ACJA,oD","file":"foundation.util.nest.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.nest\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 26);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Nest } from '../../foundation.util.nest';\n\nFoundation.Nest = Nest;\n\nexport { Foundation, Nest };\n","'use strict';\n\nimport $ from 'jquery';\n\nconst Nest = {\n Feather(menu, type = 'zf') {\n menu.attr('role', 'menubar');\n menu.find('a').attr({'role': 'menuitem'});\n\n var items = menu.find('li').attr({'role': 'none'}),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`,\n applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes.\n\n items.each(function() {\n var $item = $(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n if(applyAria) {\n $item.attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n });\n // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n if(type === 'drilldown') {\n $item.attr({'aria-expanded': false});\n }\n }\n $sub\n .addClass(`submenu ${subMenuClass}`)\n .attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n if(type === 'drilldown') {\n $sub.attr({'aria-hidden': true});\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(`is-submenu-item ${subItemClass}`);\n }\n });\n\n return;\n },\n\n Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`;\n\n menu\n .find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li')\n .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)\n .removeAttr('data-submenu').css('display', '');\n\n }\n}\n\nexport {Nest};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.nest.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.nest.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Nest","Feather","menu","type","attr","find","items","subMenuClass","subItemClass","hasSubClass","applyAria","each","$item","$","$sub","children","length","addClass","text","parent","Burn","removeClass","removeAttr","css"],"mappings":"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","file":"foundation.util.nest.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.nest\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 26);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Nest } from '../../foundation.util.nest';\n\nFoundation.Nest = Nest;\n\nexport { Foundation, Nest };\n","import $ from 'jquery';\n\nconst Nest = {\n Feather(menu, type = 'zf') {\n menu.attr('role', 'menubar');\n menu.find('a').attr({'role': 'menuitem'});\n\n var items = menu.find('li').attr({'role': 'none'}),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`,\n applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes.\n\n items.each(function() {\n var $item = $(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n if(applyAria) {\n $item.children('a:first').attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n });\n // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n if(type === 'drilldown') {\n $item.attr({'aria-expanded': false});\n }\n }\n $sub\n .addClass(`submenu ${subMenuClass}`)\n .attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n if(type === 'drilldown') {\n $sub.attr({'aria-hidden': true});\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(`is-submenu-item ${subItemClass}`);\n }\n });\n\n return;\n },\n\n Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`;\n\n menu\n .find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li')\n .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)\n .removeAttr('data-submenu').css('display', '');\n\n }\n}\n\nexport {Nest};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.nest.min.js b/dist/js/plugins/foundation.util.nest.min.js index 64b417434d..cc54fd895a 100644 --- a/dist/js/plugins/foundation.util.nest.min.js +++ b/dist/js/plugins/foundation.util.nest.min.js @@ -1,2 +1,2 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.nest"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.nest"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(t,r){return i={},o.m=u={"./foundation.core":function(e,n){e.exports=t},"./js/entries/plugins/foundation.util.nest.js":function(e,n,t){"use strict";t.r(n);var r=t("./foundation.core");t.d(n,"Foundation",function(){return r.Foundation});var o=t("./js/foundation.util.nest.js");t.d(n,"Nest",function(){return o.Nest}),r.Foundation.Nest=o.Nest},"./js/foundation.util.nest.js":function(e,n,t){"use strict";t.r(n),t.d(n,"Nest",function(){return o});var r=t("jquery"),s=t.n(r),o={Feather:function(e,n){var t=1li, > li > ul, .menu, .menu > li, [data-submenu] > li").removeClass("".concat(t," ").concat(r," ").concat(o," is-submenu-item submenu is-active")).removeAttr("data-submenu").css("display","")}}},26:function(e,n,t){e.exports=t("./js/entries/plugins/foundation.util.nest.js")},jquery:function(e,n){e.exports=r}},o.c=i,o.d=function(e,n,t){o.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(n,e){if(1&e&&(n=o(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(o.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var r in n)o.d(t,r,function(e){return n[e]}.bind(null,r));return t},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="",o(o.s=26);function o(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,o),n.l=!0,n.exports}var u,i}); +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],n):"object"==typeof exports?exports["foundation.util.nest"]=n(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.nest"]=n(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(t,r){return u={"./foundation.core":function(e,n){e.exports=t},"./js/entries/plugins/foundation.util.nest.js":function(e,n,t){"use strict";t.r(n);var r=t("./foundation.core");t.d(n,"Foundation",function(){return r.Foundation});var o=t("./js/foundation.util.nest.js");t.d(n,"Nest",function(){return o.Nest}),r.Foundation.Nest=o.Nest},"./js/foundation.util.nest.js":function(e,n,t){"use strict";t.r(n),t.d(n,"Nest",function(){return r});var n=t("jquery"),a=t.n(n),r={Feather:function(e){var t=1li, > li > ul, .menu, .menu > li, [data-submenu] > li").removeClass("".concat(t," ").concat(r," ").concat(n," is-submenu-item submenu is-active")).removeAttr("data-submenu").css("display","")}}},26:function(e,n,t){e.exports=t("./js/entries/plugins/foundation.util.nest.js")},jquery:function(e,n){e.exports=r}},i={},o.m=u,o.c=i,o.d=function(e,n,t){o.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(n,e){if(1&e&&(n=o(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var t=Object.create(null);if(o.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var r in n)o.d(t,r,function(e){return n[e]}.bind(null,r));return t},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="",o(o.s=26);function o(e){if(i[e])return i[e].exports;var n=i[e]={i:e,l:!1,exports:{}};return u[e].call(n.exports,n,n.exports,o),n.l=!0,n.exports}var u,i}); //# sourceMappingURL=foundation.util.nest.min.js.map diff --git a/dist/js/plugins/foundation.util.nest.min.js.map b/dist/js/plugins/foundation.util.nest.min.js.map index ad4c163b61..da954c4a23 100644 --- a/dist/js/plugins/foundation.util.nest.min.js.map +++ b/dist/js/plugins/foundation.util.nest.min.js.map @@ -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]/js/entries/plugins/foundation.util.nest.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.nest.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_1__","Foundation","Nest","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","Feather","menu","type","arguments","length","undefined","attr","find","role","items","subMenuClass","concat","subItemClass","hasSubClass","applyAria","each","$item","$","this","$sub","children","addClass","aria-haspopup","aria-label","text","aria-expanded","data-submenu","aria-hidden","parent","Burn","removeClass","removeAttr","css","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.nest.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.nest\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 26);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Nest } from '../../foundation.util.nest';\n\nFoundation.Nest = Nest;\n\nexport { Foundation, Nest };\n","'use strict';\n\nimport $ from 'jquery';\n\nconst Nest = {\n Feather(menu, type = 'zf') {\n menu.attr('role', 'menubar');\n menu.find('a').attr({'role': 'menuitem'});\n\n var items = menu.find('li').attr({'role': 'none'}),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`,\n applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes.\n\n items.each(function() {\n var $item = $(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n if(applyAria) {\n $item.attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n });\n // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n if(type === 'drilldown') {\n $item.attr({'aria-expanded': false});\n }\n }\n $sub\n .addClass(`submenu ${subMenuClass}`)\n .attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n if(type === 'drilldown') {\n $sub.attr({'aria-hidden': true});\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(`is-submenu-item ${subItemClass}`);\n }\n });\n\n return;\n },\n\n Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`;\n\n menu\n .find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li')\n .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)\n .removeAttr('data-submenu').css('display', '');\n\n }\n}\n\nexport {Nest};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.nest.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.nest.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_1__","Foundation","Nest","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","Feather","menu","type","arguments","length","undefined","attr","items","find","role","subMenuClass","concat","subItemClass","applyAria","each","$item","children","$sub","text","addClass","parent","Burn","removeClass","hasSubClass","removeAttr","css","installedModules","m","modules","c","name","getter","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l"],"mappings":"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","file":"foundation.util.nest.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.nest\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Nest } from '../../foundation.util.nest';\n\nFoundation.Nest = Nest;\n\nexport { Foundation, Nest };\n","'use strict';\n\nimport $ from 'jquery';\n\nconst Nest = {\n Feather(menu, type = 'zf') {\n menu.attr('role', 'menubar');\n menu.find('a').attr({'role': 'menuitem'});\n\n var items = menu.find('li').attr({'role': 'none'}),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`,\n applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes.\n\n items.each(function() {\n var $item = $(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n if(applyAria) {\n $item.attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n });\n // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n if(type === 'drilldown') {\n $item.attr({'aria-expanded': false});\n }\n }\n $sub\n .addClass(`submenu ${subMenuClass}`)\n .attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n if(type === 'drilldown') {\n $sub.attr({'aria-hidden': true});\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(`is-submenu-item ${subItemClass}`);\n }\n });\n\n return;\n },\n\n Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = `is-${type}-submenu`,\n subItemClass = `${subMenuClass}-item`,\n hasSubClass = `is-${type}-submenu-parent`;\n\n menu\n .find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li')\n .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`)\n .removeAttr('data-submenu').css('display', '');\n\n }\n}\n\nexport {Nest};\n"," \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 = 26);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.timer.js b/dist/js/plugins/foundation.util.timer.js index 35cd626fcb..86c929b7ca 100644 --- a/dist/js/plugins/foundation.util.timer.js +++ b/dist/js/plugins/foundation.util.timer.js @@ -144,8 +144,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__); - - function Timer(elem, options, cb) { var _this = this, duration = options.duration, diff --git a/dist/js/plugins/foundation.util.timer.js.map b/dist/js/plugins/foundation.util.timer.js.map index 14b89437bf..ded01b24e2 100644 --- a/dist/js/plugins/foundation.util.timer.js.map +++ b/dist/js/plugins/foundation.util.timer.js.map @@ -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]/./js/entries/plugins/foundation.util.timer.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.timer.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Timer","elem","options","cb","_this","duration","nameSpace","Object","keys","data","remain","start","timer","isPaused","restart","clearTimeout","Date","now","setTimeout","infinite","trigger","pause","end"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEAA,2DAAU,CAACC,KAAX,GAAmBA,4DAAnB;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAa;;AAEb;;AAEA,SAASA,KAAT,CAAeC,IAAf,EAAqBC,OAArB,EAA8BC,EAA9B,EAAkC;AAChC,MAAIC,KAAK,GAAG,IAAZ;AAAA,MACIC,QAAQ,GAAGH,OAAO,CAACG,QADvB;AAAA,MACgC;AAC5BC,WAAS,GAAGC,MAAM,CAACC,IAAP,CAAYP,IAAI,CAACQ,IAAL,EAAZ,EAAyB,CAAzB,KAA+B,OAF/C;AAAA,MAGIC,MAAM,GAAG,CAAC,CAHd;AAAA,MAIIC,KAJJ;AAAA,MAKIC,KALJ;;AAOA,OAAKC,QAAL,GAAgB,KAAhB;;AAEA,OAAKC,OAAL,GAAe,YAAW;AACxBJ,UAAM,GAAG,CAAC,CAAV;AACAK,gBAAY,CAACH,KAAD,CAAZ;AACA,SAAKD,KAAL;AACD,GAJD;;AAMA,OAAKA,KAAL,GAAa,YAAW;AACtB,SAAKE,QAAL,GAAgB,KAAhB,CADsB,CAEtB;;AACAE,gBAAY,CAACH,KAAD,CAAZ;AACAF,UAAM,GAAGA,MAAM,IAAI,CAAV,GAAcL,QAAd,GAAyBK,MAAlC;AACAT,QAAI,CAACQ,IAAL,CAAU,QAAV,EAAoB,KAApB;AACAE,SAAK,GAAGK,IAAI,CAACC,GAAL,EAAR;AACAL,SAAK,GAAGM,UAAU,CAAC,YAAU;AAC3B,UAAGhB,OAAO,CAACiB,QAAX,EAAoB;AAClBf,aAAK,CAACU,OAAN,GADkB,CACF;;AACjB;;AACD,UAAIX,EAAE,IAAI,OAAOA,EAAP,KAAc,UAAxB,EAAoC;AAAEA,UAAE;AAAK;AAC9C,KALiB,EAKfO,MALe,CAAlB;AAMAT,QAAI,CAACmB,OAAL,yBAA8Bd,SAA9B;AACD,GAdD;;AAgBA,OAAKe,KAAL,GAAa,YAAW;AACtB,SAAKR,QAAL,GAAgB,IAAhB,CADsB,CAEtB;;AACAE,gBAAY,CAACH,KAAD,CAAZ;AACAX,QAAI,CAACQ,IAAL,CAAU,QAAV,EAAoB,IAApB;AACA,QAAIa,GAAG,GAAGN,IAAI,CAACC,GAAL,EAAV;AACAP,UAAM,GAAGA,MAAM,IAAIY,GAAG,GAAGX,KAAV,CAAf;AACAV,QAAI,CAACmB,OAAL,0BAA+Bd,SAA/B;AACD,GARD;AASD;;;;;;;;;;;;;;;;;;;;;;;;;AC7CD,oD","file":"foundation.util.timer.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.timer\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.timer\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 27);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Timer } from '../../foundation.util.timer';\n\nFoundation.Timer = Timer;\n\nexport { Foundation, Timer };\n","'use strict';\n\nimport $ from 'jquery';\n\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,//options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function() {\n remain = -1;\n clearTimeout(timer);\n this.start();\n }\n\n this.start = function() {\n this.isPaused = false;\n // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function(){\n if(options.infinite){\n _this.restart();//rerun the timer.\n }\n if (cb && typeof cb === 'function') { cb(); }\n }, remain);\n elem.trigger(`timerstart.zf.${nameSpace}`);\n }\n\n this.pause = function() {\n this.isPaused = true;\n //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(`timerpaused.zf.${nameSpace}`);\n }\n}\n\nexport {Timer};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.timer.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.timer.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Foundation","Timer","elem","options","cb","_this","duration","nameSpace","Object","keys","data","remain","start","timer","isPaused","restart","clearTimeout","Date","now","setTimeout","infinite","trigger","pause","end"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,8D;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEAA,2DAAU,CAACC,KAAX,GAAmBA,4DAAnB;;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;;AAEA,SAASA,KAAT,CAAeC,IAAf,EAAqBC,OAArB,EAA8BC,EAA9B,EAAkC;AAChC,MAAIC,KAAK,GAAG,IAAZ;AAAA,MACIC,QAAQ,GAAGH,OAAO,CAACG,QADvB;AAAA,MACgC;AAC5BC,WAAS,GAAGC,MAAM,CAACC,IAAP,CAAYP,IAAI,CAACQ,IAAL,EAAZ,EAAyB,CAAzB,KAA+B,OAF/C;AAAA,MAGIC,MAAM,GAAG,CAAC,CAHd;AAAA,MAIIC,KAJJ;AAAA,MAKIC,KALJ;;AAOA,OAAKC,QAAL,GAAgB,KAAhB;;AAEA,OAAKC,OAAL,GAAe,YAAW;AACxBJ,UAAM,GAAG,CAAC,CAAV;AACAK,gBAAY,CAACH,KAAD,CAAZ;AACA,SAAKD,KAAL;AACD,GAJD;;AAMA,OAAKA,KAAL,GAAa,YAAW;AACtB,SAAKE,QAAL,GAAgB,KAAhB,CADsB,CAEtB;;AACAE,gBAAY,CAACH,KAAD,CAAZ;AACAF,UAAM,GAAGA,MAAM,IAAI,CAAV,GAAcL,QAAd,GAAyBK,MAAlC;AACAT,QAAI,CAACQ,IAAL,CAAU,QAAV,EAAoB,KAApB;AACAE,SAAK,GAAGK,IAAI,CAACC,GAAL,EAAR;AACAL,SAAK,GAAGM,UAAU,CAAC,YAAU;AAC3B,UAAGhB,OAAO,CAACiB,QAAX,EAAoB;AAClBf,aAAK,CAACU,OAAN,GADkB,CACF;;AACjB;;AACD,UAAIX,EAAE,IAAI,OAAOA,EAAP,KAAc,UAAxB,EAAoC;AAAEA,UAAE;AAAK;AAC9C,KALiB,EAKfO,MALe,CAAlB;AAMAT,QAAI,CAACmB,OAAL,yBAA8Bd,SAA9B;AACD,GAdD;;AAgBA,OAAKe,KAAL,GAAa,YAAW;AACtB,SAAKR,QAAL,GAAgB,IAAhB,CADsB,CAEtB;;AACAE,gBAAY,CAACH,KAAD,CAAZ;AACAX,QAAI,CAACQ,IAAL,CAAU,QAAV,EAAoB,IAApB;AACA,QAAIa,GAAG,GAAGN,IAAI,CAACC,GAAL,EAAV;AACAP,UAAM,GAAGA,MAAM,IAAIY,GAAG,GAAGX,KAAV,CAAf;AACAV,QAAI,CAACmB,OAAL,0BAA+Bd,SAA/B;AACD,GARD;AASD;;;;;;;;;;;;;;;;;;;;;;;;;AC3CD,oD","file":"foundation.util.timer.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.timer\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.timer\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 27);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Timer } from '../../foundation.util.timer';\n\nFoundation.Timer = Timer;\n\nexport { Foundation, Timer };\n","import $ from 'jquery';\n\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,//options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function() {\n remain = -1;\n clearTimeout(timer);\n this.start();\n }\n\n this.start = function() {\n this.isPaused = false;\n // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function(){\n if(options.infinite){\n _this.restart();//rerun the timer.\n }\n if (cb && typeof cb === 'function') { cb(); }\n }, remain);\n elem.trigger(`timerstart.zf.${nameSpace}`);\n }\n\n this.pause = function() {\n this.isPaused = true;\n //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(`timerpaused.zf.${nameSpace}`);\n }\n}\n\nexport {Timer};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.timer.min.js b/dist/js/plugins/foundation.util.timer.min.js index 50a388b827..c9af937ee1 100644 --- a/dist/js/plugins/foundation.util.timer.min.js +++ b/dist/js/plugins/foundation.util.timer.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports["foundation.util.timer"]=e(require("./foundation.core"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.util.timer"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery))}(window,function(n,r){return u={},o.m=i={"./foundation.core":function(t,e){t.exports=n},"./js/entries/plugins/foundation.util.timer.js":function(t,e,n){"use strict";n.r(e);var r=n("./foundation.core");n.d(e,"Foundation",function(){return r.Foundation});var o=n("./js/foundation.util.timer.js");n.d(e,"Timer",function(){return o.Timer}),r.Foundation.Timer=o.Timer},"./js/foundation.util.timer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Timer",function(){return r});n("jquery");function r(e,t,n){var r,o,i=this,u=t.duration,a=Object.keys(e.data())[0]||"timer",f=-1;this.isPaused=!1,this.restart=function(){f=-1,clearTimeout(o),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(o),f=f<=0?u:f,e.data("paused",!1),r=Date.now(),o=setTimeout(function(){t.infinite&&i.restart(),n&&"function"==typeof n&&n()},f),e.trigger("timerstart.zf.".concat(a))},this.pause=function(){this.isPaused=!0,clearTimeout(o),e.data("paused",!0);var t=Date.now();f-=t-r,e.trigger("timerpaused.zf.".concat(a))}}},27:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.util.timer.js")},jquery:function(t,e){t.exports=r}},o.c=u,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=27);function o(t){if(u[t])return u[t].exports;var e=u[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}var i,u}); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],e):"object"==typeof exports?exports["foundation.util.timer"]=e(require("./foundation.core"),require("jquery")):(t.__FOUNDATION_EXTERNAL__=t.__FOUNDATION_EXTERNAL__||{},t.__FOUNDATION_EXTERNAL__["foundation.util.timer"]=e(t.__FOUNDATION_EXTERNAL__["foundation.core"],t.jQuery))}(window,function(n,r){return i={"./foundation.core":function(t,e){t.exports=n},"./js/entries/plugins/foundation.util.timer.js":function(t,e,n){"use strict";n.r(e);var r=n("./foundation.core");n.d(e,"Foundation",function(){return r.Foundation});var o=n("./js/foundation.util.timer.js");n.d(e,"Timer",function(){return o.Timer}),r.Foundation.Timer=o.Timer},"./js/foundation.util.timer.js":function(t,e,n){"use strict";n.r(e),n.d(e,"Timer",function(){return r});n("jquery");function r(e,t,n){var r,o,i=this,u=t.duration,a=Object.keys(e.data())[0]||"timer",f=-1;this.isPaused=!1,this.restart=function(){f=-1,clearTimeout(o),this.start()},this.start=function(){this.isPaused=!1,clearTimeout(o),f=f<=0?u:f,e.data("paused",!1),r=Date.now(),o=setTimeout(function(){t.infinite&&i.restart(),n&&"function"==typeof n&&n()},f),e.trigger("timerstart.zf.".concat(a))},this.pause=function(){this.isPaused=!0,clearTimeout(o),e.data("paused",!0);var t=Date.now();f-=t-r,e.trigger("timerpaused.zf.".concat(a))}}},27:function(t,e,n){t.exports=n("./js/entries/plugins/foundation.util.timer.js")},jquery:function(t,e){t.exports=r}},u={},o.m=i,o.c=u,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=27);function o(t){if(u[t])return u[t].exports;var e=u[t]={i:t,l:!1,exports:{}};return i[t].call(e.exports,e,e.exports,o),e.l=!0,e.exports}var i,u}); //# sourceMappingURL=foundation.util.timer.min.js.map diff --git a/dist/js/plugins/foundation.util.timer.min.js.map b/dist/js/plugins/foundation.util.timer.min.js.map index 18db9c3219..5ca5c4c66b 100644 --- a/dist/js/plugins/foundation.util.timer.min.js.map +++ b/dist/js/plugins/foundation.util.timer.min.js.map @@ -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]/js/entries/plugins/foundation.util.timer.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.timer.js","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","installedModules","__webpack_require__","m","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__","Foundation","Timer","elem","options","cb","start","timer","_this","this","duration","nameSpace","Object","keys","data","remain","isPaused","restart","clearTimeout","Date","now","setTimeout","infinite","trigger","concat","pause","end","c","name","getter","o","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l","modules"],"mappings":"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","file":"foundation.util.timer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.timer\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.timer\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 27);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Timer } from '../../foundation.util.timer';\n\nFoundation.Timer = Timer;\n\nexport { Foundation, Timer };\n","'use strict';\n\nimport $ from 'jquery';\n\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,//options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function() {\n remain = -1;\n clearTimeout(timer);\n this.start();\n }\n\n this.start = function() {\n this.isPaused = false;\n // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function(){\n if(options.infinite){\n _this.restart();//rerun the timer.\n }\n if (cb && typeof cb === 'function') { cb(); }\n }, remain);\n elem.trigger(`timerstart.zf.${nameSpace}`);\n }\n\n this.pause = function() {\n this.isPaused = true;\n //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(`timerpaused.zf.${nameSpace}`);\n }\n}\n\nexport {Timer};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.timer.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.timer.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","_foundation_util_timer__WEBPACK_IMPORTED_MODULE_1__","Foundation","Timer","elem","options","cb","nameSpace","remain","duration","Object","this","timer","isPaused","clearTimeout","start","Date","data","now","setTimeout","trigger","concat","pause","end","installedModules","m","modules","c","name","getter","o","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","call","p","s","moduleId","i","l"],"mappings":"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","file":"foundation.util.timer.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.timer\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.timer\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import { Foundation } from './foundation.core';\n\nimport { Timer } from '../../foundation.util.timer';\n\nFoundation.Timer = Timer;\n\nexport { Foundation, Timer };\n","'use strict';\n\nimport $ from 'jquery';\n\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,//options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function() {\n remain = -1;\n clearTimeout(timer);\n this.start();\n }\n\n this.start = function() {\n this.isPaused = false;\n // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function(){\n if(options.infinite){\n _this.restart();//rerun the timer.\n }\n if (cb && typeof cb === 'function') { cb(); }\n }, remain);\n elem.trigger(`timerstart.zf.${nameSpace}`);\n }\n\n this.pause = function() {\n this.isPaused = true;\n //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(`timerpaused.zf.${nameSpace}`);\n }\n}\n\nexport {Timer};\n"," \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 = 27);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.touch.js b/dist/js/plugins/foundation.util.touch.js index f586fb5874..7d5177c5a4 100644 --- a/dist/js/plugins/foundation.util.touch.js +++ b/dist/js/plugins/foundation.util.touch.js @@ -230,9 +230,7 @@ function teardown() { this.removeEventListener('touchstart', onTouchStart); } -var SpotSwipe = -/*#__PURE__*/ -function () { +var SpotSwipe = /*#__PURE__*/function () { function SpotSwipe($) { _classCallCheck(this, SpotSwipe); diff --git a/dist/js/plugins/foundation.util.touch.js.map b/dist/js/plugins/foundation.util.touch.js.map index f28e9bb078..18057aff21 100644 --- a/dist/js/plugins/foundation.util.touch.js.map +++ b/dist/js/plugins/foundation.util.touch.js.map @@ -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]/./js/entries/plugins/foundation.util.touch.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.touch.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Touch","init","$","window","Foundation","startPosX","startPosY","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","removeEventListener","onTouchMove","tapEvent","Event","trigger","spotSwipe","preventDefault","x","touches","pageX","y","pageY","dx","dy","dir","Date","getTime","Math","abs","moveThreshold","timeThreshold","apply","arguments","Object","assign","onTouchStart","length","addEventListener","teardown","SpotSwipe","version","enabled","document","documentElement","_init","event","special","swipe","setup","tap","each","on","noop","setupSpotSwipe","setupTouchHandler","fn","addTouch","i","el","bind","handleTouch","changedTouches","first","eventTypes","touchstart","touchmove","touchend","type","simulatedEvent","MouseEvent","screenX","screenY","clientX","clientY","createEvent","initMouseEvent","target","dispatchEvent"],"mappings":"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","file":"foundation.util.touch.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.touch\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 28);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import $ from 'jquery';\n\nimport { Touch } from '../../foundation.util.touch';\n\nTouch.init($);\n\nwindow.Foundation.Touch = Touch;\n\nexport { Foundation } from './foundation.core';\nexport { Touch };\n","//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nimport $ from 'jquery';\n\nvar Touch = {};\n\nvar startPosX,\n startPosY,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd);\n\n // If the touch did not move, consider it as a \"tap\"\n if (!didMoved) {\n var tapEvent = $.Event('tap', startEvent || e);\n $(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if ($.spotSwipe.preventDefault) { e.preventDefault(); }\n\n if(isMoving) {\n var x = e.touches[0].pageX;\n var y = e.touches[0].pageY;\n var dx = startPosX - x;\n var dy = startPosY - y;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n }\n // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n if(dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n $(this)\n .trigger($.Event('swipe', Object.assign({}, e)), dir)\n .trigger($.Event(`swipe${dir}`, Object.assign({}, e)));\n }\n }\n\n}\n\nfunction onTouchStart(e) {\n\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nfunction teardown() {\n this.removeEventListener('touchstart', onTouchStart);\n}\n\nclass SpotSwipe {\n constructor($) {\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n this._init();\n }\n\n _init() {\n var $ = this.$;\n $.event.special.swipe = { setup: init };\n $.event.special.tap = { setup: init };\n\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[`swipe${this}`] = { setup: function(){\n $(this).on('swipe', $.noop);\n } };\n });\n }\n}\n\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\nTouch.setupSpotSwipe = function($) {\n $.spotSwipe = new SpotSwipe($);\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function($) {\n $.fn.addTouch = function(){\n this.each(function(i,el){\n $(el).bind('touchstart touchmove touchend touchcancel', function(event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function(event){\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent\n ;\n\n if('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);\n }\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n\n if(typeof($.spotSwipe) === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\nexport {Touch};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file +{"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]/./js/entries/plugins/foundation.util.touch.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.touch.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Touch","init","$","window","Foundation","startPosX","startPosY","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","removeEventListener","onTouchMove","tapEvent","Event","trigger","spotSwipe","preventDefault","x","touches","pageX","y","pageY","dx","dy","dir","Date","getTime","Math","abs","moveThreshold","timeThreshold","apply","arguments","Object","assign","onTouchStart","length","addEventListener","teardown","SpotSwipe","version","enabled","document","documentElement","_init","event","special","swipe","setup","tap","each","on","noop","setupSpotSwipe","setupTouchHandler","fn","addTouch","i","el","bind","handleTouch","changedTouches","first","eventTypes","touchstart","touchmove","touchend","type","simulatedEvent","MouseEvent","screenX","screenY","clientX","clientY","createEvent","initMouseEvent","target","dispatchEvent"],"mappings":"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","file":"foundation.util.touch.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.touch\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 28);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import $ from 'jquery';\n\nimport { Touch } from '../../foundation.util.touch';\n\nTouch.init($);\n\nwindow.Foundation.Touch = Touch;\n\nexport { Foundation } from './foundation.core';\nexport { Touch };\n","//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nimport $ from 'jquery';\n\nvar Touch = {};\n\nvar startPosX,\n startPosY,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd);\n\n // If the touch did not move, consider it as a \"tap\"\n if (!didMoved) {\n var tapEvent = $.Event('tap', startEvent || e);\n $(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if ($.spotSwipe.preventDefault) { e.preventDefault(); }\n\n if(isMoving) {\n var x = e.touches[0].pageX;\n var y = e.touches[0].pageY;\n var dx = startPosX - x;\n var dy = startPosY - y;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n }\n // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n if(dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n $(this)\n .trigger($.Event('swipe', Object.assign({}, e)), dir)\n .trigger($.Event(`swipe${dir}`, Object.assign({}, e)));\n }\n }\n\n}\n\nfunction onTouchStart(e) {\n\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nfunction teardown() {\n this.removeEventListener('touchstart', onTouchStart);\n}\n\nclass SpotSwipe {\n constructor($) {\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n this._init();\n }\n\n _init() {\n var $ = this.$;\n $.event.special.swipe = { setup: init };\n $.event.special.tap = { setup: init };\n\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[`swipe${this}`] = { setup: function(){\n $(this).on('swipe', $.noop);\n } };\n });\n }\n}\n\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\nTouch.setupSpotSwipe = function($) {\n $.spotSwipe = new SpotSwipe($);\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function($) {\n $.fn.addTouch = function(){\n this.each(function(i,el){\n $(el).bind('touchstart touchmove touchend touchcancel', function(event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function(event){\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent\n ;\n\n if('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);\n }\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n\n if(typeof($.spotSwipe) === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\nexport {Touch};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.touch.min.js b/dist/js/plugins/foundation.util.touch.min.js index b362b600d9..d774a31b29 100644 --- a/dist/js/plugins/foundation.util.touch.min.js +++ b/dist/js/plugins/foundation.util.touch.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","jquery"],t):"object"==typeof exports?exports["foundation.util.touch"]=t(require("./foundation.core"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.touch"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.jQuery))}(window,function(n,o){return r={},i.m=u={"./foundation.core":function(e,t){e.exports=n},"./js/entries/plugins/foundation.util.touch.js":function(e,t,n){"use strict";n.r(t);var o=n("jquery"),i=n.n(o),u=n("./js/foundation.util.touch.js");n.d(t,"Touch",function(){return u.Touch});var r=n("./foundation.core");n.d(t,"Foundation",function(){return r.Foundation}),u.Touch.init(i.a),window.Foundation.Touch=u.Touch},"./js/foundation.util.touch.js":function(e,t,n){"use strict";n.r(t),n.d(t,"Touch",function(){return f});var o=n("jquery"),i=n.n(o);function u(e,t){for(var n=0;n=i.a.spotSwipe.moveThreshold&&s<=i.a.spotSwipe.timeThreshold&&(t=0=o.a.spotSwipe.moveThreshold&&c<=o.a.spotSwipe.timeThreshold?0= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n }\n // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n if(dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n $(this)\n .trigger($.Event('swipe', Object.assign({}, e)), dir)\n .trigger($.Event(`swipe${dir}`, Object.assign({}, e)));\n }\n }\n\n}\n\nfunction onTouchStart(e) {\n\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nfunction teardown() {\n this.removeEventListener('touchstart', onTouchStart);\n}\n\nclass SpotSwipe {\n constructor($) {\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n this._init();\n }\n\n _init() {\n var $ = this.$;\n $.event.special.swipe = { setup: init };\n $.event.special.tap = { setup: init };\n\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[`swipe${this}`] = { setup: function(){\n $(this).on('swipe', $.noop);\n } };\n });\n }\n}\n\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\nTouch.setupSpotSwipe = function($) {\n $.spotSwipe = new SpotSwipe($);\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function($) {\n $.fn.addTouch = function(){\n this.each(function(i,el){\n $(el).bind('touchstart touchmove touchend touchcancel', function(event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function(event){\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent\n ;\n\n if('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);\n }\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n\n if(typeof($.spotSwipe) === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\nexport {Touch};\n","module.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","webpack:/__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.touch.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.touch.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","n","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__","d","_foundation_core__WEBPACK_IMPORTED_MODULE_2__","Touch","init","$","Foundation","startPosX","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","this","removeEventListener","onTouchMove","tapEvent","Event","trigger","dx","dir","spotSwipe","preventDefault","x","touches","pageX","pageY","Date","getTime","Math","abs","moveThreshold","timeThreshold","apply","arguments","Object","assign","concat","onTouchStart","length","addEventListener","SpotSwipe","version","enabled","setup","special","event","each","noop","setupTouchHandler","i","el","addTouch","handleTouch","simulatedEvent","touchend","touchstart","touchmove","eventTypes","type","MouseEvent","bubbles","screenX","first","screenY","clientX","clientY","document","createEvent","initMouseEvent","target","dispatchEvent","setupSpotSwipe","installedModules","m","modules","c","name","getter","o","defineProperty","enumerable","get","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","prototype","hasOwnProperty","call","p","s","moduleId","l"],"mappings":"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","file":"foundation.util.touch.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.touch\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","import $ from 'jquery';\n\nimport { Touch } from '../../foundation.util.touch';\n\nTouch.init($);\n\nwindow.Foundation.Touch = Touch;\n\nexport { Foundation } from './foundation.core';\nexport { Touch };\n","//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nimport $ from 'jquery';\n\nvar Touch = {};\n\nvar startPosX,\n startPosY,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd);\n\n // If the touch did not move, consider it as a \"tap\"\n if (!didMoved) {\n var tapEvent = $.Event('tap', startEvent || e);\n $(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if ($.spotSwipe.preventDefault) { e.preventDefault(); }\n\n if(isMoving) {\n var x = e.touches[0].pageX;\n var y = e.touches[0].pageY;\n var dx = startPosX - x;\n var dy = startPosY - y;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n }\n // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n if(dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n $(this)\n .trigger($.Event('swipe', Object.assign({}, e)), dir)\n .trigger($.Event(`swipe${dir}`, Object.assign({}, e)));\n }\n }\n\n}\n\nfunction onTouchStart(e) {\n\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nfunction teardown() {\n this.removeEventListener('touchstart', onTouchStart);\n}\n\nclass SpotSwipe {\n constructor($) {\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n this._init();\n }\n\n _init() {\n var $ = this.$;\n $.event.special.swipe = { setup: init };\n $.event.special.tap = { setup: init };\n\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[`swipe${this}`] = { setup: function(){\n $(this).on('swipe', $.noop);\n } };\n });\n }\n}\n\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\nTouch.setupSpotSwipe = function($) {\n $.spotSwipe = new SpotSwipe($);\n};\n\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\nTouch.setupTouchHandler = function($) {\n $.fn.addTouch = function(){\n this.each(function(i,el){\n $(el).bind('touchstart touchmove touchend touchcancel', function(event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function(event){\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent\n ;\n\n if('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null);\n }\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n\n if(typeof($.spotSwipe) === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\nexport {Touch};\n"," \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 = 28);\n"]} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.triggers.js b/dist/js/plugins/foundation.util.triggers.js index a9fd611c79..e8dc6f6f10 100644 --- a/dist/js/plugins/foundation.util.triggers.js +++ b/dist/js/plugins/foundation.util.triggers.js @@ -160,9 +160,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ "./foundation.util.motion"); /* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__); - - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } @@ -296,9 +294,8 @@ Triggers.Listeners.Global = { _this.triggerHandler('close.zf.trigger', [_this]); }); - } // Global, parses whole document. - -}; + } +}; // Global, parses whole document. Triggers.Initializers.addClosemeListener = function (pluginName) { var yetiBoxes = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-yeti-box]'), diff --git a/dist/js/plugins/foundation.util.triggers.js.map b/dist/js/plugins/foundation.util.triggers.js.map index bffd98e9c9..bca81d2bbc 100644 --- a/dist/js/plugins/foundation.util.triggers.js.map +++ b/dist/js/plugins/foundation.util.triggers.js.map @@ -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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Triggers","init","$","Foundation","MutationObserver","prefixes","i","length","window","triggers","el","type","data","split","forEach","id","Listeners","Basic","Global","Initializers","openListener","closeListener","trigger","toggleListener","closeableListener","e","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","off","on","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","attr","scrollListener","closeMeListener","pluginId","plugin","namespace","plugins","not","_this","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.util.triggers.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.triggers\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.triggers\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 29);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\nimport $ from 'jquery';\n\nimport { Triggers } from '../../foundation.util.triggers';\nTriggers.init($, Foundation);\n\nexport { Foundation, Triggers };\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":""} \ No newline at end of file +{"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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/entries/plugins/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/./js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"}"],"names":["Triggers","init","$","Foundation","MutationObserver","prefixes","i","length","window","triggers","el","type","data","split","forEach","id","Listeners","Basic","Global","Initializers","openListener","closeListener","trigger","toggleListener","closeableListener","e","animation","stopPropagation","Motion","animateOut","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","off","on","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","each","attr","scrollListener","closeMeListener","pluginId","plugin","namespace","plugins","not","_this","addClosemeListener","pluginName","yetiBoxes","plugNames","push","concat","console","error","listeners","map","name","join","debounceGlobalListener","debounce","listener","timer","args","Array","prototype","slice","call","arguments","clearTimeout","setTimeout","apply","addResizeListener","addScrollListener","addMutationEventsListener","find","listeningElementsMutation","mutationRecordsList","$target","target","attributeName","pageYOffset","closest","elementObserver","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","document","addGlobalListeners","onLoad","triggersInitialized","IHearYou"],"mappings":"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","file":"foundation.util.triggers.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.triggers\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.triggers\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __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 = 29);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\nimport $ from 'jquery';\n\nimport { Triggers } from '../../foundation.util.triggers';\nTriggers.init($, Foundation);\n\nexport { Foundation, Triggers };\n","import $ from 'jquery';\nimport { onLoad } from './foundation.core.utils';\nimport { Motion } from './foundation.util.motion';\n\nconst MutationObserver = (function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n for (var i=0; i < prefixes.length; i++) {\n if (`${prefixes[i]}MutationObserver` in window) {\n return window[`${prefixes[i]}MutationObserver`];\n }\n }\n return false;\n}());\n\nconst triggers = (el, type) => {\n el.data(type).split(' ').forEach(id => {\n $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n}\n\nTriggers.Listeners.Basic = {\n openListener: function() {\n triggers($(this), 'open');\n },\n closeListener: function() {\n let id = $(this).data('close');\n if (id) {\n triggers($(this), 'close');\n }\n else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function() {\n let id = $(this).data('toggle');\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function(e) {\n let animation = $(this).data('closable');\n\n // Only close the first closable element. See https://git.io/zf-7833\n e.stopPropagation();\n\n if(animation !== ''){\n Motion.animateOut($(this), animation, function() {\n $(this).trigger('closed.zf');\n });\n }else{\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function() {\n let id = $(this).data('toggle-focus');\n $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n};\n\n// Elements with [data-open] will reveal a plugin that supports it when clicked.\nTriggers.Initializers.addOpenListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}\n\n// Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\nTriggers.Initializers.addCloseListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}\n\n// Elements with [data-toggle] will toggle a plugin that supports it when clicked.\nTriggers.Initializers.addToggleListener = ($elem) => {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}\n\n// Elements with [data-closable] will respond to close.zf.trigger events.\nTriggers.Initializers.addCloseableListener = ($elem) => {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}\n\n// Elements with [data-toggle-focus] will respond to coming in and out of focus\nTriggers.Initializers.addToggleFocusListener = ($elem) => {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}\n\n\n\n// More Global/complex listeners and triggers\nTriggers.Listeners.Global = {\n resizeListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a resize event\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function($nodes) {\n if(!MutationObserver){//fallback for IE 9\n $nodes.each(function(){\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n }\n //trigger all listening elements and signal a scroll event\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function(e, pluginId){\n let plugin = e.namespace.split('.')[0];\n let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box=\"${pluginId}\"]`);\n\n plugins.each(function(){\n let _this = $(this);\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n }\n}\n\n// Global, parses whole document.\nTriggers.Initializers.addClosemeListener = function(pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if(pluginName){\n if(typeof pluginName === 'string'){\n plugNames.push(pluginName);\n }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){\n plugNames = plugNames.concat(pluginName);\n }else{\n console.error('Plugin names must be strings');\n }\n }\n if(yetiBoxes.length){\n let listeners = plugNames.map((name) => {\n return `closeme.zf.${name}`;\n }).join(' ');\n\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n}\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n let timer, args = Array.prototype.slice.call(arguments, 3);\n $(window).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":""} \ No newline at end of file diff --git a/dist/js/plugins/foundation.util.triggers.min.js b/dist/js/plugins/foundation.util.triggers.min.js index 152b86b0cb..b70b686cd7 100644 --- a/dist/js/plugins/foundation.util.triggers.min.js +++ b/dist/js/plugins/foundation.util.triggers.min.js @@ -1,2 +1,2 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):"function"==typeof define&&define.amd?define(["./foundation.core","./foundation.util.motion","jquery"],t):"object"==typeof exports?exports["foundation.util.triggers"]=t(require("./foundation.core"),require("./foundation.util.motion"),require("jquery")):(e.__FOUNDATION_EXTERNAL__=e.__FOUNDATION_EXTERNAL__||{},e.__FOUNDATION_EXTERNAL__["foundation.util.triggers"]=t(e.__FOUNDATION_EXTERNAL__["foundation.core"],e.__FOUNDATION_EXTERNAL__["foundation.util.motion"],e.jQuery))}(window,function(i,r,n){return a={},o.m=s={"./foundation.core":function(e,t){e.exports=i},"./foundation.util.motion":function(e,t){e.exports=r},"./js/entries/plugins/foundation.util.triggers.js":function(e,t,i){"use strict";i.r(t);var r=i("./foundation.core");i.d(t,"Foundation",function(){return r.Foundation});var n=i("jquery"),o=i.n(n),s=i("./js/foundation.util.triggers.js");i.d(t,"Triggers",function(){return s.Triggers}),s.Triggers.init(o.a,r.Foundation)},"./js/foundation.util.triggers.js":function(e,t,i){"use strict";i.r(t),i.d(t,"Triggers",function(){return u});var r=i("jquery"),o=i.n(r),n=i("./foundation.core"),s=i("./foundation.util.motion");function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(t,i){t.data(i).split(" ").forEach(function(e){o()("#".concat(e))["close"===i?"trigger":"triggerHandler"]("".concat(i,".zf.trigger"),[t])})}var c=function(){for(var e=["WebKit","Moz","O","Ms",""],t=0;t {\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__;"]} \ No newline at end of file +{"version":3,"sources":["webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/universalModuleDefinition","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.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"}","webpack://__FOUNDATION_EXTERNAL__.[name]/js/entries/plugins/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/js/foundation.util.triggers.js","webpack://__FOUNDATION_EXTERNAL__.[name]/webpack/bootstrap"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","__WEBPACK_EXTERNAL_MODULE_jquery__","__webpack_require__","r","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","d","jquery__WEBPACK_IMPORTED_MODULE_1__","jquery__WEBPACK_IMPORTED_MODULE_1___default","n","_foundation_util_triggers__WEBPACK_IMPORTED_MODULE_2__","Triggers","init","$","Foundation","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_typeof","obj","Symbol","iterator","constructor","prototype","triggers","el","type","concat","id","MutationObserver","prefixes","i","length","Listeners","Global","debounceGlobalListener","debounce","trigger","listener","timer","on","e","args","clearTimeout","apply","Initializers","Basic","openListener","this","data","toggleListener","closeableListener","animation","stopPropagation","fadeOut","toggleFocusListener","triggerHandler","addOpenListener","$elem","addCloseListener","closeListener","addToggleListener","addCloseableListener","$nodes","pluginId","plugin","namespace","split","not","plugins","_this","yetiBoxes","pluginName","plugNames","console","error","listeners","map","name","off","closeMeListener","addResizeListener","resizeListener","addScrollListener","scrollListener","addMutationEventsListener","mutationRecordsList","target","listeningElementsMutation","$target","pageYOffset","attributeName","closest","attr","find","observe","attributes","childList","elementObserver","addSimpleListeners","$document","document","addToggleFocusListener","addGlobalListeners","addClosemeListener","Object","onLoad","installedModules","m","modules","c","getter","o","defineProperty","enumerable","get","toStringTag","value","t","mode","__esModule","ns","create","key","bind","object","property","hasOwnProperty","call","p","s","moduleId","l"],"mappings":"CAAA,SAAAA,EAAAC,GACA,iBAAAC,SAAA,iBAAAC,OACAA,OAAAD,QAAAD,EAAAG,QAAA,qBAAAA,QAAA,4BAAAA,QAAA,WACA,mBAAAC,QAAAA,OAAAC,IACAD,OAAA,CAAA,oBAAA,2BAAA,UAAAJ,GACA,iBAAAC,QACAA,QAAA,4BAAAD,EAAAG,QAAA,qBAAAA,QAAA,4BAAAA,QAAA,YAEAJ,EAAA,wBAAAA,EAAA,yBAAA,GAAyEA,EAAA,wBAAA,4BAAAC,EAAAD,EAAA,wBAAA,mBAAAA,EAAA,wBAAA,0BAAAA,EAAA,SARzE,CASCO,OAAA,SAAAC,EAAAC,EAAAC,GACD,O,qCCVAP,EAAAD,QAAAM,G,yCCAAL,EAAAD,QAAAO,G,gFCAAE,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,EAAA,qBAAAA,EAAAI,EAAAF,EAAA,aAAA,WAAA,OAAAC,EAAA,aAAA,IAAAE,EAAAL,EAAA,UAAAM,EAAAN,EAAAO,EAAAF,GAAAG,EAAAR,EAAA,oCAAAA,EAAAI,EAAAF,EAAA,WAAA,WAAA,OAAAM,EAAA,WAIAC,EAAAA,SAASC,KAAKC,EAAAA,EAAGC,EAAAA,a,gECJjBZ,EAAAC,EAAAC,GAAAF,EAAAI,EAAAF,EAAA,WAAA,WAAA,OAAAO,IAAA,IAAAI,EAAAb,EAAA,UAAAc,EAAAd,EAAAO,EAAAM,GAAAE,EAAAf,EAAA,qBAAAgB,EAAAhB,EAAA,4BAAa,SAAAiB,EAAAC,GAAA,OAAAD,EAAA,mBAAAE,QAAA,iBAAAA,OAAAC,SAAA,SAAAF,GAAA,cAAAA,GAAA,SAAAA,GAAA,OAAAA,GAAA,mBAAAC,QAAAD,EAAAG,cAAAF,QAAAD,IAAAC,OAAAG,UAAA,gBAAAJ,IAAAA,GAMb,SAAAK,EAAAC,EAAAC,G,yCAUMF,GAAAA,CAAyB,IAAAG,OAAAC,IAAA,UAAAF,EAAA,UAAA,kBAAA,GAAAC,OAAAD,EAAA,eAAA,CAAAD,MAZ/B,IAAAI,EAAA,WAGE,I,mCAAIC,EAAQ,EAAIC,EAAAD,EAAUE,OAAXD,I,+CACf,OAAUlC,OAAK,GAAGiC,OAAQA,EAASC,GAAnC,qBAIC,OAAA,EARH,GAYArB,EAAA,C,WAMIA,MAAAA,GACFuB,OAAS,IAEPC,aAAQ,IAkIT,SAAAC,EAAAC,EAAAC,EAAAC,GAnBH,IAAAC,E,0CAsBAxB,GAAAA,CAA0CsB,QAASC,IAAnDD,GAA6DG,GAAAH,EAAA,SAAAI,GACvDF,GAAOG,aAAanB,GAEToB,EAAAA,WAAaJ,WAASD,EAAAM,MAAA,KAAAF,I,SAtIrCG,EAAAA,UAAcC,MAAA,CALhBC,aAAA,WAQArC,EAASuB,GAAAA,CAAmBe,MAAA,SAExBxB,cAASZ,WAFeG,GAAAA,CAAAiC,MAAAC,KAAA,S,qBAOtBzB,GAAAA,CAASZ,MAAAA,QAAD,qBAITsC,eAAA,WAXuBnC,GAAAA,CAAAiC,MAAAC,KAAA,U,sBAgBtBzB,GAAAA,CAASZ,MAAAA,QAAD,sBAGTuC,kBAAA,SAAAV,GAnBuB,IAAAW,EAAArC,GAAAA,CAAAiC,MAAAC,KAAA,YAsBxBR,EAAAY,kBAGA,KAAEA,E,2CAECD,GAAAA,CAAiBJ,MAAAX,QAAA,eAGjBtB,GAAAA,CAFDiC,MAAAM,UAAAjB,QAAA,cAKDkB,oBAAA,WAjCuB,IAAA3B,EAAAb,GAAAA,CAAAiC,MAAAC,KAAA,gBAmC1BM,GAAAA,CAAqB,IAAW5B,OAAAC,IAAA4B,eAAA,oBAAA,CAAAzC,GAAAA,CAAAiC,UAnCNtC,EAyC5BmC,aAAAY,gBAAA,SAAAC,G,yDACAhD,EAAQ8B,GAACK,mBAAaY,cAAkB/C,EAAAuB,UAAWa,MAAAC,e,sGAOnDrC,EAAQ8B,GAACK,mBAAac,eAAmBjD,EAAAuB,UAAWa,MAAAc,gB,wGAMpDlD,EAAQ8B,GAACK,mBAAagB,gBAAoBnD,EAAAuB,UAAWa,MAAAI,iB,8GAMrDxC,EAAQ8B,GAACK,mBAAaiB,oCAAkCpD,EAAAuB,UAAAa,MAAAK,oB,kIAMxDzC,EAAQ8B,GAACK,mCAAsC,sBAAWnC,EAAAuB,UAAAa,MAAAS,sB,+CAQjDtB,GAEL8B,EAAIlC,KAAAA,WAAkBd,GAAAA,CAAAiC,MAAAQ,eAAA,yB,gCAMtBO,eAAY,SAAZA,GARyBlC,GAWzBkC,EAAIlC,KAAAA,WAAkBd,GAAAA,CAAAiC,MAAAQ,eAAA,yB,gCAMtBO,gBAAY,SAAZtB,EAAAuB,GAjByBC,EAAAxB,EAAAyB,UAAAC,MAAA,KAAA,GAmBZpD,GAAAA,CAAuB,SAAAY,OAAAsC,EAAA,MAAAG,IAAA,mBAAAzC,OAAAqC,EAAA,OAChCC,KAASxB,WACb,IAAI4B,EAAUzD,GAAAA,CAACoC,MAGbsB,EAAIA,eAAQ1D,mBAAAA,CAAAA,Q,8CAxBlB,IAAA2D,EAAAxD,GAAAA,CAAA,mB,kCAgCMwD,IACY,iBAAHC,E,UAEC,WAAXA,EAAWA,IAAA,iBAAAA,EAAA,GACZC,EAAUD,EAAP7C,OAAsB6C,GAAzBE,QAEMC,MAAG,iCAIRJ,EAAAvC,SACF4C,EAAAH,EAAAI,IAAA,SAAAC,G,gCACEP,KAAAA,KACDxD,GAAAA,CAAwClB,QAAAkF,IAAAH,GAAApC,GAAAoC,EAAAlE,EAAAuB,UAAAC,OAAA8C,mBAezCtE,EALDmC,aAAAoC,kBAAA,SAAA7C,GAMD,IAAA2B,EAAAhD,GAAAA,CAAA,iBAEDL,EAASmC,QACPV,EAAavB,EAAAA,oBAAAA,EAAEqB,UAAfC,OAAAgD,eAAAnB,IAGCrD,EAAAmC,aAAAsC,kBAAA,SAAA/C,GAJH,IAAA2B,EAAAhD,GAAAA,CAAA,iBAOAL,EAASmC,QACPV,EAAavB,EAAAA,oBAAAA,EAAEqB,UAAfC,OAAAkD,eAAArB,IAGCrD,EAAAmC,aAAAwC,0BAAA,SAAA3B,GAJH,IAAA7B,E,uBASE,IAAIkC,EAASL,GAAAA,CAAW4B,EAExB,GAAAC,QACA,OAAIC,EAAyB,GAAG9D,MAC9B,IAAI+D,a,sEAGJA,EAAQH,eAAmB,sBAA3B,CAAAG,EAAA5F,OAAA6F,cAG6B,WAAvBD,EAAQjC,KAAAA,gBAAR,gBAA8C8B,EAAiBI,GAAAA,eAChED,EAAAjC,eAAA,sBAAA,CAAAiC,IAEwB,UAAvBA,EAAA,GAAuBE,gBACvBF,EAAAG,QAAA,iBAAAC,KAAA,cAAA,U,+FAGAJ,M,gBAEFA,EAAAG,QAAA,iBAAAC,KAAA,cAAA,U,8FAEF,MAEEJ,QACA,OAAA,GAzBiB,IAAA1B,EAAOL,EAAPoC,KAAA,+CAQrB,GAAA/B,EAAA/B,O,8BAyBiB,IAAAH,EAAA2D,GACjBO,QAAAhC,EAAAhC,GAAA,CACAiE,YAAgBjE,EACdkE,WAAIC,EACJA,eAAgBH,EAAqBC,SAAAA,EAAkBC,gBAApB,CAAA,cAAA,YAEtCvF,EAAAmC,aAAAsD,mBAAA,WAxCH,IAAAC,EAAArF,GAAAA,CAAAsF,U,kCA2CA3F,EAASmC,aAAasD,iBAAtBC,GACE1F,EAAI0F,aAAYxF,kBAAAA,GAEhBF,EAASmC,aAAaY,qBAAgB2C,GACtC1F,EAASmC,aAAac,uBAAiByC,IAGvC1F,EAAAA,aAASmC,mBAAayD,WAPxB,IAAAF,EAAArF,GAAAA,CAAAsF,U,4CAWA3F,EAASmC,aAAa0D,oBACpB7F,EAAI0F,aAAYxF,oBAChBF,EAASmC,aAAawC,sBAGtB3E,EAAAA,KAASmC,SAAa2D,EAAAA,GALxBC,OAAAzF,EAAA,OAAAyF,CAAA7F,EAAAf,QAAA,Y,4BASAa,EAAAmC,aAAgBsD,qBACdO,EAAAA,aAAAA,qBACE9F,EAAIA,qBAAA,KAIHC,IALHA,EAAAH,SAAAA,EAQAG,EAAGA,SAAYH,EAAAmC,aAAA0D,sB,uHC7PjBI,EAAA,GA4BA1G,EAAA2G,EAAAC,EAGA5G,EAAA6G,EAAAH,EAGA1G,EAAAI,EAAA,SAAAb,EAAAsF,EAAAiC,GACA9G,EAAA+G,EAAAxH,EAAAsF,IACA2B,OAAAQ,eAAAzH,EAAAsF,EAAA,CAA0CoC,YAAA,EAAAC,IAAAJ,KAK1C9G,EAAAC,EAAA,SAAAV,GACA,oBAAA4B,QAAAA,OAAAgG,aACAX,OAAAQ,eAAAzH,EAAA4B,OAAAgG,YAAA,CAAwDC,MAAA,WAExDZ,OAAAQ,eAAAzH,EAAA,aAAA,CAAiD6H,OAAA,KAQjDpH,EAAAqH,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAApH,EAAAoH,IACA,EAAAE,EAAA,OAAAF,EACA,GAAA,EAAAE,GAAA,iBAAAF,GAAAA,GAAAA,EAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAhB,OAAAiB,OAAA,MAGA,GAFAzH,EAAAC,EAAAuH,GACAhB,OAAAQ,eAAAQ,EAAA,UAAA,CAAyCP,YAAA,EAAAG,MAAAA,IACzC,EAAAE,GAAA,iBAAAF,EAAA,IAAA,IAAAM,KAAAN,EAAApH,EAAAI,EAAAoH,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAxH,EAAAO,EAAA,SAAAf,GACA,IAAAsH,EAAAtH,GAAAA,EAAA+H,WACA,WAA2B,OAAA/H,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAQ,EAAAI,EAAA0G,EAAA,IAAAA,GACAA,GAIA9G,EAAA+G,EAAA,SAAAa,EAAAC,GAAsD,OAAArB,OAAAlF,UAAAwG,eAAAC,KAAAH,EAAAC,IAGtD7H,EAAAgI,EAAA,GAIAhI,EAAAA,EAAAiI,EAAA,IA9EA,SAAAjI,EAAAkI,GAGA,GAAAxB,EAAAwB,GACA,OAAAxB,EAAAwB,GAAA3I,QAGA,IAAAC,EAAAkH,EAAAwB,GAAA,CACApG,EAAAoG,EACAC,GAAA,EACA5I,QAAA,IAUA,OANAqH,EAAAsB,GAAAH,KAAAvI,EAAAD,QAAAC,EAAAA,EAAAD,QAAAS,GAGAR,EAAA2I,GAAA,EAGA3I,EAAAD,Q,MAvBAmH","file":"foundation.util.triggers.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.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.triggers\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.triggers\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn ","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;","module.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;","import { Foundation } from './foundation.core';\nimport $ from 'jquery';\n\nimport { Triggers } from '../../foundation.util.triggers';\nTriggers.init($, Foundation);\n\nexport { Foundation, Triggers };\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"," \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 = 29);\n"]} \ No newline at end of file diff --git a/docs/pages/installation.md b/docs/pages/installation.md index d14a23ece1..ad3464c619 100644 --- a/docs/pages/installation.md +++ b/docs/pages/installation.md @@ -239,23 +239,23 @@ The folks at [jsDelivr](https://www.jsdelivr.com) host the compressed Foundation ```html - + - + ``` From Foundation 6.4, flex is enabled by default and **only the new XY Grid is available**. However, others CSS versions are available for backward compatibility and the most common usage cases. For others uses and advanced customization, we recommand to build Foundation with custom settings (see others installation methods). ```html - + - + - + ```
        diff --git a/docs/partials/search-bar.html b/docs/partials/search-bar.html index c5f64f92b3..3b469edbca 100644 --- a/docs/partials/search-bar.html +++ b/docs/partials/search-bar.html @@ -1,6 +1,6 @@
        diff --git a/gulp/tasks/deploy.js b/gulp/tasks/deploy.js index 27b79fb7a8..19675ae1b8 100644 --- a/gulp/tasks/deploy.js +++ b/gulp/tasks/deploy.js @@ -79,7 +79,7 @@ gulp.task('deploy:dist:files', function() { .pipe(gulp.dest('./dist/css')) .pipe(sourcemaps.init({ loadMaps: true })) .pipe(rename({ suffix: '.min' })) - .pipe(cleancss({ compatibility: 'ie9' })) + .pipe(cleancss({ compatibility: 'ie11' })) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('./dist/css')) .pipe(cssFilter.restore) diff --git a/js/foundation.core.js b/js/foundation.core.js index e78cf4e7de..947f7a57a7 100644 --- a/js/foundation.core.js +++ b/js/foundation.core.js @@ -2,7 +2,7 @@ import $ from 'jquery'; import { GetYoDigits } from './foundation.core.utils'; import { MediaQuery } from './foundation.util.mediaQuery'; -var FOUNDATION_VERSION = '6.6.3'; +var FOUNDATION_VERSION = '6.7.0'; // Global Foundation object // This is attached to the window, or used as a module for AMD/Browserify diff --git a/meteor-README.md b/meteor-README.md index 9fe57e495b..c21220b4dc 100644 --- a/meteor-README.md +++ b/meteor-README.md @@ -1,4 +1,4 @@ -# [Foundation for Sites](https://get.foundation) (v6.6.3) +# [Foundation for Sites](https://get.foundation) (v6.7.0) Foundation is the most advanced responsive front-end framework in the world. Quickly go from prototype to production, building sites or apps that work on any kind of device with Foundation. Includes layout constructs, like a fully customizable, responsive grid, commonly used JavaScript plugins, and full A11Y support. diff --git a/package.js b/package.js index 1376c1c954..c1924c8048 100644 --- a/package.js +++ b/package.js @@ -1,7 +1,7 @@ Package.describe({ name: 'foundation:foundation-sites', summary: 'Foundation 6 - The most advanced responsive front-end framework in the world.', - version: '6.6.3', + version: '6.7.0', git: 'https://github.com/foundation/foundation-sites.git', documentation: 'meteor-README.md' }); diff --git a/package.json b/package.json index e2b4f4a27c..93a69f91f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "foundation-sites", - "version": "6.6.3", + "version": "6.7.0", "main": "dist/js/foundation.js", "module": "dist/js/foundation.esm.js", "jsnext:main": "dist/js/foundation.esm.js", diff --git a/package.nuspec b/package.nuspec index 1d2ba3da11..259bec5dd8 100644 --- a/package.nuspec +++ b/package.nuspec @@ -3,7 +3,7 @@ foundation-sites - 6.6.3 + 6.7.0 Foundation for Sites Yetinauts diff --git a/scss/foundation.scss b/scss/foundation.scss index 3fa24d569b..cbcb67855b 100644 --- a/scss/foundation.scss +++ b/scss/foundation.scss @@ -1,6 +1,6 @@ /** * Foundation for Sites - * Version 6.6.3 + * Version 6.7.0 * https://get.foundation * Licensed under MIT Open Source */