From 0b20a7936be52b94b0e1162d6a3eeaa8981bb757 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Sat, 12 Sep 2026 11:10:45 -0700 Subject: [PATCH 01/35] build(deps): pin shelljs >=0.8.5 --- package.json | 4 +- yarn.lock | 2773 ++++++++++++++++++++++++-------------------------- 2 files changed, 1360 insertions(+), 1417 deletions(-) diff --git a/package.json b/package.json index c6076622a3..9e9a1b8b92 100644 --- a/package.json +++ b/package.json @@ -162,5 +162,7 @@ "path": "./node_modules/cz-conventional-changelog" } }, - "dependencies": {} + "dependencies": { + "shelljs": ">=0.8.5" + } } diff --git a/yarn.lock b/yarn.lock index 0f5c1ab29f..f4247722e7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,10 +2,10 @@ # yarn lockfile v1 -"@adobe/css-tools@^4.3.3": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.0.tgz#728c484f4e10df03d5a3acd0d8adcbbebff8ad63" - integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== +"@adobe/css-tools@^4.4.0": + version "4.4.3" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.3.tgz#beebbefb0264fdeb32d3052acae0e0d94315a9a2" + integrity sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA== "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -15,102 +15,96 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: - "@babel/highlight" "^7.24.7" - picocolors "^1.0.0" + "@babel/helper-validator-identifier" "^7.27.1" + js-tokens "^4.0.0" + picocolors "^1.1.1" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" - integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" + integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== "@babel/core@^7.22.10": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.1.tgz#89de51e86bd12246003e3524704c49541b16c3e6" + integrity sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.1" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helpers" "^7.27.1" + "@babel/parser" "^7.27.1" + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" - integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== +"@babel/generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230" + integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== dependencies: - "@babel/types" "^7.25.6" + "@babel/parser" "^7.27.1" + "@babel/types" "^7.27.1" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" - integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== - dependencies: - "@babel/types" "^7.24.7" + jsesc "^3.0.2" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz#37d66feb012024f2422b762b9b2a7cfe27c7fba3" - integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== +"@babel/helper-annotate-as-pure@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz#4345d81a9a46a6486e24d069469f13e60445c05d" + integrity sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/types" "^7.27.1" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8", "@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz#57eaf1af38be4224a9d9dd01ddde05b741f50e14" - integrity sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.8" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/traverse" "^7.25.4" +"@babel/helper-create-class-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281" + integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/traverse" "^7.27.1" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0", "@babel/helper-create-regexp-features-plugin@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz#24c75974ed74183797ffd5f134169316cd1808d9" - integrity sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" + integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - regexpu-core "^5.3.1" + "@babel/helper-annotate-as-pure" "^7.27.1" + regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== +"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz#15e8746368bfa671785f5926ff74b3064c291fab" + integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -118,778 +112,634 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-member-expression-to-functions@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" - integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== - dependencies: - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.8" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.25.0", "@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@babel/helper-optimise-call-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f" - integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== - dependencies: - "@babel/types" "^7.24.7" - -"@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.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e" - integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-wrap-function" "^7.25.0" - "@babel/traverse" "^7.25.0" - -"@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" - integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.24.8" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/traverse" "^7.25.0" - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-skip-transparent-expression-wrappers@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9" - integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helper-wrap-function@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81" - integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ== - dependencies: - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/helpers@^7.25.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" - integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" +"@babel/helper-member-expression-to-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44" + integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-transforms@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz#e1663b8b71d2de948da5c4fb2a20ca4f3ec27a6f" + integrity sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/parser@^7.25.0", "@babel/parser@^7.25.6", "@babel/parser@^7.9.4": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" - integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== +"@babel/helper-optimise-call-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" + integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== + dependencies: + "@babel/types" "^7.27.1" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + +"@babel/helper-remap-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" + integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== dependencies: - "@babel/types" "^7.25.6" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-wrap-function" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": - version "7.25.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f" - integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA== +"@babel/helper-replace-supers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" + integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.3" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73" - integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA== +"@babel/helper-skip-transparent-expression-wrappers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" + integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== + +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73" - integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA== +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== + +"@babel/helper-wrap-function@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409" + integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz#e4eabdd5109acc399b38d7999b2ef66fc2022f89" - integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== +"@babel/helpers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.1.tgz#ffc27013038607cdba3288e692c3611c06a18aa4" + integrity sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" + "@babel/template" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb" - integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw== +"@babel/parser@^7.27.1", "@babel/parser@^7.27.2", "@babel/parser@^7.9.4": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.2.tgz#577518bedb17a2ce4212afd052e01f7df0941127" + integrity sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw== + dependencies: + "@babel/types" "^7.27.1" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9" + integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" + integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.0" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" + integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" + integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz#bb1c25af34d75115ce229a1de7fa44bf8f955670" + integrity sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@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/helper-plugin-utils" "^7.8.0" - -"@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== +"@babel/plugin-syntax-import-assertions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" + integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.27.1" -"@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== +"@babel/plugin-syntax-import-attributes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@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.8.0" - -"@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== +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-syntax-import-assertions@^7.24.7": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz#bb918905c58711b86f9710d74a3744b6c56573b5" - integrity sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ== +"@babel/plugin-transform-arrow-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" + integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz#6d4c78f042db0e82fd6436cd65fec5dc78ad2bde" - integrity sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ== +"@babel/plugin-transform-async-generator-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz#ca433df983d68e1375398e7ca71bf2a4f6fd89d7" + integrity sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== +"@babel/plugin-transform-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" + integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" -"@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== +"@babel/plugin-transform-block-scoped-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" + integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@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== +"@babel/plugin-transform-block-scoping@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz#bc0dbe8ac6de5602981ba58ef68c6df8ef9bfbb3" + integrity sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-plugin-utils" "^7.27.1" -"@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== +"@babel/plugin-transform-class-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" + integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@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== +"@babel/plugin-transform-class-static-block@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz#7e920d5625b25bbccd3061aefbcc05805ed56ce4" + integrity sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA== dependencies: - "@babel/helper-plugin-utils" "^7.10.4" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@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== +"@babel/plugin-transform-classes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz#03bb04bea2c7b2f711f0db7304a8da46a85cced4" + integrity sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/traverse" "^7.27.1" + globals "^11.1.0" -"@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== +"@babel/plugin-transform-computed-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" + integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/template" "^7.27.1" -"@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== +"@babel/plugin-transform-destructuring@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz#d5916ef7089cb254df0418ae524533c1b72ba656" + integrity sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q== dependencies: - "@babel/helper-plugin-utils" "^7.8.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@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== +"@babel/plugin-transform-dotall-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" + integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@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== +"@babel/plugin-transform-duplicate-keys@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" + integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" - integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec" + integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514" - integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-async-generator-functions@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz#2afd4e639e2d055776c9f091b6c0c180ed8cf083" - integrity sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-remap-async-to-generator" "^7.25.0" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/traverse" "^7.25.4" - -"@babel/plugin-transform-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz#72a3af6c451d575842a7e9b5a02863414355bdcc" - integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" - -"@babel/plugin-transform-block-scoped-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz#a4251d98ea0c0f399dafe1a35801eaba455bbf1f" - integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-block-scoping@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac" - integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/plugin-transform-class-properties@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz#bae7dbfcdcc2e8667355cd1fb5eda298f05189fd" - integrity sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.4" - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/plugin-transform-class-static-block@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz#c82027ebb7010bc33c116d4b5044fbbf8c05484d" - integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-classes@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz#d29dbb6a72d79f359952ad0b66d88518d65ef89a" - integrity sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/traverse" "^7.25.4" - globals "^11.1.0" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-computed-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz#4cab3214e80bc71fae3853238d13d097b004c707" - integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== +"@babel/plugin-transform-dynamic-import@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" + integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/template" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-destructuring@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" - integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== +"@babel/plugin-transform-exponentiation-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1" + integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-dotall-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz#5f8bf8a680f2116a7207e16288a5f974ad47a7a0" - integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== +"@babel/plugin-transform-export-namespace-from@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" + integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-duplicate-keys@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz#dd20102897c9a2324e5adfffb67ff3610359a8ee" - integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== +"@babel/plugin-transform-for-of@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" + integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604" - integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g== +"@babel/plugin-transform-function-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" + integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.0" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-dynamic-import@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4" - integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== +"@babel/plugin-transform-json-strings@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" + integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-exponentiation-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz#b629ee22645f412024297d5245bce425c31f9b0d" - integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== +"@babel/plugin-transform-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" + integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-export-namespace-from@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz#176d52d8d8ed516aeae7013ee9556d540c53f197" - integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== +"@babel/plugin-transform-logical-assignment-operators@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa" + integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-for-of@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz#f25b33f72df1d8be76399e1b8f3f9d366eb5bc70" - integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== +"@babel/plugin-transform-member-expression-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" + integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-function-name@^7.25.1": - version "7.25.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37" - integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA== +"@babel/plugin-transform-modules-amd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" + integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== dependencies: - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.1" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-json-strings@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz#f3e9c37c0a373fee86e36880d45b3664cedaf73a" - integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== +"@babel/plugin-transform-modules-commonjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" + integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-literals@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3" - integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw== +"@babel/plugin-transform-modules-systemjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed" + integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-logical-assignment-operators@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz#a58fb6eda16c9dc8f9ff1c7b1ba6deb7f4694cb0" - integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== +"@babel/plugin-transform-modules-umd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" + integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-member-expression-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz#3b4454fb0e302e18ba4945ba3246acb1248315df" - integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" + integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-modules-amd@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz#65090ed493c4a834976a3ca1cde776e6ccff32d7" - integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== - dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-commonjs@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" - integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== +"@babel/plugin-transform-new-target@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" + integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== dependencies: - "@babel/helper-module-transforms" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33" - integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw== - dependencies: - "@babel/helper-module-transforms" "^7.25.0" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.0" - -"@babel/plugin-transform-modules-umd@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz#edd9f43ec549099620df7df24e7ba13b5c76efc8" - integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== - dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz#9042e9b856bc6b3688c0c2e4060e9e10b1460923" - integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-new-target@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz#31ff54c4e0555cc549d5816e4ab39241dfb6ab00" - integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" + integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz#1de4534c590af9596f53d67f52a92f12db984120" - integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== +"@babel/plugin-transform-numeric-separator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" + integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz#bea62b538c80605d8a0fac9b40f48e97efa7de63" - integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== +"@babel/plugin-transform-object-rest-spread@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz#67f9ab822347aa2bcee91e8996763da79bdea973" + integrity sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz#d13a2b93435aeb8a197e115221cab266ba6e55d6" - integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== +"@babel/plugin-transform-object-super@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" + integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" -"@babel/plugin-transform-object-super@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz#66eeaff7830bba945dd8989b632a40c04ed625be" - integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== +"@babel/plugin-transform-optional-catch-binding@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" + integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-catch-binding@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz#00eabd883d0dd6a60c1c557548785919b6e717b4" - integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== +"@babel/plugin-transform-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" + integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" - integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== +"@babel/plugin-transform-parameters@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz#80334b54b9b1ac5244155a0c8304a187a618d5a7" + integrity sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-parameters@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz#5881f0ae21018400e320fc7eb817e529d1254b68" - integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== +"@babel/plugin-transform-private-methods@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" + integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz#9bbefbe3649f470d681997e0b64a4b254d877242" - integrity sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw== +"@babel/plugin-transform-private-property-in-object@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" + integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.4" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-property-in-object@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz#4eec6bc701288c1fab5f72e6a4bbc9d67faca061" - integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== +"@babel/plugin-transform-property-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" + integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-property-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz#f0d2ed8380dfbed949c42d4d790266525d63bbdc" - integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== +"@babel/plugin-transform-regenerator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz#0a471df9213416e44cd66bf67176b66f65768401" + integrity sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regenerator@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz#021562de4534d8b4b1851759fd7af4e05d2c47f8" - integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== +"@babel/plugin-transform-regexp-modifiers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09" + integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - regenerator-transform "^0.15.2" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-reserved-words@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz#80037fe4fbf031fc1125022178ff3938bb3743a4" - integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== +"@babel/plugin-transform-reserved-words@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" + integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-shorthand-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz#85448c6b996e122fa9e289746140aaa99da64e73" - integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== +"@babel/plugin-transform-shorthand-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" + integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz#e8a38c0fde7882e0fb8f160378f74bd885cc7bb3" - integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== +"@babel/plugin-transform-spread@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" + integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-sticky-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz#96ae80d7a7e5251f657b5cf18f1ea6bf926f5feb" - integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== +"@babel/plugin-transform-sticky-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" + integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-template-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz#a05debb4a9072ae8f985bcf77f3f215434c8f8c8" - integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== +"@babel/plugin-transform-template-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" + integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-typeof-symbol@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" - integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== +"@babel/plugin-transform-typeof-symbol@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" + integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-escapes@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz#2023a82ced1fb4971630a2e079764502c4148e0e" - integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== +"@babel/plugin-transform-unicode-escapes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" + integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-property-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz#9073a4cd13b86ea71c3264659590ac086605bbcd" - integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== +"@babel/plugin-transform-unicode-property-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" + integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz#dfc3d4a51127108099b19817c0963be6a2adf19f" - integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== +"@babel/plugin-transform-unicode-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" + integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-unicode-sets-regex@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz#be664c2a0697ffacd3423595d5edef6049e8946c" - integrity sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA== +"@babel/plugin-transform-unicode-sets-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" + integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/preset-env@^7.22.10": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.25.4.tgz#be23043d43a34a2721cd0f676c7ba6f1481f6af6" - integrity sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw== - dependencies: - "@babel/compat-data" "^7.25.4" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.27.2.tgz#106e6bfad92b591b1f6f76fd4cf13b7725a7bf9a" + integrity sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ== + dependencies: + "@babel/compat-data" "^7.27.2" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.27.1" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@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-import-assertions" "^7.24.7" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@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-syntax-import-assertions" "^7.27.1" + "@babel/plugin-syntax-import-attributes" "^7.27.1" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.25.4" - "@babel/plugin-transform-async-to-generator" "^7.24.7" - "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.25.0" - "@babel/plugin-transform-class-properties" "^7.25.4" - "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.25.4" - "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.8" - "@babel/plugin-transform-dotall-regex" "^7.24.7" - "@babel/plugin-transform-duplicate-keys" "^7.24.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" - "@babel/plugin-transform-dynamic-import" "^7.24.7" - "@babel/plugin-transform-exponentiation-operator" "^7.24.7" - "@babel/plugin-transform-export-namespace-from" "^7.24.7" - "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.25.1" - "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.25.2" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" - "@babel/plugin-transform-member-expression-literals" "^7.24.7" - "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.8" - "@babel/plugin-transform-modules-systemjs" "^7.25.0" - "@babel/plugin-transform-modules-umd" "^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" - "@babel/plugin-transform-new-target" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-numeric-separator" "^7.24.7" - "@babel/plugin-transform-object-rest-spread" "^7.24.7" - "@babel/plugin-transform-object-super" "^7.24.7" - "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.8" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.25.4" - "@babel/plugin-transform-private-property-in-object" "^7.24.7" - "@babel/plugin-transform-property-literals" "^7.24.7" - "@babel/plugin-transform-regenerator" "^7.24.7" - "@babel/plugin-transform-reserved-words" "^7.24.7" - "@babel/plugin-transform-shorthand-properties" "^7.24.7" - "@babel/plugin-transform-spread" "^7.24.7" - "@babel/plugin-transform-sticky-regex" "^7.24.7" - "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.8" - "@babel/plugin-transform-unicode-escapes" "^7.24.7" - "@babel/plugin-transform-unicode-property-regex" "^7.24.7" - "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.4" + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-async-generator-functions" "^7.27.1" + "@babel/plugin-transform-async-to-generator" "^7.27.1" + "@babel/plugin-transform-block-scoped-functions" "^7.27.1" + "@babel/plugin-transform-block-scoping" "^7.27.1" + "@babel/plugin-transform-class-properties" "^7.27.1" + "@babel/plugin-transform-class-static-block" "^7.27.1" + "@babel/plugin-transform-classes" "^7.27.1" + "@babel/plugin-transform-computed-properties" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.1" + "@babel/plugin-transform-dotall-regex" "^7.27.1" + "@babel/plugin-transform-duplicate-keys" "^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-dynamic-import" "^7.27.1" + "@babel/plugin-transform-exponentiation-operator" "^7.27.1" + "@babel/plugin-transform-export-namespace-from" "^7.27.1" + "@babel/plugin-transform-for-of" "^7.27.1" + "@babel/plugin-transform-function-name" "^7.27.1" + "@babel/plugin-transform-json-strings" "^7.27.1" + "@babel/plugin-transform-literals" "^7.27.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.27.1" + "@babel/plugin-transform-member-expression-literals" "^7.27.1" + "@babel/plugin-transform-modules-amd" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-modules-systemjs" "^7.27.1" + "@babel/plugin-transform-modules-umd" "^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-new-target" "^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" + "@babel/plugin-transform-numeric-separator" "^7.27.1" + "@babel/plugin-transform-object-rest-spread" "^7.27.2" + "@babel/plugin-transform-object-super" "^7.27.1" + "@babel/plugin-transform-optional-catch-binding" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.1" + "@babel/plugin-transform-private-methods" "^7.27.1" + "@babel/plugin-transform-private-property-in-object" "^7.27.1" + "@babel/plugin-transform-property-literals" "^7.27.1" + "@babel/plugin-transform-regenerator" "^7.27.1" + "@babel/plugin-transform-regexp-modifiers" "^7.27.1" + "@babel/plugin-transform-reserved-words" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-spread" "^7.27.1" + "@babel/plugin-transform-sticky-regex" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-typeof-symbol" "^7.27.1" + "@babel/plugin-transform-unicode-escapes" "^7.27.1" + "@babel/plugin-transform-unicode-property-regex" "^7.27.1" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.27.1" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.6" + babel-plugin-polyfill-corejs3 "^0.11.0" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.37.1" + core-js-compat "^3.40.0" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -901,53 +751,40 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.8.4": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" - integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.24.7", "@babel/template@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3", "@babel/traverse@^7.25.4": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" - integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.6" - "@babel/parser" "^7.25.6" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" +"@babel/template@^7.27.1": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" + integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.1" + "@babel/parser" "^7.27.1" + "@babel/template" "^7.27.1" + "@babel/types" "^7.27.1" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6", "@babel/types@^7.4.4": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== +"@babel/types@^7.27.1", "@babel/types@^7.4.4": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.1.tgz#9defc53c16fc899e46941fc6901a9eea1c9d8560" + integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" "@bufbuild/protobuf@^2.0.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.1.0.tgz#6925f30c25789b4f74d7c505e731c96f79fb48a7" - integrity sha512-+2Mx67Y3skJ4NCD/qNSdBJNWtu6x6Qr53jeNg+QcwiL6mt0wK+3jwHH2x1p7xaYH6Ve2JKOVn0OxU35WsmqI9A== + version "2.4.0" + resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.4.0.tgz#ef6bfd2fc0374a95a4904cdc5fd8e02cc999cf73" + integrity sha512-RN9M76x7N11QRihKovEglEjjVCQEA9PRBVnDgk9xw8JHLrcUrp4FpAVSPSH91cNbcTft3u2vpLN4GMbiKY9PJw== "@commitlint/cli@^17.7.1": version "17.8.1" @@ -980,12 +817,12 @@ "@commitlint/types" "^17.8.1" ajv "^8.11.0" -"@commitlint/config-validator@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-19.5.0.tgz#f0a4eda2109fc716ef01bb8831af9b02e3a1e568" - integrity sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw== +"@commitlint/config-validator@^19.8.1": + version "19.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-19.8.1.tgz#29e9bb1360fa41b9439b23d8e25deaaf097306b5" + integrity sha512-0jvJ4u+eqGPBIzzSdqKNX1rvdbSU1lPNYlfQQRIFnBgLy26BtC0cFnr7c/AyuzExMxWsMOte6MkTi9I3SQ3iGQ== dependencies: - "@commitlint/types" "^19.5.0" + "@commitlint/types" "^19.8.1" ajv "^8.11.0" "@commitlint/ensure@^17.8.1": @@ -1005,10 +842,10 @@ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.8.1.tgz#504ed69eb61044eeb84fdfd10cc18f0dab14f34c" integrity sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ== -"@commitlint/execute-rule@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-19.5.0.tgz#c13da8c03ea0379f30856111e27d57518e25b8a2" - integrity sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg== +"@commitlint/execute-rule@^19.8.1": + version "19.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-19.8.1.tgz#53000363b737773e2d25e97c20f15eaa78742067" + integrity sha512-YfJyIqIKWI64Mgvn/sE7FXvVMQER/Cd+s3hZke6cI1xgNT/f6ZAz5heND0QtffH+KbcqAwXDEE1/5niYayYaQA== "@commitlint/format@^17.8.1": version "17.8.1" @@ -1037,17 +874,17 @@ "@commitlint/types" "^17.8.1" "@commitlint/load@>6.1.1": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-19.5.0.tgz#67f90a294894d1f99b930b6152bed2df44a81794" - integrity sha512-INOUhkL/qaKqwcTUvCE8iIUf5XHsEPCLY9looJ/ipzi7jtGhgmtH7OOFiNvwYgH7mA8osUWOUDV8t4E2HAi4xA== - dependencies: - "@commitlint/config-validator" "^19.5.0" - "@commitlint/execute-rule" "^19.5.0" - "@commitlint/resolve-extends" "^19.5.0" - "@commitlint/types" "^19.5.0" + version "19.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-19.8.1.tgz#b997b1f65a961bf0a47189f15f6dc8786ceb4576" + integrity sha512-9V99EKG3u7z+FEoe4ikgq7YGRCSukAcvmKQuTtUyiYPnOd9a2/H9Ak1J9nJA1HChRQp9OA/sIKPugGS+FK/k1A== + dependencies: + "@commitlint/config-validator" "^19.8.1" + "@commitlint/execute-rule" "^19.8.1" + "@commitlint/resolve-extends" "^19.8.1" + "@commitlint/types" "^19.8.1" chalk "^5.3.0" cosmiconfig "^9.0.0" - cosmiconfig-typescript-loader "^5.0.0" + cosmiconfig-typescript-loader "^6.1.0" lodash.isplainobject "^4.0.6" lodash.merge "^4.6.2" lodash.uniq "^4.5.0" @@ -1109,13 +946,13 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/resolve-extends@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-19.5.0.tgz#f3ec33e12d10df90cae0bfad8e593431fb61b18e" - integrity sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA== +"@commitlint/resolve-extends@^19.8.1": + version "19.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-19.8.1.tgz#a44bb4c22e3e7d407cc9a3758fcf58f5c360b694" + integrity sha512-GM0mAhFk49I+T/5UCYns5ayGStkTt4XFFrjjf0L4S26xoMTSkdCf9ZRO8en1kuopC4isDFuEm7ZOm/WRVeElVg== dependencies: - "@commitlint/config-validator" "^19.5.0" - "@commitlint/types" "^19.5.0" + "@commitlint/config-validator" "^19.8.1" + "@commitlint/types" "^19.8.1" global-directory "^4.0.1" import-meta-resolve "^4.0.0" lodash.mergewith "^4.6.2" @@ -1151,10 +988,10 @@ dependencies: chalk "^4.1.0" -"@commitlint/types@^19.5.0": - version "19.5.0" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-19.5.0.tgz#c5084d1231d4dd50e40bdb656ee7601f691400b3" - integrity sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg== +"@commitlint/types@^19.8.1": + version "19.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-19.8.1.tgz#7971fbd56b0cfb31692a4e1941b74ac8217c44e5" + integrity sha512-/yCrWGCoA1SVKOks25EGadP9Pnj0oAIHGpl2wH2M2Y46dPM2ueb8wyCVOD7O3WCTkaJ0IkKvzhl1JY7+uCT2Dw== dependencies: "@types/conventional-commits-parser" "^5.0.0" chalk "^5.3.0" @@ -1205,9 +1042,9 @@ "@sinclair/typebox" "^0.27.8" "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -1244,7 +1081,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": +"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== @@ -1252,6 +1089,27 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + "@one-ini/wasm@0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@one-ini/wasm/-/wasm-0.1.1.tgz#6013659736c9dbfccc96e8a9c2b3de317df39323" @@ -1334,35 +1192,46 @@ integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/conventional-commits-parser@^5.0.0": - version "5.0.0" - resolved "https://registry.yarnpkg.com/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.0.tgz#8c9d23e0b415b24b91626d07017303755d542dc8" - integrity sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ== + version "5.0.1" + resolved "https://registry.yarnpkg.com/@types/conventional-commits-parser/-/conventional-commits-parser-5.0.1.tgz#8cb81cf170853496cbc501a3b32dcf5e46ffb61a" + integrity sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ== dependencies: "@types/node" "*" -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - "@types/cors@^2.8.12": - version "2.8.17" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.17.tgz#5d718a5e494a8166f569d986794e49c48b216b2b" - integrity sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA== + version "2.8.18" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.18.tgz#101e033b3ca06695f3d73c587cd7f9eb348135d1" + integrity sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA== dependencies: "@types/node" "*" -"@types/estree@^1.0.5": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== +"@types/eslint-scope@^3.7.7": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.6": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== "@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/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== @@ -1396,11 +1265,11 @@ integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== "@types/node@*", "@types/node@>=10.0.0": - version "22.7.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.3.tgz#7ddf1ddf13078692b4cfadb835852b2a718ee1ef" - integrity sha512-qXKfhXXqGTyBskvWEzJZPUxSslAiLaB6JGP1ic/XTH9ctGgzdgYguuLP1C601aRTSDNlLb0jbKqXjZ48GNraSA== + version "22.15.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.21.tgz#196ef14fe20d87f7caf1e7b39832767f9a995b77" + integrity sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ== dependencies: - undici-types "~6.19.2" + undici-types "~6.21.0" "@types/node@20.5.1": version "20.5.1" @@ -1427,125 +1296,125 @@ dependencies: "@types/node" "*" -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" + integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-numbers" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== +"@webassemblyjs/floating-point-hex-parser@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" + integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== +"@webassemblyjs/helper-api-error@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" + integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== +"@webassemblyjs/helper-buffer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" + integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== +"@webassemblyjs/helper-numbers@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" + integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/floating-point-hex-parser" "1.13.2" + "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== +"@webassemblyjs/helper-wasm-bytecode@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" + integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== +"@webassemblyjs/helper-wasm-section@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" + integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw== dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== +"@webassemblyjs/ieee754@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" + integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== +"@webassemblyjs/leb128@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" + integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw== dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" +"@webassemblyjs/utf8@1.13.2": + version "1.13.2" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" + integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== + +"@webassemblyjs/wasm-edit@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" + integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/helper-wasm-section" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-opt" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + "@webassemblyjs/wast-printer" "1.14.1" + +"@webassemblyjs/wasm-gen@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" + integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wasm-opt@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" + integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-buffer" "1.14.1" + "@webassemblyjs/wasm-gen" "1.14.1" + "@webassemblyjs/wasm-parser" "1.14.1" + +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" + integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== + dependencies: + "@webassemblyjs/ast" "1.14.1" + "@webassemblyjs/helper-api-error" "1.13.2" + "@webassemblyjs/helper-wasm-bytecode" "1.13.2" + "@webassemblyjs/ieee754" "1.13.2" + "@webassemblyjs/leb128" "1.13.2" + "@webassemblyjs/utf8" "1.13.2" + +"@webassemblyjs/wast-printer@1.14.1": + version "1.14.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" + integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw== + dependencies: + "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -1606,11 +1475,6 @@ acorn-globals@^1.0.4: dependencies: acorn "^2.1.0" -acorn-import-attributes@^1.9.5: - version "1.9.5" - resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" - integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== - acorn-jsx@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" @@ -1655,10 +1519,10 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.11.0, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== agent-base@6: version "6.0.2" @@ -1679,11 +1543,6 @@ ajv-keywords@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" integrity sha512-vuBv+fm2s6cqUyey2A7qYcvsik+GMDJsw8BARP2sDE76cqmaZVarsvHf7Vx6VJ0Xk8gLl+u3MoAPf6gKzJefeA== -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-keywords@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" @@ -1699,7 +1558,7 @@ ajv@^4.7.0: co "^4.6.0" json-stable-stringify "^1.0.1" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2132,15 +1991,15 @@ atob@^2.1.2: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^10.4.15: - version "10.4.20" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.20.tgz#5caec14d43976ef42e32dcb4bd62878e96be5b3b" - integrity sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g== + version "10.4.21" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" + integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== dependencies: - browserslist "^4.23.3" - caniuse-lite "^1.0.30001646" + browserslist "^4.24.4" + caniuse-lite "^1.0.30001702" fraction.js "^4.3.7" normalize-range "^0.1.2" - picocolors "^1.0.1" + picocolors "^1.1.1" postcss-value-parser "^4.2.0" aws-sign2@~0.7.0: @@ -2174,28 +2033,28 @@ babel-loader@^9.1.3: schema-utils "^4.0.0" babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + version "0.4.13" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" + integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.4" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.6: - version "0.10.6" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" - integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== +babel-plugin-polyfill-corejs3@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" + integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" - core-js-compat "^3.38.0" + "@babel/helper-define-polyfill-provider" "^0.6.3" + core-js-compat "^3.40.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + version "0.6.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" + integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.4" babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" @@ -2226,9 +2085,9 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== bare-events@^2.2.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.5.0.tgz#305b511e262ffd8b9d5616b056464f8e1b3329cc" - integrity sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A== + version "2.5.4" + resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.5.4.tgz#16143d435e1ed9eafd1ab85f12b89b3357a41745" + integrity sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA== base64-js@^1.3.1: version "1.5.1" @@ -2425,15 +2284,15 @@ browser-sync@^2.29.3: ua-parser-js "^1.0.33" yargs "^17.3.1" -browserslist@^4.21.10, browserslist@^4.23.1, browserslist@^4.23.3: - version "4.24.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" - integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== +browserslist@^4.24.0, browserslist@^4.24.4: + version "4.24.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.5.tgz#aa0f5b8560fe81fde84c6dcb38f759bafba0e11b" + integrity sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw== dependencies: - caniuse-lite "^1.0.30001663" - electron-to-chromium "^1.5.28" - node-releases "^2.0.18" - update-browserslist-db "^1.1.0" + caniuse-lite "^1.0.30001716" + electron-to-chromium "^1.5.149" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" browserstack-runner@^0.9.4: version "0.9.4" @@ -2543,16 +2402,31 @@ cachedir@2.3.0: resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== -call-bind@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" caller-path@^0.1.0: version "0.1.0" @@ -2608,10 +2482,10 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001646, caniuse-lite@^1.0.30001662, caniuse-lite@^1.0.30001663: - version "1.0.30001664" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz#d588d75c9682d3301956b05a3749652a80677df4" - integrity sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g== +caniuse-lite@^1.0.30001669, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001716: + version "1.0.30001718" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz#dae13a9c80d517c30c6197515a96131c194d8f82" + integrity sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw== capitalize@^1.0.0: version "1.0.0" @@ -2703,9 +2577,9 @@ chalk@^3.0.0: supports-color "^7.1.0" chalk@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + version "5.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== chardet@^0.7.0: version "0.7.0" @@ -3281,10 +3155,10 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -cookie@~0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== +cookie@~0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.2.tgz#556369c472a2ba910f2979891b526b3436237ed7" + integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w== copy-descriptor@^0.1.0: version "0.1.1" @@ -3299,12 +3173,12 @@ copy-props@^2.0.1: each-props "^1.3.2" is-plain-object "^5.0.0" -core-js-compat@^3.37.1, core-js-compat@^3.38.0: - version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" - integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== +core-js-compat@^3.40.0: + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.42.0.tgz#ce19c29706ee5806e26d3cb3c542d4cfc0ed51bb" + integrity sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ== dependencies: - browserslist "^4.23.3" + browserslist "^4.24.4" core-js@^2.4.0: version "2.6.12" @@ -3341,12 +3215,12 @@ cosmiconfig-typescript-loader@^4.0.0: resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.4.0.tgz#f3feae459ea090f131df5474ce4b1222912319f9" integrity sha512-BabizFdC3wBHhbI4kJh0VkQP9GkBfoHPydD0COMce1nJ1kJAB3F2TmJ/I7diULBKtmEWSwEbuN/KDtgnmUUVmw== -cosmiconfig-typescript-loader@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-5.0.0.tgz#0d3becfe022a871f7275ceb2397d692e06045dc8" - integrity sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA== +cosmiconfig-typescript-loader@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.1.0.tgz#7f644503e1c2bff90aed2d29a637008f279646bb" + integrity sha512-tJ1w35ZRUiM5FeTzT7DtYWAFFv37ZLqSRkGi2oeCK1gPhvaWjkAtfXvLmvE1pRfxxp9aQo6ba/Pvg1dKj05D4g== dependencies: - jiti "^1.19.1" + jiti "^2.4.1" cosmiconfig@^8.0.0: version "8.3.6" @@ -3397,9 +3271,9 @@ cross-spawn@^2.1.4: spawn-sync "^1.0.15" cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + version "6.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.6.tgz#30d0efa0712ddb7eb5a76e1e8721bffafa6b5d57" + integrity sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw== dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -3407,10 +3281,10 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, 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== +cross-spawn@^7.0.3, cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -3555,10 +3429,10 @@ debug@3.X: dependencies: ms "^2.1.1" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.5, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.5: + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: ms "^2.1.3" @@ -3576,6 +3450,13 @@ debug@4.3.4: dependencies: ms "2.1.2" +debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" @@ -3788,12 +3669,12 @@ doctrine@^3.0.0: esutils "^2.0.2" doiuse@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-6.0.3.tgz#5bd0bc484cece4418d9df17d53d5da26fee466dc" - integrity sha512-cgu7al1yxHpRS+Q+ru3LQYUDttoPBGYgY7JunTdr0VeFMjBAwXVHTyZxn48ZOuxpBB30W52kOK6mwbduuqNboQ== + version "6.0.5" + resolved "https://registry.yarnpkg.com/doiuse/-/doiuse-6.0.5.tgz#de24707721f879b488f67dc9f72761c5b5203d30" + integrity sha512-ljuf9ndGqKST0GlPAYyCg04hbQAeR1xIIWVDjQaDDkoTY/Y1Vb+8FNoy6NuVuJIEEKe/nKUH8NRWjG7JJxZ9Eg== dependencies: - browserslist "^4.23.3" - caniuse-lite "^1.0.30001662" + browserslist "^4.24.0" + caniuse-lite "^1.0.30001669" css-tokenize "^1.0.1" duplexify "^4.1.3" multimatch "^5.0.0" @@ -3874,9 +3755,9 @@ domutils@^1.5.1: domelementtype "1" domutils@^3.0.1, domutils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + version "3.2.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== dependencies: dom-serializer "^2.0.0" domelementtype "^2.3.0" @@ -3889,6 +3770,15 @@ dot-prop@^5.1.0, dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer2@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" @@ -3954,9 +3844,9 @@ easy-extender@^2.3.4: lodash "^4.17.10" eazy-logger@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-4.0.1.tgz#2e9fe487fb14ed6ac20d5f01d90dff377d403041" - integrity sha512-2GSFtnnC6U4IEKhEI7+PvdxrmjJ04mdsj3wHZTFiw0tUtG4HCWzTr13ZYTk8XOGnA1xQMaDljoBOYlk3D/MMSw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-4.1.0.tgz#d4dae8688b0d730ba1ae6065410b7a51df9990b4" + integrity sha512-+mn7lRm+Zf1UT/YaH8WXtpU6PIV2iOjzP6jgKoiaq/VNrjYKp+OHZGe2znaLgDeFkw8cL9ffuaUm+nNnzcYyGw== dependencies: chalk "4.1.2" @@ -3983,10 +3873,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.5.28: - version "1.5.29" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz#aa592a3caa95d07cc26a66563accf99fa573a1ee" - integrity sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw== +electron-to-chromium@^1.5.149: + version "1.5.155" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.155.tgz#809dd0ae9ae1db87c358e0c0c17c09a2ffc432d1" + integrity sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng== emoji-regex@^7.0.1: version "7.0.3" @@ -4029,9 +3919,9 @@ ends-with@^0.2.0: integrity sha512-lRppY4dK3VkqBdR242sKcAJeYc8Gf/DhoX9AWvWI2RzccmLnqBQfwm2k4oSDv5MPDjUqawCauXhZkyWxkVhRsg== engine.io-client@~6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.6.1.tgz#28a9cc4e90d448e1d0ba9369ad08a7af82f9956a" - integrity sha512-aYuoak7I+R83M/BBPIOs2to51BmFIpC1wZe6zZzMrT2llVsHy5cvcmdsJgP2Qz6smHu+sD9oexiSUAVd8OfBPw== + version "6.6.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.6.3.tgz#815393fa24f30b8e6afa8f77ccca2f28146be6de" + integrity sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" @@ -4045,25 +3935,24 @@ engine.io-parser@~5.2.1: integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== engine.io@~6.6.0: - version "6.6.1" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.6.1.tgz#a82b1e5511239a0e95fac14516870ee9138febc8" - integrity sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og== + version "6.6.4" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.6.4.tgz#0a89a3e6b6c1d4b0c2a2a637495e7c149ec8d8ee" + integrity sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g== dependencies: - "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" "@types/node" ">=10.0.0" accepts "~1.3.4" base64id "2.0.0" - cookie "~0.4.1" + cookie "~0.7.2" cors "~2.8.5" debug "~4.3.1" engine.io-parser "~5.2.1" ws "~8.17.1" enhanced-resolve@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -4083,11 +3972,16 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.2.0, entities@^4.4.0, entities@^4.5.0: +entities@^4.2.0, entities@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +entities@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.0.tgz#09c9e29cb79b0a6459a9b9db9efb418ac5bb8e51" + integrity sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw== + entities@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" @@ -4112,12 +4006,10 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== es-errors@^1.3.0: version "1.3.0" @@ -4125,9 +4017,16 @@ es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.2.1: - version "1.5.4" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" - integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14, es5-ext@~0.10.2: version "0.10.64" @@ -4461,7 +4360,7 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@^5.0.0: +execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -4606,6 +4505,17 @@ fast-fifo@^1.3.2: resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== +fast-glob@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -4622,9 +4532,16 @@ fast-levenshtein@~2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.2.tgz#d78b298cf70fd3b752fd951175a3da6a7b48f024" - integrity sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row== + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + +fastq@^1.6.0: + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== + dependencies: + reusify "^1.0.4" fd-slicer@~1.1.0: version "1.1.0" @@ -4882,11 +4799,11 @@ for-own@^1.0.0: for-in "^1.0.1" foreground-child@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" - integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" + integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== dependencies: - cross-spawn "^7.0.0" + cross-spawn "^7.0.6" signal-exit "^4.0.1" forever-agent@~0.6.1: @@ -5001,9 +4918,9 @@ fs-extra@9.1.0, fs-extra@^9.0.0: universalify "^2.0.0" fs-extra@^11.0.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + version "11.3.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -5092,16 +5009,29 @@ get-func-name@^2.0.1, get-func-name@^2.0.2: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.2.4, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" get-stdin@^4.0.1: version "4.0.1" @@ -5158,7 +5088,7 @@ glob-all@^3.1.0: glob "^7.2.3" yargs "^15.3.1" -glob-parent@>=5.1.2, glob-parent@^3.1.0, glob-parent@^5.0.0, glob-parent@~5.1.2: +glob-parent@>=5.1.2, glob-parent@^3.1.0, glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -5218,7 +5148,7 @@ glob@7.2.3, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4, glo once "^1.3.0" path-is-absolute "^1.0.0" -glob@^10.3.3: +glob@^10.4.2: version "10.4.5" resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== @@ -5348,12 +5278,10 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^9.6.0: version "9.6.0" @@ -5747,15 +5675,10 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-value@^0.3.1: version "0.3.1" @@ -5881,9 +5804,9 @@ htmlparser2@~3.8.1: readable-stream "1.1" http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" + integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== http-errors@2.0.0: version "2.0.0" @@ -5976,15 +5899,15 @@ immutable@^3: resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" integrity sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg== -immutable@^4.0.0: - version "4.3.7" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.7.tgz#c70145fc90d89fb02021e65c84eb0226e4e5a381" - integrity sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw== +immutable@^5.0.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.2.tgz#e8169476414505e5a4fa650107b65e1227d16d4b" + integrity sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ== import-fresh@^3.0.0, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -6113,7 +6036,7 @@ inquirer@^7.0.0: strip-ansi "^6.0.0" through "^2.3.6" -interpret@^1.0.0, interpret@^1.4.0: +interpret@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== @@ -6169,10 +6092,10 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.13.0, is-core-module@^2.5.0: - version "2.15.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" - integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== +is-core-module@^2.16.0, is-core-module@^2.5.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: hasown "^2.0.2" @@ -6513,10 +6436,10 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" -jiti@^1.19.1: - version "1.21.6" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" - integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== +jiti@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.4.2.tgz#d19b7732ebb6116b06e2038da74a55366faef560" + integrity sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A== jquery@>=1.11, jquery@>=3.6.0: version "3.7.1" @@ -6524,15 +6447,15 @@ jquery@>=1.11, jquery@>=3.6.0: integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== js-beautify@^1.14.4: - version "1.15.1" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.15.1.tgz#4695afb508c324e1084ee0b952a102023fc65b64" - integrity sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA== + version "1.15.4" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.15.4.tgz#f579f977ed4c930cef73af8f98f3f0a608acd51e" + integrity sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA== dependencies: config-chain "^1.1.13" editorconfig "^1.0.4" - glob "^10.3.3" + glob "^10.4.2" js-cookie "^3.0.5" - nopt "^7.2.0" + nopt "^7.2.1" js-cookie@^3.0.5: version "3.0.5" @@ -6640,15 +6563,15 @@ jsdom@^7.0.2: whatwg-url-compat "~0.6.5" xml-name-validator ">= 2.0.1 < 3.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== json-buffer@3.0.0: version "3.0.0" @@ -6681,11 +6604,12 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1, json-stable-stringify@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz#52d4361b47d49168bcc4e564189a42e5a7439454" - integrity sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg== + version "1.3.0" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz#8903cfac42ea1a0f97f35d63a4ce0518f0cc6a70" + integrity sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.4" isarray "^2.0.5" jsonify "^0.0.1" object-keys "^1.1.1" @@ -6892,9 +6816,9 @@ liftoff@^3.1.0: resolve "^1.1.7" lilconfig@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== limiter@^1.0.5: version "1.1.5" @@ -7439,6 +7363,11 @@ matchdep@^2.0.0: resolve "^1.4.0" stack-trace "0.0.10" +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + md5@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" @@ -7502,6 +7431,11 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + merge@>=2.1.1, merge@^1.2.0, merge@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98" @@ -7526,7 +7460,7 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -7670,9 +7604,9 @@ mocha-headless-chrome@^4.0.0: puppeteer "^13.1.3" mocha@^10.7.3: - version "10.7.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" - integrity sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A== + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== dependencies: ansi-colors "^4.1.3" browser-stdout "^1.3.1" @@ -7771,14 +7705,14 @@ mute-stream@0.0.8: integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nan@^2.12.1: - version "2.20.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.20.0.tgz#08c5ea813dd54ed16e5bd6505bf42af4f7838ca3" - integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw== + version "2.22.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.22.2.tgz#6b504fd029fb8f38c0990e52ad5c26772fdacfbb" + integrity sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ== -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^3.3.8: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== nanomatch@^1.2.9: version "1.2.13" @@ -7847,10 +7781,10 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== nopt@^4.0.1: version "4.0.3" @@ -7860,7 +7794,7 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -nopt@^7.2.0: +nopt@^7.2.1: version "7.2.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7" integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w== @@ -8001,13 +7935,15 @@ object-visit@^1.0.0: isobject "^3.0.0" object.assign@^4.0.4, object.assign@^4.1.0: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" object.defaults@^1.0.0, object.defaults@^1.1.0: @@ -8300,11 +8236,11 @@ parse-passwd@^1.0.0: integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + version "7.1.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" + integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== dependencies: - domhandler "^5.0.2" + domhandler "^5.0.3" parse5 "^7.0.0" parse5-parser-stream@^7.1.2: @@ -8320,11 +8256,11 @@ parse5@^1.5.1: integrity sha512-w2jx/0tJzvgKwZa58sj2vAYq/S/K1QJfIB3cWYea/Iu1scFPDQQ3IQiVZTHWtRBwAjv2Yd7S/xeZf3XqLDb3bA== parse5@^7.0.0, parse5@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.3.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== dependencies: - entities "^4.4.0" + entities "^6.0.0" parseurl@~1.3.2: version "1.3.3" @@ -8467,10 +8403,10 @@ picocolors@^0.2.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== -picocolors@^1.0.0, picocolors@^1.0.1, picocolors@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== +picocolors@^1.0.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" @@ -8576,12 +8512,12 @@ postcss@^7.0.16: source-map "^0.6.1" postcss@^8.4.28, postcss@^8.4.47: - version "8.4.47" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" - integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== + version "8.5.3" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.3.tgz#1463b6f1c7fb16fe258736cba29a2de35237eafb" + integrity sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A== dependencies: - nanoid "^3.3.7" - picocolors "^1.1.0" + nanoid "^3.3.8" + picocolors "^1.1.1" source-map-js "^1.2.1" prelude-ls@~1.1.2: @@ -8657,9 +8593,11 @@ pseudomap@^1.0.2: integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== psl@^1.1.28: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + version "1.15.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" pump@^2.0.0: version "2.0.1" @@ -8686,7 +8624,7 @@ pumpify@^1.3.5: inherits "^2.0.3" pump "^2.0.0" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== @@ -8731,10 +8669,10 @@ querystring@^0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== -queue-tick@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142" - integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== quick-lru@^4.0.1: version "4.0.1" @@ -8918,7 +8856,7 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -regenerate-unicode-properties@^10.1.0: +regenerate-unicode-properties@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== @@ -8935,18 +8873,6 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -8960,15 +8886,15 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== dependencies: - "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.12.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" @@ -8986,12 +8912,17 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== dependencies: - jsesc "~0.5.0" + jsesc "~3.0.2" relateurl@0.2.x: version "0.2.7" @@ -9187,11 +9118,11 @@ resolve@1.1.7: integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.4.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -9231,6 +9162,11 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +reusify@^1.0.4: + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== + rimraf@2.*, rimraf@^2.2.8, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -9286,6 +9222,13 @@ run-async@^2.4.0: resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" @@ -9304,9 +9247,9 @@ rxjs@^6.6.0: tslib "^1.9.0" rxjs@^7.4.0, rxjs@^7.5.5: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + version "7.8.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b" + integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA== dependencies: tslib "^2.1.0" @@ -9358,139 +9301,140 @@ sass-convert@^0.5.0: through2 "^2.0.0" which "^1.0.5" -sass-embedded-android-arm64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.79.3.tgz#402228ed3438ab9d7486150f1e1aaed1020ef88c" - integrity sha512-Wqm/WKHIDQl7w7eIQRO/GQ7EXfnwNpipCyJL7Xtb15vSAV64J4/0D/esy6GOPlVG+qcu8/XN8NV7Bf5wZ2ExUw== - -sass-embedded-android-arm@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.79.3.tgz#e0a1897bc7db24902e9395e44f03c93c1abf33bc" - integrity sha512-rrdaVDkKBLUqzdqlBFamUbeuLG+8r/QLXHIgz4qPhIDqceJH6ds0Vzrae9Ef6DhYfMatOg2xiScdatwQ8Yl/hA== - -sass-embedded-android-ia32@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.79.3.tgz#3d7166db5fefd1e6eca33e677a79310565b4ac54" - integrity sha512-6rDmH0O7hjBP04/xBAFzSYYMU/7MrQYCak4541BZIbIfa2uw0x/8+mB7lZjdgFsBrFjcpdVCPhZPUE6Y50c00A== - -sass-embedded-android-riscv64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.79.3.tgz#dc5537d7c1b5bca1561709d2596c0be4204584e2" - integrity sha512-B/PgB0AfTCvOlF1g89raJTwTXIUQUM3OXDWqEKIlJEZM1Yao91i8ZkyrFkDMzT4G5sETy4o8pgK+qE9+7bFlug== - -sass-embedded-android-x64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.79.3.tgz#3f7d701c54bdb3b233267011ddc85a770a9a1acf" - integrity sha512-a5cpo9Yw4xnX32Uo3WfMZLaTVnI/h2n7U3K3eTygyj707yhGkUB0i+qxldzCw8MmKivIu9irG6O4kmnRjW6f7g== - -sass-embedded-darwin-arm64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.79.3.tgz#b07d63b8bada9150c487f610442adbf739e5ba7a" - integrity sha512-imafD0nlVz5FJhqBqxUbG5rK4E3cu1GxhMZ5VhKm0k4t5jFQo+3OjN7sHT4Ee2Mk1g8sjr5dtq5enDU4fs6lXA== - -sass-embedded-darwin-x64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.79.3.tgz#5512087dea69d21e882f9eccb0ddd0a697de4d23" - integrity sha512-pjciT1FcMUMA4rWdpyZYSwMOvxk5JP7R6vy7TzvqkUEqXxP9FTflYnAiwgYUDVTpngHHqRxTjdyW+e+h2L9dHw== - -sass-embedded-linux-arm64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.79.3.tgz#a0dae05580f197976c468b2e70c36443265e1905" - integrity sha512-ODo8ghwk6KHxchgwxq4CwgfYwWdreEbsQoukeEgRKxHcuLB9XF6tol9pGlfrc8sYox48Vp5WDCZuzgoo6rJ6tg== - -sass-embedded-linux-arm@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.79.3.tgz#64c48aff6b12aacfc34871507c3f6556f48a515a" - integrity sha512-n0bDtzABPE5YaL9wSLxNPiQMl1zArsGblHJyED6fEHz41m+OkCTopfO8IVjcf+MBrK/j11gonxiIGWO+fNOxvg== - -sass-embedded-linux-ia32@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.79.3.tgz#ea588493212aea4cf658151266a3f8b46b069539" - integrity sha512-oC3rUyIE6mEm2etsc4CuNu6IVmB6CoSM4KsubxzCD3S37QFXq8wYbI0t9iiDdTkKb5Iu+vUyhn+tYJRVHg0tvw== - -sass-embedded-linux-musl-arm64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.79.3.tgz#ca2a45b0fb26bd524f339cce4598fec7a05bd791" - integrity sha512-Q9/5lsrK/JnQci3DwxZ9PGIIrRxuo/bySv+gbyVp8Kb7gdkZcEsY7HkxaBJfwVEwpZSGAyCviyZDHDMILjliOw== - -sass-embedded-linux-musl-arm@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.79.3.tgz#4c73298e19e1974665d102b48ca7583923e6c7af" - integrity sha512-TOUYMtDs9xoMsJSEEr7NjtcVCqVpg1eSOQHXXruJ1kiYfxwmHrCYTjTLoefbZ29mWqIq8NUaXJG4rZNDK6NzRA== - -sass-embedded-linux-musl-ia32@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.79.3.tgz#b40e1d7d56d86d2bfcdc39428cdb3b76d76d85a8" - integrity sha512-T2uERh3gs9eWUzdkDadPuYbelQJQLZyX8myutUd4fxyrQ7ToQRBwcMoynEjl48DBHnM0oRiJUHrV9uFuJ+fmRA== - -sass-embedded-linux-musl-riscv64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.79.3.tgz#cae163cd25840c10701d640a61ffba4b46793c68" - integrity sha512-XTuYtTBPFeEjydS2GsIUkMztzXIiz13noknE7m1yAbVxOchu9jD9FCLAdK9pVPPki+9BiLSxsutYwOcQn8atqQ== - -sass-embedded-linux-musl-x64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.79.3.tgz#695af9f598df56a14bbe431fc7542f601062bbc9" - integrity sha512-gDHfaPlxT/XQTMbfb2y+U6zDMuI8pfapVXTYlUrgYhKH2KoICclIvahhjFii5i5+1dHpfGzjgYKBqI3nvZsYFg== - -sass-embedded-linux-riscv64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.79.3.tgz#761211f8f8d3ddaeac6d2c30bfcc05e8ede80cbb" - integrity sha512-NONTa//1ZfxA87+Zjp3rabL+Z9gM67FJBdktRKXXMBAce5i8eCj/eqJGUOGPjYxtvxtQw77cex0qMr9SZnX6ww== - -sass-embedded-linux-x64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.79.3.tgz#718edbc882ffc748e097e662b416fc466a8d83ab" - integrity sha512-drlUqMMw222+f/T5sNrIAv+z0vQwLkO4zAlDmf4biLdWIloPP/3plTodAkMyfagNcvA8jG2jN414pJXBI3zK6w== - -sass-embedded-win32-arm64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.79.3.tgz#e2c0690392c29aa25a07502d06ea010978666803" - integrity sha512-gYz0IUb0fLkHUbhq+HR52wvQfG75Zu1s48/v48TqC+b04H/01k2eiawp/Ec1f+lhpIL/pr5+n5jWR6CjkxPdnQ== - -sass-embedded-win32-ia32@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.79.3.tgz#c979ee6dc5308962c342230e0b6be6f76c0fb375" - integrity sha512-fbDTyzbqRc+xCWZ+YHSDt2WvGk5PW2K0SjyHuwes/Fls1+wdO4iHIukE/pD+HSWytYrtCqhe7EFq5Ug5HxGTLg== - -sass-embedded-win32-x64@1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.79.3.tgz#467f89920f46bc04041dc8adb2f1d3ce5b547b15" - integrity sha512-vvfr6wyCaHvdQbGS8UkYab6DXc1FKJRYFT5aFE3QTVqbzCqmJ5tf80E4+gvB99nljLtMjwKR1d332iWI9KDLhw== +sass-embedded-android-arm64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.89.0.tgz#4fddf67d525483dc49ab17d40cf284b0746d7321" + integrity sha512-pr4R3p5R+Ul9ZA5nzYbBJQFJXW6dMGzgpNBhmaToYDgDhmNX5kg0mZAUlGLHvisLdTiR6oEfDDr9QI6tnD2nqA== + +sass-embedded-android-arm@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-arm/-/sass-embedded-android-arm-1.89.0.tgz#c59adf3011cf75348da880164ab8bea4ae58025b" + integrity sha512-s6jxkEZQQrtyIGZX6Sbcu7tEixFG2VkqFgrX11flm/jZex7KaxnZtFace+wnYAgHqzzYpx0kNzJUpT+GXxm8CA== + +sass-embedded-android-ia32@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.89.0.tgz#15543dbb173ea5d8994a8df93cef45e113357f76" + integrity sha512-GoNnNGYmp1F0ZMHqQbAurlQsjBMZKtDd5H60Ruq86uQFdnuNqQ9wHKJsJABxMnjfAn60IjefytM5PYTMcAmbfA== + +sass-embedded-android-riscv64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.89.0.tgz#4ad5f70bcd3ce8e57780b95f038f4ee898b7f577" + integrity sha512-di+i4KkKAWTNksaQYTqBEERv46qV/tvv14TPswEfak7vcTQ2pj2mvV4KGjLYfU2LqRkX/NTXix9KFthrzFN51Q== + +sass-embedded-android-x64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-android-x64/-/sass-embedded-android-x64-1.89.0.tgz#a36fe99c14263a6825e25ce2ffbd69274356d674" + integrity sha512-1cRRDAnmAS1wLaxfFf6PCHu9sKW8FNxdM7ZkanwxO9mztrCu/uvfqTmaurY9+RaKvPus7sGYFp46/TNtl/wRjg== + +sass-embedded-darwin-arm64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.89.0.tgz#fd9705bf1cdddf1317e61b8d6b4929d148e6ff02" + integrity sha512-EUNUzI0UkbQ6dASPyf09S3x7fNT54PjyD594ZGTY14Yh4qTuacIj27ckLmreAJNNu5QxlbhyYuOtz+XN5bMMxA== + +sass-embedded-darwin-x64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.89.0.tgz#db431aef7395e68877808d0bb5d38c15d8818a41" + integrity sha512-23R8zSuB31Fq/MYpmQ38UR2C26BsYb66VVpJgWmWl/N+sgv/+l9ECuSPMbYNgM3vb9TP9wk9dgL6KkiCS5tAyg== + +sass-embedded-linux-arm64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.89.0.tgz#ef9832f0854d7613cac2fd8b456a59ec1fb06554" + integrity sha512-g9Lp57qyx51ttKj0AN/edV43Hu1fBObvD7LpYwVfs6u3I95r0Adi90KujzNrUqXxJVmsfUwseY8kA8zvcRjhYA== + +sass-embedded-linux-arm@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.89.0.tgz#a2489a04ee3f41f3ce065ea92c3558c8ab601b05" + integrity sha512-KAzA1XD74d8/fiJXxVnLfFwfpmD2XqUJZz+DL6ZAPNLH1sb+yCP7brktaOyClDc/MBu61JERdHaJjIZhfX0Yqw== + +sass-embedded-linux-ia32@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.89.0.tgz#63bd3cdbd101dd5dfddf37e0d7f94478ef6c5408" + integrity sha512-5fxBeXyvBr3pb+vyrx9V6yd7QDRXkAPbwmFVVhjqshBABOXelLysEFea7xokh/tM8JAAQ4O8Ls3eW3Eojb477g== + +sass-embedded-linux-musl-arm64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.89.0.tgz#eb81b110cf9dc1d0bb526899d0ecb2ad18816206" + integrity sha512-50oelrOtN64u15vJN9uJryIuT0+UPjyeoq0zdWbY8F7LM9294Wf+Idea+nqDUWDCj1MHndyPFmR1mjeuRouJhw== + +sass-embedded-linux-musl-arm@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.89.0.tgz#a741cc0f0aa7f9fa9594134ca7e7d6a38d1a3a76" + integrity sha512-0Q1JeEU4/tzH7fwAwarfIh+Swn3aXG/jPhVsZpbR1c1VzkeaPngmXdmLJcVXsdb35tjk84DuYcFtJlE1HYGw4Q== + +sass-embedded-linux-musl-ia32@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.89.0.tgz#eb90989aade26517235284ff42ffd08b62f2a92e" + integrity sha512-ILWqpTd+0RdsSw977iVAJf4CLetIbcQgLQf17ycS1N4StZKVRZs1bBfZhg/f/HU/4p5HondPAwepgJepZZdnFA== + +sass-embedded-linux-musl-riscv64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.89.0.tgz#3ad425cc7842053760ba72c393c18c83b7be4ec9" + integrity sha512-n2V+Tdjj7SAuiuElJYhWiHjjB1YU0cuFvL1/m5K+ecdNStfHFWIzvBT6/vzQnBOWjI4eZECNVuQ8GwGWCufZew== + +sass-embedded-linux-musl-x64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.89.0.tgz#261d302fe280805c70b547757f40e597cd6dce16" + integrity sha512-KOHJdouBK3SLJKZLnFYzuxs3dn+6jaeO3p4p1JUYAcVfndcvh13Sg2sLGfOfpg7Og6ws2Nnqnx0CyL26jPJ7ag== + +sass-embedded-linux-riscv64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.89.0.tgz#7107b993a51b60fa536399e0872455952eafc9cd" + integrity sha512-0A/UWeKX6MYhVLWLkdX3NPKHO+mvIwzaf6TxGCy3vS3TODWaeDUeBhHShAr7YlOKv5xRGxf7Gx7FXCPV0mUyMA== + +sass-embedded-linux-x64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.89.0.tgz#3f6212caa0f23d91b4421f65b3164529bd8f3e1a" + integrity sha512-dRBoOFPDWctHPYK3hTk3YzyX/icVrXiw7oOjbtpaDr6JooqIWBe16FslkWyvQzdmfOFy80raKVjgoqT7DsznkQ== + +sass-embedded-win32-arm64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.89.0.tgz#a6648dd54f3def903ed88e9ac544057265addbf8" + integrity sha512-RnlVZ14hC/W7ubzvhqnbGfjU5PFNoFP/y5qycgCy+Mezb0IKbWvZ2Lyzux8TbL3OIjOikkNpfXoNQrX706WLAA== + +sass-embedded-win32-ia32@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.89.0.tgz#70d04e8b334e52c973b990b0c845a60af119831a" + integrity sha512-eFe9VMNG+90nuoE3eXDy+38+uEHGf7xcqalq5+0PVZfR+H9RlaEbvIUNflZV94+LOH8Jb4lrfuekhHgWDJLfSg== + +sass-embedded-win32-x64@1.89.0: + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.89.0.tgz#43f94b341561354684901d8420ac1f2cdf1c1bec" + integrity sha512-AaGpr5R6MLCuSvkvDdRq49ebifwLcuGPk0/10hbYw9nh3jpy2/CylYubQpIpR4yPcuD1wFwFqufTXC3HJYGb0g== sass-embedded@^1.79.3: - version "1.79.3" - resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.79.3.tgz#c4054ce2233d44639104f09e4c45e0da6a305165" - integrity sha512-zUve2qCn6uSOMZnZazLzrDWq//OQWFle5G45vJjv3B/ADIA3TXVgqHqN3u7D2vGajOGREz0HN5nhliSoKmQqZA== + version "1.89.0" + resolved "https://registry.yarnpkg.com/sass-embedded/-/sass-embedded-1.89.0.tgz#042575f94364ff4b7b142f8e2be003f348b62b86" + integrity sha512-EDrK1el9zdgJFpocCGlxatDWaP18tJBWoM1hxzo2KJBvjdmBichXI6O6KlQrigvQPO3uJ8DfmFmAAx7s7CG6uw== dependencies: "@bufbuild/protobuf" "^2.0.0" buffer-builder "^0.2.0" colorjs.io "^0.5.0" - immutable "^4.0.0" + immutable "^5.0.2" rxjs "^7.4.0" supports-color "^8.1.1" + sync-child-process "^1.0.2" varint "^6.0.0" optionalDependencies: - sass-embedded-android-arm "1.79.3" - sass-embedded-android-arm64 "1.79.3" - sass-embedded-android-ia32 "1.79.3" - sass-embedded-android-riscv64 "1.79.3" - sass-embedded-android-x64 "1.79.3" - sass-embedded-darwin-arm64 "1.79.3" - sass-embedded-darwin-x64 "1.79.3" - sass-embedded-linux-arm "1.79.3" - sass-embedded-linux-arm64 "1.79.3" - sass-embedded-linux-ia32 "1.79.3" - sass-embedded-linux-musl-arm "1.79.3" - sass-embedded-linux-musl-arm64 "1.79.3" - sass-embedded-linux-musl-ia32 "1.79.3" - sass-embedded-linux-musl-riscv64 "1.79.3" - sass-embedded-linux-musl-x64 "1.79.3" - sass-embedded-linux-riscv64 "1.79.3" - sass-embedded-linux-x64 "1.79.3" - sass-embedded-win32-arm64 "1.79.3" - sass-embedded-win32-ia32 "1.79.3" - sass-embedded-win32-x64 "1.79.3" + sass-embedded-android-arm "1.89.0" + sass-embedded-android-arm64 "1.89.0" + sass-embedded-android-ia32 "1.89.0" + sass-embedded-android-riscv64 "1.89.0" + sass-embedded-android-x64 "1.89.0" + sass-embedded-darwin-arm64 "1.89.0" + sass-embedded-darwin-x64 "1.89.0" + sass-embedded-linux-arm "1.89.0" + sass-embedded-linux-arm64 "1.89.0" + sass-embedded-linux-ia32 "1.89.0" + sass-embedded-linux-musl-arm "1.89.0" + sass-embedded-linux-musl-arm64 "1.89.0" + sass-embedded-linux-musl-ia32 "1.89.0" + sass-embedded-linux-musl-riscv64 "1.89.0" + sass-embedded-linux-musl-x64 "1.89.0" + sass-embedded-linux-riscv64 "1.89.0" + sass-embedded-linux-x64 "1.89.0" + sass-embedded-win32-arm64 "1.89.0" + sass-embedded-win32-ia32 "1.89.0" + sass-embedded-win32-x64 "1.89.0" sass-lint@^1.12.0: version "1.13.1" @@ -9513,11 +9457,11 @@ sass-lint@^1.12.0: util "^0.10.3" sass-true@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/sass-true/-/sass-true-8.0.0.tgz#ef7795ba4f3a28d94c7e5d60f0e640633597d0ff" - integrity sha512-bk6m12BFxjRWnu0DHfqmsF36Eoxg3grLlLM4PhcgN6Znd9DvK2xVGJtWQ05u5RqEos3JaIX50MMN+gsAYUnEDA== + version "8.1.0" + resolved "https://registry.yarnpkg.com/sass-true/-/sass-true-8.1.0.tgz#bbf01b971b61b14cf4143620f94c3564792b9a1c" + integrity sha512-LUiNRslsNreGk8Oe85ZvMmV0mlIh3LFP2KTDMZsSHz5DxPElCy7wI9ocJzf8IpIf7Q5ZO0w+hDBF1nbdUcmZHA== dependencies: - "@adobe/css-tools" "^4.3.3" + "@adobe/css-tools" "^4.4.0" jest-diff "^29.7.0" lodash "^4.17.21" @@ -9583,19 +9527,10 @@ sax@^1.1.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== +schema-utils@^4.0.0, schema-utils@^4.3.0, schema-utils@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" + integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== dependencies: "@types/json-schema" "^7.0.9" ajv "^8.9.0" @@ -9651,9 +9586,9 @@ semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@^7.3.4, semver@^7.5.3: - version "7.6.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" - integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== send@0.16.2: version "0.16.2" @@ -9674,7 +9609,7 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" -serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: +serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== @@ -9714,7 +9649,7 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== @@ -9771,13 +9706,12 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shelljs@>=0.8.5, shelljs@^0.6.0: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + version "0.10.0" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.10.0.tgz#e3bbae99b0f3f0cc5dce05b46a346fae2090e883" + integrity sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw== dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" + execa "^5.1.1" + fast-glob "^3.3.2" signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" @@ -9865,9 +9799,9 @@ socket.io-adapter@~2.5.2: ws "~8.17.1" socket.io-client@^4.4.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.8.0.tgz#2ea0302d0032d23422bd2860f78127a800cad6a2" - integrity sha512-C0jdhD5yQahMws9alf/yvtsMGTaIDBnZ8Rb5HU56svyq0l5LIrGzIDZZD5pHQlmzxLuU91Gz+VpQMKgCTNYtkw== + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.8.1.tgz#1941eca135a5490b94281d0323fe2a35f6f291cb" + integrity sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.2" @@ -9883,9 +9817,9 @@ socket.io-parser@~4.2.4: debug "~4.3.1" socket.io@^4.4.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.8.0.tgz#33d05ae0915fad1670bd0c4efcc07ccfabebe3b1" - integrity sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA== + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.8.1.tgz#fa0eaff965cc97fdf4245e8d4794618459f7558a" + integrity sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg== dependencies: accepts "~1.3.4" base64id "~2.0.0" @@ -9987,9 +9921,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.20" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" - integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== + version "3.0.21" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz#6d6e980c9df2b6fc905343a3b2d702a6239536c3" + integrity sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -10118,12 +10052,11 @@ streamqueue@^0.1.1: readable-stream "~1.0.33" streamx@^2.12.5: - version "2.20.1" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.20.1.tgz#471c4f8b860f7b696feb83d5b125caab2fdbb93c" - integrity sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA== + version "2.22.0" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.22.0.tgz#cd7b5e57c95aaef0ff9b2aef7905afa62ec6e4a7" + integrity sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw== dependencies: fast-fifo "^1.3.2" - queue-tick "^1.0.1" text-decoder "^1.1.0" optionalDependencies: bare-events "^2.2.0" @@ -10384,6 +10317,18 @@ sver-compat@^1.5.0: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +sync-child-process@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/sync-child-process/-/sync-child-process-1.0.2.tgz#45e7c72e756d1243e80b547ea2e17957ab9e367f" + integrity sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA== + dependencies: + sync-message-port "^1.0.0" + +sync-message-port@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sync-message-port/-/sync-message-port-1.1.3.tgz#6055c565ee8c81d2f9ee5aae7db757e6d9088c0c" + integrity sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg== + table@^3.7.8: version "3.8.3" resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" @@ -10412,9 +10357,9 @@ taffydb@2.6.2: integrity sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA== tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + version "2.2.2" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872" + integrity sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg== tar-fs@2.1.1: version "2.1.1" @@ -10476,31 +10421,31 @@ ternary-stream@^3.0.0: merge-stream "^2.0.0" through2 "^3.0.1" -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== +terser-webpack-plugin@^5.3.11: + version "5.3.14" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== dependencies: - "@jridgewell/trace-mapping" "^0.3.20" + "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" -terser@^5.26.0: - version "5.34.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.34.0.tgz#62f2496542290bc6d8bf886edaee7fac158e37e4" - integrity sha512-y5NUX+U9HhVsK/zihZwoq4r9dICLyV2jXGOriDAVOeKhq3LKVjgJbGO90FisozXLlJfvjHqgckGmJFBb9KYoWQ== +terser@^5.31.1: + version "5.39.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.39.2.tgz#5a1626030724a672e2e5b5c9cd9070308c20e8f9" + integrity sha512-yEPUmWve+VA78bI71BW70Dh0TuV4HHd+I5SHOAfS1+QBOmvmCiiffgjR8ryyEd3KIfvPGFqoADt8LdQ6XpXIvg== dependencies: "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" + acorn "^8.14.0" commander "^2.20.0" source-map-support "~0.5.20" text-decoder@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.0.tgz#85f19d4d5088e0b45cd841bdfaeac458dbffeefc" - integrity sha512-n1yg1mOj9DNpk3NeZOx7T6jchTbyJS3i3cucbNN6FcdPriMZx7NsgrGpWWdWZZGxD7ES1XB+3uoqHMgOKaN+fg== + version "1.2.3" + resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.2.3.tgz#b19da364d981b2326d5f43099c310cc80d770c65" + integrity sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA== dependencies: b4a "^1.6.4" @@ -10626,11 +10571,6 @@ to-absolute-glob@^2.0.0, to-absolute-glob@^2.0.2: is-absolute "^1.0.0" is-negated-glob "^1.0.0" -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -10723,9 +10663,9 @@ tslib@^1.9.0: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.1.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tunnel-agent@^0.6.0: version "0.6.0" @@ -10799,9 +10739,9 @@ typedarray@^0.0.6: integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== "typescript@^4.6.4 || ^5.2.2": - version "5.6.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.2.tgz#d1de67b6bef77c41823f822df8f0b3bcff60a5a0" - integrity sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw== + version "5.8.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== typical@^2.6.0, typical@^2.6.1: version "2.6.1" @@ -10809,9 +10749,9 @@ typical@^2.6.0, typical@^2.6.1: integrity sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg== ua-parser-js@^1.0.33: - version "1.0.39" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.39.tgz#bfc07f361549bf249bd8f4589a4cccec18fd2018" - integrity sha512-k24RCVWlEcjkdOxYmVJgeD/0a1TiSpqLg+ZalVGV9lsnr4yqu0w7tX/x2xX6G4zpkgQnRf89lxuZ1wsbjXM8lw== + version "1.0.40" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.40.tgz#ac6aff4fd8ea3e794a6aa743ec9c2fc29e75b675" + integrity sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -10877,15 +10817,15 @@ undertaker@^1.2.1: object.reduce "^1.0.0" undertaker-registry "^1.0.0" -undici-types@~6.19.2: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" - integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== undici@^6.19.5: - version "6.19.8" - resolved "https://registry.yarnpkg.com/undici/-/undici-6.19.8.tgz#002d7c8a28f8cc3a44ff33c3d4be4d85e15d40e1" - integrity sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g== + version "6.21.3" + resolved "https://registry.yarnpkg.com/undici/-/undici-6.21.3.tgz#185752ad92c3d0efe7a7d1f6854a50f83b552d7a" + integrity sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw== unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.1" @@ -10963,13 +10903,13 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-browserslist-db@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: escalade "^3.2.0" - picocolors "^1.1.0" + picocolors "^1.1.1" update-notifier@^4.1.0: version "4.1.3" @@ -11222,9 +11162,9 @@ walk-back@^3.0.1: integrity sha512-umiNB2qLO731Sxbp6cfZ9pwURJzTnftxE4Gc7hq8n/ehkuXC//s9F65IEIJA2ZytQZ1ZOsm/Fju4IWx0bivkUQ== watchpack@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" - integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== + version "2.4.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" + integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -11266,17 +11206,18 @@ webpack-stream@^7.0.0: vinyl "^2.2.1" webpack@^5.88.2: - version "5.95.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" - integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== - dependencies: - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-attributes "^1.9.5" - browserslist "^4.21.10" + version "5.99.9" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.99.9.tgz#d7de799ec17d0cce3c83b70744b4aedb537d8247" + integrity sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg== + dependencies: + "@types/eslint-scope" "^3.7.7" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" + acorn "^8.14.0" + browserslist "^4.24.0" chrome-trace-event "^1.0.2" enhanced-resolve "^5.17.1" es-module-lexer "^1.2.1" @@ -11288,9 +11229,9 @@ webpack@^5.88.2: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.2.0" + schema-utils "^4.3.2" tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" + terser-webpack-plugin "^5.3.11" watchpack "^2.4.1" webpack-sources "^3.2.3" @@ -11471,9 +11412,9 @@ xmlcreate@^2.0.4: integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== xmlhttprequest-ssl@~2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.1.tgz#0d045c3b2babad8e7db1af5af093f5d0d60df99a" - integrity sha512-ptjR8YSJIXoA3Mbv5po7RtSYHO6mZr8s7i5VGmEk7QY2pQWyT1o0N+W1gKbOyJPUCGXGnuw0wqe8f0L6Y0ny7g== + version "2.1.2" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz#e9e8023b3f29ef34b97a859f584c5e6c61418e23" + integrity sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ== "xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" @@ -11523,9 +11464,9 @@ yaml-js@^0.1.0: integrity sha512-Az1ZhbcuJbrGgMH+voT7Xd1D2x1ZwwdHy619jYbsPHDgydtxOP7XInNAS0aZSgDp7KDH/gIIF3sZTvdxge3Yyw== yaml@^2.2.2, yaml@^2.4.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130" - integrity sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q== + version "2.8.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.0.tgz#15f8c9866211bdc2d3781a0890e44d4fa1a5fff6" + integrity sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ== yargs-parser@>=5.0.0-security.0, yargs-parser@^21.1.1: version "21.1.1" @@ -11681,6 +11622,6 @@ yocto-queue@^0.1.0: integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== yocto-queue@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.1.1.tgz#fef65ce3ac9f8a32ceac5a634f74e17e5b232110" - integrity sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g== + version "1.2.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418" + integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg== From a994b2e29ea0a58dc97810955410eb6e44155384 Mon Sep 17 00:00:00 2001 From: Joe Workman Date: Sat, 12 Sep 2026 11:22:46 -0700 Subject: [PATCH 02/35] chore: clear the Foundation 6 tree for Yeti --- .babelrc | 3 - .browserslistrc | 3 - .commitlintrc.yml | 2 - .eslintrc | 64 - .github/ISSUE_TEMPLATE.md | 91 - .github/workflows/main.yml | 61 - .gitignore | 64 +- .husky/commit-msg | 4 - .husky/husky-commit-lint.js | 24 - .husky/husky-commit-test.js | 23 - .husky/husky-push-test.js | 23 - .husky/pre-push | 6 - .npmignore | 95 - .sass-lint.yml | 411 - .sonarcloud.properties | 0 .versions | 20 - .../stylesheets/functions/_contain.scss | 31 - .../stylesheets/functions/_purge.scss | 38 - .../stylesheets/functions/_remove.scss | 31 - .../stylesheets/functions/_replace.scss | 46 - .../stylesheets/functions/_to-list.scss | 27 - .../helpers/_missing-dependencies.scss | 25 - .../stylesheets/helpers/_true.scss | 13 - assets/foundation-float.scss | 5 - assets/foundation-prototype.scss | 3 - assets/foundation-rtl.scss | 5 - assets/foundation.scss | 3 - bower.json | 70 - browserstack.json | 46 - composer.json | 27 - customizer/complete.json | 49 - customizer/config.yml | 172 - customizer/essential.json | 12 - customizer/index.html | 171 - customizer/lib/index.js | 4 - customizer/lib/js.js | 53 - customizer/lib/sass.js | 76 - dist/css/foundation-float.css | 5381 ------- dist/css/foundation-float.css.map | 1 - dist/css/foundation-float.min.css | 2 - dist/css/foundation-float.min.css.map | 1 - dist/css/foundation-prototype.css | 7519 --------- dist/css/foundation-prototype.css.map | 1 - dist/css/foundation-prototype.min.css | 2 - dist/css/foundation-prototype.min.css.map | 1 - dist/css/foundation-rtl.css | 6906 -------- dist/css/foundation-rtl.css.map | 1 - dist/css/foundation-rtl.min.css | 2 - dist/css/foundation-rtl.min.css.map | 1 - dist/css/foundation.css | 6901 -------- dist/css/foundation.css.map | 1 - dist/css/foundation.min.css | 2 - dist/css/foundation.min.css.map | 1 - dist/js/foundation.cjs.js | 11363 -------------- dist/js/foundation.cjs.js.map | 1 - dist/js/foundation.d.ts | 638 - dist/js/foundation.es6.js | 11099 ------------- dist/js/foundation.es6.js.map | 1 - dist/js/foundation.esm.js | 11321 -------------- dist/js/foundation.esm.js.map | 1 - dist/js/foundation.js | 12467 --------------- dist/js/foundation.js.map | 1 - dist/js/foundation.min.js | 2 - dist/js/foundation.min.js.map | 1 - dist/js/plugins/foundation.abide.js | 1036 -- dist/js/plugins/foundation.abide.js.map | 1 - dist/js/plugins/foundation.abide.min.js | 2 - dist/js/plugins/foundation.abide.min.js.map | 1 - dist/js/plugins/foundation.accordion.js | 583 - dist/js/plugins/foundation.accordion.js.map | 1 - dist/js/plugins/foundation.accordion.min.js | 2 - .../plugins/foundation.accordion.min.js.map | 1 - dist/js/plugins/foundation.accordionMenu.js | 530 - .../plugins/foundation.accordionMenu.js.map | 1 - .../plugins/foundation.accordionMenu.min.js | 2 - .../foundation.accordionMenu.min.js.map | 1 - dist/js/plugins/foundation.core.js | 1041 -- dist/js/plugins/foundation.core.js.map | 1 - dist/js/plugins/foundation.core.min.js | 2 - dist/js/plugins/foundation.core.min.js.map | 1 - dist/js/plugins/foundation.drilldown.js | 868 -- dist/js/plugins/foundation.drilldown.js.map | 1 - dist/js/plugins/foundation.drilldown.min.js | 2 - .../plugins/foundation.drilldown.min.js.map | 1 - dist/js/plugins/foundation.dropdown.js | 1160 -- dist/js/plugins/foundation.dropdown.js.map | 1 - dist/js/plugins/foundation.dropdown.min.js | 2 - .../js/plugins/foundation.dropdown.min.js.map | 1 - dist/js/plugins/foundation.dropdownMenu.js | 699 - .../js/plugins/foundation.dropdownMenu.js.map | 1 - .../js/plugins/foundation.dropdownMenu.min.js | 2 - .../foundation.dropdownMenu.min.js.map | 1 - dist/js/plugins/foundation.equalizer.js | 531 - dist/js/plugins/foundation.equalizer.js.map | 1 - dist/js/plugins/foundation.equalizer.min.js | 2 - .../plugins/foundation.equalizer.min.js.map | 1 - dist/js/plugins/foundation.interchange.js | 697 - dist/js/plugins/foundation.interchange.js.map | 1 - dist/js/plugins/foundation.interchange.min.js | 2 - .../plugins/foundation.interchange.min.js.map | 1 - dist/js/plugins/foundation.magellan.js | 739 - dist/js/plugins/foundation.magellan.js.map | 1 - dist/js/plugins/foundation.magellan.min.js | 2 - .../js/plugins/foundation.magellan.min.js.map | 1 - dist/js/plugins/foundation.offcanvas.js | 1173 -- dist/js/plugins/foundation.offcanvas.js.map | 1 - dist/js/plugins/foundation.offcanvas.min.js | 2 - .../plugins/foundation.offcanvas.min.js.map | 1 - dist/js/plugins/foundation.orbit.js | 783 - dist/js/plugins/foundation.orbit.js.map | 1 - dist/js/plugins/foundation.orbit.min.js | 2 - dist/js/plugins/foundation.orbit.min.js.map | 1 - .../foundation.responsiveAccordionTabs.js | 510 - .../foundation.responsiveAccordionTabs.js.map | 1 - .../foundation.responsiveAccordionTabs.min.js | 2 - ...ndation.responsiveAccordionTabs.min.js.map | 1 - dist/js/plugins/foundation.responsiveMenu.js | 363 - .../plugins/foundation.responsiveMenu.js.map | 1 - .../plugins/foundation.responsiveMenu.min.js | 2 - .../foundation.responsiveMenu.min.js.map | 1 - .../js/plugins/foundation.responsiveToggle.js | 338 - .../foundation.responsiveToggle.js.map | 1 - .../foundation.responsiveToggle.min.js | 2 - .../foundation.responsiveToggle.min.js.map | 1 - dist/js/plugins/foundation.reveal.js | 1115 -- dist/js/plugins/foundation.reveal.js.map | 1 - dist/js/plugins/foundation.reveal.min.js | 2 - dist/js/plugins/foundation.reveal.min.js.map | 1 - dist/js/plugins/foundation.slider.js | 1185 -- dist/js/plugins/foundation.slider.js.map | 1 - dist/js/plugins/foundation.slider.min.js | 2 - dist/js/plugins/foundation.slider.min.js.map | 1 - dist/js/plugins/foundation.smoothScroll.js | 309 - .../js/plugins/foundation.smoothScroll.js.map | 1 - .../js/plugins/foundation.smoothScroll.min.js | 2 - .../foundation.smoothScroll.min.js.map | 1 - dist/js/plugins/foundation.sticky.js | 964 -- dist/js/plugins/foundation.sticky.js.map | 1 - dist/js/plugins/foundation.sticky.min.js | 2 - dist/js/plugins/foundation.sticky.min.js.map | 1 - dist/js/plugins/foundation.tabs.js | 703 - dist/js/plugins/foundation.tabs.js.map | 1 - dist/js/plugins/foundation.tabs.min.js | 2 - dist/js/plugins/foundation.tabs.min.js.map | 1 - dist/js/plugins/foundation.toggler.js | 617 - dist/js/plugins/foundation.toggler.js.map | 1 - dist/js/plugins/foundation.toggler.min.js | 2 - dist/js/plugins/foundation.toggler.min.js.map | 1 - dist/js/plugins/foundation.tooltip.js | 1174 -- dist/js/plugins/foundation.tooltip.js.map | 1 - dist/js/plugins/foundation.tooltip.min.js | 2 - dist/js/plugins/foundation.tooltip.min.js.map | 1 - dist/js/plugins/foundation.util.box.js | 298 - dist/js/plugins/foundation.util.box.js.map | 1 - dist/js/plugins/foundation.util.box.min.js | 2 - .../js/plugins/foundation.util.box.min.js.map | 1 - .../js/plugins/foundation.util.imageLoader.js | 178 - .../foundation.util.imageLoader.js.map | 1 - .../foundation.util.imageLoader.min.js | 2 - .../foundation.util.imageLoader.min.js.map | 1 - dist/js/plugins/foundation.util.keyboard.js | 326 - .../plugins/foundation.util.keyboard.js.map | 1 - .../plugins/foundation.util.keyboard.min.js | 2 - .../foundation.util.keyboard.min.js.map | 1 - dist/js/plugins/foundation.util.mediaQuery.js | 443 - .../plugins/foundation.util.mediaQuery.js.map | 1 - .../plugins/foundation.util.mediaQuery.min.js | 2 - .../foundation.util.mediaQuery.min.js.map | 1 - dist/js/plugins/foundation.util.motion.js | 236 - dist/js/plugins/foundation.util.motion.js.map | 1 - dist/js/plugins/foundation.util.motion.min.js | 2 - .../plugins/foundation.util.motion.min.js.map | 1 - dist/js/plugins/foundation.util.nest.js | 203 - dist/js/plugins/foundation.util.nest.js.map | 1 - dist/js/plugins/foundation.util.nest.min.js | 2 - .../plugins/foundation.util.nest.min.js.map | 1 - dist/js/plugins/foundation.util.timer.js | 171 - dist/js/plugins/foundation.util.timer.js.map | 1 - dist/js/plugins/foundation.util.timer.min.js | 2 - .../plugins/foundation.util.timer.min.js.map | 1 - dist/js/plugins/foundation.util.touch.js | 309 - dist/js/plugins/foundation.util.touch.js.map | 1 - dist/js/plugins/foundation.util.touch.min.js | 2 - .../plugins/foundation.util.touch.min.js.map | 1 - dist/js/plugins/foundation.util.triggers.js | 406 - .../plugins/foundation.util.triggers.js.map | 1 - .../plugins/foundation.util.triggers.min.js | 2 - .../foundation.util.triggers.min.js.map | 1 - docs/assets/fonts/zurb-webfont.woff | Bin 2432 -> 0 bytes .../assets/img/a11y/chrome-a11y-inspector.jpg | Bin 20979 -> 0 bytes docs/assets/img/advanced-class.png | Bin 46488 -> 0 bytes docs/assets/img/docs-630.png | Bin 1656857 -> 0 bytes docs/assets/img/docs-631.png | Bin 1393739 -> 0 bytes docs/assets/img/docs-kitchensink.png | Bin 27281 -> 0 bytes docs/assets/img/docs-vue.jpeg | Bin 61082 -> 0 bytes docs/assets/img/foundation-brands.png | Bin 36801 -> 0 bytes docs/assets/img/foundation-intro-class.jpg | Bin 187176 -> 0 bytes docs/assets/img/foundation-turns-5.png | Bin 293447 -> 0 bytes docs/assets/img/generic/rectangle-1.jpg | Bin 9284 -> 0 bytes docs/assets/img/generic/rectangle-2.jpg | Bin 172889 -> 0 bytes docs/assets/img/generic/rectangle-3.jpg | Bin 14048 -> 0 bytes docs/assets/img/generic/rectangle-4.jpg | Bin 32780 -> 0 bytes docs/assets/img/generic/rectangle-5.jpg | Bin 31295 -> 0 bytes docs/assets/img/generic/rectangle-6.jpg | Bin 33578 -> 0 bytes docs/assets/img/generic/rectangle-7.jpg | Bin 30779 -> 0 bytes docs/assets/img/generic/rectangle-8.jpg | Bin 69069 -> 0 bytes docs/assets/img/generic/square-1.jpg | Bin 38630 -> 0 bytes docs/assets/img/generic/square-2.jpg | Bin 44931 -> 0 bytes docs/assets/img/generic/square-3.jpg | Bin 36494 -> 0 bytes docs/assets/img/generic/square-4.jpg | Bin 15982 -> 0 bytes docs/assets/img/generic/square-5.jpg | Bin 32614 -> 0 bytes docs/assets/img/generic/square-6.jpg | Bin 35787 -> 0 bytes docs/assets/img/generic/voyager.jpg | Bin 45757 -> 0 bytes docs/assets/img/gulpfile.js | 164 - docs/assets/img/icons/docked-close-button.svg | 15 - .../assets/img/icons/docked-expand-button.svg | 15 - docs/assets/img/icons/email-icon.svg | 10 - docs/assets/img/icons/facebook-icon.svg | 10 - docs/assets/img/icons/favicon.ico | Bin 1406 -> 0 bytes docs/assets/img/icons/footer-expo-retina.png | Bin 2137 -> 0 bytes docs/assets/img/icons/footer-expo.png | Bin 1353 -> 0 bytes .../img/icons/footer-foundation-retina.png | Bin 1980 -> 0 bytes docs/assets/img/icons/footer-foundation.png | Bin 1297 -> 0 bytes docs/assets/img/icons/footer-icons-retina.png | Bin 6389 -> 0 bytes docs/assets/img/icons/footer-icons.png | Bin 5662 -> 0 bytes .../img/icons/footer-products-retina.png | Bin 2187 -> 0 bytes docs/assets/img/icons/footer-products.png | Bin 1466 -> 0 bytes .../img/icons/footer-studios-retina.png | Bin 2725 -> 0 bytes docs/assets/img/icons/footer-studios.png | Bin 1565 -> 0 bytes .../img/icons/footer-top-icons-retina.png | Bin 3647 -> 0 bytes docs/assets/img/icons/footer-top-icons.png | Bin 4645 -> 0 bytes docs/assets/img/icons/footer-university.png | Bin 1353 -> 0 bytes docs/assets/img/icons/foundation-favicon.ico | Bin 121170 -> 0 bytes docs/assets/img/icons/logo-bower.svg | 1 - docs/assets/img/icons/logo-composer.svg | 1 - docs/assets/img/icons/logo-meteor.svg | 1 - docs/assets/img/icons/logo-npm.svg | 1 - docs/assets/img/icons/logo-nuget.svg | 20 - docs/assets/img/icons/logo-pnpm.svg | 9 - docs/assets/img/icons/logo-rubygems.svg | 7 - docs/assets/img/icons/logo-yarn.svg | 1 - docs/assets/img/icons/menu-grey.png | Bin 185 -> 0 bytes docs/assets/img/icons/modal-close-button.svg | 15 - .../img/icons/modal-collapse-button.svg | 15 - docs/assets/img/icons/social-retina.png | Bin 6847 -> 0 bytes docs/assets/img/icons/social.png | Bin 3815 -> 0 bytes docs/assets/img/icons/twitter-icon.svg | 10 - docs/assets/img/icons/watch-video-icon.svg | 12 - docs/assets/img/icons/youtube-icon.svg | 10 - docs/assets/img/icons/youtube.png | Bin 1052 -> 0 bytes docs/assets/img/inky-banner-bg-boat.svg | 563 - docs/assets/img/inky-banner-bg-clear.svg | 22 - docs/assets/img/interchange/large.jpg | Bin 56157 -> 0 bytes docs/assets/img/interchange/map-medium.png | Bin 543557 -> 0 bytes docs/assets/img/interchange/map-small.png | Bin 475516 -> 0 bytes docs/assets/img/interchange/medium.jpg | Bin 44438 -> 0 bytes docs/assets/img/interchange/small.jpg | Bin 28474 -> 0 bytes docs/assets/img/intro-css.png | Bin 88839 -> 0 bytes docs/assets/img/intro-grid.png | Bin 409594 -> 0 bytes docs/assets/img/logos/browser-stack.svg | 12954 ---------------- docs/assets/img/logos/codepen-button.svg | 74 - docs/assets/img/logos/cp1.svg | 51 - docs/assets/img/logos/cp2.svg | 33 - docs/assets/img/logos/cp3.svg | 18 - docs/assets/img/logos/edit-in-browser.svg | 38 - .../foundation-sites-nuget-icon-128x128.jpg | Bin 5975 -> 0 bytes docs/assets/img/logos/sass-logo.svg | 1 - docs/assets/img/logos/zurb-logo.svg | 26 - docs/assets/img/media-object/avatar-1.jpg | Bin 10402 -> 0 bytes docs/assets/img/media-object/avatar-2.jpg | Bin 10407 -> 0 bytes docs/assets/img/media-object/avatar-3.jpg | Bin 8028 -> 0 bytes docs/assets/img/orbit/01.jpg | Bin 152776 -> 0 bytes docs/assets/img/orbit/02.jpg | Bin 59854 -> 0 bytes docs/assets/img/orbit/03.jpg | Bin 71336 -> 0 bytes docs/assets/img/orbit/04.jpg | Bin 55713 -> 0 bytes docs/assets/img/thumbnail/01.jpg | Bin 6981 -> 0 bytes docs/assets/img/thumbnail/02.jpg | Bin 8554 -> 0 bytes docs/assets/img/thumbnail/03.jpg | Bin 14493 -> 0 bytes docs/assets/img/yeti.svg | 110 - docs/assets/img/zero-to-website.png | Bin 525875 -> 0 bytes docs/assets/js/docs.ad.js | 17 - docs/assets/js/docs.examples.js | 30 - docs/assets/js/docs.interchangeMap.js | 45 - docs/assets/js/docs.js | 48 - docs/assets/partials/interchange-default.html | 1 - docs/assets/partials/interchange-large.html | 12 - docs/assets/partials/interchange-medium.html | 1 - docs/assets/partials/sticky-nav.html | 228 - docs/assets/scss/_accordion-content.scss | 114 - docs/assets/scss/_component-list.scss | 88 - docs/assets/scss/_course-callout.scss | 63 - docs/assets/scss/_docs-footer.scss | 381 - docs/assets/scss/content/_install.scss | 4 - docs/assets/scss/docs.scss | 529 - docs/assets/scss/examples/_buttons.scss | 4 - docs/assets/scss/examples/_grid.scss | 109 - docs/assets/scss/examples/_motion-ui.scss | 25 - docs/assets/scss/examples/_off-canvas.scss | 7 - docs/assets/scss/examples/_orbit.scss | 22 - .../scss/examples/_responsive-embed.scss | 5 - docs/assets/scss/examples/_reveal.scss | 7 - docs/layout/default.html | 89 - docs/pages/abide.md | 469 - docs/pages/accessibility.md | 76 - docs/pages/accordion-menu.md | 128 - docs/pages/accordion.md | 232 - docs/pages/badge.md | 122 - docs/pages/breadcrumbs.md | 39 - docs/pages/button-group.md | 292 - docs/pages/button.md | 259 - docs/pages/callout.md | 139 - docs/pages/card.md | 236 - docs/pages/close-button.md | 62 - docs/pages/compatibility.md | 40 - docs/pages/drilldown-menu.md | 250 - docs/pages/dropdown-menu.md | 182 - docs/pages/dropdown.md | 277 - docs/pages/equalizer.md | 218 - docs/pages/flex-grid.md | 403 - docs/pages/flexbox-mode.md | 60 - docs/pages/flexbox-utilities.md | 308 - docs/pages/float-classes.md | 34 - docs/pages/forms.md | 343 - docs/pages/global.md | 126 - docs/pages/grid.md | 731 - docs/pages/index.md | 283 - docs/pages/installation.md | 241 - docs/pages/interchange.md | 103 - docs/pages/javascript-utilities.md | 231 - docs/pages/javascript.md | 264 - docs/pages/kitchen-sink.md | 1302 -- docs/pages/label.md | 120 - docs/pages/magellan.md | 97 - docs/pages/media-object.md | 172 - docs/pages/media-queries.md | 239 - docs/pages/menu.md | 400 - docs/pages/motion-ui.md | 209 - docs/pages/navigation.md | 280 - docs/pages/off-canvas.md | 581 - docs/pages/orbit.md | 367 - docs/pages/pagination.md | 68 - docs/pages/panini.md | 262 - docs/pages/progress-bar.md | 152 - docs/pages/prototyping-utilities.md | 829 - docs/pages/responsive-accordion-tabs.md | 169 - docs/pages/responsive-embed.md | 68 - docs/pages/responsive-navigation.md | 324 - docs/pages/reveal.md | 258 - docs/pages/rtl.md | 44 - docs/pages/sass-functions.md | 36 - docs/pages/sass-mixins.md | 75 - docs/pages/sass.md | 225 - docs/pages/slider.md | 214 - docs/pages/smooth-scroll.md | 46 - docs/pages/starter-projects.md | 135 - docs/pages/sticky.md | 172 - docs/pages/style-sherpa.md | 127 - docs/pages/switch.md | 172 - docs/pages/table.md | 312 - docs/pages/tabs.md | 224 - docs/pages/thumbnail.md | 34 - docs/pages/toggler.md | 161 - docs/pages/tooltip.md | 236 - docs/pages/top-bar.md | 147 - docs/pages/typography-base.md | 409 - docs/pages/typography-helpers.md | 185 - docs/pages/visibility.md | 162 - docs/pages/xy-grid.md | 514 - docs/partials/component-list.html | 189 - docs/partials/docs-video-codepen.html | 11 - docs/partials/footer-contact.html | 46 - docs/partials/footer.html | 34 - docs/partials/info-banner.html | 6 - docs/partials/mobile-navigation.html | 8 - docs/partials/navigation.html | 72 - docs/partials/newsletter-signup-rr.html | 16 - docs/partials/off-canvi.html | 95 - docs/partials/search-bar.html | 27 - docs/partials/toc-template.hbs | 3 - docs/partials/training-callout.html | 3 - docs/search.yml | 33 - ...2026-09-12-yeti-phase-0-repo-transition.md | 2665 ++++ .../research/2026-09-12-css-reset-survey.md | 81 + .../research/2026-09-12-inspiration-notes.md | 57 + .../2026-09-12-yeti-architecture-design.md | 301 + ...-12-yeti-phase-0-repo-transition-design.md | 296 + gulp/config.js | 88 - gulp/tasks/babel-error.js | 16 - gulp/tasks/check.js | 25 - gulp/tasks/clean.js | 7 - gulp/tasks/copy.js | 9 - gulp/tasks/customizer.js | 169 - gulp/tasks/deploy.js | 210 - gulp/tasks/docs.js | 83 - gulp/tasks/javascript.js | 148 - gulp/tasks/lint.js | 39 - gulp/tasks/sass.js | 40 - gulp/tasks/test.js | 40 - gulp/utils.js | 84 - gulpfile.js | 38 - js/entries/foundation-plugins.js | 69 - js/entries/foundation.js | 119 - js/entries/plugins/foundation.abide.js | 6 - js/entries/plugins/foundation.accordion.js | 6 - .../plugins/foundation.accordionMenu.js | 6 - js/entries/plugins/foundation.core.js | 32 - js/entries/plugins/foundation.drilldown.js | 6 - js/entries/plugins/foundation.dropdown.js | 6 - js/entries/plugins/foundation.dropdownMenu.js | 6 - js/entries/plugins/foundation.equalizer.js | 6 - js/entries/plugins/foundation.interchange.js | 6 - js/entries/plugins/foundation.magellan.js | 6 - js/entries/plugins/foundation.offcanvas.js | 6 - js/entries/plugins/foundation.orbit.js | 6 - .../foundation.responsiveAccordionTabs.js | 6 - .../plugins/foundation.responsiveMenu.js | 6 - .../plugins/foundation.responsiveToggle.js | 6 - js/entries/plugins/foundation.reveal.js | 6 - js/entries/plugins/foundation.slider.js | 6 - js/entries/plugins/foundation.smoothScroll.js | 6 - js/entries/plugins/foundation.sticky.js | 6 - js/entries/plugins/foundation.tabs.js | 6 - js/entries/plugins/foundation.toggler.js | 6 - js/entries/plugins/foundation.tooltip.js | 6 - js/entries/plugins/foundation.util.box.js | 6 - .../plugins/foundation.util.imageLoader.js | 7 - .../plugins/foundation.util.keyboard.js | 6 - .../plugins/foundation.util.mediaQuery.js | 7 - js/entries/plugins/foundation.util.motion.js | 7 - js/entries/plugins/foundation.util.nest.js | 7 - js/entries/plugins/foundation.util.timer.js | 7 - js/entries/plugins/foundation.util.touch.js | 10 - .../plugins/foundation.util.triggers.js | 7 - js/foundation.abide.js | 906 -- js/foundation.accordion.js | 408 - js/foundation.accordionMenu.js | 346 - js/foundation.core.js | 335 - js/foundation.core.plugin.js | 49 - js/foundation.core.utils.js | 147 - js/foundation.drilldown.js | 657 - js/foundation.dropdown.js | 435 - js/foundation.dropdownMenu.js | 482 - js/foundation.equalizer.js | 315 - js/foundation.interchange.js | 249 - js/foundation.js | 36 - js/foundation.magellan.js | 288 - js/foundation.offcanvas.js | 708 - js/foundation.orbit.js | 554 - js/foundation.positionable.js | 207 - js/foundation.responsiveAccordionTabs.js | 291 - js/foundation.responsiveMenu.js | 153 - js/foundation.responsiveToggle.js | 152 - js/foundation.reveal.js | 634 - js/foundation.slider.js | 718 - js/foundation.smoothScroll.js | 141 - js/foundation.sticky.js | 512 - js/foundation.tabs.js | 551 - js/foundation.toggler.js | 174 - js/foundation.tooltip.js | 463 - js/foundation.util.box.js | 175 - js/foundation.util.imageLoader.js | 42 - js/foundation.util.keyboard.js | 199 - js/foundation.util.mediaQuery.js | 336 - js/foundation.util.motion.js | 103 - js/foundation.util.nest.js | 66 - js/foundation.util.timer.js | 44 - js/foundation.util.touch.js | 164 - js/foundation.util.triggers.js | 260 - js/typescript/foundation.d.ts | 638 - meteor-README.md | 170 - package.js | 131 - package.nuspec | 48 - patches/browserstack-runner+0.9.2.patch | 25 - rollup.config.js | 60 - sache.json | 5 - scss/_global.scss | 257 - scss/components/_accordion-menu.scss | 174 - scss/components/_accordion.scss | 164 - scss/components/_badge.scss | 63 - scss/components/_breadcrumbs.scss | 120 - scss/components/_button-group.scss | 309 - scss/components/_button.scss | 428 - scss/components/_callout.scss | 108 - scss/components/_card.scss | 129 - scss/components/_close-button.scss | 128 - scss/components/_drilldown.scss | 140 - scss/components/_dropdown-menu.scss | 279 - scss/components/_dropdown.scss | 82 - scss/components/_flex-video.scss | 1 - scss/components/_flex.scss | 119 - scss/components/_float.scss | 27 - scss/components/_label.scss | 64 - scss/components/_media-object.scss | 114 - scss/components/_menu-icon.scss | 9 - scss/components/_menu.scss | 530 - scss/components/_off-canvas.scss | 513 - scss/components/_orbit.scss | 197 - scss/components/_pagination.scss | 201 - scss/components/_progress-bar.scss | 63 - scss/components/_responsive-embed.scss | 57 - scss/components/_reveal.scss | 190 - scss/components/_slider.scss | 140 - scss/components/_sticky.scss | 39 - scss/components/_switch.scss | 284 - scss/components/_table.scss | 329 - scss/components/_tabs.scss | 193 - scss/components/_thumbnail.scss | 67 - scss/components/_title-bar.scss | 84 - scss/components/_tooltip.scss | 160 - scss/components/_top-bar.scss | 177 - scss/components/_visibility.scss | 178 - scss/forms/_checkbox.scss | 41 - scss/forms/_error.scss | 89 - scss/forms/_fieldset.scss | 53 - scss/forms/_forms.scss | 34 - scss/forms/_help-text.scss | 30 - scss/forms/_input-group.scss | 142 - scss/forms/_label.scss | 51 - scss/forms/_meter.scss | 116 - scss/forms/_progress.scss | 94 - scss/forms/_range.scss | 149 - scss/forms/_select.scss | 91 - scss/forms/_text.scss | 179 - scss/foundation.scss | 155 - scss/grid/_classes.scss | 189 - scss/grid/_column.scss | 79 - scss/grid/_flex-grid.scss | 261 - scss/grid/_grid.scss | 48 - scss/grid/_gutter.scss | 67 - scss/grid/_layout.scss | 76 - scss/grid/_position.scss | 100 - scss/grid/_row.scss | 99 - scss/grid/_size.scss | 24 - scss/prototype/_arrow.scss | 36 - scss/prototype/_border-box.scss | 35 - scss/prototype/_border-none.scss | 35 - scss/prototype/_bordered.scss | 54 - scss/prototype/_box.scss | 23 - scss/prototype/_display.scss | 50 - scss/prototype/_font-styling.scss | 95 - scss/prototype/_list-style-type.scss | 95 - scss/prototype/_overflow.scss | 81 - scss/prototype/_position.scss | 114 - scss/prototype/_prototype.scss | 87 - scss/prototype/_relation.scss | 157 - scss/prototype/_rotate.scss | 33 - scss/prototype/_rounded.scss | 61 - scss/prototype/_separator.scss | 96 - scss/prototype/_shadow.scss | 42 - scss/prototype/_sizing.scss | 73 - scss/prototype/_spacing.scss | 179 - scss/prototype/_text-decoration.scss | 48 - scss/prototype/_text-transformation.scss | 48 - scss/prototype/_text-utilities.scss | 88 - scss/settings/_settings.scss | 899 -- scss/typography/_alignment.scss | 22 - scss/typography/_base.scss | 474 - scss/typography/_helpers.scss | 188 - scss/typography/_print.scss | 96 - scss/typography/_typography.scss | 26 - scss/util/_breakpoint.scss | 438 - scss/util/_color.scss | 151 - scss/util/_direction.scss | 31 - scss/util/_flex.scss | 90 - scss/util/_math.scss | 199 - scss/util/_mixins.scss | 377 - scss/util/_selector.scss | 27 - scss/util/_typography.scss | 26 - scss/util/_unit.scss | 158 - scss/util/_util.scss | 14 - scss/util/_value.scss | 185 - scss/vendor/normalize.scss | 298 - scss/xy-grid/_cell.scss | 283 - scss/xy-grid/_classes.scss | 493 - scss/xy-grid/_collapse.scss | 75 - scss/xy-grid/_frame.scss | 98 - scss/xy-grid/_grid.scss | 37 - scss/xy-grid/_gutters.scss | 45 - scss/xy-grid/_layout.scss | 36 - scss/xy-grid/_position.scss | 60 - scss/xy-grid/_xy-grid.scss | 51 - test/bundle/index.html | 36 - test/bundle/test_bundle.js | 10 - test/javascript/components/abide.js | 266 - test/javascript/components/accordion.js | 212 - test/javascript/components/accordionMenu.js | 189 - test/javascript/components/drilldown.js | 389 - test/javascript/components/dropdown.js | 216 - test/javascript/components/dropdownMenu.js | 205 - test/javascript/components/equalizer.js | 20 - test/javascript/components/interchange.js | 249 - test/javascript/components/magellan.js | 93 - test/javascript/components/offcanvas.js | 320 - test/javascript/components/orbit.js | 286 - test/javascript/components/responsiveMenu.js | 20 - .../javascript/components/responsiveToggle.js | 20 - test/javascript/components/reveal.js | 414 - test/javascript/components/slider.js | 297 - test/javascript/components/sticky.js | 20 - test/javascript/components/tabs.js | 214 - test/javascript/components/toggler.js | 161 - test/javascript/components/tooltip.js | 153 - test/javascript/core/core.js | 82 - test/javascript/core/utils.js | 41 - test/javascript/index.html | 33 - test/javascript/lib/keyboard-event-mock.js | 40 - test/javascript/lib/utils.js | 68 - test/javascript/util/box.js | 51 - test/javascript/util/keyboard.js | 276 - test/javascript/util/mediaQuery.js | 148 - test/sass/_breakpoint.scss | 249 - test/sass/_color.scss | 47 - test/sass/_components.scss | 42 - test/sass/_selector.scss | 23 - test/sass/_unit.scss | 50 - test/sass/_value.scss | 128 - test/sass/test_sass.js | 19 - test/visual/_template.html | 28 - test/visual/abide/abide-checkboxes.html | 107 - test/visual/abide/abide-radio.html | 84 - test/visual/abide/accessibility.html | 59 - test/visual/abide/error-messages.html | 120 - .../abide/hidden_and_ignored_fields.html | 56 - test/visual/abide/text.html | 137 - test/visual/accordion-menu/accordionmenu.html | 70 - test/visual/accordion-menu/keyboard.html | 44 - test/visual/accordion-menu/parent-link.html | 73 - .../visual/accordion-menu/submenu-toggle.html | 59 - test/visual/accordion/focus.html | 78 - test/visual/accordion/nested.html | 73 - test/visual/breadcrumbs/breadcrumbs.html | 37 - test/visual/button/button-group.html | 45 - test/visual/button/button.html | 31 - test/visual/button/cursor.html | 29 - test/visual/card/card.html | 45 - test/visual/controls/close-button.html | 41 - .../drilldown/drilldown-menu-auto-height.html | 272 - .../drilldown/drilldown-menu-parent-link.html | 71 - .../drilldown/drilldown-menu-scroll-top.html | 209 - .../visual/drilldown/drilldown-show-menu.html | 111 - test/visual/drilldown/long-titles.html | 78 - .../basic-dropdown-menu-rtl.html | 59 - .../dropdown-menu-cross-leave.html | 53 - ...ed-dropdown-menu-inside-top-bar-right.html | 141 - .../right-aligned-dropdown-menu.html | 140 - .../dropdown-menu/submenu-mouse-reenter.html | 64 - test/visual/dropdown/basic-dropdown-rtl.html | 58 - test/visual/dropdown/close-on-click.html | 42 - test/visual/dropdown/dropdown-on-input.html | 38 - .../visual/dropdown/explicit-positioning.html | 135 - test/visual/dropdown/in-top-bar.html | 60 - .../dropdown/linked-dropdown-toggle.html | 52 - test/visual/dropdown/long.html | 56 - test/visual/dropdown/mouse-on-browser-ui.html | 50 - test/visual/dropdown/offsets.html | 137 - .../dropdown/open-the-same-dropdown.html | 43 - .../dropdown/overflow-right-left-allowed.html | 58 - test/visual/dropdown/overflow-right-left.html | 58 - test/visual/dropdown/overflow.html | 97 - test/visual/equalizer/equalizer-events.html | 91 - test/visual/flex-grid/button-group.html | 152 - test/visual/flex-grid/column-row.html | 27 - test/visual/flex-grid/nesting.html | 45 - test/visual/flex-grid/top-bar.html | 50 - test/visual/flex-grid/unstack-block-grid.html | 50 - test/visual/form/input-group-float.html | 35 - test/visual/form/input-group-xygrid.html | 40 - test/visual/form/select-icon.html | 33 - test/visual/grid/centered-columns.html | 62 - test/visual/grid/collapse-nesting.html | 78 - test/visual/grid/nesting.html | 45 - test/visual/grid/uncentered-columns.html | 58 - test/visual/keyboard/trap-release-focus.html | 73 - test/visual/magellan/active-item.html | 98 - test/visual/magellan/unordered-links.html | 84 - .../media-object-mixins-flex-mode.html | 56 - test/visual/menu/active-menu-flex.html | 75 - test/visual/menu/active-menu-float.html | 72 - .../menu/advanced-nested-menu-flex.html | 149 - .../menu/advanced-nested-menu-float.html | 139 - test/visual/menu/basic-menu-flex.html | 84 - test/visual/menu/basic-menu-float.html | 82 - test/visual/menu/expanded-menu-flex.html | 63 - test/visual/menu/expanded-menu-float.html | 61 - ...orizontal-dropdownmenu-alignment-flex.html | 90 - ...rizontal-dropdownmenu-alignment-float.html | 88 - .../menu/horizontal-menu-alignment-flex.html | 88 - .../menu/horizontal-menu-alignment-float.html | 86 - test/visual/menu/menu-centered-flex.html | 76 - test/visual/menu/menu-centered-float.html | 74 - test/visual/menu/menu-form-flex.html | 74 - test/visual/menu/menu-form-float.html | 72 - test/visual/menu/menu-icons-flex.html | 139 - test/visual/menu/menu-icons-float.html | 137 - test/visual/menu/menu-text-flex.html | 63 - test/visual/menu/menu-text-float.html | 61 - test/visual/menu/nested-menu-flex.html | 89 - test/visual/menu/nested-menu-float.html | 87 - test/visual/menu/responsive-menu-flex.html | 128 - test/visual/menu/responsive-menu-float.html | 126 - test/visual/menu/simple-menu-flex.html | 63 - test/visual/menu/simple-menu-float.html | 61 - ...vertical-accordionmenu-alignment-flex.html | 90 - ...ertical-accordionmenu-alignment-float.html | 88 - ...vertical-drilldownmenu-alignment-flex.html | 90 - ...ertical-drilldownmenu-alignment-float.html | 88 - .../vertical-dropdownmenu-alignment-flex.html | 90 - ...vertical-dropdownmenu-alignment-float.html | 88 - .../menu/vertical-menu-alignment-flex.html | 84 - .../menu/vertical-menu-alignment-float.html | 82 - test/visual/offcanvas/absolute.html | 123 - test/visual/offcanvas/all-options.html | 222 - test/visual/offcanvas/nested.html | 287 - .../offcanvas-reveal-modal-large.html | 85 - .../offcanvas/offcanvas-reveal-modal.html | 85 - test/visual/offcanvas/reveal-on-option.html | 76 - test/visual/offcanvas/reveal.html | 76 - test/visual/offcanvas/sticky.html | 164 - test/visual/offcanvas/transition-time.html | 72 - test/visual/orbit/orbit.html | 71 - test/visual/orbit/touch.html | 69 - test/visual/prototype/_template.html | 26 - test/visual/prototype/arrow.html | 31 - test/visual/prototype/border-box.html | 66 - test/visual/prototype/border-none.html | 56 - test/visual/prototype/component-styling.html | 94 - test/visual/prototype/display.html | 79 - test/visual/prototype/font-styling.html | 40 - test/visual/prototype/image-replacement.html | 31 - .../prototype/list-styling-ordered.html | 88 - .../prototype/list-styling-unordered.html | 56 - test/visual/prototype/overflow.html | 220 - test/visual/prototype/separator.html | 36 - test/visual/prototype/sizing-height.html | 64 - test/visual/prototype/sizing-width.html | 44 - test/visual/prototype/text-decoration.html | 36 - .../visual/prototype/text-transformation.html | 36 - test/visual/prototype/text-truncate.html | 28 - test/visual/prototype/text-wrapping.html | 33 - test/visual/prototype/typescale.html | 35 - .../responsive-accordion-tabs.html | 474 - .../responsive-menu/accordion-dropdown.html | 84 - .../dropdown-on-right-middle.html | 124 - test/visual/responsive-menu/re-init.html | 62 - .../responsive-menu-left-dropdown.html | 90 - .../responsive-menu-right-dropdown.html | 91 - .../responsive-menu/responsive-menu.html | 61 - .../responsive-toggle/responsive-toggle.html | 54 - test/visual/reveal/basic.html | 122 - test/visual/reveal/close-on-click.html | 49 - .../reveal/element-outside-dom-click.html | 38 - test/visual/reveal/full-reveal.html | 56 - .../reveal/long-page-with-add-this.html | 57 - test/visual/reveal/long-page.html | 55 - test/visual/reveal/multiple-anchors.html | 47 - test/visual/reveal/nested-deep-link.html | 67 - test/visual/reveal/reveal-callout.html | 49 - .../reveal/reveal-test-data-options.html | 74 - test/visual/reveal/tall.html | 68 - test/visual/slider/nonzero-start.html | 50 - test/visual/slider/parseFloat.html | 30 - .../sticky/accordions-with-anchors.html | 182 - test/visual/sticky/anchors-with-callouts.html | 197 - test/visual/sticky/height-transition.html | 161 - test/visual/sticky/menus-with-anchors.html | 201 - test/visual/sticky/simple-menu.html | 109 - .../sticky/sticky-menu-dynamic-height.html | 251 - test/visual/tabs/deep-linking.html | 86 - test/visual/tabs/tabs-target.html | 62 - test/visual/tooltip/explicit-positioning.html | 111 - test/visual/top-bar/advanced-layout.html | 59 - .../top-bar/responsive-toggle-flex.html | 51 - test/visual/top-bar/stacking.html | 61 - test/visual/triggers/containing-toggle.html | 45 - test/visual/triggers/programmatic.html | 47 - .../responsive-text-alignment.html | 32 - .../vertical-rhythm/vertical-rhythm.html | 154 - test/visual/xy-grid/block-grid.html | 77 - test/visual/xy-grid/collapse.html | 96 - test/visual/xy-grid/combo-grids.html | 133 - test/visual/xy-grid/containers.html | 98 - test/visual/xy-grid/flex-utilities.html | 257 - test/visual/xy-grid/frame-grid.html | 81 - test/visual/xy-grid/kitchen-sink.html | 480 - test/visual/xy-grid/margin-grid.html | 108 - test/visual/xy-grid/offset.html | 110 - test/visual/xy-grid/padding-grid.html | 100 - test/visual/xy-grid/responsive-gutters.html | 40 - test/visual/xy-grid/vertical-grid.html | 54 - webpack.config.js | 29 - yarn.lock | 11627 -------------- 791 files changed, 3406 insertions(+), 187772 deletions(-) delete mode 100644 .babelrc delete mode 100644 .browserslistrc delete mode 100644 .commitlintrc.yml delete mode 100644 .eslintrc delete mode 100644 .github/ISSUE_TEMPLATE.md delete mode 100644 .github/workflows/main.yml delete mode 100755 .husky/commit-msg delete mode 100644 .husky/husky-commit-lint.js delete mode 100644 .husky/husky-commit-test.js delete mode 100644 .husky/husky-push-test.js delete mode 100755 .husky/pre-push delete mode 100644 .npmignore delete mode 100644 .sass-lint.yml delete mode 100644 .sonarcloud.properties delete mode 100644 .versions delete mode 100644 _vendor/sassy-lists/stylesheets/functions/_contain.scss delete mode 100644 _vendor/sassy-lists/stylesheets/functions/_purge.scss delete mode 100644 _vendor/sassy-lists/stylesheets/functions/_remove.scss delete mode 100644 _vendor/sassy-lists/stylesheets/functions/_replace.scss delete mode 100644 _vendor/sassy-lists/stylesheets/functions/_to-list.scss delete mode 100644 _vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss delete mode 100644 _vendor/sassy-lists/stylesheets/helpers/_true.scss delete mode 100644 assets/foundation-float.scss delete mode 100644 assets/foundation-prototype.scss delete mode 100644 assets/foundation-rtl.scss delete mode 100644 assets/foundation.scss delete mode 100644 bower.json delete mode 100644 browserstack.json delete mode 100644 composer.json delete mode 100644 customizer/complete.json delete mode 100644 customizer/config.yml delete mode 100644 customizer/essential.json delete mode 100644 customizer/index.html delete mode 100644 customizer/lib/index.js delete mode 100644 customizer/lib/js.js delete mode 100644 customizer/lib/sass.js delete mode 100644 dist/css/foundation-float.css delete mode 100644 dist/css/foundation-float.css.map delete mode 100644 dist/css/foundation-float.min.css delete mode 100644 dist/css/foundation-float.min.css.map delete mode 100644 dist/css/foundation-prototype.css delete mode 100644 dist/css/foundation-prototype.css.map delete mode 100644 dist/css/foundation-prototype.min.css delete mode 100644 dist/css/foundation-prototype.min.css.map delete mode 100644 dist/css/foundation-rtl.css delete mode 100644 dist/css/foundation-rtl.css.map delete mode 100644 dist/css/foundation-rtl.min.css delete mode 100644 dist/css/foundation-rtl.min.css.map delete mode 100644 dist/css/foundation.css delete mode 100644 dist/css/foundation.css.map delete mode 100644 dist/css/foundation.min.css delete mode 100644 dist/css/foundation.min.css.map delete mode 100644 dist/js/foundation.cjs.js delete mode 100644 dist/js/foundation.cjs.js.map delete mode 100644 dist/js/foundation.d.ts delete mode 100644 dist/js/foundation.es6.js delete mode 100644 dist/js/foundation.es6.js.map delete mode 100644 dist/js/foundation.esm.js delete mode 100644 dist/js/foundation.esm.js.map delete mode 100644 dist/js/foundation.js delete mode 100644 dist/js/foundation.js.map delete mode 100644 dist/js/foundation.min.js delete mode 100644 dist/js/foundation.min.js.map delete mode 100644 dist/js/plugins/foundation.abide.js delete mode 100644 dist/js/plugins/foundation.abide.js.map delete mode 100644 dist/js/plugins/foundation.abide.min.js delete mode 100644 dist/js/plugins/foundation.abide.min.js.map delete mode 100644 dist/js/plugins/foundation.accordion.js delete mode 100644 dist/js/plugins/foundation.accordion.js.map delete mode 100644 dist/js/plugins/foundation.accordion.min.js delete mode 100644 dist/js/plugins/foundation.accordion.min.js.map delete mode 100644 dist/js/plugins/foundation.accordionMenu.js delete mode 100644 dist/js/plugins/foundation.accordionMenu.js.map delete mode 100644 dist/js/plugins/foundation.accordionMenu.min.js delete mode 100644 dist/js/plugins/foundation.accordionMenu.min.js.map delete mode 100644 dist/js/plugins/foundation.core.js delete mode 100644 dist/js/plugins/foundation.core.js.map delete mode 100644 dist/js/plugins/foundation.core.min.js delete mode 100644 dist/js/plugins/foundation.core.min.js.map delete mode 100644 dist/js/plugins/foundation.drilldown.js delete mode 100644 dist/js/plugins/foundation.drilldown.js.map delete mode 100644 dist/js/plugins/foundation.drilldown.min.js delete mode 100644 dist/js/plugins/foundation.drilldown.min.js.map delete mode 100644 dist/js/plugins/foundation.dropdown.js delete mode 100644 dist/js/plugins/foundation.dropdown.js.map delete mode 100644 dist/js/plugins/foundation.dropdown.min.js delete mode 100644 dist/js/plugins/foundation.dropdown.min.js.map delete mode 100644 dist/js/plugins/foundation.dropdownMenu.js delete mode 100644 dist/js/plugins/foundation.dropdownMenu.js.map delete mode 100644 dist/js/plugins/foundation.dropdownMenu.min.js delete mode 100644 dist/js/plugins/foundation.dropdownMenu.min.js.map delete mode 100644 dist/js/plugins/foundation.equalizer.js delete mode 100644 dist/js/plugins/foundation.equalizer.js.map delete mode 100644 dist/js/plugins/foundation.equalizer.min.js delete mode 100644 dist/js/plugins/foundation.equalizer.min.js.map delete mode 100644 dist/js/plugins/foundation.interchange.js delete mode 100644 dist/js/plugins/foundation.interchange.js.map delete mode 100644 dist/js/plugins/foundation.interchange.min.js delete mode 100644 dist/js/plugins/foundation.interchange.min.js.map delete mode 100644 dist/js/plugins/foundation.magellan.js delete mode 100644 dist/js/plugins/foundation.magellan.js.map delete mode 100644 dist/js/plugins/foundation.magellan.min.js delete mode 100644 dist/js/plugins/foundation.magellan.min.js.map delete mode 100644 dist/js/plugins/foundation.offcanvas.js delete mode 100644 dist/js/plugins/foundation.offcanvas.js.map delete mode 100644 dist/js/plugins/foundation.offcanvas.min.js delete mode 100644 dist/js/plugins/foundation.offcanvas.min.js.map delete mode 100644 dist/js/plugins/foundation.orbit.js delete mode 100644 dist/js/plugins/foundation.orbit.js.map delete mode 100644 dist/js/plugins/foundation.orbit.min.js delete mode 100644 dist/js/plugins/foundation.orbit.min.js.map delete mode 100644 dist/js/plugins/foundation.responsiveAccordionTabs.js delete mode 100644 dist/js/plugins/foundation.responsiveAccordionTabs.js.map delete mode 100644 dist/js/plugins/foundation.responsiveAccordionTabs.min.js delete mode 100644 dist/js/plugins/foundation.responsiveAccordionTabs.min.js.map delete mode 100644 dist/js/plugins/foundation.responsiveMenu.js delete mode 100644 dist/js/plugins/foundation.responsiveMenu.js.map delete mode 100644 dist/js/plugins/foundation.responsiveMenu.min.js delete mode 100644 dist/js/plugins/foundation.responsiveMenu.min.js.map delete mode 100644 dist/js/plugins/foundation.responsiveToggle.js delete mode 100644 dist/js/plugins/foundation.responsiveToggle.js.map delete mode 100644 dist/js/plugins/foundation.responsiveToggle.min.js delete mode 100644 dist/js/plugins/foundation.responsiveToggle.min.js.map delete mode 100644 dist/js/plugins/foundation.reveal.js delete mode 100644 dist/js/plugins/foundation.reveal.js.map delete mode 100644 dist/js/plugins/foundation.reveal.min.js delete mode 100644 dist/js/plugins/foundation.reveal.min.js.map delete mode 100644 dist/js/plugins/foundation.slider.js delete mode 100644 dist/js/plugins/foundation.slider.js.map delete mode 100644 dist/js/plugins/foundation.slider.min.js delete mode 100644 dist/js/plugins/foundation.slider.min.js.map delete mode 100644 dist/js/plugins/foundation.smoothScroll.js delete mode 100644 dist/js/plugins/foundation.smoothScroll.js.map delete mode 100644 dist/js/plugins/foundation.smoothScroll.min.js delete mode 100644 dist/js/plugins/foundation.smoothScroll.min.js.map delete mode 100644 dist/js/plugins/foundation.sticky.js delete mode 100644 dist/js/plugins/foundation.sticky.js.map delete mode 100644 dist/js/plugins/foundation.sticky.min.js delete mode 100644 dist/js/plugins/foundation.sticky.min.js.map delete mode 100644 dist/js/plugins/foundation.tabs.js delete mode 100644 dist/js/plugins/foundation.tabs.js.map delete mode 100644 dist/js/plugins/foundation.tabs.min.js delete mode 100644 dist/js/plugins/foundation.tabs.min.js.map delete mode 100644 dist/js/plugins/foundation.toggler.js delete mode 100644 dist/js/plugins/foundation.toggler.js.map delete mode 100644 dist/js/plugins/foundation.toggler.min.js delete mode 100644 dist/js/plugins/foundation.toggler.min.js.map delete mode 100644 dist/js/plugins/foundation.tooltip.js delete mode 100644 dist/js/plugins/foundation.tooltip.js.map delete mode 100644 dist/js/plugins/foundation.tooltip.min.js delete mode 100644 dist/js/plugins/foundation.tooltip.min.js.map delete mode 100644 dist/js/plugins/foundation.util.box.js delete mode 100644 dist/js/plugins/foundation.util.box.js.map delete mode 100644 dist/js/plugins/foundation.util.box.min.js delete mode 100644 dist/js/plugins/foundation.util.box.min.js.map delete mode 100644 dist/js/plugins/foundation.util.imageLoader.js delete mode 100644 dist/js/plugins/foundation.util.imageLoader.js.map delete mode 100644 dist/js/plugins/foundation.util.imageLoader.min.js delete mode 100644 dist/js/plugins/foundation.util.imageLoader.min.js.map delete mode 100644 dist/js/plugins/foundation.util.keyboard.js delete mode 100644 dist/js/plugins/foundation.util.keyboard.js.map delete mode 100644 dist/js/plugins/foundation.util.keyboard.min.js delete mode 100644 dist/js/plugins/foundation.util.keyboard.min.js.map delete mode 100644 dist/js/plugins/foundation.util.mediaQuery.js delete mode 100644 dist/js/plugins/foundation.util.mediaQuery.js.map delete mode 100644 dist/js/plugins/foundation.util.mediaQuery.min.js delete mode 100644 dist/js/plugins/foundation.util.mediaQuery.min.js.map delete mode 100644 dist/js/plugins/foundation.util.motion.js delete mode 100644 dist/js/plugins/foundation.util.motion.js.map delete mode 100644 dist/js/plugins/foundation.util.motion.min.js delete mode 100644 dist/js/plugins/foundation.util.motion.min.js.map delete mode 100644 dist/js/plugins/foundation.util.nest.js delete mode 100644 dist/js/plugins/foundation.util.nest.js.map delete mode 100644 dist/js/plugins/foundation.util.nest.min.js delete mode 100644 dist/js/plugins/foundation.util.nest.min.js.map delete mode 100644 dist/js/plugins/foundation.util.timer.js delete mode 100644 dist/js/plugins/foundation.util.timer.js.map delete mode 100644 dist/js/plugins/foundation.util.timer.min.js delete mode 100644 dist/js/plugins/foundation.util.timer.min.js.map delete mode 100644 dist/js/plugins/foundation.util.touch.js delete mode 100644 dist/js/plugins/foundation.util.touch.js.map delete mode 100644 dist/js/plugins/foundation.util.touch.min.js delete mode 100644 dist/js/plugins/foundation.util.touch.min.js.map delete mode 100644 dist/js/plugins/foundation.util.triggers.js delete mode 100644 dist/js/plugins/foundation.util.triggers.js.map delete mode 100644 dist/js/plugins/foundation.util.triggers.min.js delete mode 100644 dist/js/plugins/foundation.util.triggers.min.js.map delete mode 100755 docs/assets/fonts/zurb-webfont.woff delete mode 100644 docs/assets/img/a11y/chrome-a11y-inspector.jpg delete mode 100644 docs/assets/img/advanced-class.png delete mode 100644 docs/assets/img/docs-630.png delete mode 100644 docs/assets/img/docs-631.png delete mode 100644 docs/assets/img/docs-kitchensink.png delete mode 100644 docs/assets/img/docs-vue.jpeg delete mode 100644 docs/assets/img/foundation-brands.png delete mode 100644 docs/assets/img/foundation-intro-class.jpg delete mode 100644 docs/assets/img/foundation-turns-5.png delete mode 100644 docs/assets/img/generic/rectangle-1.jpg delete mode 100644 docs/assets/img/generic/rectangle-2.jpg delete mode 100644 docs/assets/img/generic/rectangle-3.jpg delete mode 100644 docs/assets/img/generic/rectangle-4.jpg delete mode 100644 docs/assets/img/generic/rectangle-5.jpg delete mode 100644 docs/assets/img/generic/rectangle-6.jpg delete mode 100644 docs/assets/img/generic/rectangle-7.jpg delete mode 100644 docs/assets/img/generic/rectangle-8.jpg delete mode 100644 docs/assets/img/generic/square-1.jpg delete mode 100644 docs/assets/img/generic/square-2.jpg delete mode 100644 docs/assets/img/generic/square-3.jpg delete mode 100644 docs/assets/img/generic/square-4.jpg delete mode 100644 docs/assets/img/generic/square-5.jpg delete mode 100644 docs/assets/img/generic/square-6.jpg delete mode 100644 docs/assets/img/generic/voyager.jpg delete mode 100755 docs/assets/img/gulpfile.js delete mode 100644 docs/assets/img/icons/docked-close-button.svg delete mode 100644 docs/assets/img/icons/docked-expand-button.svg delete mode 100644 docs/assets/img/icons/email-icon.svg delete mode 100644 docs/assets/img/icons/facebook-icon.svg delete mode 100644 docs/assets/img/icons/favicon.ico delete mode 100644 docs/assets/img/icons/footer-expo-retina.png delete mode 100644 docs/assets/img/icons/footer-expo.png delete mode 100644 docs/assets/img/icons/footer-foundation-retina.png delete mode 100644 docs/assets/img/icons/footer-foundation.png delete mode 100644 docs/assets/img/icons/footer-icons-retina.png delete mode 100644 docs/assets/img/icons/footer-icons.png delete mode 100644 docs/assets/img/icons/footer-products-retina.png delete mode 100644 docs/assets/img/icons/footer-products.png delete mode 100644 docs/assets/img/icons/footer-studios-retina.png delete mode 100644 docs/assets/img/icons/footer-studios.png delete mode 100644 docs/assets/img/icons/footer-top-icons-retina.png delete mode 100644 docs/assets/img/icons/footer-top-icons.png delete mode 100644 docs/assets/img/icons/footer-university.png delete mode 100644 docs/assets/img/icons/foundation-favicon.ico delete mode 100755 docs/assets/img/icons/logo-bower.svg delete mode 100644 docs/assets/img/icons/logo-composer.svg delete mode 100755 docs/assets/img/icons/logo-meteor.svg delete mode 100644 docs/assets/img/icons/logo-npm.svg delete mode 100644 docs/assets/img/icons/logo-nuget.svg delete mode 100644 docs/assets/img/icons/logo-pnpm.svg delete mode 100755 docs/assets/img/icons/logo-rubygems.svg delete mode 100755 docs/assets/img/icons/logo-yarn.svg delete mode 100644 docs/assets/img/icons/menu-grey.png delete mode 100644 docs/assets/img/icons/modal-close-button.svg delete mode 100644 docs/assets/img/icons/modal-collapse-button.svg delete mode 100644 docs/assets/img/icons/social-retina.png delete mode 100644 docs/assets/img/icons/social.png delete mode 100644 docs/assets/img/icons/twitter-icon.svg delete mode 100644 docs/assets/img/icons/watch-video-icon.svg delete mode 100644 docs/assets/img/icons/youtube-icon.svg delete mode 100644 docs/assets/img/icons/youtube.png delete mode 100644 docs/assets/img/inky-banner-bg-boat.svg delete mode 100644 docs/assets/img/inky-banner-bg-clear.svg delete mode 100644 docs/assets/img/interchange/large.jpg delete mode 100644 docs/assets/img/interchange/map-medium.png delete mode 100644 docs/assets/img/interchange/map-small.png delete mode 100644 docs/assets/img/interchange/medium.jpg delete mode 100644 docs/assets/img/interchange/small.jpg delete mode 100644 docs/assets/img/intro-css.png delete mode 100644 docs/assets/img/intro-grid.png delete mode 100644 docs/assets/img/logos/browser-stack.svg delete mode 100644 docs/assets/img/logos/codepen-button.svg delete mode 100644 docs/assets/img/logos/cp1.svg delete mode 100644 docs/assets/img/logos/cp2.svg delete mode 100644 docs/assets/img/logos/cp3.svg delete mode 100644 docs/assets/img/logos/edit-in-browser.svg delete mode 100644 docs/assets/img/logos/foundation-sites-nuget-icon-128x128.jpg delete mode 100644 docs/assets/img/logos/sass-logo.svg delete mode 100644 docs/assets/img/logos/zurb-logo.svg delete mode 100644 docs/assets/img/media-object/avatar-1.jpg delete mode 100644 docs/assets/img/media-object/avatar-2.jpg delete mode 100644 docs/assets/img/media-object/avatar-3.jpg delete mode 100644 docs/assets/img/orbit/01.jpg delete mode 100644 docs/assets/img/orbit/02.jpg delete mode 100644 docs/assets/img/orbit/03.jpg delete mode 100644 docs/assets/img/orbit/04.jpg delete mode 100644 docs/assets/img/thumbnail/01.jpg delete mode 100644 docs/assets/img/thumbnail/02.jpg delete mode 100644 docs/assets/img/thumbnail/03.jpg delete mode 100644 docs/assets/img/yeti.svg delete mode 100644 docs/assets/img/zero-to-website.png delete mode 100644 docs/assets/js/docs.ad.js delete mode 100644 docs/assets/js/docs.examples.js delete mode 100644 docs/assets/js/docs.interchangeMap.js delete mode 100644 docs/assets/js/docs.js delete mode 100644 docs/assets/partials/interchange-default.html delete mode 100644 docs/assets/partials/interchange-large.html delete mode 100644 docs/assets/partials/interchange-medium.html delete mode 100644 docs/assets/partials/sticky-nav.html delete mode 100644 docs/assets/scss/_accordion-content.scss delete mode 100644 docs/assets/scss/_component-list.scss delete mode 100644 docs/assets/scss/_course-callout.scss delete mode 100755 docs/assets/scss/_docs-footer.scss delete mode 100644 docs/assets/scss/content/_install.scss delete mode 100644 docs/assets/scss/docs.scss delete mode 100644 docs/assets/scss/examples/_buttons.scss delete mode 100644 docs/assets/scss/examples/_grid.scss delete mode 100644 docs/assets/scss/examples/_motion-ui.scss delete mode 100644 docs/assets/scss/examples/_off-canvas.scss delete mode 100644 docs/assets/scss/examples/_orbit.scss delete mode 100644 docs/assets/scss/examples/_responsive-embed.scss delete mode 100644 docs/assets/scss/examples/_reveal.scss delete mode 100644 docs/layout/default.html delete mode 100644 docs/pages/abide.md delete mode 100644 docs/pages/accessibility.md delete mode 100644 docs/pages/accordion-menu.md delete mode 100644 docs/pages/accordion.md delete mode 100644 docs/pages/badge.md delete mode 100644 docs/pages/breadcrumbs.md delete mode 100644 docs/pages/button-group.md delete mode 100644 docs/pages/button.md delete mode 100644 docs/pages/callout.md delete mode 100644 docs/pages/card.md delete mode 100644 docs/pages/close-button.md delete mode 100644 docs/pages/compatibility.md delete mode 100644 docs/pages/drilldown-menu.md delete mode 100644 docs/pages/dropdown-menu.md delete mode 100644 docs/pages/dropdown.md delete mode 100644 docs/pages/equalizer.md delete mode 100644 docs/pages/flex-grid.md delete mode 100644 docs/pages/flexbox-mode.md delete mode 100644 docs/pages/flexbox-utilities.md delete mode 100644 docs/pages/float-classes.md delete mode 100644 docs/pages/forms.md delete mode 100644 docs/pages/global.md delete mode 100644 docs/pages/grid.md delete mode 100644 docs/pages/index.md delete mode 100644 docs/pages/installation.md delete mode 100644 docs/pages/interchange.md delete mode 100644 docs/pages/javascript-utilities.md delete mode 100644 docs/pages/javascript.md delete mode 100644 docs/pages/kitchen-sink.md delete mode 100644 docs/pages/label.md delete mode 100644 docs/pages/magellan.md delete mode 100644 docs/pages/media-object.md delete mode 100644 docs/pages/media-queries.md delete mode 100644 docs/pages/menu.md delete mode 100644 docs/pages/motion-ui.md delete mode 100644 docs/pages/navigation.md delete mode 100644 docs/pages/off-canvas.md delete mode 100644 docs/pages/orbit.md delete mode 100644 docs/pages/pagination.md delete mode 100644 docs/pages/panini.md delete mode 100644 docs/pages/progress-bar.md delete mode 100644 docs/pages/prototyping-utilities.md delete mode 100644 docs/pages/responsive-accordion-tabs.md delete mode 100644 docs/pages/responsive-embed.md delete mode 100644 docs/pages/responsive-navigation.md delete mode 100644 docs/pages/reveal.md delete mode 100644 docs/pages/rtl.md delete mode 100644 docs/pages/sass-functions.md delete mode 100644 docs/pages/sass-mixins.md delete mode 100644 docs/pages/sass.md delete mode 100644 docs/pages/slider.md delete mode 100644 docs/pages/smooth-scroll.md delete mode 100644 docs/pages/starter-projects.md delete mode 100644 docs/pages/sticky.md delete mode 100644 docs/pages/style-sherpa.md delete mode 100644 docs/pages/switch.md delete mode 100644 docs/pages/table.md delete mode 100644 docs/pages/tabs.md delete mode 100644 docs/pages/thumbnail.md delete mode 100644 docs/pages/toggler.md delete mode 100644 docs/pages/tooltip.md delete mode 100644 docs/pages/top-bar.md delete mode 100644 docs/pages/typography-base.md delete mode 100644 docs/pages/typography-helpers.md delete mode 100644 docs/pages/visibility.md delete mode 100644 docs/pages/xy-grid.md delete mode 100644 docs/partials/component-list.html delete mode 100644 docs/partials/docs-video-codepen.html delete mode 100644 docs/partials/footer-contact.html delete mode 100755 docs/partials/footer.html delete mode 100644 docs/partials/info-banner.html delete mode 100644 docs/partials/mobile-navigation.html delete mode 100644 docs/partials/navigation.html delete mode 100644 docs/partials/newsletter-signup-rr.html delete mode 100644 docs/partials/off-canvi.html delete mode 100644 docs/partials/search-bar.html delete mode 100644 docs/partials/toc-template.hbs delete mode 100644 docs/partials/training-callout.html delete mode 100644 docs/search.yml create mode 100644 docs/superpowers/plans/2026-09-12-yeti-phase-0-repo-transition.md create mode 100644 docs/superpowers/research/2026-09-12-css-reset-survey.md create mode 100644 docs/superpowers/research/2026-09-12-inspiration-notes.md create mode 100644 docs/superpowers/specs/2026-09-12-yeti-architecture-design.md create mode 100644 docs/superpowers/specs/2026-09-12-yeti-phase-0-repo-transition-design.md delete mode 100644 gulp/config.js delete mode 100644 gulp/tasks/babel-error.js delete mode 100644 gulp/tasks/check.js delete mode 100644 gulp/tasks/clean.js delete mode 100644 gulp/tasks/copy.js delete mode 100644 gulp/tasks/customizer.js delete mode 100644 gulp/tasks/deploy.js delete mode 100644 gulp/tasks/docs.js delete mode 100644 gulp/tasks/javascript.js delete mode 100644 gulp/tasks/lint.js delete mode 100644 gulp/tasks/sass.js delete mode 100644 gulp/tasks/test.js delete mode 100644 gulp/utils.js delete mode 100644 gulpfile.js delete mode 100644 js/entries/foundation-plugins.js delete mode 100644 js/entries/foundation.js delete mode 100644 js/entries/plugins/foundation.abide.js delete mode 100644 js/entries/plugins/foundation.accordion.js delete mode 100644 js/entries/plugins/foundation.accordionMenu.js delete mode 100644 js/entries/plugins/foundation.core.js delete mode 100644 js/entries/plugins/foundation.drilldown.js delete mode 100644 js/entries/plugins/foundation.dropdown.js delete mode 100644 js/entries/plugins/foundation.dropdownMenu.js delete mode 100644 js/entries/plugins/foundation.equalizer.js delete mode 100644 js/entries/plugins/foundation.interchange.js delete mode 100644 js/entries/plugins/foundation.magellan.js delete mode 100644 js/entries/plugins/foundation.offcanvas.js delete mode 100644 js/entries/plugins/foundation.orbit.js delete mode 100644 js/entries/plugins/foundation.responsiveAccordionTabs.js delete mode 100644 js/entries/plugins/foundation.responsiveMenu.js delete mode 100644 js/entries/plugins/foundation.responsiveToggle.js delete mode 100644 js/entries/plugins/foundation.reveal.js delete mode 100644 js/entries/plugins/foundation.slider.js delete mode 100644 js/entries/plugins/foundation.smoothScroll.js delete mode 100644 js/entries/plugins/foundation.sticky.js delete mode 100644 js/entries/plugins/foundation.tabs.js delete mode 100644 js/entries/plugins/foundation.toggler.js delete mode 100644 js/entries/plugins/foundation.tooltip.js delete mode 100644 js/entries/plugins/foundation.util.box.js delete mode 100644 js/entries/plugins/foundation.util.imageLoader.js delete mode 100644 js/entries/plugins/foundation.util.keyboard.js delete mode 100644 js/entries/plugins/foundation.util.mediaQuery.js delete mode 100644 js/entries/plugins/foundation.util.motion.js delete mode 100644 js/entries/plugins/foundation.util.nest.js delete mode 100644 js/entries/plugins/foundation.util.timer.js delete mode 100644 js/entries/plugins/foundation.util.touch.js delete mode 100644 js/entries/plugins/foundation.util.triggers.js delete mode 100644 js/foundation.abide.js delete mode 100644 js/foundation.accordion.js delete mode 100644 js/foundation.accordionMenu.js delete mode 100644 js/foundation.core.js delete mode 100644 js/foundation.core.plugin.js delete mode 100644 js/foundation.core.utils.js delete mode 100644 js/foundation.drilldown.js delete mode 100644 js/foundation.dropdown.js delete mode 100644 js/foundation.dropdownMenu.js delete mode 100644 js/foundation.equalizer.js delete mode 100644 js/foundation.interchange.js delete mode 100644 js/foundation.js delete mode 100644 js/foundation.magellan.js delete mode 100644 js/foundation.offcanvas.js delete mode 100644 js/foundation.orbit.js delete mode 100644 js/foundation.positionable.js delete mode 100644 js/foundation.responsiveAccordionTabs.js delete mode 100644 js/foundation.responsiveMenu.js delete mode 100644 js/foundation.responsiveToggle.js delete mode 100644 js/foundation.reveal.js delete mode 100644 js/foundation.slider.js delete mode 100644 js/foundation.smoothScroll.js delete mode 100644 js/foundation.sticky.js delete mode 100644 js/foundation.tabs.js delete mode 100644 js/foundation.toggler.js delete mode 100644 js/foundation.tooltip.js delete mode 100644 js/foundation.util.box.js delete mode 100644 js/foundation.util.imageLoader.js delete mode 100644 js/foundation.util.keyboard.js delete mode 100644 js/foundation.util.mediaQuery.js delete mode 100644 js/foundation.util.motion.js delete mode 100644 js/foundation.util.nest.js delete mode 100644 js/foundation.util.timer.js delete mode 100644 js/foundation.util.touch.js delete mode 100644 js/foundation.util.triggers.js delete mode 100644 js/typescript/foundation.d.ts delete mode 100644 meteor-README.md delete mode 100644 package.js delete mode 100644 package.nuspec delete mode 100644 patches/browserstack-runner+0.9.2.patch delete mode 100644 rollup.config.js delete mode 100644 sache.json delete mode 100644 scss/_global.scss delete mode 100644 scss/components/_accordion-menu.scss delete mode 100644 scss/components/_accordion.scss delete mode 100644 scss/components/_badge.scss delete mode 100644 scss/components/_breadcrumbs.scss delete mode 100644 scss/components/_button-group.scss delete mode 100644 scss/components/_button.scss delete mode 100644 scss/components/_callout.scss delete mode 100644 scss/components/_card.scss delete mode 100644 scss/components/_close-button.scss delete mode 100644 scss/components/_drilldown.scss delete mode 100644 scss/components/_dropdown-menu.scss delete mode 100644 scss/components/_dropdown.scss delete mode 100644 scss/components/_flex-video.scss delete mode 100644 scss/components/_flex.scss delete mode 100644 scss/components/_float.scss delete mode 100644 scss/components/_label.scss delete mode 100644 scss/components/_media-object.scss delete mode 100644 scss/components/_menu-icon.scss delete mode 100644 scss/components/_menu.scss delete mode 100644 scss/components/_off-canvas.scss delete mode 100644 scss/components/_orbit.scss delete mode 100644 scss/components/_pagination.scss delete mode 100644 scss/components/_progress-bar.scss delete mode 100644 scss/components/_responsive-embed.scss delete mode 100644 scss/components/_reveal.scss delete mode 100755 scss/components/_slider.scss delete mode 100644 scss/components/_sticky.scss delete mode 100644 scss/components/_switch.scss delete mode 100644 scss/components/_table.scss delete mode 100644 scss/components/_tabs.scss delete mode 100644 scss/components/_thumbnail.scss delete mode 100644 scss/components/_title-bar.scss delete mode 100644 scss/components/_tooltip.scss delete mode 100644 scss/components/_top-bar.scss delete mode 100644 scss/components/_visibility.scss delete mode 100644 scss/forms/_checkbox.scss delete mode 100644 scss/forms/_error.scss delete mode 100644 scss/forms/_fieldset.scss delete mode 100644 scss/forms/_forms.scss delete mode 100644 scss/forms/_help-text.scss delete mode 100644 scss/forms/_input-group.scss delete mode 100644 scss/forms/_label.scss delete mode 100644 scss/forms/_meter.scss delete mode 100644 scss/forms/_progress.scss delete mode 100644 scss/forms/_range.scss delete mode 100644 scss/forms/_select.scss delete mode 100644 scss/forms/_text.scss delete mode 100644 scss/foundation.scss delete mode 100644 scss/grid/_classes.scss delete mode 100644 scss/grid/_column.scss delete mode 100644 scss/grid/_flex-grid.scss delete mode 100644 scss/grid/_grid.scss delete mode 100644 scss/grid/_gutter.scss delete mode 100644 scss/grid/_layout.scss delete mode 100644 scss/grid/_position.scss delete mode 100644 scss/grid/_row.scss delete mode 100644 scss/grid/_size.scss delete mode 100644 scss/prototype/_arrow.scss delete mode 100644 scss/prototype/_border-box.scss delete mode 100644 scss/prototype/_border-none.scss delete mode 100644 scss/prototype/_bordered.scss delete mode 100644 scss/prototype/_box.scss delete mode 100644 scss/prototype/_display.scss delete mode 100644 scss/prototype/_font-styling.scss delete mode 100644 scss/prototype/_list-style-type.scss delete mode 100644 scss/prototype/_overflow.scss delete mode 100644 scss/prototype/_position.scss delete mode 100644 scss/prototype/_prototype.scss delete mode 100644 scss/prototype/_relation.scss delete mode 100644 scss/prototype/_rotate.scss delete mode 100644 scss/prototype/_rounded.scss delete mode 100644 scss/prototype/_separator.scss delete mode 100644 scss/prototype/_shadow.scss delete mode 100644 scss/prototype/_sizing.scss delete mode 100644 scss/prototype/_spacing.scss delete mode 100644 scss/prototype/_text-decoration.scss delete mode 100644 scss/prototype/_text-transformation.scss delete mode 100644 scss/prototype/_text-utilities.scss delete mode 100644 scss/settings/_settings.scss delete mode 100644 scss/typography/_alignment.scss delete mode 100644 scss/typography/_base.scss delete mode 100644 scss/typography/_helpers.scss delete mode 100644 scss/typography/_print.scss delete mode 100644 scss/typography/_typography.scss delete mode 100644 scss/util/_breakpoint.scss delete mode 100644 scss/util/_color.scss delete mode 100644 scss/util/_direction.scss delete mode 100644 scss/util/_flex.scss delete mode 100644 scss/util/_math.scss delete mode 100644 scss/util/_mixins.scss delete mode 100644 scss/util/_selector.scss delete mode 100644 scss/util/_typography.scss delete mode 100644 scss/util/_unit.scss delete mode 100644 scss/util/_util.scss delete mode 100644 scss/util/_value.scss delete mode 100644 scss/vendor/normalize.scss delete mode 100644 scss/xy-grid/_cell.scss delete mode 100644 scss/xy-grid/_classes.scss delete mode 100644 scss/xy-grid/_collapse.scss delete mode 100644 scss/xy-grid/_frame.scss delete mode 100644 scss/xy-grid/_grid.scss delete mode 100644 scss/xy-grid/_gutters.scss delete mode 100644 scss/xy-grid/_layout.scss delete mode 100644 scss/xy-grid/_position.scss delete mode 100644 scss/xy-grid/_xy-grid.scss delete mode 100644 test/bundle/index.html delete mode 100644 test/bundle/test_bundle.js delete mode 100644 test/javascript/components/abide.js delete mode 100644 test/javascript/components/accordion.js delete mode 100644 test/javascript/components/accordionMenu.js delete mode 100644 test/javascript/components/drilldown.js delete mode 100644 test/javascript/components/dropdown.js delete mode 100644 test/javascript/components/dropdownMenu.js delete mode 100644 test/javascript/components/equalizer.js delete mode 100755 test/javascript/components/interchange.js delete mode 100644 test/javascript/components/magellan.js delete mode 100644 test/javascript/components/offcanvas.js delete mode 100644 test/javascript/components/orbit.js delete mode 100644 test/javascript/components/responsiveMenu.js delete mode 100644 test/javascript/components/responsiveToggle.js delete mode 100644 test/javascript/components/reveal.js delete mode 100644 test/javascript/components/slider.js delete mode 100644 test/javascript/components/sticky.js delete mode 100644 test/javascript/components/tabs.js delete mode 100644 test/javascript/components/toggler.js delete mode 100644 test/javascript/components/tooltip.js delete mode 100644 test/javascript/core/core.js delete mode 100644 test/javascript/core/utils.js delete mode 100644 test/javascript/index.html delete mode 100644 test/javascript/lib/keyboard-event-mock.js delete mode 100644 test/javascript/lib/utils.js delete mode 100644 test/javascript/util/box.js delete mode 100644 test/javascript/util/keyboard.js delete mode 100644 test/javascript/util/mediaQuery.js delete mode 100755 test/sass/_breakpoint.scss delete mode 100755 test/sass/_color.scss delete mode 100644 test/sass/_components.scss delete mode 100755 test/sass/_selector.scss delete mode 100755 test/sass/_unit.scss delete mode 100755 test/sass/_value.scss delete mode 100644 test/sass/test_sass.js delete mode 100644 test/visual/_template.html delete mode 100644 test/visual/abide/abide-checkboxes.html delete mode 100644 test/visual/abide/abide-radio.html delete mode 100644 test/visual/abide/accessibility.html delete mode 100644 test/visual/abide/error-messages.html delete mode 100644 test/visual/abide/hidden_and_ignored_fields.html delete mode 100644 test/visual/abide/text.html delete mode 100644 test/visual/accordion-menu/accordionmenu.html delete mode 100644 test/visual/accordion-menu/keyboard.html delete mode 100644 test/visual/accordion-menu/parent-link.html delete mode 100644 test/visual/accordion-menu/submenu-toggle.html delete mode 100644 test/visual/accordion/focus.html delete mode 100644 test/visual/accordion/nested.html delete mode 100644 test/visual/breadcrumbs/breadcrumbs.html delete mode 100644 test/visual/button/button-group.html delete mode 100644 test/visual/button/button.html delete mode 100644 test/visual/button/cursor.html delete mode 100644 test/visual/card/card.html delete mode 100644 test/visual/controls/close-button.html delete mode 100644 test/visual/drilldown/drilldown-menu-auto-height.html delete mode 100644 test/visual/drilldown/drilldown-menu-parent-link.html delete mode 100644 test/visual/drilldown/drilldown-menu-scroll-top.html delete mode 100644 test/visual/drilldown/drilldown-show-menu.html delete mode 100644 test/visual/drilldown/long-titles.html delete mode 100644 test/visual/dropdown-menu/basic-dropdown-menu-rtl.html delete mode 100644 test/visual/dropdown-menu/dropdown-menu-cross-leave.html delete mode 100644 test/visual/dropdown-menu/left-aligned-dropdown-menu-inside-top-bar-right.html delete mode 100644 test/visual/dropdown-menu/right-aligned-dropdown-menu.html delete mode 100644 test/visual/dropdown-menu/submenu-mouse-reenter.html delete mode 100644 test/visual/dropdown/basic-dropdown-rtl.html delete mode 100644 test/visual/dropdown/close-on-click.html delete mode 100644 test/visual/dropdown/dropdown-on-input.html delete mode 100644 test/visual/dropdown/explicit-positioning.html delete mode 100644 test/visual/dropdown/in-top-bar.html delete mode 100644 test/visual/dropdown/linked-dropdown-toggle.html delete mode 100644 test/visual/dropdown/long.html delete mode 100644 test/visual/dropdown/mouse-on-browser-ui.html delete mode 100644 test/visual/dropdown/offsets.html delete mode 100644 test/visual/dropdown/open-the-same-dropdown.html delete mode 100644 test/visual/dropdown/overflow-right-left-allowed.html delete mode 100644 test/visual/dropdown/overflow-right-left.html delete mode 100644 test/visual/dropdown/overflow.html delete mode 100644 test/visual/equalizer/equalizer-events.html delete mode 100644 test/visual/flex-grid/button-group.html delete mode 100644 test/visual/flex-grid/column-row.html delete mode 100644 test/visual/flex-grid/nesting.html delete mode 100644 test/visual/flex-grid/top-bar.html delete mode 100644 test/visual/flex-grid/unstack-block-grid.html delete mode 100644 test/visual/form/input-group-float.html delete mode 100644 test/visual/form/input-group-xygrid.html delete mode 100644 test/visual/form/select-icon.html delete mode 100644 test/visual/grid/centered-columns.html delete mode 100644 test/visual/grid/collapse-nesting.html delete mode 100644 test/visual/grid/nesting.html delete mode 100644 test/visual/grid/uncentered-columns.html delete mode 100644 test/visual/keyboard/trap-release-focus.html delete mode 100644 test/visual/magellan/active-item.html delete mode 100644 test/visual/magellan/unordered-links.html delete mode 100644 test/visual/media-object/media-object-mixins-flex-mode.html delete mode 100644 test/visual/menu/active-menu-flex.html delete mode 100644 test/visual/menu/active-menu-float.html delete mode 100644 test/visual/menu/advanced-nested-menu-flex.html delete mode 100644 test/visual/menu/advanced-nested-menu-float.html delete mode 100644 test/visual/menu/basic-menu-flex.html delete mode 100644 test/visual/menu/basic-menu-float.html delete mode 100644 test/visual/menu/expanded-menu-flex.html delete mode 100644 test/visual/menu/expanded-menu-float.html delete mode 100644 test/visual/menu/horizontal-dropdownmenu-alignment-flex.html delete mode 100644 test/visual/menu/horizontal-dropdownmenu-alignment-float.html delete mode 100644 test/visual/menu/horizontal-menu-alignment-flex.html delete mode 100644 test/visual/menu/horizontal-menu-alignment-float.html delete mode 100644 test/visual/menu/menu-centered-flex.html delete mode 100644 test/visual/menu/menu-centered-float.html delete mode 100644 test/visual/menu/menu-form-flex.html delete mode 100644 test/visual/menu/menu-form-float.html delete mode 100644 test/visual/menu/menu-icons-flex.html delete mode 100644 test/visual/menu/menu-icons-float.html delete mode 100644 test/visual/menu/menu-text-flex.html delete mode 100644 test/visual/menu/menu-text-float.html delete mode 100644 test/visual/menu/nested-menu-flex.html delete mode 100644 test/visual/menu/nested-menu-float.html delete mode 100644 test/visual/menu/responsive-menu-flex.html delete mode 100644 test/visual/menu/responsive-menu-float.html delete mode 100644 test/visual/menu/simple-menu-flex.html delete mode 100644 test/visual/menu/simple-menu-float.html delete mode 100644 test/visual/menu/vertical-accordionmenu-alignment-flex.html delete mode 100644 test/visual/menu/vertical-accordionmenu-alignment-float.html delete mode 100644 test/visual/menu/vertical-drilldownmenu-alignment-flex.html delete mode 100644 test/visual/menu/vertical-drilldownmenu-alignment-float.html delete mode 100644 test/visual/menu/vertical-dropdownmenu-alignment-flex.html delete mode 100644 test/visual/menu/vertical-dropdownmenu-alignment-float.html delete mode 100644 test/visual/menu/vertical-menu-alignment-flex.html delete mode 100644 test/visual/menu/vertical-menu-alignment-float.html delete mode 100644 test/visual/offcanvas/absolute.html delete mode 100644 test/visual/offcanvas/all-options.html delete mode 100644 test/visual/offcanvas/nested.html delete mode 100644 test/visual/offcanvas/offcanvas-reveal-modal-large.html delete mode 100644 test/visual/offcanvas/offcanvas-reveal-modal.html delete mode 100644 test/visual/offcanvas/reveal-on-option.html delete mode 100644 test/visual/offcanvas/reveal.html delete mode 100644 test/visual/offcanvas/sticky.html delete mode 100644 test/visual/offcanvas/transition-time.html delete mode 100644 test/visual/orbit/orbit.html delete mode 100644 test/visual/orbit/touch.html delete mode 100644 test/visual/prototype/_template.html delete mode 100644 test/visual/prototype/arrow.html delete mode 100644 test/visual/prototype/border-box.html delete mode 100644 test/visual/prototype/border-none.html delete mode 100644 test/visual/prototype/component-styling.html delete mode 100644 test/visual/prototype/display.html delete mode 100644 test/visual/prototype/font-styling.html delete mode 100644 test/visual/prototype/image-replacement.html delete mode 100644 test/visual/prototype/list-styling-ordered.html delete mode 100644 test/visual/prototype/list-styling-unordered.html delete mode 100644 test/visual/prototype/overflow.html delete mode 100644 test/visual/prototype/separator.html delete mode 100644 test/visual/prototype/sizing-height.html delete mode 100644 test/visual/prototype/sizing-width.html delete mode 100644 test/visual/prototype/text-decoration.html delete mode 100644 test/visual/prototype/text-transformation.html delete mode 100644 test/visual/prototype/text-truncate.html delete mode 100644 test/visual/prototype/text-wrapping.html delete mode 100644 test/visual/prototype/typescale.html delete mode 100644 test/visual/responsive-accordion-tabs/responsive-accordion-tabs.html delete mode 100644 test/visual/responsive-menu/accordion-dropdown.html delete mode 100644 test/visual/responsive-menu/dropdown-on-right-middle.html delete mode 100644 test/visual/responsive-menu/re-init.html delete mode 100644 test/visual/responsive-menu/responsive-menu-left-dropdown.html delete mode 100644 test/visual/responsive-menu/responsive-menu-right-dropdown.html delete mode 100644 test/visual/responsive-menu/responsive-menu.html delete mode 100644 test/visual/responsive-toggle/responsive-toggle.html delete mode 100644 test/visual/reveal/basic.html delete mode 100644 test/visual/reveal/close-on-click.html delete mode 100644 test/visual/reveal/element-outside-dom-click.html delete mode 100644 test/visual/reveal/full-reveal.html delete mode 100644 test/visual/reveal/long-page-with-add-this.html delete mode 100644 test/visual/reveal/long-page.html delete mode 100644 test/visual/reveal/multiple-anchors.html delete mode 100644 test/visual/reveal/nested-deep-link.html delete mode 100644 test/visual/reveal/reveal-callout.html delete mode 100644 test/visual/reveal/reveal-test-data-options.html delete mode 100644 test/visual/reveal/tall.html delete mode 100644 test/visual/slider/nonzero-start.html delete mode 100644 test/visual/slider/parseFloat.html delete mode 100644 test/visual/sticky/accordions-with-anchors.html delete mode 100644 test/visual/sticky/anchors-with-callouts.html delete mode 100644 test/visual/sticky/height-transition.html delete mode 100644 test/visual/sticky/menus-with-anchors.html delete mode 100644 test/visual/sticky/simple-menu.html delete mode 100644 test/visual/sticky/sticky-menu-dynamic-height.html delete mode 100644 test/visual/tabs/deep-linking.html delete mode 100644 test/visual/tabs/tabs-target.html delete mode 100644 test/visual/tooltip/explicit-positioning.html delete mode 100644 test/visual/top-bar/advanced-layout.html delete mode 100644 test/visual/top-bar/responsive-toggle-flex.html delete mode 100644 test/visual/top-bar/stacking.html delete mode 100644 test/visual/triggers/containing-toggle.html delete mode 100644 test/visual/triggers/programmatic.html delete mode 100644 test/visual/typography-helpers/responsive-text-alignment.html delete mode 100644 test/visual/vertical-rhythm/vertical-rhythm.html delete mode 100644 test/visual/xy-grid/block-grid.html delete mode 100644 test/visual/xy-grid/collapse.html delete mode 100644 test/visual/xy-grid/combo-grids.html delete mode 100644 test/visual/xy-grid/containers.html delete mode 100644 test/visual/xy-grid/flex-utilities.html delete mode 100644 test/visual/xy-grid/frame-grid.html delete mode 100644 test/visual/xy-grid/kitchen-sink.html delete mode 100644 test/visual/xy-grid/margin-grid.html delete mode 100644 test/visual/xy-grid/offset.html delete mode 100644 test/visual/xy-grid/padding-grid.html delete mode 100644 test/visual/xy-grid/responsive-gutters.html delete mode 100644 test/visual/xy-grid/vertical-grid.html delete mode 100644 webpack.config.js delete mode 100644 yarn.lock diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 4cecb55b7c..0000000000 --- a/.babelrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "presets": [ "@babel/preset-env" ] -} diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index 2d26e10df2..0000000000 --- a/.browserslistrc +++ /dev/null @@ -1,3 +0,0 @@ -# Browsers that we support -last 2 versions -> 1% \ No newline at end of file diff --git a/.commitlintrc.yml b/.commitlintrc.yml deleted file mode 100644 index 09741851c5..0000000000 --- a/.commitlintrc.yml +++ /dev/null @@ -1,2 +0,0 @@ -extends: - - '@commitlint/config-conventional' diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 0084bda06e..0000000000 --- a/.eslintrc +++ /dev/null @@ -1,64 +0,0 @@ -{ - "env": { - "browser": true, - "builtin": true, - "es6": true, - "jasmine": true, - "jquery": true, - "mocha": true, - "node": true - }, - "globals": { - "Foundation": true - }, - "parserOptions": { - "ecmaFeatures": { - "impliedStrict": true, - "jsx": false - }, - "ecmaVersion": 6, - "sourceType": "module" - }, - "rules": { - "block-scoped-var": 2, - "camelcase": 1, - "comma-style": [2, "last"], - "curly": [0, "all"], - "dot-notation": [ - 2, - { - "allowKeywords": true - } - ], - "eqeqeq": [2, "allow-null"], - "guard-for-in": 2, - "new-cap": 0, - "no-bitwise": 2, - "no-caller": 2, - "no-cond-assign": [2, "except-parens"], - "no-debugger": 2, - "no-empty": 2, - "no-eval": 2, - "no-extend-native": 2, - "no-extra-parens": 0, - "no-irregular-whitespace": 2, - "no-iterator": 2, - "no-loop-func": 2, - "no-multi-str": 2, - "no-new": 2, - "no-plusplus": 0, - "no-proto": 2, - "no-script-url": 2, - "no-sequences": 2, - "no-shadow": 1, - "no-undef": 2, - "no-unused-vars": 1, - "no-with": 2, - "quotes": 0, - "radix" : 2, - "semi": [0, "never"], - "strict": [1, "global"], - "valid-typeof": 2, - "wrap-iife": [2, "inside"] - } -} diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 6b8013571b..0000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,91 +0,0 @@ - - -## Expected Behavior - - -... - - -## Current Behavior - - -... - - -## Possible Solution - - -... - - -## Test Case and/or Steps to Reproduce (for bugs) - -Test Case: - - -How to reproduce: -1. -2. -3. - - -## Context - - -... - - -## Your Environment - -- Foundation version(s) used: -- Browser(s) name and version(s): -- Device, Operating System and version: -- Link to your project: - - -## Checklist - -- [ ] I have read and follow the CONTRIBUTING.md document. -- [ ] This is a bug report or a feature request. -- [ ] There are no other issues similar to this one. -- [ ] The issue title and template are correctly filled. - - - diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 1097affd74..0000000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: CI - -on: [push, pull_request] - -jobs: - build_latest_browserstack: - name: Node Latest with browserstack - runs-on: ubuntu-latest - strategy: - matrix: - node: ['22'] - steps: - - uses: actions/checkout@v3 - - name: install system dependencies - run: sudo apt-get update && sudo apt-get install -y gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - - name: install dependencies - run: yarn - - name: patch packages - run: yarn patch-package - - name: run tests with browserstack - env: # Or as an environment variable - BROWSERSTACK_KEY: ${{ secrets.BROWSERSTACK_KEY }} - BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} - run: yarn test:javascript:browserstack - - build_latest: - name: Node Latest - runs-on: ubuntu-latest - strategy: - matrix: - node: ['22'] - steps: - - uses: actions/checkout@v3 - - name: install system dependencies - run: sudo apt-get update && sudo apt-get install -y gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget - - name: install dependencies - run: yarn - - name: patch packages - run: yarn patch-package - - name: run tests - run: yarn test:single-process - - build: - strategy: - matrix: - platform: [ubuntu-latest, windows-latest, macos-latest] - node: [ '18', '20', '22' ] - name: Node ${{ matrix.node }} (${{ matrix.platform }}) - runs-on: ${{ matrix.platform }} - timeout-minutes: 15 - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node }} - - name: install dependencies - run: yarn - - name: patch packages - run: yarn patch-package - - name: run tests - run: yarn test diff --git a/.gitignore b/.gitignore index 9672436a76..3dd998ada8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,58 +1,6 @@ -*.DS_Store -*.gem -*.orig -*.rbc -*.rbenv-version -*.ruby-version -*.scssc -*.sublime-* -*.swp -*.swo -.bundle -.config -.grunt -.idea -.sass-cache/* -.eyeglass_cache/* -.yardoc -_build -.customizer - -bower_components -./bundle -./build/* -/docs2/public/* -_yardoc -coverage -docs/public/* -InstalledFiles -lib/bundler/man -marketing/.sass-cache/* -node_modules -pkg -rdoc -spec/reports -npm-debug.log -_debug.json - -*.orig -node_modules -docs/public/* -*.scssc -*.rbenv-version -*.ruby-version -/docs2/public/* -.settings -.project -test/scss/output-test -test/tmp -test/version_tmp -tmp -testing/_build -test/javascript/js-tests.js - -pizza/ -data.json -npm-debug.log -foundation-docs -./vendor +node_modules/ +dist/ +test-results/ +playwright-report/ +*.zip +.DS_Store diff --git a/.husky/commit-msg b/.husky/commit-msg deleted file mode 100755 index 89259dd91c..0000000000 --- a/.husky/commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" - -# node .husky/husky-commit-lint.js --color -e $1 diff --git a/.husky/husky-commit-lint.js b/.husky/husky-commit-lint.js deleted file mode 100644 index 30f25fb303..0000000000 --- a/.husky/husky-commit-lint.js +++ /dev/null @@ -1,24 +0,0 @@ -const { yellow, red } = require('kleur'); -const spawn = require('child_process').spawn - -const args = process.argv.splice(process.execArgv.length + 2); - -console.log(yellow('🐶 Checking the commit message...')) - -const child = spawn('commitlint', args, { shell: true }) - -child.stdout.on('data', function (data) { - process.stdout.write(data) -}) - -child.on('error', function (err) { - console.log(red(err)) -}) - -child.on('exit', function (code) { - if(code !== 0){ - console.log(yellow('🐶 ✗ Commit message is invalid.')) - console.log(yellow(' See https://git.io/contribute for help')) - process.exit(code); - } -}) diff --git a/.husky/husky-commit-test.js b/.husky/husky-commit-test.js deleted file mode 100644 index 1d6f1d6520..0000000000 --- a/.husky/husky-commit-test.js +++ /dev/null @@ -1,23 +0,0 @@ -const { yellow, red } = require('kleur'); -const spawn = require('child_process').spawn - -console.log(yellow('🐶 Checking tests before committing...')) - -const child = spawn('yarn test', [], { shell: true }) - -child.stdout.on('data', function (data) { - process.stdout.write(data) -}) - -child.on('error', function (err) { - console.log(red(err)) -}) - -child.on('exit', function (code) { - if(code === 0){ - console.log(yellow('🐶 ✓ Tests run well, we can commit...')) - } else { - console.log(yellow('🐶 ✗ Tests are failing, please fix them before committing.')) - process.exit(code); - } -}) diff --git a/.husky/husky-push-test.js b/.husky/husky-push-test.js deleted file mode 100644 index 0ab7850a0c..0000000000 --- a/.husky/husky-push-test.js +++ /dev/null @@ -1,23 +0,0 @@ -const { yellow, red } = require('kleur'); -const spawn = require('child_process').spawn - -console.log(yellow('🐶 Checking tests before pushing...')) - -const child = spawn('yarn test', [], { shell: true }) - -child.stdout.on('data', function (data) { - process.stdout.write(data) -}) - -child.on('error', function (err) { - console.log(red(err)) -}) - -child.on('exit', function (code) { - if(code === 0){ - console.log(yellow('🐶 ✓ Tests run well, we can push...')) - } else { - console.log(yellow('🐶 ✗ Tests are failing, please fix them before pushing.')) - process.exit(code); - } -}) diff --git a/.husky/pre-push b/.husky/pre-push deleted file mode 100755 index 12ae636a01..0000000000 --- a/.husky/pre-push +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" - -# node "$(dirname -- "$0")/husky-push-test.js --color - -yarn test \ No newline at end of file diff --git a/.npmignore b/.npmignore deleted file mode 100644 index 68acc53ac2..0000000000 --- a/.npmignore +++ /dev/null @@ -1,95 +0,0 @@ -# --- Documentation --- -./CONTRIBUTING.md -./code-of-conduct.md -./meteor-README.md -./docs - -# --- Config --- -.babelrc -.browserslistrc -.commitlintrc.yml -.editorconfig -.eslintrc -.huskyrc.yml -.jshintrc -.sass-lint.yml -.travis.yml -.versions -bower.json -browserstack.json -composer.json -package.js -sache.json -webpack.config.js -yarn.lock -.github - -# --- Development --- -./docslink.sh -./gulpfile.js -./config -./customizer -./gulp -./lib -./script -./spec -./test - -# --- Git ignore --- -*.DS_Store -*.gem -*.orig -*.rbc -*.rbenv-version -*.ruby-version -*.scssc -*.sublime-* -*.swp -*.swo -.bundle -.config -.grunt -.idea -.sass-cache/* -.yardoc -_build -.customizer - -bower_components -bundle -build/* -/docs2/public/* -_yardoc -coverage -docs/public/* -InstalledFiles -lib/bundler/man -marketing/.sass-cache/* -node_modules -pkg -rdoc -spec/reports -npm-debug.log -_debug.json - -*.orig -node_modules -docs/public/* -*.scssc -*.rbenv-version -*.ruby-version -/docs2/public/* -.settings -.project -test/scss/output-test -test/tmp -test/version_tmp -tmp -testing/_build -test/javascript/js-tests.js - -pizza/ -data.json -npm-debug.log -foundation-docs -./vendor diff --git a/.sass-lint.yml b/.sass-lint.yml deleted file mode 100644 index cea33a203a..0000000000 --- a/.sass-lint.yml +++ /dev/null @@ -1,411 +0,0 @@ -# The following scss-lint Linters are not yet supported by sass-lint: -# ElsePlacement, PropertyCount, SelectorDepth, UnnecessaryParentReference -# -# The following settings/values are unsupported by sass-lint: -# Linter Indentation, option "allow_non_nested_indentation" -# Linter Indentation, option "character" -# Linter PropertySortOrder, option "separate_groups" -# Linter SpaceBeforeBrace, option "allow_single_line_padding" - -files: - include: 'scss/**/*.scss' - -options: - formatter: stylish - merge-default-rules: false - -rules: - border-zero: - - 1 - - convention: '0' - - # Turning this off since it break if/else statements - brace-style: - - 0 - - style: stroustrup - - allow-single-line: true - - class-name-format: - - 1 - - convention: '([a-z0-9]+-?)+' - - clean-import-paths: - - 1 - - filename-extension: false - leading-underscore: false - - empty-line-between-blocks: - - 0 - - ignore-single-line-rulesets: true - - extends-before-declarations: 1 - - extends-before-mixins: 1 - - final-newline: - - 1 - - include: true - - force-attribute-nesting: 0 - - force-element-nesting: 0 - - force-pseudo-nesting: 0 - - function-name-format: - - 1 - - allow-leading-underscore: true - convention: hyphenatedlowercase - - hex-length: - - 1 - - style: short - - hex-notation: - - 1 - - style: lowercase - - id-name-format: - - 1 - - convention: '([a-z0-9]+-?)+' - - indentation: - - 1 - - size: 2 - - leading-zero: - - 1 - - include: true - - mixin-name-format: - - 1 - - allow-leading-underscore: true - convention: hyphenatedlowercase - - mixins-before-declarations: 0 - - nesting-depth: - - 1 - - max-depth: 3 - - no-color-keywords: 1 - - no-color-literals: 1 - - no-css-comments: 0 - - no-debug: 1 - - no-duplicate-properties: 1 - - no-empty-rulesets: 1 - - no-ids: 1 - - no-important: 0 - - no-invalid-hex: 1 - - no-mergeable-selectors: 1 - - no-misspelled-properties: - - 1 - - extra-properties: [] - - no-qualifying-elements: - - 1 - - allow-element-with-attribute: true - allow-element-with-class: true - allow-element-with-id: false - - no-trailing-zero: 1 - - no-url-protocols: 1 - - no-vendor-prefixes: - - 1 - - ignore-non-standard: true - - placeholder-in-extend: 1 - - placeholder-name-format: - - 1 - - convention: '([a-z0-9]+-?)+' - - # Disabling this for now. Remembering some arbitrary custom sort order is not sustainable - property-sort-order: - - 0 - - - ignore-custom-properties: true - order: - # Specific - CSS property order - # https://gist.github.com/ncoden/d42f55df7c7970f548a02cd3468f9c86 - - # Position - - 'position' - - 'top' - - 'right' - - 'bottom' - - 'left' - - 'z-index' - - # Disposition - - 'display' - - - 'flex' - - 'flex-basis' - - 'flex-direction' - - 'flex-flow' - - 'flex-grow' - - 'flex-shrink' - - 'flex-wrap' - - 'justify-content' - - 'order' - - - 'box-align' - - 'box-flex' - - 'box-orient' - - 'box-pack' - - - 'align-content' - - 'align-items' - - 'align-self' - - - 'columns' - - 'column-gap' - - 'column-fill' - - 'column-rule' - - 'column-span' - - 'column-count' - - 'column-width' - - - 'vertical-align' - - 'float' - - 'clear' - - # Dimension - - 'box-sizing' - - - 'width' - - 'min-width' - - 'max-width' - - - 'height' - - 'min-height' - - 'max-height' - - - 'margin' - - 'margin-top' - - 'margin-right' - - 'margin-bottom' - - 'margin-left' - - 'margin-collapse' - - 'margin-top-collapse' - - 'margin-right-collapse' - - 'margin-bottom-collapse' - - 'margin-left-collapse' - - - 'padding' - - 'padding-top' - - 'padding-right' - - 'padding-bottom' - - 'padding-left' - - - # Global appearance - - 'appearance' - - 'opacity' - - 'filter' - - 'visibility' - - - 'size' - - 'resize' - - 'zoom' - - - 'transform' - - 'transform-box' - - 'transform-origin' - - 'transform-style' - - # Border - - 'outline' - - 'outline-color' - - 'outline-offset' - - 'outline-style' - - 'outline-width' - - - 'border' - - 'border-top' - - 'border-right' - - 'border-bottom' - - 'border-left' - - 'border-width' - - 'border-top-width' - - 'border-right-width' - - 'border-bottom-width' - - 'border-left-width' - - - 'border-style' - - 'border-top-style' - - 'border-right-style' - - 'border-bottom-style' - - 'border-left-style' - - - 'border-radius' - - 'border-top-left-radius' - - 'border-top-right-radius' - - 'border-bottom-right-radius' - - 'border-bottom-left-radius' - - 'border-radius-topleft' - - 'border-radius-topright' - - 'border-radius-bottomright' - - 'border-radius-bottomleft' - - - 'border-color' - - 'border-top-color' - - 'border-right-color' - - 'border-bottom-color' - - 'border-left-color' - - - 'border-collapse' - - 'border-spacing' - - # Background - - 'background' - - 'background-image' - - 'background-color' - - 'background-attachment' - - 'background-clip' - - 'background-origin' - - 'background-position' - - 'background-repeat' - - 'background-size' - - # Shadow - - 'box-shadow' - - # Animation - - 'animation' - - 'animation-delay' - - 'animation-duration' - - 'animation-iteration-count' - - 'animation-name' - - 'animation-play-state' - - 'animation-timing-function' - - 'animation-fill-mode' - - - 'transition' - - 'transition-delay' - - 'transition-duration' - - 'transition-property' - - 'transition-timing-function' - - - # Content - - 'content' - - - 'list-style' - - 'list-style-image' - - 'list-style-position' - - 'list-style-type' - - - 'overflow' - - 'overflow-x' - - 'overflow-y' - - 'clip' - - # Text - - 'font' - - 'font-family' - - 'font-size' - - 'font-smoothing' - - 'osx-font-smoothing' - - 'font-style' - - 'font-variant' - - 'font-weight' - - 'src' - - - 'word-spacing' - - 'letter-spacing' - - 'line-height' - - - 'color' - - 'direction' - - 'text-align' - - 'text-decoration' - - 'text-indent' - - 'text-overflow' - - 'text-rendering' - - 'text-size-adjust' - - 'text-shadow' - - 'text-transform' - - - 'white-space' - - 'word-break' - - 'word-wrap' - - 'hyphens' - - 'quotes' - - # Divers - - 'pointer-events' - - 'cursor' - - - 'backface-visibility' - - 'caption-side' - - 'empty-cells' - - 'table-layout' - - 'user-select' - - - 'interpolation-mode' - - 'marks' - - 'page' - - 'set-link-source' - - 'unicode-bidi' - - 'speak' - - quotes: - - 0 - - style: single - - shorthand-values: 1 - - single-line-per-selector: 0 - - space-after-bang: - - 1 - - include: false - - space-after-colon: - - 1 - - include: true - - space-after-comma: 1 - - space-before-bang: - - 1 - - include: true - - space-before-brace: - - 1 - - include: true - - space-before-colon: 0 - - space-between-parens: - - 1 - - include: false - - trailing-semicolon: 1 - - url-quotes: 1 - - variable-for-property: - - 0 - - properties: [] - - variable-name-format: - - 1 - - allow-leading-underscore: true - convention: hyphenatedlowercase - - zero-unit: 1 diff --git a/.sonarcloud.properties b/.sonarcloud.properties deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/.versions b/.versions deleted file mode 100644 index aa4b14d5d2..0000000000 --- a/.versions +++ /dev/null @@ -1,20 +0,0 @@ -babel-compiler@7.2.4 -babel-runtime@1.3.0 -caching-compiler@1.2.1 -dynamic-import@0.5.0 -ecmascript@0.12.4 -ecmascript-runtime@0.7.0 -ecmascript-runtime-client@0.8.0 -ecmascript-runtime-server@0.7.1 -fetch@0.1.0 -fourseven:scss@4.5.4 -inter-process-messaging@0.1.0 -jquery@1.11.8 -meteor@1.9.2 -modern-browsers@0.1.3 -modules@0.13.0 -modules-runtime@0.10.3 -promise@0.11.2 -random@1.1.0 -underscore@1.0.10 -zurb:foundation-sites@6.5.3 diff --git a/_vendor/sassy-lists/stylesheets/functions/_contain.scss b/_vendor/sassy-lists/stylesheets/functions/_contain.scss deleted file mode 100644 index 87d160b789..0000000000 --- a/_vendor/sassy-lists/stylesheets/functions/_contain.scss +++ /dev/null @@ -1,31 +0,0 @@ -/// -/// Returns whether `$list` contains `$value`. -/// -/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-contain -/// -/// @param {List} $list - list to check -/// @param {*} $value - value to look for -/// -/// @example -/// sl-contain(a b c, a) -/// // true -/// -/// @example -/// sl-contain(a b c, z) -/// // false -/// -/// @return {Bool} -/// - -@function sl-contain($list, $value) { - @return not not index($list, $value); -} - -/// -/// @requires sl-contain -/// @alias sl-contain -/// - -@function sl-include($list, $value) { - @return sl-contain($list, $value); -} diff --git a/_vendor/sassy-lists/stylesheets/functions/_purge.scss b/_vendor/sassy-lists/stylesheets/functions/_purge.scss deleted file mode 100644 index 63102bfc43..0000000000 --- a/_vendor/sassy-lists/stylesheets/functions/_purge.scss +++ /dev/null @@ -1,38 +0,0 @@ -/// Removes all false and null values from `$list`. -/// -/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-purge -/// -/// @requires sl-is-true -/// @requires sl-to-list -/// -/// @param {List} $list - list to purge -/// -/// @example -/// sl-purge(null a false b) -/// // a b -/// -/// @return {List} -/// - -@function sl-purge($list) { - $_: sl-missing-dependencies('sl-is-true', 'sl-to-list'); - - $result: (); - - @each $item in $list { - @if sl-is-true($item) { - $result: append($result, $item, list-separator($list)); - } - } - - @return sl-to-list($result); -} - -/// -/// @requires sl-purge -/// @alias sl-purge -/// - -@function sl-clean($list) { - @return sl-purge($list); -} diff --git a/_vendor/sassy-lists/stylesheets/functions/_remove.scss b/_vendor/sassy-lists/stylesheets/functions/_remove.scss deleted file mode 100644 index 0282744230..0000000000 --- a/_vendor/sassy-lists/stylesheets/functions/_remove.scss +++ /dev/null @@ -1,31 +0,0 @@ -/// -/// Removes value(s) `$value` from `$list`. -/// -/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-remove -/// -/// @requires sl-replace -/// -/// @param {List} $list - list to update -/// @param {*} $value - value to remove -/// -/// @example -/// sl-remove(a b c, a) -/// // b c -/// -/// @return {List} -/// - -@function sl-remove($list, $value) { - $_: sl-missing-dependencies('sl-replace'); - - @return sl-replace($list, $value, null); -} - -/// -/// @requires sl-remove -/// @alias sl-remove -/// - -@function sl-without($list, $value) { - @return sl-remove($list, $value); -} diff --git a/_vendor/sassy-lists/stylesheets/functions/_replace.scss b/_vendor/sassy-lists/stylesheets/functions/_replace.scss deleted file mode 100644 index 8e70ad554a..0000000000 --- a/_vendor/sassy-lists/stylesheets/functions/_replace.scss +++ /dev/null @@ -1,46 +0,0 @@ -/// -/// Replaces `$old` by `$new` in `$list`. -/// -/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-replace -/// -/// @requires sl-is-true -/// @requires sl-purge -/// @requires sl-to-list -/// -/// @param {List} $list - list to update -/// @param {*} $old - value to replace -/// @param {*} $value - new value for $old -/// -/// @example -/// sl-replace(a b c, b, z) -/// // a z c -/// -/// @example -/// sl-replace(a b c, y, z) -/// // a b c -/// -/// @return {List} -/// - -@function sl-replace($list, $old, $value) { - $_: sl-missing-dependencies('sl-is-true', 'sl-purge', 'sl-to-list'); - - $running: true; - - @while $running { - $index: index($list, $old); - - @if not $index { - $running: false; - } - - @else { - $list: set-nth($list, $index, $value); - } - - } - - $list: if(sl-is-true($value), $list, sl-purge($list)); - - @return sl-to-list($list); -} diff --git a/_vendor/sassy-lists/stylesheets/functions/_to-list.scss b/_vendor/sassy-lists/stylesheets/functions/_to-list.scss deleted file mode 100644 index eb8df21c7a..0000000000 --- a/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +++ /dev/null @@ -1,27 +0,0 @@ -/// -/// Casts `$value` into a list. -/// -/// @ignore Documentation: http://at-import.github.io/SassyLists/documentation/#function-sl-to-list -/// -/// @param {*} $value - value to cast to list -/// @param {String} $separator [space] - separator to use -/// -/// @example -/// sl-to-list(a b c, comma) -/// // a, b, c -/// -/// @return {List} -/// - -@function sl-to-list($value, $separator: list-separator($value)) { - @return join((), $value, $separator); -} - -/// -/// @requires sl-to-list -/// @alias sl-to-list -/// - -@function sl-listify($value) { - @return sl-to-list($value); -} diff --git a/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss b/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss deleted file mode 100644 index c4730b1a4c..0000000000 --- a/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +++ /dev/null @@ -1,25 +0,0 @@ -/// -/// Checks whether `$functions` exist in global scope. -/// -/// @access private -/// -/// @param {ArgList} $functions - list of functions to check for -/// -/// @return {Bool} Whether or not there are missing dependencies -/// - -@function sl-missing-dependencies($functions...) { - $missing-dependencies: (); - - @each $function in $functions { - @if not function-exists($function) { - $missing-dependencies: append($missing-dependencies, $function, comma); - } - } - - @if length($missing-dependencies) > 0 { - @error 'Unmet dependencies! The following functions are required: #{$missing-dependencies}.'; - } - - @return length($missing-dependencies) > 0; -} diff --git a/_vendor/sassy-lists/stylesheets/helpers/_true.scss b/_vendor/sassy-lists/stylesheets/helpers/_true.scss deleted file mode 100644 index 277652efff..0000000000 --- a/_vendor/sassy-lists/stylesheets/helpers/_true.scss +++ /dev/null @@ -1,13 +0,0 @@ -/// -/// Returns truthiness of `$value`. -/// -/// @access private -/// -/// @param {*} $value - value to check -/// -/// @return {Bool} -/// - -@function sl-is-true($value) { - @return if($value == null, false, $value and $value != null and $value != '' and $value != ()); -} diff --git a/assets/foundation-float.scss b/assets/foundation-float.scss deleted file mode 100644 index 00b7f786dc..0000000000 --- a/assets/foundation-float.scss +++ /dev/null @@ -1,5 +0,0 @@ -$global-flexbox: false; - -@import '../scss/foundation'; - -@include foundation-everything($flex: false); diff --git a/assets/foundation-prototype.scss b/assets/foundation-prototype.scss deleted file mode 100644 index 57181515b4..0000000000 --- a/assets/foundation-prototype.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import '../scss/foundation'; - -@include foundation-everything($prototype: true); diff --git a/assets/foundation-rtl.scss b/assets/foundation-rtl.scss deleted file mode 100644 index 4d31b780a0..0000000000 --- a/assets/foundation-rtl.scss +++ /dev/null @@ -1,5 +0,0 @@ -$global-text-direction: rtl; - -@import '../scss/foundation'; - -@include foundation-everything; diff --git a/assets/foundation.scss b/assets/foundation.scss deleted file mode 100644 index 09584ae14d..0000000000 --- a/assets/foundation.scss +++ /dev/null @@ -1,3 +0,0 @@ -@import '../scss/foundation'; - -@include foundation-everything; diff --git a/bower.json b/bower.json deleted file mode 100644 index 44b92d78db..0000000000 --- a/bower.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "foundation-sites", - "version": "6.9.0", - "description": "The most advanced responsive front-end framework in the world.", - "homepage": "https://get.foundation/sites", - "license": "MIT", - "keywords": [ - "css", - "scss", - "sass", - "js", - "responsive", - "mobile-first", - "framework", - "eyeglass-module" - ], - "authors": [ - "Foundation Yetinauts (https://get.foundation)" - ], - "main": [ - "scss/foundation.scss", - "dist/js/foundation.js" - ], - "moduleType": [ - "globals", - "amd", - "node", - "es6" - ], - "repository": { - "type": "git", - "url": "https://github.com/foundation/foundation-sites" - }, - "dependencies": { - "jquery": ">=2.2.0", - "what-input": ">=4.1.0" - }, - "ignore": [ - ".babelrc", - ".browserslistrc", - ".commitlintrc.yml", - ".editorconfig", - ".eslintrc", - ".huskyrc.yml", - ".sass-lint.yml", - ".versions", - "bower.json", - "browserstack.json", - "code-of-conduct.md", - "composer.json", - "CONTRIBUTING.md", - "gulpfile.js", - "meteor-README.md", - "package.js", - "package.json", - "package-lock.json", - "sache.json", - "webpack.config.js", - "yarn.lock", - ".github", - "config", - "customizer", - "docs", - "gulp", - "lib", - "spec", - "script", - "test" - ] -} diff --git a/browserstack.json b/browserstack.json deleted file mode 100644 index e3c28d6031..0000000000 --- a/browserstack.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "test_path": "test/javascript/index.html", - "test_framework": "mocha", - "exit_with_fail": true, - "browsers": [ - "chrome_latest", - "chrome_previous", - "firefox_latest", - "firefox_previous", - "safari_latest", - "safari_previous", - "opera_latest", - "opera_previous", - "edge_latest", - "edge_previous", - "ie_11", - { - "browser": "iphone", - "os": "ios", - "os_version": "14", - "device": "iPhone 12 Pro Max", - "real_mobile": "true" - }, - { - "browser": "iphone", - "os": "ios", - "os_version": "13", - "device": "iPhone 11", - "real_mobile": "true" - }, - { - "os": "android", - "browser": "android", - "os_version": "11.0", - "device": "Google Pixel 5", - "real_mobile": "true" - }, - { - "browser": "android", - "os": "android", - "os_version": "6.0", - "device": "Google Nexus 6", - "real_mobile": "true" - } - ] -} diff --git a/composer.json b/composer.json deleted file mode 100644 index d808121b0f..0000000000 --- a/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "foundation/foundation-sites", - "description": "The most advanced responsive front-end framework in the world.", - "keywords": [ - "css", - "scss", - "sass", - "js", - "responsive", - "mobile-first", - "framework" - ], - "homepage": "https://get.foundation", - "authors": [ - { - "name": "Foundation Yetinauts", - "homepage": "https://get.foundation", - "email": "contact@get.foundation" - } - ], - "support": { - "email": "contact@get.foundation", - "issues": "https://github.com/foundation/foundation-sites/issues", - "forum": "https://github.com/foundation/foundation-sites/discussions" - }, - "license": "MIT" -} diff --git a/customizer/complete.json b/customizer/complete.json deleted file mode 100644 index 28d54d2bd1..0000000000 --- a/customizer/complete.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "modules": [ - "xy_grid", - "flex_classes", - "typography", - "button", - "forms", - "abide", - "accordion", - "accordion_menu", - "badge", - "breadcrumbs", - "button_group", - "card", - "callout", - "close_button", - "menu", - "menu_icon", - "drilldown_menu", - "dropdown", - "dropdown_menu", - "equalizer", - "responsive_embed", - "interchange", - "label", - "magellan", - "media_object", - "off_canvas", - "orbit", - "pagination", - "progress_bar", - "responsive_menu", - "responsive_toggle", - "reveal", - "slider", - "sticky", - "switch", - "table", - "tabs", - "thumbnail", - "title_bar", - "toggler", - "tooltip", - "top_bar", - "visibility", - "responsive_accordion_tabs", - "float" - ] -} diff --git a/customizer/config.yml b/customizer/config.yml deleted file mode 100644 index 0fb9223e69..0000000000 --- a/customizer/config.yml +++ /dev/null @@ -1,172 +0,0 @@ -# This is the customizer's master module list. -# Each item in the list is a module with any of these keys: -# - sass: Name of the CSS export. 'grid' becomes '@include foundation-grid;' -# - js: Name of the JavaScript file. 'accordion' becomes 'foundation.accordion.js' - -xy_grid: - sass: xy-grid-classes - -grid: - sass: grid - -flex_grid: - sass: flex-grid - -flex_classes: - sass: flex-classes - -typography: - sass: typography - -button: - sass: button - -card: - sass: card - -forms: - sass: forms - -input_range: - sass: range-input - -abide: - js: abide - -accordion: - sass: accordion - js: accordion - -accordion_menu: - sass: accordion-menu - js: accordionMenu - -badge: - sass: badge - -breadcrumbs: - sass: breadcrumbs - -button_group: - sass: button-group - -callout: - sass: callout - -close_button: - sass: close-button - -drilldown_menu: - sass: drilldown-menu - js: drilldown - -dropdown: - sass: dropdown - js: dropdown - -dropdown_menu: - sass: dropdown-menu - js: dropdownMenu - -equalizer: - js: equalizer - -interchange: - js: interchange - -label: - sass: label - -magellan: - js: magellan - -media_object: - sass: media-object - -menu: - sass: menu - -menu_icon: - sass: menu-icon - -off_canvas: - sass: off-canvas - js: offcanvas - -orbit: - sass: orbit - js: orbit - -pagination: - sass: pagination - -progress_bar: - sass: progress-bar - -progress_element: - sass: progress-element - -prototyping_helpers: - sass: prototype-classes - -responsive_embed: - sass: responsive-embed - -responsive_menu: - js: responsiveMenu - -responsive_toggle: - js: responsiveToggle - -meter_element: - sass: meter-element - -slider: - sass: slider - js: slider - -smooth_scroll: - js: smoothScroll - -sticky: - sass: sticky - js: sticky - -responsive_accordion_tabs: - js: responsiveAccordionTabs - -reveal: - sass: reveal - js: reveal - -switch: - sass: switch - -table: - sass: table - -tabs: - sass: tabs - js: tabs - -thumbnail: - sass: thumbnail - -title_bar: - sass: title-bar - -toggler: - js: toggler - -tooltip: - sass: tooltip - js: tooltip - -top_bar: - sass: top-bar - -visibility: - sass: visibility-classes - -float: - sass: float-classes diff --git a/customizer/essential.json b/customizer/essential.json deleted file mode 100644 index 8ec88357c5..0000000000 --- a/customizer/essential.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "modules": [ - "typography", - "xy_grid", - "flex_classes", - "forms", - "button", - "callout", - "reveal" - ], - "variables": {} -} diff --git a/customizer/index.html b/customizer/index.html deleted file mode 100644 index 06cab760ad..0000000000 --- a/customizer/index.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - Foundation for Sites - - - - - -
-
-
-

Welcome to Foundation

-
-
- -
-
-
-

We’re stoked you want to try Foundation!

-

To get going, this file (index.html) includes some basic styles you can modify, play around with, or totally destroy to get going.

-

Once you've exhausted the fun in this document, you should check out:

-
-
-

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

-
-
-

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

-
-
-
-
-

Foundation on Github
Latest code, issue reports, feature requests and more.

-
-
-

@FoundationCSS
Ping us on Twitter if you have questions. When you build something with this we'd love to see it.

-
-
-
-
-
- -
-
-
Here’s your basic grid:
- - -
-
-
-

This is a twelve cell section in a grid-x. Each of these includes a div.callout element so you can see where the cell are - it's not required at all for the grid.

-
-
-
-
-
-
-

Six cell

-
-
-
-
-

Six cell

-
-
-
-
-
-
-

Four cell

-
-
-
-
-

Four cell

-
-
-
-
-

Four cell

-
-
-
- -
- -
We bet you’ll need a form somewhere:
-
-
-
- - -
-
-
-
- - -
-
- - -
-
-
- -
- - .com -
-
-
-
-
-
- - -
-
-
-
- - - -
-
- - - -
-
-
-
- - -
-
-
-
- -
-
Try one of these buttons:
-

Simple Button
- Success Btn
- Alert Btn
- Secondary Btn

-
-
So many components, girl!
-

A whole kitchen sink of goodies comes with Foundation. Check out the docs to see them all, along with details on making them your own.

- Go to Foundation Docs -
-
-
-
- - - - - - - - diff --git a/customizer/lib/index.js b/customizer/lib/index.js deleted file mode 100644 index ba43e9a8a1..0000000000 --- a/customizer/lib/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - sass: require('./sass'), - js: require('./js') -} diff --git a/customizer/lib/js.js b/customizer/lib/js.js deleted file mode 100644 index 68d4e8983a..0000000000 --- a/customizer/lib/js.js +++ /dev/null @@ -1,53 +0,0 @@ -const empty = require('is-empty-object'); -const path = require('path'); - -// custom module names where needed -const MODULES = { - 'offcanvas': 'OffCanvas' -}; - -/** - * Creates an array of file paths that can be passed to `gulp.src()`. - * @param {Object} config - Customizer configuration file. - * @param {String[]} modules - Modules to include in the file list. - * @returns {String[]} Array of file paths. - */ - -module.exports = function(config, modules) { - const dir = path.resolve(__dirname, '../../js/'); - var entry = "import $ from 'jquery';\n" + - "import { Foundation } from '" + dir + "/foundation.core';\n" + - "Foundation.addToJquery($);\n" + - "import { MediaQuery } from '" + dir + "/foundation.util.mediaQuery';\n" + - "Foundation.MediaQuery = MediaQuery;\n" + - "import { Triggers } from '" + dir + "/foundation.util.triggers';\n" + - "Triggers.init($, Foundation);\n"; - - // last 2 pieces work around https://github.com/foundation/foundation-sites/issues/10287 - - const libraries = []; - - if (empty(modules)) { - modules = Object.keys(config); - } - - for (let i in modules) { - let name = modules[i]; - - // Check if the module has JS files - if (config[name] && config[name].js) { - libraries.push(config[name].js); - } - } - - // add plugins into entry - for (let i in libraries) { - let file = libraries[i]; - let moduleName = MODULES[file] || file.charAt(0).toUpperCase() + file.slice(1); - entry = entry + "import { " + moduleName + " } from '" + dir + "/foundation." + file + "';\n"; - entry = entry + "Foundation.plugin(" + moduleName + ", '" + moduleName + "');\n"; - } - - // return entry file as string - return entry; -} diff --git a/customizer/lib/sass.js b/customizer/lib/sass.js deleted file mode 100644 index 00b507362d..0000000000 --- a/customizer/lib/sass.js +++ /dev/null @@ -1,76 +0,0 @@ -const empty = require('is-empty-object'); -const format = require('util').format; -const stripIndent = require('strip-indent'); - -const SASS_TEMPLATE = stripIndent(` - @charset 'utf-8'; - - // Variables go here - %s - - // Core imports go here - @import 'foundation'; - @import 'motion-ui'; - - // Modules go here - %s - - // Motion UI goes here - @include motion-ui-transitions; - @include motion-ui-animations; -`); - -/** - * Generates an entry point Sass file with a custom list of CSS exports and Sass variables. - * @param {Object} config - Customizer configuration object. - * @param {String[]} modules - Modules to include CSS for. - * @param {Object} variables - Sass variable overrides to include. The key is the name of the variable, and the value is the value. - * @returns {String} Formatted Sass file. - */ -module.exports = function(config, modules, variables) { - const variableList = []; - var colorList = {}; - const exportList = ['@include foundation-global-styles;']; - - if (empty(modules)) { - modules = Object.keys(config); - } - - // Create variable overrides code - for (let i in variables) { - let name = i.replace('_', '-'); - if (name.match(/-color$/)) { - let key = name.replace('-color', ''); - colorList[key] = variables[i]; - } - else { - variableList.push(format('$%s: %s;', name, variables[i])); - } - } - - if (!empty(colorList)) { - variableList.push(createPaletteMap(colorList)); - } - - // Create module exports with @include - for (let i in modules) { - let name = modules[i]; - - if (config[name] && config[name].sass) { - exportList.push(format('@include foundation-%s;', config[name].sass)); - } - } - - return format(SASS_TEMPLATE, variableList.join('\n'), exportList.join('\n')) -} - -function createPaletteMap(colors) { - var output = '$foundation-palette: (%s\n);'; - var keys = ''; - - for (let i in colors) { - keys += format('\n %s: %s,', i, colors[i]); - } - - return format(output, keys); -} diff --git a/dist/css/foundation-float.css b/dist/css/foundation-float.css deleted file mode 100644 index 17f6c719f2..0000000000 --- a/dist/css/foundation-float.css +++ /dev/null @@ -1,5381 +0,0 @@ -@charset "UTF-8"; -/** - * Foundation for Sites - * Version 6.9.0 - * https://get.foundation - * Licensed under MIT Open Source - */ -@media print, screen and (min-width: 40em) { - .reveal.large, .reveal.small, .reveal.tiny, .reveal { - right: auto; - left: auto; - margin: 0 auto; - } -} -/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */ -html { - line-height: 1.15; - -webkit-text-size-adjust: 100%; -} - -body { - margin: 0; -} - -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -hr { - -webkit-box-sizing: content-box; - box-sizing: content-box; - height: 0; - overflow: visible; -} - -pre { - font-family: monospace, monospace; - font-size: 1em; -} - -a { - background-color: transparent; -} - -abbr[title] { - border-bottom: 0; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -b, -strong { - font-weight: bolder; -} - -code, -kbd, -samp { - font-family: monospace, monospace; - font-size: 1em; -} - -small { - font-size: 80%; -} - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -img { - border-style: none; -} - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - font-size: 100%; - line-height: 1.15; - margin: 0; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -button, -[type=button], -[type=reset], -[type=submit] { - -webkit-appearance: button; -} - -button::-moz-focus-inner, -[type=button]::-moz-focus-inner, -[type=reset]::-moz-focus-inner, -[type=submit]::-moz-focus-inner { - border-style: none; - padding: 0; -} - -button:-moz-focusring, -[type=button]:-moz-focusring, -[type=reset]:-moz-focusring, -[type=submit]:-moz-focusring { - outline: 1px dotted ButtonText; -} - -fieldset { - padding: 0.35em 0.75em 0.625em; -} - -legend { - -webkit-box-sizing: border-box; - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; -} - -progress { - vertical-align: baseline; -} - -textarea { - overflow: auto; -} - -[type=checkbox], -[type=radio] { - -webkit-box-sizing: border-box; - box-sizing: border-box; - padding: 0; -} - -[type=number]::-webkit-inner-spin-button, -[type=number]::-webkit-outer-spin-button { - height: auto; -} - -[type=search] { - -webkit-appearance: textfield; - outline-offset: -2px; -} - -[type=search]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} - -details { - display: block; -} - -summary { - display: list-item; -} - -template { - display: none; -} - -[hidden] { - display: none; -} - -[data-whatintent=mouse] *, [data-whatintent=mouse] *:focus, -[data-whatintent=touch] *, -[data-whatintent=touch] *:focus, -[data-whatinput=mouse] *, -[data-whatinput=mouse] *:focus, -[data-whatinput=touch] *, -[data-whatinput=touch] *:focus { - outline: none; -} - -[draggable=false] { - -webkit-touch-callout: none; - -webkit-user-select: none; -} - -.foundation-mq { - font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; -} - -html { - -webkit-box-sizing: border-box; - box-sizing: border-box; - font-size: 100%; -} - -*, -*::before, -*::after { - -webkit-box-sizing: inherit; - box-sizing: inherit; -} - -body { - margin: 0; - padding: 0; - background: #fefefe; - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; - font-weight: normal; - line-height: 1.5; - color: #0a0a0a; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -img { - display: inline-block; - vertical-align: middle; - max-width: 100%; - height: auto; - -ms-interpolation-mode: bicubic; -} - -textarea { - height: auto; - min-height: 50px; - border-radius: 0; -} - -select { - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - border-radius: 0; -} - -.map_canvas img, -.map_canvas embed, -.map_canvas object, -.mqa-display img, -.mqa-display embed, -.mqa-display object { - max-width: none !important; -} - -button { - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: 0; - border-radius: 0; - background: transparent; - line-height: 1; - cursor: auto; -} -[data-whatinput=mouse] button { - outline: 0; -} - -pre { - overflow: auto; - -webkit-overflow-scrolling: touch; -} - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; -} - -.is-visible { - display: block !important; -} - -.is-hidden { - display: none !important; -} - -[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], -textarea { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - display: block; - -webkit-box-sizing: border-box; - box-sizing: border-box; - width: 100%; - height: 2.4375rem; - margin: 0 0 1rem; - padding: 0.5rem; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; - -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); - box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); - font-family: inherit; - font-size: 1rem; - font-weight: normal; - line-height: 1.5; - color: #0a0a0a; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; -} -[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, -textarea:focus { - outline: none; - border: 1px solid #8a8a8a; - background-color: #fefefe; - -webkit-box-shadow: 0 0 5px #cacaca; - box-shadow: 0 0 5px #cacaca; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; -} - -textarea { - max-width: 100%; -} -textarea[rows] { - height: auto; -} - -input:disabled, input[readonly], -textarea:disabled, -textarea[readonly] { - background-color: #e6e6e6; - cursor: not-allowed; -} - -[type=submit], -[type=button] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border-radius: 0; -} - -input[type=search] { - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -::-webkit-input-placeholder { - color: #cacaca; -} - -::-moz-placeholder { - color: #cacaca; -} - -:-ms-input-placeholder { - color: #cacaca; -} - -::-ms-input-placeholder { - color: #cacaca; -} - -::placeholder { - color: #cacaca; -} - -[type=file], -[type=checkbox], -[type=radio] { - margin: 0 0 1rem; -} - -[type=checkbox] + label, -[type=radio] + label { - display: inline-block; - vertical-align: baseline; - margin-left: 0.5rem; - margin-right: 1rem; - margin-bottom: 0; -} -[type=checkbox] + label[for], -[type=radio] + label[for] { - cursor: pointer; -} - -label > [type=checkbox], -label > [type=radio] { - margin-right: 0.5rem; -} - -[type=file] { - width: 100%; -} - -label { - display: block; - margin: 0; - font-size: 0.875rem; - font-weight: normal; - line-height: 1.8; - color: #0a0a0a; -} -label.middle { - margin: 0 0 1rem; - line-height: 1.5; - padding: 0.5625rem 0; -} - -.help-text { - margin-top: -0.5rem; - font-size: 0.8125rem; - font-style: italic; - color: #0a0a0a; -} - -.input-group { - display: table; - width: 100%; - margin-bottom: 1rem; -} -.input-group > :first-child, .input-group > :first-child.input-group-button > * { - border-radius: 0 0 0 0; -} -.input-group > :last-child, .input-group > :last-child.input-group-button > * { - border-radius: 0 0 0 0; -} - -.input-group-button a, -.input-group-button input, -.input-group-button button, -.input-group-button label, .input-group-button, .input-group-field, .input-group-label { - margin: 0; - white-space: nowrap; - display: table-cell; - vertical-align: middle; -} - -.input-group-label { - padding: 0 1rem; - border: 1px solid #cacaca; - background: #e6e6e6; - color: #0a0a0a; - text-align: center; - white-space: nowrap; - width: 1%; - height: 100%; -} -.input-group-label:first-child { - border-right: 0; -} -.input-group-label:last-child { - border-left: 0; -} - -.input-group-field { - border-radius: 0; -} - -.input-group-button { - padding-top: 0; - padding-bottom: 0; - text-align: center; - width: 1%; - height: 100%; -} -.input-group-button a, -.input-group-button input, -.input-group-button button, -.input-group-button label { - height: 2.4375rem; - padding-top: 0; - padding-bottom: 0; - font-size: 1rem; -} - -.input-group .input-group-button { - display: table-cell; -} - -fieldset { - margin: 0; - padding: 0; - border: 0; -} - -legend { - max-width: 100%; - margin-bottom: 0.5rem; -} - -.fieldset { - margin: 1.125rem 0; - padding: 1.25rem; - border: 1px solid #cacaca; -} -.fieldset legend { - margin: 0; - margin-left: -0.1875rem; - padding: 0 0.1875rem; -} - -select { - height: 2.4375rem; - margin: 0 0 1rem; - padding: 0.5rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; - font-family: inherit; - font-size: 1rem; - font-weight: normal; - line-height: 1.5; - color: #0a0a0a; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - background-origin: content-box; - background-position: right -1rem center; - background-repeat: no-repeat; - background-size: 9px 6px; - padding-right: 1.5rem; - background-image: url('data:image/svg+xml;utf8,'); -} -@media screen and (min-width: 0\0 ) { - select { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); - } -} -select:focus { - outline: none; - border: 1px solid #8a8a8a; - background-color: #fefefe; - -webkit-box-shadow: 0 0 5px #cacaca; - box-shadow: 0 0 5px #cacaca; - -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out; - transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s; -} -select:disabled { - background-color: #e6e6e6; - cursor: not-allowed; -} -select::-ms-expand { - display: none; -} -select[multiple] { - height: auto; - background-image: none; -} -select:not([multiple]) { - padding-top: 0; - padding-bottom: 0; -} - -.is-invalid-input:not(:focus) { - border-color: #cc4b37; - background-color: rgb(249, 236.1, 234.1); -} -.is-invalid-input:not(:focus)::-webkit-input-placeholder { - color: #cc4b37; -} -.is-invalid-input:not(:focus)::-moz-placeholder { - color: #cc4b37; -} -.is-invalid-input:not(:focus):-ms-input-placeholder { - color: #cc4b37; -} -.is-invalid-input:not(:focus)::-ms-input-placeholder { - color: #cc4b37; -} -.is-invalid-input:not(:focus)::placeholder { - color: #cc4b37; -} - -.is-invalid-label { - color: #cc4b37; -} - -.form-error { - display: none; - margin-top: -0.5rem; - margin-bottom: 1rem; - font-size: 0.75rem; - font-weight: bold; - color: #cc4b37; -} -.form-error.is-visible { - display: block; -} - -div, -dl, -dt, -dd, -ul, -ol, -li, -h1, -h2, -h3, -h4, -h5, -h6, -pre, -form, -p, -blockquote, -th, -td { - margin: 0; - padding: 0; -} - -p { - margin-bottom: 1rem; - font-size: inherit; - line-height: 1.6; - text-rendering: optimizeLegibility; -} - -em, -i { - font-style: italic; - line-height: inherit; -} - -strong, -b { - font-weight: bold; - line-height: inherit; -} - -small { - font-size: 80%; - line-height: inherit; -} - -h1, .h1, -h2, .h2, -h3, .h3, -h4, .h4, -h5, .h5, -h6, .h6 { - font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; - font-style: normal; - font-weight: normal; - color: inherit; - text-rendering: optimizeLegibility; -} -h1 small, .h1 small, -h2 small, .h2 small, -h3 small, .h3 small, -h4 small, .h4 small, -h5 small, .h5 small, -h6 small, .h6 small { - line-height: 0; - color: #cacaca; -} - -h1, .h1 { - font-size: 1.5rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; -} - -h2, .h2 { - font-size: 1.25rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; -} - -h3, .h3 { - font-size: 1.1875rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; -} - -h4, .h4 { - font-size: 1.125rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; -} - -h5, .h5 { - font-size: 1.0625rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; -} - -h6, .h6 { - font-size: 1rem; - line-height: 1.4; - margin-top: 0; - margin-bottom: 0.5rem; -} - -@media print, screen and (min-width: 40em) { - h1, .h1 { - font-size: 3rem; - } - h2, .h2 { - font-size: 2.5rem; - } - h3, .h3 { - font-size: 1.9375rem; - } - h4, .h4 { - font-size: 1.5625rem; - } - h5, .h5 { - font-size: 1.25rem; - } - h6, .h6 { - font-size: 1rem; - } -} -a { - line-height: inherit; - color: #1779ba; - text-decoration: none; - cursor: pointer; -} -a:hover, a:focus { - color: rgb(19.78, 104.06, 159.96); -} -a img { - border: 0; -} - -hr { - clear: both; - max-width: 75rem; - height: 0; - margin: 1.25rem auto; - border-top: 0; - border-right: 0; - border-bottom: 1px solid #cacaca; - border-left: 0; -} - -ul, -ol, -dl { - margin-bottom: 1rem; - list-style-position: outside; - line-height: 1.6; -} - -li { - font-size: inherit; -} - -ul { - margin-left: 1.25rem; - list-style-type: disc; -} - -ol { - margin-left: 1.25rem; -} - -ul ul, ul ol, ol ul, ol ol { - margin-left: 1.25rem; - margin-bottom: 0; -} - -dl { - margin-bottom: 1rem; -} -dl dt { - margin-bottom: 0.3rem; - font-weight: bold; -} - -blockquote { - margin: 0 0 1rem; - padding: 0.5625rem 1.25rem 0 1.1875rem; - border-left: 1px solid #cacaca; -} -blockquote, blockquote p { - line-height: 1.6; - color: #8a8a8a; -} - -abbr, abbr[title] { - border-bottom: 1px dotted #0a0a0a; - cursor: help; - text-decoration: none; -} - -figure { - margin: 0; -} - -kbd { - margin: 0; - padding: 0.125rem 0.25rem 0; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - color: #0a0a0a; -} - -.subheader { - margin-top: 0.2rem; - margin-bottom: 0.5rem; - font-weight: normal; - line-height: 1.4; - color: #8a8a8a; -} - -.lead { - font-size: 125%; - line-height: 1.6; -} - -.stat { - font-size: 2.5rem; - line-height: 1; -} -p + .stat { - margin-top: -1rem; -} - -ul.no-bullet, ol.no-bullet { - margin-left: 0; - list-style: none; -} - -.cite-block, cite { - display: block; - color: #8a8a8a; - font-size: 0.8125rem; -} -.cite-block:before, cite:before { - content: "— "; -} - -.code-inline, code { - border: 1px solid #cacaca; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: normal; - color: #0a0a0a; - display: inline; - max-width: 100%; - word-wrap: break-word; - padding: 0.125rem 0.3125rem 0.0625rem; -} - -.code-block { - border: 1px solid #cacaca; - background-color: #e6e6e6; - font-family: Consolas, "Liberation Mono", Courier, monospace; - font-weight: normal; - color: #0a0a0a; - display: block; - overflow: auto; - white-space: pre; - padding: 1rem; - margin-bottom: 1.5rem; -} - -.text-left { - text-align: left; -} - -.text-right { - text-align: right; -} - -.text-center { - text-align: center; -} - -.text-justify { - text-align: justify; -} - -@media print, screen and (min-width: 40em) { - .medium-text-left { - text-align: left; - } - .medium-text-right { - text-align: right; - } - .medium-text-center { - text-align: center; - } - .medium-text-justify { - text-align: justify; - } -} -@media print, screen and (min-width: 64em) { - .large-text-left { - text-align: left; - } - .large-text-right { - text-align: right; - } - .large-text-center { - text-align: center; - } - .large-text-justify { - text-align: justify; - } -} -.show-for-print { - display: none !important; -} - -@media print { - * { - background: transparent !important; - color: black !important; - -webkit-print-color-adjust: economy; - print-color-adjust: economy; - -webkit-box-shadow: none !important; - box-shadow: none !important; - text-shadow: none !important; - } - .show-for-print { - display: block !important; - } - .hide-for-print { - display: none !important; - } - table.show-for-print { - display: table !important; - } - thead.show-for-print { - display: table-header-group !important; - } - tbody.show-for-print { - display: table-row-group !important; - } - tr.show-for-print { - display: table-row !important; - } - td.show-for-print { - display: table-cell !important; - } - th.show-for-print { - display: table-cell !important; - } - a, - a:visited { - text-decoration: underline; - } - a[href]:after { - content: " (" attr(href) ")"; - } - .ir a:after, - a[href^="javascript:"]:after, - a[href^="#"]:after { - content: ""; - } - abbr[title]:after { - content: " (" attr(title) ")"; - } - pre, - blockquote { - border: 1px solid #8a8a8a; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - img { - max-width: 100% !important; - } - @page { - margin: 0.5cm; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - .print-break-inside { - page-break-inside: auto; - } -} -.row { - max-width: 75rem; - margin-right: auto; - margin-left: auto; -} -.row::before, .row::after { - display: table; - content: " "; -} -.row::after { - clear: both; -} -.row.collapse > .column, .row.collapse > .columns { - padding-right: 0; - padding-left: 0; -} -.row .row { - margin-right: -0.625rem; - margin-left: -0.625rem; -} -@media print, screen and (min-width: 40em) { - .row .row { - margin-right: -0.9375rem; - margin-left: -0.9375rem; - } -} -@media print, screen and (min-width: 64em) { - .row .row { - margin-right: -0.9375rem; - margin-left: -0.9375rem; - } -} -.row .row.collapse { - margin-right: 0; - margin-left: 0; -} -.row.expanded { - max-width: none; -} -.row.expanded .row { - margin-right: auto; - margin-left: auto; -} -.row:not(.expanded) .row { - max-width: none; -} -.row.gutter-small > .column, .row.gutter-small > .columns { - padding-right: 0.625rem; - padding-left: 0.625rem; -} -.row.gutter-medium > .column, .row.gutter-medium > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; -} - -.column, .columns { - float: left; - width: 100%; - padding-right: 0.625rem; - padding-left: 0.625rem; -} -@media print, screen and (min-width: 40em) { - .column, .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; - } -} -.column, .columns, .column:last-child:not(:first-child) { - float: left; - clear: none; -} -.column:last-child:not(:first-child), .columns:last-child:not(:first-child) { - float: right; -} -.column.end:last-child:last-child, .end.columns:last-child:last-child { - float: left; -} - -.column.row.row, .row.row.columns { - float: none; -} - -.row .column.row.row, .row .row.row.columns { - margin-right: 0; - margin-left: 0; - padding-right: 0; - padding-left: 0; -} - -.small-1 { - width: 8.3333333333%; -} - -.small-push-1 { - position: relative; - left: 8.3333333333%; -} - -.small-pull-1 { - position: relative; - left: -8.3333333333%; -} - -.small-offset-0 { - margin-left: 0%; -} - -.small-2 { - width: 16.6666666667%; -} - -.small-push-2 { - position: relative; - left: 16.6666666667%; -} - -.small-pull-2 { - position: relative; - left: -16.6666666667%; -} - -.small-offset-1 { - margin-left: 8.3333333333%; -} - -.small-3 { - width: 25%; -} - -.small-push-3 { - position: relative; - left: 25%; -} - -.small-pull-3 { - position: relative; - left: -25%; -} - -.small-offset-2 { - margin-left: 16.6666666667%; -} - -.small-4 { - width: 33.3333333333%; -} - -.small-push-4 { - position: relative; - left: 33.3333333333%; -} - -.small-pull-4 { - position: relative; - left: -33.3333333333%; -} - -.small-offset-3 { - margin-left: 25%; -} - -.small-5 { - width: 41.6666666667%; -} - -.small-push-5 { - position: relative; - left: 41.6666666667%; -} - -.small-pull-5 { - position: relative; - left: -41.6666666667%; -} - -.small-offset-4 { - margin-left: 33.3333333333%; -} - -.small-6 { - width: 50%; -} - -.small-push-6 { - position: relative; - left: 50%; -} - -.small-pull-6 { - position: relative; - left: -50%; -} - -.small-offset-5 { - margin-left: 41.6666666667%; -} - -.small-7 { - width: 58.3333333333%; -} - -.small-push-7 { - position: relative; - left: 58.3333333333%; -} - -.small-pull-7 { - position: relative; - left: -58.3333333333%; -} - -.small-offset-6 { - margin-left: 50%; -} - -.small-8 { - width: 66.6666666667%; -} - -.small-push-8 { - position: relative; - left: 66.6666666667%; -} - -.small-pull-8 { - position: relative; - left: -66.6666666667%; -} - -.small-offset-7 { - margin-left: 58.3333333333%; -} - -.small-9 { - width: 75%; -} - -.small-push-9 { - position: relative; - left: 75%; -} - -.small-pull-9 { - position: relative; - left: -75%; -} - -.small-offset-8 { - margin-left: 66.6666666667%; -} - -.small-10 { - width: 83.3333333333%; -} - -.small-push-10 { - position: relative; - left: 83.3333333333%; -} - -.small-pull-10 { - position: relative; - left: -83.3333333333%; -} - -.small-offset-9 { - margin-left: 75%; -} - -.small-11 { - width: 91.6666666667%; -} - -.small-push-11 { - position: relative; - left: 91.6666666667%; -} - -.small-pull-11 { - position: relative; - left: -91.6666666667%; -} - -.small-offset-10 { - margin-left: 83.3333333333%; -} - -.small-12 { - width: 100%; -} - -.small-offset-11 { - margin-left: 91.6666666667%; -} - -.small-up-1 > .column, .small-up-1 > .columns { - float: left; - width: 100%; -} -.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) { - clear: both; -} -.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child { - float: left; -} - -.small-up-2 > .column, .small-up-2 > .columns { - float: left; - width: 50%; -} -.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) { - clear: both; -} -.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child { - float: left; -} - -.small-up-3 > .column, .small-up-3 > .columns { - float: left; - width: 33.3333333333%; -} -.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) { - clear: both; -} -.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child { - float: left; -} - -.small-up-4 > .column, .small-up-4 > .columns { - float: left; - width: 25%; -} -.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) { - clear: both; -} -.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child { - float: left; -} - -.small-up-5 > .column, .small-up-5 > .columns { - float: left; - width: 20%; -} -.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) { - clear: both; -} -.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child { - float: left; -} - -.small-up-6 > .column, .small-up-6 > .columns { - float: left; - width: 16.6666666667%; -} -.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) { - clear: both; -} -.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child { - float: left; -} - -.small-up-7 > .column, .small-up-7 > .columns { - float: left; - width: 14.2857142857%; -} -.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) { - clear: both; -} -.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child { - float: left; -} - -.small-up-8 > .column, .small-up-8 > .columns { - float: left; - width: 12.5%; -} -.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) { - clear: none; -} -.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) { - clear: both; -} -.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child { - float: left; -} - -.small-collapse > .column, .small-collapse > .columns { - padding-right: 0; - padding-left: 0; -} -.small-collapse .row { - margin-right: 0; - margin-left: 0; -} - -.expanded.row .small-collapse.row { - margin-right: 0; - margin-left: 0; -} - -.small-uncollapse > .column, .small-uncollapse > .columns { - padding-right: 0.625rem; - padding-left: 0.625rem; -} - -.small-centered { - margin-left: auto; - margin-right: auto; -} -.small-centered, .small-centered:last-child:not(:first-child) { - float: none; - clear: both; -} - -.small-uncentered, .small-push-0, .small-pull-0 { - position: static; - margin-right: 0; - margin-left: 0; -} -.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) { - float: left; - clear: none; -} -.small-uncentered:last-child:not(:first-child), .small-push-0:last-child:not(:first-child), .small-pull-0:last-child:not(:first-child) { - float: right; -} - -@media print, screen and (min-width: 40em) { - .medium-1 { - width: 8.3333333333%; - } - .medium-push-1 { - position: relative; - left: 8.3333333333%; - } - .medium-pull-1 { - position: relative; - left: -8.3333333333%; - } - .medium-offset-0 { - margin-left: 0%; - } - .medium-2 { - width: 16.6666666667%; - } - .medium-push-2 { - position: relative; - left: 16.6666666667%; - } - .medium-pull-2 { - position: relative; - left: -16.6666666667%; - } - .medium-offset-1 { - margin-left: 8.3333333333%; - } - .medium-3 { - width: 25%; - } - .medium-push-3 { - position: relative; - left: 25%; - } - .medium-pull-3 { - position: relative; - left: -25%; - } - .medium-offset-2 { - margin-left: 16.6666666667%; - } - .medium-4 { - width: 33.3333333333%; - } - .medium-push-4 { - position: relative; - left: 33.3333333333%; - } - .medium-pull-4 { - position: relative; - left: -33.3333333333%; - } - .medium-offset-3 { - margin-left: 25%; - } - .medium-5 { - width: 41.6666666667%; - } - .medium-push-5 { - position: relative; - left: 41.6666666667%; - } - .medium-pull-5 { - position: relative; - left: -41.6666666667%; - } - .medium-offset-4 { - margin-left: 33.3333333333%; - } - .medium-6 { - width: 50%; - } - .medium-push-6 { - position: relative; - left: 50%; - } - .medium-pull-6 { - position: relative; - left: -50%; - } - .medium-offset-5 { - margin-left: 41.6666666667%; - } - .medium-7 { - width: 58.3333333333%; - } - .medium-push-7 { - position: relative; - left: 58.3333333333%; - } - .medium-pull-7 { - position: relative; - left: -58.3333333333%; - } - .medium-offset-6 { - margin-left: 50%; - } - .medium-8 { - width: 66.6666666667%; - } - .medium-push-8 { - position: relative; - left: 66.6666666667%; - } - .medium-pull-8 { - position: relative; - left: -66.6666666667%; - } - .medium-offset-7 { - margin-left: 58.3333333333%; - } - .medium-9 { - width: 75%; - } - .medium-push-9 { - position: relative; - left: 75%; - } - .medium-pull-9 { - position: relative; - left: -75%; - } - .medium-offset-8 { - margin-left: 66.6666666667%; - } - .medium-10 { - width: 83.3333333333%; - } - .medium-push-10 { - position: relative; - left: 83.3333333333%; - } - .medium-pull-10 { - position: relative; - left: -83.3333333333%; - } - .medium-offset-9 { - margin-left: 75%; - } - .medium-11 { - width: 91.6666666667%; - } - .medium-push-11 { - position: relative; - left: 91.6666666667%; - } - .medium-pull-11 { - position: relative; - left: -91.6666666667%; - } - .medium-offset-10 { - margin-left: 83.3333333333%; - } - .medium-12 { - width: 100%; - } - .medium-offset-11 { - margin-left: 91.6666666667%; - } - .medium-up-1 > .column, .medium-up-1 > .columns { - float: left; - width: 100%; - } - .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) { - clear: both; - } - .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child { - float: left; - } - .medium-up-2 > .column, .medium-up-2 > .columns { - float: left; - width: 50%; - } - .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) { - clear: both; - } - .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child { - float: left; - } - .medium-up-3 > .column, .medium-up-3 > .columns { - float: left; - width: 33.3333333333%; - } - .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) { - clear: both; - } - .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child { - float: left; - } - .medium-up-4 > .column, .medium-up-4 > .columns { - float: left; - width: 25%; - } - .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) { - clear: both; - } - .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child { - float: left; - } - .medium-up-5 > .column, .medium-up-5 > .columns { - float: left; - width: 20%; - } - .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) { - clear: both; - } - .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child { - float: left; - } - .medium-up-6 > .column, .medium-up-6 > .columns { - float: left; - width: 16.6666666667%; - } - .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) { - clear: both; - } - .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child { - float: left; - } - .medium-up-7 > .column, .medium-up-7 > .columns { - float: left; - width: 14.2857142857%; - } - .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) { - clear: both; - } - .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child { - float: left; - } - .medium-up-8 > .column, .medium-up-8 > .columns { - float: left; - width: 12.5%; - } - .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) { - clear: none; - } - .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) { - clear: both; - } - .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child { - float: left; - } - .medium-collapse > .column, .medium-collapse > .columns { - padding-right: 0; - padding-left: 0; - } - .medium-collapse .row { - margin-right: 0; - margin-left: 0; - } - .expanded.row .medium-collapse.row { - margin-right: 0; - margin-left: 0; - } - .medium-uncollapse > .column, .medium-uncollapse > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; - } - .medium-centered { - margin-left: auto; - margin-right: auto; - } - .medium-centered, .medium-centered:last-child:not(:first-child) { - float: none; - clear: both; - } - .medium-uncentered, .medium-push-0, .medium-pull-0 { - position: static; - margin-right: 0; - margin-left: 0; - } - .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) { - float: left; - clear: none; - } - .medium-uncentered:last-child:not(:first-child), .medium-push-0:last-child:not(:first-child), .medium-pull-0:last-child:not(:first-child) { - float: right; - } -} -@media print, screen and (min-width: 64em) { - .large-1 { - width: 8.3333333333%; - } - .large-push-1 { - position: relative; - left: 8.3333333333%; - } - .large-pull-1 { - position: relative; - left: -8.3333333333%; - } - .large-offset-0 { - margin-left: 0%; - } - .large-2 { - width: 16.6666666667%; - } - .large-push-2 { - position: relative; - left: 16.6666666667%; - } - .large-pull-2 { - position: relative; - left: -16.6666666667%; - } - .large-offset-1 { - margin-left: 8.3333333333%; - } - .large-3 { - width: 25%; - } - .large-push-3 { - position: relative; - left: 25%; - } - .large-pull-3 { - position: relative; - left: -25%; - } - .large-offset-2 { - margin-left: 16.6666666667%; - } - .large-4 { - width: 33.3333333333%; - } - .large-push-4 { - position: relative; - left: 33.3333333333%; - } - .large-pull-4 { - position: relative; - left: -33.3333333333%; - } - .large-offset-3 { - margin-left: 25%; - } - .large-5 { - width: 41.6666666667%; - } - .large-push-5 { - position: relative; - left: 41.6666666667%; - } - .large-pull-5 { - position: relative; - left: -41.6666666667%; - } - .large-offset-4 { - margin-left: 33.3333333333%; - } - .large-6 { - width: 50%; - } - .large-push-6 { - position: relative; - left: 50%; - } - .large-pull-6 { - position: relative; - left: -50%; - } - .large-offset-5 { - margin-left: 41.6666666667%; - } - .large-7 { - width: 58.3333333333%; - } - .large-push-7 { - position: relative; - left: 58.3333333333%; - } - .large-pull-7 { - position: relative; - left: -58.3333333333%; - } - .large-offset-6 { - margin-left: 50%; - } - .large-8 { - width: 66.6666666667%; - } - .large-push-8 { - position: relative; - left: 66.6666666667%; - } - .large-pull-8 { - position: relative; - left: -66.6666666667%; - } - .large-offset-7 { - margin-left: 58.3333333333%; - } - .large-9 { - width: 75%; - } - .large-push-9 { - position: relative; - left: 75%; - } - .large-pull-9 { - position: relative; - left: -75%; - } - .large-offset-8 { - margin-left: 66.6666666667%; - } - .large-10 { - width: 83.3333333333%; - } - .large-push-10 { - position: relative; - left: 83.3333333333%; - } - .large-pull-10 { - position: relative; - left: -83.3333333333%; - } - .large-offset-9 { - margin-left: 75%; - } - .large-11 { - width: 91.6666666667%; - } - .large-push-11 { - position: relative; - left: 91.6666666667%; - } - .large-pull-11 { - position: relative; - left: -91.6666666667%; - } - .large-offset-10 { - margin-left: 83.3333333333%; - } - .large-12 { - width: 100%; - } - .large-offset-11 { - margin-left: 91.6666666667%; - } - .large-up-1 > .column, .large-up-1 > .columns { - float: left; - width: 100%; - } - .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) { - clear: both; - } - .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child { - float: left; - } - .large-up-2 > .column, .large-up-2 > .columns { - float: left; - width: 50%; - } - .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) { - clear: both; - } - .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child { - float: left; - } - .large-up-3 > .column, .large-up-3 > .columns { - float: left; - width: 33.3333333333%; - } - .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) { - clear: both; - } - .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child { - float: left; - } - .large-up-4 > .column, .large-up-4 > .columns { - float: left; - width: 25%; - } - .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) { - clear: both; - } - .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child { - float: left; - } - .large-up-5 > .column, .large-up-5 > .columns { - float: left; - width: 20%; - } - .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) { - clear: both; - } - .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child { - float: left; - } - .large-up-6 > .column, .large-up-6 > .columns { - float: left; - width: 16.6666666667%; - } - .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) { - clear: both; - } - .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child { - float: left; - } - .large-up-7 > .column, .large-up-7 > .columns { - float: left; - width: 14.2857142857%; - } - .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) { - clear: both; - } - .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child { - float: left; - } - .large-up-8 > .column, .large-up-8 > .columns { - float: left; - width: 12.5%; - } - .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) { - clear: none; - } - .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) { - clear: both; - } - .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child { - float: left; - } - .large-collapse > .column, .large-collapse > .columns { - padding-right: 0; - padding-left: 0; - } - .large-collapse .row { - margin-right: 0; - margin-left: 0; - } - .expanded.row .large-collapse.row { - margin-right: 0; - margin-left: 0; - } - .large-uncollapse > .column, .large-uncollapse > .columns { - padding-right: 0.9375rem; - padding-left: 0.9375rem; - } - .large-centered { - margin-left: auto; - margin-right: auto; - } - .large-centered, .large-centered:last-child:not(:first-child) { - float: none; - clear: both; - } - .large-uncentered, .large-push-0, .large-pull-0 { - position: static; - margin-right: 0; - margin-left: 0; - } - .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) { - float: left; - clear: none; - } - .large-uncentered:last-child:not(:first-child), .large-push-0:last-child:not(:first-child), .large-pull-0:last-child:not(:first-child) { - float: right; - } -} -.column-block { - margin-bottom: 1.25rem; -} -.column-block > :last-child { - margin-bottom: 0; -} -@media print, screen and (min-width: 40em) { - .column-block { - margin-bottom: 1.875rem; - } - .column-block > :last-child { - margin-bottom: 0; - } -} - -.button { - display: inline-block; - vertical-align: middle; - margin: 0 0 1rem 0; - border: 1px solid transparent; - border-radius: 0; - -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out; - transition: background-color 0.25s ease-out, color 0.25s ease-out; - font-family: inherit; - font-size: 0.9rem; - -webkit-appearance: none; - line-height: 1; - text-align: center; - cursor: pointer; - padding: 0.85em 1em; -} -[data-whatinput=mouse] .button { - outline: 0; -} -.button.tiny { - font-size: 0.6rem; -} -.button.small { - font-size: 0.75rem; -} -.button.large { - font-size: 1.25rem; -} -.button.expanded { - display: block; - width: 100%; - margin-right: 0; - margin-left: 0; -} -.button, .button.disabled, .button[disabled], .button.disabled:hover, .button[disabled]:hover, .button.disabled:focus, .button[disabled]:focus { - background-color: #1779ba; - color: #fefefe; -} -.button:hover, .button:focus { - background-color: rgb(19.55, 102.85, 158.1); - color: #fefefe; -} -.button.primary, .button.primary.disabled, .button.primary[disabled], .button.primary.disabled:hover, .button.primary[disabled]:hover, .button.primary.disabled:focus, .button.primary[disabled]:focus { - background-color: #1779ba; - color: #fefefe; -} -.button.primary:hover, .button.primary:focus { - background-color: rgb(18.4, 96.8, 148.8); - color: #fefefe; -} -.button.secondary, .button.secondary.disabled, .button.secondary[disabled], .button.secondary.disabled:hover, .button.secondary[disabled]:hover, .button.secondary.disabled:focus, .button.secondary[disabled]:focus { - background-color: #767676; - color: #fefefe; -} -.button.secondary:hover, .button.secondary:focus { - background-color: rgb(94.4, 94.4, 94.4); - color: #fefefe; -} -.button.success, .button.success.disabled, .button.success[disabled], .button.success.disabled:hover, .button.success[disabled]:hover, .button.success.disabled:focus, .button.success[disabled]:focus { - background-color: #3adb76; - color: #0a0a0a; -} -.button.success:hover, .button.success:focus { - background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918); - color: #0a0a0a; -} -.button.warning, .button.warning.disabled, .button.warning[disabled], .button.warning.disabled:hover, .button.warning[disabled]:hover, .button.warning.disabled:focus, .button.warning[disabled]:focus { - background-color: #ffae00; - color: #0a0a0a; -} -.button.warning:hover, .button.warning:focus { - background-color: rgb(204, 139.2, 0); - color: #0a0a0a; -} -.button.alert, .button.alert.disabled, .button.alert[disabled], .button.alert.disabled:hover, .button.alert[disabled]:hover, .button.alert.disabled:focus, .button.alert[disabled]:focus { - background-color: #cc4b37; - color: #fefefe; -} -.button.alert:hover, .button.alert:focus { - background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064); - color: #fefefe; -} -.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 { - background-color: transparent; -} -.button.hollow, .button.hollow.disabled, .button.hollow[disabled], .button.hollow.disabled:hover, .button.hollow[disabled]:hover, .button.hollow.disabled:focus, .button.hollow[disabled]:focus { - border: 1px solid #1779ba; - color: #1779ba; -} -.button.hollow:hover, .button.hollow:focus { - border-color: rgb(11.5, 60.5, 93); - color: rgb(11.5, 60.5, 93); -} -.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 { - border: 1px solid #1779ba; - color: #1779ba; -} -.button.hollow.primary:hover, .button.hollow.primary:focus { - border-color: rgb(11.5, 60.5, 93); - color: rgb(11.5, 60.5, 93); -} -.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 { - border: 1px solid #767676; - color: #767676; -} -.button.hollow.secondary:hover, .button.hollow.secondary:focus { - border-color: #3b3b3b; - color: #3b3b3b; -} -.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 { - border: 1px solid #3adb76; - color: #3adb76; -} -.button.hollow.success:hover, .button.hollow.success:focus { - border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824); - color: rgb(21.3991416309, 117.1008583691, 57.0643776824); -} -.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 { - border: 1px solid #ffae00; - color: #ffae00; -} -.button.hollow.warning:hover, .button.hollow.warning:focus { - border-color: rgb(127.5, 87, 0); - color: rgb(127.5, 87, 0); -} -.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 { - border: 1px solid #cc4b37; - color: #cc4b37; -} -.button.hollow.alert:hover, .button.hollow.alert:focus { - border-color: rgb(103.187250996, 36.6314741036, 26.312749004); - color: rgb(103.187250996, 36.6314741036, 26.312749004); -} -.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 { - border-color: transparent; - background-color: transparent; -} -.button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear.disabled:hover, .button.clear[disabled]:hover, .button.clear.disabled:focus, .button.clear[disabled]:focus { - color: #1779ba; -} -.button.clear:hover, .button.clear:focus { - color: rgb(11.5, 60.5, 93); -} -.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 { - color: #1779ba; -} -.button.clear.primary:hover, .button.clear.primary:focus { - color: rgb(11.5, 60.5, 93); -} -.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 { - color: #767676; -} -.button.clear.secondary:hover, .button.clear.secondary:focus { - color: #3b3b3b; -} -.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 { - color: #3adb76; -} -.button.clear.success:hover, .button.clear.success:focus { - color: rgb(21.3991416309, 117.1008583691, 57.0643776824); -} -.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 { - color: #ffae00; -} -.button.clear.warning:hover, .button.clear.warning:focus { - color: rgb(127.5, 87, 0); -} -.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 { - color: #cc4b37; -} -.button.clear.alert:hover, .button.clear.alert:focus { - color: rgb(103.187250996, 36.6314741036, 26.312749004); -} -.button.disabled, .button[disabled] { - opacity: 0.25; - cursor: not-allowed; -} -.button.dropdown::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 0.4em; - content: ""; - border-bottom-width: 0; - border-color: #fefefe transparent transparent; - position: relative; - top: 0.4em; - display: inline-block; - float: right; - margin-left: 1em; -} -.button.dropdown.hollow::after, .button.dropdown.clear::after { - border-top-color: #1779ba; -} -.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after { - border-top-color: #1779ba; -} -.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after { - border-top-color: #767676; -} -.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after { - border-top-color: #3adb76; -} -.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after { - border-top-color: #ffae00; -} -.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after { - border-top-color: #cc4b37; -} -.button.arrow-only::after { - top: -0.1em; - float: none; - margin-left: 0; -} - -a.button:hover, a.button:focus { - text-decoration: none; -} - -.button-group { - margin-bottom: 1rem; - font-size: 0; -} -.button-group::before, .button-group::after { - display: table; - content: " "; -} -.button-group::after { - clear: both; -} -.button-group .button { - margin: 0; - margin-right: 1px; - margin-bottom: 1px; - font-size: 0.9rem; -} -.button-group .button:last-child { - margin-right: 0; -} -.button-group.tiny .button { - font-size: 0.6rem; -} -.button-group.small .button { - font-size: 0.75rem; -} -.button-group.large .button { - font-size: 1.25rem; -} -.button-group.expanded { - margin-right: -1px; -} -.button-group.expanded::before, .button-group.expanded::after { - display: none; -} -.button-group.expanded .button:first-child:last-child { - width: calc(100% - 1px); -} -.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 { - display: inline-block; - width: calc(50% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(33.3333333333% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(25% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(20% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(16.6666666667% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - background-color: #1779ba; - color: #fefefe; -} -.button-group.primary .button:hover, .button-group.primary .button:focus { - background-color: rgb(18.4, 96.8, 148.8); - color: #fefefe; -} -.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 { - background-color: #767676; - color: #fefefe; -} -.button-group.secondary .button:hover, .button-group.secondary .button:focus { - background-color: rgb(94.4, 94.4, 94.4); - color: #fefefe; -} -.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 { - background-color: #3adb76; - color: #0a0a0a; -} -.button-group.success .button:hover, .button-group.success .button:focus { - background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918); - color: #0a0a0a; -} -.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 { - background-color: #ffae00; - color: #0a0a0a; -} -.button-group.warning .button:hover, .button-group.warning .button:focus { - background-color: rgb(204, 139.2, 0); - color: #0a0a0a; -} -.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 { - background-color: #cc4b37; - color: #fefefe; -} -.button-group.alert .button:hover, .button-group.alert .button:focus { - background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064); - color: #fefefe; -} -.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 { - background-color: transparent; -} -.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 { - border: 1px solid #1779ba; - color: #1779ba; -} -.button-group.hollow .button:hover, .button-group.hollow .button:focus { - border-color: rgb(11.5, 60.5, 93); - color: rgb(11.5, 60.5, 93); -} -.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 { - border: 1px solid #1779ba; - color: #1779ba; -} -.button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus { - border-color: rgb(11.5, 60.5, 93); - color: rgb(11.5, 60.5, 93); -} -.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 { - border: 1px solid #767676; - color: #767676; -} -.button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus { - border-color: #3b3b3b; - color: #3b3b3b; -} -.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 { - border: 1px solid #3adb76; - color: #3adb76; -} -.button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus { - border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824); - color: rgb(21.3991416309, 117.1008583691, 57.0643776824); -} -.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 { - border: 1px solid #ffae00; - color: #ffae00; -} -.button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus { - border-color: rgb(127.5, 87, 0); - color: rgb(127.5, 87, 0); -} -.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 { - border: 1px solid #cc4b37; - color: #cc4b37; -} -.button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus { - border-color: rgb(103.187250996, 36.6314741036, 26.312749004); - color: rgb(103.187250996, 36.6314741036, 26.312749004); -} -.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 { - border-color: transparent; - background-color: transparent; -} -.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 { - color: #1779ba; -} -.button-group.clear .button:hover, .button-group.clear .button:focus { - color: rgb(11.5, 60.5, 93); -} -.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 { - color: #1779ba; -} -.button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus { - color: rgb(11.5, 60.5, 93); -} -.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 { - color: #767676; -} -.button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus { - color: #3b3b3b; -} -.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 { - color: #3adb76; -} -.button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus { - color: rgb(21.3991416309, 117.1008583691, 57.0643776824); -} -.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 { - color: #ffae00; -} -.button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus { - color: rgb(127.5, 87, 0); -} -.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 { - color: #cc4b37; -} -.button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus { - color: rgb(103.187250996, 36.6314741036, 26.312749004); -} -.button-group.no-gaps .button { - margin-right: -0.0625rem; -} -.button-group.no-gaps .button + .button { - border-left-color: transparent; -} -.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button { - width: 100%; -} -.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child { - margin-bottom: 0; -} -.button-group.stacked.expanded, .button-group.stacked-for-small.expanded, .button-group.stacked-for-medium.expanded { - margin-right: -1px; -} -.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 { - display: none; -} -.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 { - width: calc(100% - 1px); -} -.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 { - display: inline-block; - width: calc(50% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(33.3333333333% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(25% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(20% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -.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 { - display: inline-block; - width: calc(16.6666666667% - 1px); - margin-right: 1px; -} -.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 { - margin-right: -6px; -} -@media print, screen and (min-width: 40em) { - .button-group.stacked-for-small .button { - width: auto; - margin-bottom: 0; - } -} -@media print, screen and (min-width: 64em) { - .button-group.stacked-for-medium .button { - width: auto; - margin-bottom: 0; - } -} -@media print, screen and (max-width: 39.99875em) { - .button-group.stacked-for-small.expanded { - display: block; - } - .button-group.stacked-for-small.expanded .button { - display: block; - margin-right: 0; - } -} -@media print, screen and (max-width: 63.99875em) { - .button-group.stacked-for-medium.expanded { - display: block; - } - .button-group.stacked-for-medium.expanded .button { - display: block; - margin-right: 0; - } -} - -.close-button { - position: absolute; - z-index: 10; - color: #8a8a8a; - cursor: pointer; -} -[data-whatinput=mouse] .close-button { - outline: 0; -} -.close-button:hover, .close-button:focus { - color: #0a0a0a; -} -.close-button.small { - right: 0.66rem; - top: 0.33em; - font-size: 1.5em; - line-height: 1; -} - -.close-button.medium, .close-button { - right: 1rem; - top: 0.5rem; - font-size: 2em; - line-height: 1; -} - -.label { - display: inline-block; - padding: 0.33333rem 0.5rem; - border-radius: 0; - font-size: 0.8rem; - line-height: 1; - white-space: nowrap; - cursor: default; - background: #1779ba; - color: #fefefe; -} -.label.primary { - background: #1779ba; - color: #fefefe; -} -.label.secondary { - background: #767676; - color: #fefefe; -} -.label.success { - background: #3adb76; - color: #0a0a0a; -} -.label.warning { - background: #ffae00; - color: #0a0a0a; -} -.label.alert { - background: #cc4b37; - color: #fefefe; -} - -.progress { - height: 1rem; - margin-bottom: 1rem; - border-radius: 0; - background-color: #cacaca; -} -.progress.primary .progress-meter { - background-color: #1779ba; -} -.progress.secondary .progress-meter { - background-color: #767676; -} -.progress.success .progress-meter { - background-color: #3adb76; -} -.progress.warning .progress-meter { - background-color: #ffae00; -} -.progress.alert .progress-meter { - background-color: #cc4b37; -} - -.progress-meter { - position: relative; - display: block; - width: 0%; - height: 100%; - background-color: #1779ba; -} - -.progress-meter-text { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - margin: 0; - font-size: 0.75rem; - font-weight: bold; - color: #fefefe; - white-space: nowrap; -} - -.slider { - position: relative; - height: 0.5rem; - margin-top: 1.25rem; - margin-bottom: 2.25rem; - background-color: #e6e6e6; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - -ms-touch-action: none; - touch-action: none; -} - -.slider-fill { - position: absolute; - top: 0; - left: 0; - display: inline-block; - max-width: 100%; - height: 0.5rem; - background-color: #cacaca; - -webkit-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; -} -.slider-fill.is-dragging { - -webkit-transition: all 0s linear; - transition: all 0s linear; -} - -.slider-handle { - left: 0; - z-index: 1; - cursor: -webkit-grab; - cursor: grab; - display: inline-block; - width: 1.4rem; - height: 1.4rem; - border-radius: 0; - background-color: #1779ba; - -webkit-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - -ms-touch-action: manipulation; - touch-action: manipulation; - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} -[data-whatinput=mouse] .slider-handle { - outline: 0; -} -.slider-handle:hover { - background-color: rgb(19.55, 102.85, 158.1); -} -.slider-handle.is-dragging { - -webkit-transition: all 0s linear; - transition: all 0s linear; - cursor: -webkit-grabbing; - cursor: grabbing; -} - -.slider.disabled, -.slider[disabled] { - opacity: 0.25; - cursor: not-allowed; -} - -.slider.vertical { - display: inline-block; - width: 0.5rem; - height: 12.5rem; - margin: 0 1.25rem; - -webkit-transform: scale(1, -1); - transform: scale(1, -1); -} -.slider.vertical .slider-fill { - top: 0; - width: 0.5rem; - max-height: 100%; -} -.slider.vertical .slider-handle { - position: absolute; - top: 0; - left: 50%; - width: 1.4rem; - height: 1.4rem; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); -} - -.switch { - position: relative; - margin-bottom: 1rem; - outline: 0; - font-size: 0.875rem; - font-weight: bold; - color: #fefefe; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - height: 2rem; -} - -.switch-input { - position: absolute; - margin-bottom: 0; - opacity: 0; -} - -.switch-paddle { - position: relative; - display: block; - width: 4rem; - height: 2rem; - border-radius: 0; - background: #cacaca; - -webkit-transition: all 0.25s ease-out; - transition: all 0.25s ease-out; - font-weight: inherit; - color: inherit; - cursor: pointer; -} -input + .switch-paddle { - margin: 0; -} -.switch-paddle::after { - position: absolute; - top: 0.25rem; - left: 0.25rem; - display: block; - width: 1.5rem; - height: 1.5rem; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - border-radius: 0; - background: #fefefe; - -webkit-transition: all 0.25s ease-out; - transition: all 0.25s ease-out; - content: ""; -} -input:checked ~ .switch-paddle { - background: #1779ba; -} -input:checked ~ .switch-paddle::after { - left: 2.25rem; -} -input:focus-visible ~ .switch-paddle { - background: rgb(181.8, 181.8, 181.8); -} -input:focus-visible ~ .switch-paddle::after { - background: #fefefe; -} -input:checked:focus-visible ~ .switch-paddle { - background: rgb(19.55, 102.85, 158.1); -} -input:disabled ~ .switch-paddle { - cursor: not-allowed; - opacity: 0.5; -} -[data-whatinput=mouse] input:focus ~ .switch-paddle { - outline: 0; -} - -.switch-inactive, .switch-active { - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} - -.switch-active { - left: 8%; - display: none; -} -input:checked + label > .switch-active { - display: block; -} - -.switch-inactive { - right: 15%; -} -input:checked + label > .switch-inactive { - display: none; -} - -.switch.tiny { - height: 1.5rem; -} -.switch.tiny .switch-paddle { - width: 3rem; - height: 1.5rem; - font-size: 0.625rem; -} -.switch.tiny .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 1rem; - height: 1rem; -} -.switch.tiny input:checked ~ .switch-paddle::after { - left: 1.75rem; -} - -.switch.small { - height: 1.75rem; -} -.switch.small .switch-paddle { - width: 3.5rem; - height: 1.75rem; - font-size: 0.75rem; -} -.switch.small .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 1.25rem; - height: 1.25rem; -} -.switch.small input:checked ~ .switch-paddle::after { - left: 2rem; -} - -.switch.large { - height: 2.5rem; -} -.switch.large .switch-paddle { - width: 5rem; - height: 2.5rem; - font-size: 1rem; -} -.switch.large .switch-paddle::after { - top: 0.25rem; - left: 0.25rem; - width: 2rem; - height: 2rem; -} -.switch.large input:checked ~ .switch-paddle::after { - left: 2.75rem; -} - -table { - border-collapse: collapse; - width: 100%; - margin-bottom: 1rem; - border-radius: 0; -} -thead, -tbody, -tfoot { - border: 1px solid rgb(241.3, 241.3, 241.3); - background-color: #fefefe; -} - -caption { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; -} - -thead { - background: rgb(247.65, 247.65, 247.65); - color: #0a0a0a; -} - -tfoot { - background: rgb(241.3, 241.3, 241.3); - color: #0a0a0a; -} - -thead tr, -tfoot tr { - background: transparent; -} -thead th, -thead td, -tfoot th, -tfoot td { - padding: 0.5rem 0.625rem 0.625rem; - font-weight: bold; - text-align: left; -} - -tbody th, -tbody td { - padding: 0.5rem 0.625rem 0.625rem; -} - -tbody tr:nth-child(even) { - border-bottom: 0; - background-color: rgb(241.3, 241.3, 241.3); -} - -table.unstriped tbody { - background-color: #fefefe; -} -table.unstriped tbody tr { - border-bottom: 1px solid rgb(241.3, 241.3, 241.3); - background-color: #fefefe; -} - -@media print, screen and (max-width: 63.99875em) { - table.stack thead { - display: none; - } - table.stack tfoot { - display: none; - } - table.stack tr, - table.stack th, - table.stack td { - display: block; - } - table.stack td { - border-top: 0; - } -} - -table.scroll { - display: block; - width: 100%; - overflow-x: auto; -} - -table.hover thead tr:hover { - background-color: rgb(242.55, 242.55, 242.55); -} -table.hover tfoot tr:hover { - background-color: rgb(236.2, 236.2, 236.2); -} -table.hover tbody tr:hover { - background-color: rgb(248.9, 248.9, 248.9); -} -table.hover:not(.unstriped) tr:nth-of-type(even):hover { - background-color: rgb(236.15, 236.15, 236.15); -} - -.table-scroll { - overflow-x: auto; -} - -.badge { - display: inline-block; - min-width: 2.1em; - padding: 0.3em; - border-radius: 50%; - font-size: 0.6rem; - text-align: center; - background: #1779ba; - color: #fefefe; -} -.badge.primary { - background: #1779ba; - color: #fefefe; -} -.badge.secondary { - background: #767676; - color: #fefefe; -} -.badge.success { - background: #3adb76; - color: #0a0a0a; -} -.badge.warning { - background: #ffae00; - color: #0a0a0a; -} -.badge.alert { - background: #cc4b37; - color: #fefefe; -} - -.breadcrumbs { - margin: 0 0 1rem 0; - list-style: none; -} -.breadcrumbs::before, .breadcrumbs::after { - display: table; - content: " "; -} -.breadcrumbs::after { - clear: both; -} -.breadcrumbs li { - float: left; - font-size: 0.6875rem; - color: #0a0a0a; - cursor: default; - text-transform: uppercase; -} -.breadcrumbs li:not(:last-child)::after { - position: relative; - margin: 0 0.75rem; - opacity: 1; - content: "/"; - color: #cacaca; -} -.breadcrumbs a { - color: #1779ba; -} -.breadcrumbs a:hover { - text-decoration: underline; -} -.breadcrumbs .disabled { - color: #cacaca; - cursor: not-allowed; -} - -.callout { - background-color: rgb(254.85, 254.85, 254.85); - color: #0a0a0a; - position: relative; - margin: 0 0 1rem 0; - padding: 1rem; - border: 1px solid rgba(10, 10, 10, 0.25); - border-radius: 0; -} -.callout > :first-child { - margin-top: 0; -} -.callout > :last-child { - margin-bottom: 0; -} -.callout.primary { - background-color: rgb(214.8186602871, 235.9894736842, 250.0313397129); - color: #0a0a0a; -} -.callout.secondary { - background-color: rgb(234.45, 234.45, 234.45); - color: #0a0a0a; -} -.callout.success { - background-color: rgb(225.45, 249.6, 234.45); - color: #0a0a0a; -} -.callout.warning { - background-color: rgb(255, 242.85, 216.75); - color: #0a0a0a; -} -.callout.alert { - background-color: rgb(247.35, 228, 225); - color: #0a0a0a; -} -.callout.small { - padding-top: 0.5rem; - padding-right: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 0.5rem; -} -.callout.large { - padding-top: 3rem; - padding-right: 3rem; - padding-bottom: 3rem; - padding-left: 3rem; -} - -.card { - margin-bottom: 1rem; - border: 1px solid #e6e6e6; - border-radius: 0; - background: #fefefe; - -webkit-box-shadow: none; - box-shadow: none; - overflow: hidden; - color: #0a0a0a; -} -.card > :last-child { - margin-bottom: 0; -} - -.card-divider { - padding: 1rem; - background: #e6e6e6; -} -.card-divider > :last-child { - margin-bottom: 0; -} - -.card-section { - padding: 1rem; -} -.card-section > :last-child { - margin-bottom: 0; -} - -.card-image { - min-height: 1px; -} - -.dropdown-pane { - position: absolute; - z-index: 10; - display: none; - width: 300px; - padding: 1rem; - visibility: hidden; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; - font-size: 1rem; -} -.dropdown-pane.is-opening { - display: block; -} -.dropdown-pane.is-open { - display: block; - visibility: visible; -} - -.dropdown-pane.tiny { - width: 100px; -} - -.dropdown-pane.small { - width: 200px; -} - -.dropdown-pane.large { - width: 400px; -} - -.pagination { - margin-left: 0; - margin-bottom: 1rem; -} -.pagination::before, .pagination::after { - display: table; - content: " "; -} -.pagination::after { - clear: both; -} -.pagination li { - margin-right: 0.0625rem; - border-radius: 0; - font-size: 0.875rem; - display: none; -} -.pagination li:last-child, .pagination li:first-child { - display: inline-block; -} -@media print, screen and (min-width: 40em) { - .pagination li { - display: inline-block; - } -} -.pagination a, -.pagination button { - display: block; - padding: 0.1875rem 0.625rem; - border-radius: 0; - color: #0a0a0a; -} -.pagination a:hover, -.pagination button:hover { - background: #e6e6e6; -} -.pagination .current { - padding: 0.1875rem 0.625rem; - background: #1779ba; - color: #fefefe; - cursor: default; -} -.pagination .disabled { - padding: 0.1875rem 0.625rem; - color: #cacaca; - cursor: not-allowed; -} -.pagination .disabled:hover { - background: transparent; -} -.pagination .ellipsis::after { - padding: 0.1875rem 0.625rem; - content: "…"; - color: #0a0a0a; -} - -.pagination-previous a::before, -.pagination-previous.disabled::before { - display: inline-block; - margin-right: 0.5rem; - content: "«"; -} - -.pagination-next a::after, -.pagination-next.disabled::after { - display: inline-block; - margin-left: 0.5rem; - content: "»"; -} - -.has-tip { - position: relative; - display: inline-block; - border-bottom: dotted 1px #8a8a8a; - font-weight: bold; - cursor: help; -} - -.tooltip { - position: absolute; - top: calc(100% + 0.6495rem); - z-index: 1200; - max-width: 10rem; - padding: 0.75rem; - border-radius: 0; - background-color: #0a0a0a; - font-size: 80%; - color: #fefefe; -} -.tooltip::before { - position: absolute; -} -.tooltip.bottom::before { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 0.75rem; - content: ""; - border-top-width: 0; - border-color: transparent transparent #0a0a0a; - bottom: 100%; -} -.tooltip.bottom.align-center::before { - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); -} -.tooltip.top::before { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 0.75rem; - content: ""; - border-bottom-width: 0; - border-color: #0a0a0a transparent transparent; - top: 100%; - bottom: auto; -} -.tooltip.top.align-center::before { - left: 50%; - -webkit-transform: translateX(-50%); - transform: translateX(-50%); -} -.tooltip.left::before { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 0.75rem; - content: ""; - border-right-width: 0; - border-color: transparent transparent transparent #0a0a0a; - left: 100%; -} -.tooltip.left.align-center::before { - bottom: auto; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} -.tooltip.right::before { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 0.75rem; - content: ""; - border-left-width: 0; - border-color: transparent #0a0a0a transparent transparent; - right: 100%; - left: auto; -} -.tooltip.right.align-center::before { - bottom: auto; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} -.tooltip.align-top::before { - bottom: auto; - top: 10%; -} -.tooltip.align-bottom::before { - bottom: 10%; - top: auto; -} -.tooltip.align-left::before { - left: 10%; - right: auto; -} -.tooltip.align-right::before { - left: auto; - right: 10%; -} - -.accordion { - margin-left: 0; - background: #fefefe; - list-style-type: none; -} -.accordion[disabled] .accordion-title { - cursor: not-allowed; -} - -.accordion-item:first-child > :first-child { - border-radius: 0 0 0 0; -} -.accordion-item:last-child > :last-child { - border-radius: 0 0 0 0; -} - -.accordion-title { - position: relative; - display: block; - padding: 1.25rem 1rem; - border: 1px solid #e6e6e6; - border-bottom: 0; - font-size: 0.75rem; - line-height: 1; - color: #1779ba; -} -:last-child:not(.is-active) > .accordion-title { - border-bottom: 1px solid #e6e6e6; - border-radius: 0 0 0 0; -} -.accordion-title:hover, .accordion-title:focus { - background-color: #e6e6e6; -} -.accordion-title::before { - position: absolute; - top: 50%; - right: 1rem; - margin-top: -0.5rem; - content: "+"; -} -.is-active > .accordion-title::before { - content: "–"; -} - -.accordion-content { - display: none; - padding: 1rem; - border: 1px solid #e6e6e6; - border-bottom: 0; - background-color: #fefefe; - color: #0a0a0a; -} -:last-child > .accordion-content:last-child { - border-bottom: 1px solid #e6e6e6; -} - -.media-object { - display: block; - margin-bottom: 1rem; -} -.media-object img { - max-width: none; -} - -.media-object-section { - display: table-cell; - vertical-align: top; -} -.media-object-section:first-child { - padding-right: 1rem; -} -.media-object-section:last-child:not(:nth-child(2)) { - padding-left: 1rem; -} -.media-object-section > :last-child { - margin-bottom: 0; -} -@media print, screen and (max-width: 39.99875em) { - .stack-for-small .media-object-section { - padding: 0; - padding-bottom: 1rem; - display: block; - } - .stack-for-small .media-object-section img { - width: 100%; - } -} -.media-object-section.middle { - vertical-align: middle; -} -.media-object-section.bottom { - vertical-align: bottom; -} - -.orbit { - position: relative; -} - -.orbit-container { - position: relative; - height: 0; - margin: 0; - list-style: none; - overflow: hidden; -} - -.orbit-slide { - width: 100%; - position: absolute; -} -.orbit-slide.no-motionui.is-active { - top: 0; - left: 0; -} - -.orbit-figure { - margin: 0; -} - -.orbit-image { - width: 100%; - max-width: 100%; - margin: 0; -} - -.orbit-caption { - position: absolute; - bottom: 0; - width: 100%; - margin-bottom: 0; - padding: 1rem; - background-color: rgba(10, 10, 10, 0.5); - color: #fefefe; -} - -.orbit-next, .orbit-previous { - z-index: 10; - padding: 1rem; - color: #fefefe; - position: absolute; - top: 50%; - -webkit-transform: translateY(-50%); - transform: translateY(-50%); -} -[data-whatinput=mouse] .orbit-next, [data-whatinput=mouse] .orbit-previous { - outline: 0; -} -.orbit-next:hover, .orbit-previous:hover, .orbit-next:active, .orbit-previous:active, .orbit-next:focus, .orbit-previous:focus { - background-color: rgba(10, 10, 10, 0.5); -} - -.orbit-previous { - left: 0; -} - -.orbit-next { - left: auto; - right: 0; -} - -.orbit-bullets { - position: relative; - margin-top: 0.8rem; - margin-bottom: 0.8rem; - text-align: center; -} -[data-whatinput=mouse] .orbit-bullets { - outline: 0; -} -.orbit-bullets button { - width: 1.2rem; - height: 1.2rem; - margin: 0.1rem; - border-radius: 50%; - background-color: #cacaca; -} -.orbit-bullets button:hover { - background-color: #8a8a8a; -} -.orbit-bullets button.is-active { - background-color: #8a8a8a; -} - -.responsive-embed, -.flex-video { - position: relative; - height: 0; - margin-bottom: 1rem; - padding-bottom: 75%; - overflow: hidden; -} -.responsive-embed iframe, -.responsive-embed object, -.responsive-embed embed, -.responsive-embed video, -.flex-video iframe, -.flex-video object, -.flex-video embed, -.flex-video video { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.responsive-embed.widescreen, -.flex-video.widescreen { - padding-bottom: 56.25%; -} - -.tabs { - margin: 0; - border: 1px solid #e6e6e6; - background: #fefefe; - list-style-type: none; -} -.tabs::before, .tabs::after { - display: table; - content: " "; -} -.tabs::after { - clear: both; -} - -.tabs.vertical > li { - display: block; - float: none; - width: auto; -} - -.tabs.simple > li > a { - padding: 0; -} -.tabs.simple > li > a:hover { - background: transparent; -} - -.tabs.primary { - background: #1779ba; -} -.tabs.primary > li > a { - color: #fefefe; -} -.tabs.primary > li > a:hover, .tabs.primary > li > a:focus { - background: rgb(21.85, 114.95, 176.7); -} - -.tabs-title { - float: left; -} -.tabs-title > a { - display: block; - padding: 1.25rem 1.5rem; - font-size: 0.75rem; - line-height: 1; - color: #1779ba; -} -[data-whatinput=mouse] .tabs-title > a { - outline: 0; -} -.tabs-title > a:hover { - background: #fefefe; - color: rgb(19.78, 104.06, 159.96); -} -.tabs-title > a:focus, .tabs-title > a[aria-selected=true] { - background: #e6e6e6; - color: #1779ba; -} - -.tabs-content { - border: 1px solid #e6e6e6; - border-top: 0; - background: #fefefe; - color: #0a0a0a; - -webkit-transition: all 0.5s ease; - transition: all 0.5s ease; -} - -.tabs-content.vertical { - border: 1px solid #e6e6e6; - border-left: 0; -} - -.tabs-panel { - display: none; - padding: 1rem; -} -.tabs-panel.is-active { - display: block; -} - -.thumbnail { - display: inline-block; - max-width: 100%; - margin-bottom: 1rem; - border: 4px solid #fefefe; - border-radius: 0; - -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); - box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); - line-height: 0; -} - -a.thumbnail { - -webkit-transition: -webkit-box-shadow 200ms ease-out; - transition: -webkit-box-shadow 200ms ease-out; - transition: box-shadow 200ms ease-out; - transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out; -} -a.thumbnail:hover, a.thumbnail:focus { - -webkit-box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); - box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); -} -a.thumbnail image { - -webkit-box-shadow: none; - box-shadow: none; -} - -.menu { - padding: 0; - margin: 0; - list-style: none; - position: relative; -} -[data-whatinput=mouse] .menu li { - outline: 0; -} -.menu a, -.menu .button { - line-height: 1; - text-decoration: none; - display: block; - padding: 0.7rem 1rem; -} -.menu input, -.menu select, -.menu a, -.menu button { - margin-bottom: 0; -} -.menu input { - display: inline-block; -} -.menu li, .menu.horizontal li { - display: inline-block; -} -.menu.vertical li { - display: block; -} -.menu.expanded { - display: table; - width: 100%; -} -.menu.expanded > li { - display: table-cell; - vertical-align: middle; -} -.menu.simple li + li { - margin-left: 1rem; -} -.menu.simple a { - padding: 0; -} -@media print, screen and (min-width: 40em) { - .menu.medium-horizontal li { - display: inline-block; - } - .menu.medium-vertical li { - display: block; - } - .menu.medium-expanded { - display: table; - width: 100%; - } - .menu.medium-expanded > li { - display: table-cell; - vertical-align: middle; - } - .menu.medium-simple { - display: table; - width: 100%; - } - .menu.medium-simple > li { - display: table-cell; - vertical-align: middle; - } -} -@media print, screen and (min-width: 64em) { - .menu.large-horizontal li { - display: inline-block; - } - .menu.large-vertical li { - display: block; - } - .menu.large-expanded { - display: table; - width: 100%; - } - .menu.large-expanded > li { - display: table-cell; - vertical-align: middle; - } - .menu.large-simple { - display: table; - width: 100%; - } - .menu.large-simple > li { - display: table-cell; - vertical-align: middle; - } -} -.menu.nested { - margin-right: 0; - margin-left: 1rem; -} -.menu.icons img, -.menu.icons i, -.menu.icons svg { - vertical-align: middle; -} -.menu.icons img + span, -.menu.icons i + span, -.menu.icons svg + span { - vertical-align: middle; -} -.menu.icon-top img, -.menu.icon-top i, -.menu.icon-top svg, .menu.icon-right img, -.menu.icon-right i, -.menu.icon-right svg, .menu.icon-bottom img, -.menu.icon-bottom i, -.menu.icon-bottom svg, .menu.icon-left img, -.menu.icon-left i, -.menu.icon-left svg { - vertical-align: middle; -} -.menu.icon-top img + span, -.menu.icon-top i + span, -.menu.icon-top svg + span, .menu.icon-right img + span, -.menu.icon-right i + span, -.menu.icon-right svg + span, .menu.icon-bottom img + span, -.menu.icon-bottom i + span, -.menu.icon-bottom svg + span, .menu.icon-left img + span, -.menu.icon-left i + span, -.menu.icon-left svg + span { - vertical-align: middle; -} -.menu.icon-left li a img, -.menu.icon-left li a i, -.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.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.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.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.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.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 { - background: #1779ba; - color: #fefefe; -} -.menu .active > a { - background: #1779ba; - color: #fefefe; -} -.menu.align-left { - text-align: left; -} -.menu.align-right { - text-align: right; -} -.menu.align-right .submenu li { - text-align: left; -} -.menu.align-right.vertical .submenu li { - text-align: right; -} -.menu.align-right .nested { - margin-right: 1rem; - margin-left: 0; -} -.menu.align-center { - text-align: center; -} -.menu.align-center .submenu li { - text-align: left; -} -.menu .menu-text { - padding: 0.7rem 1rem; - font-weight: bold; - line-height: 1; - color: inherit; -} - -.menu-centered > .menu { - text-align: center; -} -.menu-centered > .menu .submenu li { - text-align: left; -} - -.no-js [data-responsive-menu] ul { - display: none; -} - -.menu-icon { - position: relative; - display: inline-block; - vertical-align: middle; - width: 20px; - height: 16px; - cursor: pointer; -} -.menu-icon::after { - position: absolute; - top: 0; - left: 0; - display: block; - width: 100%; - height: 2px; - background: #fefefe; - -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; - box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; - content: ""; -} -.menu-icon:hover::after { - background: #cacaca; - -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; - box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; -} - -.menu-icon.dark { - position: relative; - display: inline-block; - vertical-align: middle; - width: 20px; - height: 16px; - cursor: pointer; -} -.menu-icon.dark::after { - position: absolute; - top: 0; - left: 0; - display: block; - width: 100%; - height: 2px; - background: #0a0a0a; - -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; - content: ""; -} -.menu-icon.dark:hover::after { - background: #8a8a8a; - -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; - box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; -} - -.accordion-menu li { - width: 100%; -} -.accordion-menu a { - padding: 0.7rem 1rem; -} -.accordion-menu .is-accordion-submenu a { - padding: 0.7rem 1rem; -} -.accordion-menu .nested.is-accordion-submenu { - margin-right: 0; - margin-left: 1rem; -} -.accordion-menu.align-right .nested.is-accordion-submenu { - margin-right: 1rem; - margin-left: 0; -} -.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a { - position: relative; -} -.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-bottom-width: 0; - border-color: #1779ba transparent transparent; - position: absolute; - top: 50%; - margin-top: -3px; - right: 1rem; -} -.accordion-menu.align-left .is-accordion-submenu-parent > a::after { - right: 1rem; - left: auto; -} -.accordion-menu.align-right .is-accordion-submenu-parent > a::after { - right: auto; - left: 1rem; -} -.accordion-menu .is-accordion-submenu-parent[aria-expanded=true] > a::after { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} - -.is-accordion-submenu-parent { - position: relative; -} - -.has-submenu-toggle > a { - margin-right: 40px; -} - -.submenu-toggle { - position: absolute; - top: 0; - right: 0; - width: 40px; - height: 40px; - cursor: pointer; -} -.submenu-toggle::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-bottom-width: 0; - border-color: #1779ba transparent transparent; - top: 0; - bottom: 0; - margin: auto; -} - -.submenu-toggle[aria-expanded=true]::after { - -webkit-transform: scaleY(-1); - transform: scaleY(-1); - -webkit-transform-origin: 50% 50%; - transform-origin: 50% 50%; -} - -.submenu-toggle-text { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; -} - -.is-drilldown { - position: relative; - overflow: hidden; -} -.is-drilldown li { - display: block; -} -.is-drilldown.animate-height { - -webkit-transition: height 0.5s; - transition: height 0.5s; -} - -.drilldown a { - padding: 0.7rem 1rem; - background: #fefefe; -} -.drilldown .is-drilldown-submenu { - position: absolute; - top: 0; - left: 100%; - z-index: -1; - width: 100%; - background: #fefefe; - -webkit-transition: -webkit-transform 0.15s linear; - transition: -webkit-transform 0.15s linear; - transition: transform 0.15s linear; - transition: transform 0.15s linear, -webkit-transform 0.15s linear; -} -.drilldown .is-drilldown-submenu.is-active { - z-index: 1; - display: block; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.drilldown .is-drilldown-submenu.is-closing { - -webkit-transform: translateX(100%); - transform: translateX(100%); -} -.drilldown .is-drilldown-submenu a { - padding: 0.7rem 1rem; -} -.drilldown .nested.is-drilldown-submenu { - margin-right: 0; - margin-left: 0; -} -.drilldown .drilldown-submenu-cover-previous { - min-height: 100%; -} -.drilldown .is-drilldown-submenu-parent > a { - position: relative; -} -.drilldown .is-drilldown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-right-width: 0; - border-color: transparent transparent transparent #1779ba; - position: absolute; - top: 50%; - margin-top: -6px; - right: 1rem; -} -.drilldown.align-left .is-drilldown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-right-width: 0; - border-color: transparent transparent transparent #1779ba; - right: 1rem; - left: auto; -} -.drilldown.align-right .is-drilldown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-left-width: 0; - border-color: transparent #1779ba transparent transparent; - right: auto; - left: 1rem; -} -.drilldown .js-drilldown-back > a::before { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-left-width: 0; - border-color: transparent #1779ba transparent transparent; - display: inline-block; - vertical-align: middle; - margin-right: 0.75rem; -} - -.dropdown.menu > li.opens-left > .is-dropdown-submenu { - top: 100%; - right: 0; - left: auto; -} -.dropdown.menu > li.opens-right > .is-dropdown-submenu { - top: 100%; - right: auto; - left: 0; -} -.dropdown.menu > li.is-dropdown-submenu-parent > a { - position: relative; - padding-right: 1.5rem; -} -.dropdown.menu > li.is-dropdown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-bottom-width: 0; - border-color: #1779ba transparent transparent; - right: 5px; - left: auto; - margin-top: -3px; -} -[data-whatinput=mouse] .dropdown.menu a { - outline: 0; -} -.dropdown.menu > li > a { - padding: 0.7rem 1rem; -} -.dropdown.menu > li.is-active > a { - background: transparent; - color: #1779ba; -} -.no-js .dropdown.menu ul { - display: none; -} -.dropdown.menu .nested.is-dropdown-submenu { - margin-right: 0; - margin-left: 0; -} -.dropdown.menu.vertical > li .is-dropdown-submenu { - top: 0; -} -.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu { - top: 0; - right: 100%; - left: auto; -} -.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; -} -.dropdown.menu.vertical > li > a::after { - right: 14px; -} -.dropdown.menu.vertical > li.opens-left > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-left-width: 0; - border-color: transparent #1779ba transparent transparent; - right: auto; - left: 5px; -} -.dropdown.menu.vertical > li.opens-right > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-right-width: 0; - border-color: transparent transparent transparent #1779ba; -} -@media print, screen and (min-width: 40em) { - .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu { - top: 100%; - right: 0; - left: auto; - } - .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu { - top: 100%; - right: auto; - left: 0; - } - .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a { - position: relative; - padding-right: 1.5rem; - } - .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-bottom-width: 0; - border-color: #1779ba transparent transparent; - right: 5px; - left: auto; - margin-top: -3px; - } - .dropdown.menu.medium-vertical > li .is-dropdown-submenu { - top: 0; - } - .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu { - top: 0; - right: 100%; - left: auto; - } - .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; - } - .dropdown.menu.medium-vertical > li > a::after { - right: 14px; - } - .dropdown.menu.medium-vertical > li.opens-left > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-left-width: 0; - border-color: transparent #1779ba transparent transparent; - right: auto; - left: 5px; - } - .dropdown.menu.medium-vertical > li.opens-right > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-right-width: 0; - border-color: transparent transparent transparent #1779ba; - } -} -@media print, screen and (min-width: 64em) { - .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu { - top: 100%; - right: 0; - left: auto; - } - .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu { - top: 100%; - right: auto; - left: 0; - } - .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a { - position: relative; - padding-right: 1.5rem; - } - .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-bottom-width: 0; - border-color: #1779ba transparent transparent; - right: 5px; - left: auto; - margin-top: -3px; - } - .dropdown.menu.large-vertical > li .is-dropdown-submenu { - top: 0; - } - .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu { - top: 0; - right: 100%; - left: auto; - } - .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; - } - .dropdown.menu.large-vertical > li > a::after { - right: 14px; - } - .dropdown.menu.large-vertical > li.opens-left > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-left-width: 0; - border-color: transparent #1779ba transparent transparent; - right: auto; - left: 5px; - } - .dropdown.menu.large-vertical > li.opens-right > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-right-width: 0; - border-color: transparent transparent transparent #1779ba; - } -} -.dropdown.menu.align-right .is-dropdown-submenu.first-sub { - top: 100%; - right: 0; - left: auto; -} - -.is-dropdown-menu.vertical { - width: 100px; -} -.is-dropdown-menu.vertical.align-right { - float: right; -} - -.is-dropdown-submenu-parent { - position: relative; -} -.is-dropdown-submenu-parent a::after { - position: absolute; - top: 50%; - right: 5px; - left: auto; - margin-top: -6px; -} -.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu { - top: 100%; - left: auto; -} -.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu { - right: 100%; - left: auto; -} -.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu { - right: auto; - left: 100%; -} - -.is-dropdown-submenu { - position: absolute; - top: 0; - left: 100%; - z-index: 1; - display: none; - min-width: 200px; - border: 1px solid #cacaca; - background: #fefefe; -} -.dropdown .is-dropdown-submenu a { - padding: 0.7rem 1rem; -} -.is-dropdown-submenu .is-dropdown-submenu-parent > a::after { - right: 14px; -} -.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-left-width: 0; - border-color: transparent #1779ba transparent transparent; - right: auto; - left: 5px; -} -.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after { - display: block; - width: 0; - height: 0; - border-style: solid; - border-width: 6px; - content: ""; - border-right-width: 0; - border-color: transparent transparent transparent #1779ba; -} -.is-dropdown-submenu .is-dropdown-submenu { - margin-top: -1px; -} -.is-dropdown-submenu > li { - width: 100%; -} -.is-dropdown-submenu.js-dropdown-active { - display: block; -} - -.is-off-canvas-open { - overflow: hidden; -} - -.js-off-canvas-overlay { - position: absolute; - top: 0; - left: 0; - z-index: 11; - width: 100%; - height: 100%; - -webkit-transition: opacity 0.5s ease, visibility 0.5s ease; - transition: opacity 0.5s ease, visibility 0.5s ease; - background: rgba(254, 254, 254, 0.25); - opacity: 0; - visibility: hidden; - overflow: hidden; -} -.js-off-canvas-overlay.is-visible { - opacity: 1; - visibility: visible; -} -.js-off-canvas-overlay.is-closable { - cursor: pointer; -} -.js-off-canvas-overlay.is-overlay-absolute { - position: absolute; -} -.js-off-canvas-overlay.is-overlay-fixed { - position: fixed; -} - -.off-canvas-wrapper { - position: relative; - overflow: hidden; -} - -.off-canvas { - z-index: 12; - -webkit-transition: -webkit-transform 0.5s ease; - transition: -webkit-transform 0.5s ease; - transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #e6e6e6; - position: fixed; -} -[data-whatinput=mouse] .off-canvas { - outline: 0; -} -.off-canvas.is-transition-push { - z-index: 12; -} -.off-canvas.is-closed { - visibility: hidden; -} -.off-canvas.is-transition-overlap { - z-index: 13; -} -.off-canvas.is-transition-overlap.is-open { - -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); -} -.off-canvas.is-open { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.off-canvas-absolute { - z-index: 12; - -webkit-transition: -webkit-transform 0.5s ease; - transition: -webkit-transform 0.5s ease; - transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - background: #e6e6e6; - position: absolute; -} -[data-whatinput=mouse] .off-canvas-absolute { - outline: 0; -} -.off-canvas-absolute.is-transition-push { - z-index: 12; -} -.off-canvas-absolute.is-closed { - visibility: hidden; -} -.off-canvas-absolute.is-transition-overlap { - z-index: 13; -} -.off-canvas-absolute.is-transition-overlap.is-open { - -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); - box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); -} -.off-canvas-absolute.is-open { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.position-left { - top: 0; - left: 0; - height: 100%; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - width: 250px; - -webkit-transform: translateX(-250px); - transform: translateX(-250px); -} -.off-canvas-content .off-canvas.position-left { - -webkit-transform: translateX(-250px); - transform: translateX(-250px); -} -.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.off-canvas-content.is-open-left.has-transition-push { - -webkit-transform: translateX(250px); - transform: translateX(250px); -} - -.position-left.is-transition-push { - -webkit-box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); - box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25); -} - -.position-right { - top: 0; - right: 0; - height: 100%; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - width: 250px; - -webkit-transform: translateX(250px); - transform: translateX(250px); -} -.off-canvas-content .off-canvas.position-right { - -webkit-transform: translateX(250px); - transform: translateX(250px); -} -.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.off-canvas-content.is-open-right.has-transition-push { - -webkit-transform: translateX(-250px); - transform: translateX(-250px); -} - -.position-right.is-transition-push { - -webkit-box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); - box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25); -} - -.position-top { - top: 0; - left: 0; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - height: 250px; - -webkit-transform: translateY(-250px); - transform: translateY(-250px); -} -.off-canvas-content .off-canvas.position-top { - -webkit-transform: translateY(-250px); - transform: translateY(-250px); -} -.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.off-canvas-content.is-open-top.has-transition-push { - -webkit-transform: translateY(250px); - transform: translateY(250px); -} - -.position-top.is-transition-push { - -webkit-box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); - box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25); -} - -.position-bottom { - bottom: 0; - left: 0; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - height: 250px; - -webkit-transform: translateY(250px); - transform: translateY(250px); -} -.off-canvas-content .off-canvas.position-bottom { - -webkit-transform: translateY(250px); - transform: translateY(250px); -} -.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -.off-canvas-content.is-open-bottom.has-transition-push { - -webkit-transform: translateY(-250px); - transform: translateY(-250px); -} - -.position-bottom.is-transition-push { - -webkit-box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); - box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25); -} - -.off-canvas-content { - -webkit-transform: none; - transform: none; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -.off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push { - -webkit-transition: -webkit-transform 0.5s ease; - transition: -webkit-transform 0.5s ease; - transition: transform 0.5s ease; - transition: transform 0.5s ease, -webkit-transform 0.5s ease; -} -.off-canvas-content.has-transition-push { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} -.off-canvas-content .off-canvas.is-open { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); -} - -@media print, screen and (min-width: 40em) { - .position-left.reveal-for-medium { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-left.reveal-for-medium .close-button { - display: none; - } - .off-canvas-content .position-left.reveal-for-medium { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-left { - margin-left: 250px; - } - .position-left.reveal-for-medium ~ .off-canvas-content { - margin-left: 250px; - } - .position-right.reveal-for-medium { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-right.reveal-for-medium .close-button { - display: none; - } - .off-canvas-content .position-right.reveal-for-medium { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-right { - margin-right: 250px; - } - .position-right.reveal-for-medium ~ .off-canvas-content { - margin-right: 250px; - } - .position-top.reveal-for-medium { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-top.reveal-for-medium .close-button { - display: none; - } - .off-canvas-content .position-top.reveal-for-medium { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-top { - margin-top: 250px; - } - .position-top.reveal-for-medium ~ .off-canvas-content { - margin-top: 250px; - } - .position-bottom.reveal-for-medium { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-bottom.reveal-for-medium .close-button { - display: none; - } - .off-canvas-content .position-bottom.reveal-for-medium { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-bottom { - margin-bottom: 250px; - } - .position-bottom.reveal-for-medium ~ .off-canvas-content { - margin-bottom: 250px; - } -} -@media print, screen and (min-width: 64em) { - .position-left.reveal-for-large { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-left.reveal-for-large .close-button { - display: none; - } - .off-canvas-content .position-left.reveal-for-large { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-left { - margin-left: 250px; - } - .position-left.reveal-for-large ~ .off-canvas-content { - margin-left: 250px; - } - .position-right.reveal-for-large { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-right.reveal-for-large .close-button { - display: none; - } - .off-canvas-content .position-right.reveal-for-large { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-right { - margin-right: 250px; - } - .position-right.reveal-for-large ~ .off-canvas-content { - margin-right: 250px; - } - .position-top.reveal-for-large { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-top.reveal-for-large .close-button { - display: none; - } - .off-canvas-content .position-top.reveal-for-large { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-top { - margin-top: 250px; - } - .position-top.reveal-for-large ~ .off-canvas-content { - margin-top: 250px; - } - .position-bottom.reveal-for-large { - -webkit-transform: none; - transform: none; - z-index: 12; - -webkit-transition: none; - transition: none; - visibility: visible; - } - .position-bottom.reveal-for-large .close-button { - display: none; - } - .off-canvas-content .position-bottom.reveal-for-large { - -webkit-transform: none; - transform: none; - } - .off-canvas-content.has-reveal-bottom { - margin-bottom: 250px; - } - .position-bottom.reveal-for-large ~ .off-canvas-content { - margin-bottom: 250px; - } -} -@media print, screen and (min-width: 40em) { - .off-canvas.in-canvas-for-medium { - visibility: visible; - height: auto; - position: static; - background: none; - width: auto; - overflow: visible; - -webkit-transition: none; - transition: none; - } - .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 { - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transform: none; - transform: none; - } - .off-canvas.in-canvas-for-medium .close-button { - display: none; - } -} -@media print, screen and (min-width: 64em) { - .off-canvas.in-canvas-for-large { - visibility: visible; - height: auto; - position: static; - background: none; - width: auto; - overflow: visible; - -webkit-transition: none; - transition: none; - } - .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 { - -webkit-box-shadow: none; - box-shadow: none; - -webkit-transform: none; - transform: none; - } - .off-canvas.in-canvas-for-large .close-button { - display: none; - } -} -html.is-reveal-open { - position: fixed; - width: 100%; - overflow-y: hidden; -} -html.is-reveal-open.zf-has-scroll { - overflow-y: scroll; - -webkit-overflow-scrolling: touch; -} -html.is-reveal-open body { - overflow-y: hidden; -} - -.reveal-overlay { - position: fixed; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1005; - display: none; - background-color: rgba(10, 10, 10, 0.45); - overflow-y: auto; - -webkit-overflow-scrolling: touch; -} - -.reveal { - position: relative; - top: 100px; - margin-right: auto; - margin-left: auto; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1006; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - display: none; - padding: 1rem; - border: 1px solid #cacaca; - border-radius: 0; - background-color: #fefefe; -} -[data-whatinput=mouse] .reveal { - outline: 0; -} -@media print, screen and (min-width: 40em) { - .reveal { - min-height: 0; - } -} -.reveal .column, .reveal .columns { - min-width: 0; -} -.reveal > :last-child { - margin-bottom: 0; -} -@media print, screen and (min-width: 40em) { - .reveal { - width: 600px; - max-width: 75rem; - } -} -.reveal.collapse { - padding: 0; -} -@media print, screen and (min-width: 40em) { - .reveal.tiny { - width: 30%; - max-width: 75rem; - } -} -@media print, screen and (min-width: 40em) { - .reveal.small { - width: 50%; - max-width: 75rem; - } -} -@media print, screen and (min-width: 40em) { - .reveal.large { - width: 90%; - max-width: 75rem; - } -} -.reveal.full { - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - max-width: none; - height: 100%; - min-height: 100%; - margin-left: 0; - border: 0; - border-radius: 0; -} -@media print, screen and (max-width: 39.99875em) { - .reveal { - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - max-width: none; - height: 100%; - min-height: 100%; - margin-left: 0; - border: 0; - border-radius: 0; - } -} -.reveal.without-overlay { - position: fixed; -} - -.sticky-container { - position: relative; -} - -.sticky { - position: relative; - z-index: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} - -.sticky.is-stuck { - position: fixed; - z-index: 5; - width: 100%; -} -.sticky.is-stuck.is-at-top { - top: 0; -} -.sticky.is-stuck.is-at-bottom { - bottom: 0; -} - -.sticky.is-anchored { - position: relative; - right: auto; - left: auto; -} -.sticky.is-anchored.is-at-bottom { - bottom: 0; -} - -.title-bar { - padding: 0.5rem; - background: #0a0a0a; - color: #fefefe; -} -.title-bar::before, .title-bar::after { - display: table; - content: " "; -} -.title-bar::after { - clear: both; -} -.title-bar .menu-icon { - margin-left: 0.25rem; - margin-right: 0.25rem; -} - -.title-bar-left { - float: left; -} - -.title-bar-right { - float: right; - text-align: right; -} - -.title-bar-title { - display: inline-block; - vertical-align: middle; - font-weight: bold; -} - -.top-bar { - padding: 0.5rem; -} -.top-bar::before, .top-bar::after { - display: table; - content: " "; -} -.top-bar::after { - clear: both; -} -.top-bar, -.top-bar ul { - background-color: #e6e6e6; -} -.top-bar input { - max-width: 200px; - margin-right: 1rem; -} -.top-bar .input-group-field { - width: 100%; - margin-right: 0; -} -.top-bar input.button { - width: auto; -} - -.top-bar .top-bar-left, -.top-bar .top-bar-right { - width: 100%; -} - -@media print, screen and (min-width: 40em) { - .top-bar .top-bar-left, - .top-bar .top-bar-right { - width: auto; - } -} -@media print, screen and (max-width: 63.99875em) { - .top-bar.stacked-for-medium .top-bar-left, - .top-bar.stacked-for-medium .top-bar-right { - width: 100%; - } -} -@media print, screen and (max-width: 74.99875em) { - .top-bar.stacked-for-large .top-bar-left, - .top-bar.stacked-for-large .top-bar-right { - width: 100%; - } -} - -.top-bar-title { - display: inline-block; - float: left; - padding: 0.5rem 1rem 0.5rem 0; -} -.top-bar-title .menu-icon { - bottom: 2px; -} - -.top-bar-left { - float: left; -} - -.top-bar-right { - float: right; -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-center { - display: block; - margin-right: auto; - margin-left: auto; -} - -.clearfix::before, .clearfix::after { - display: table; - content: " "; -} -.clearfix::after { - clear: both; -} - -.hide { - display: none !important; -} - -.invisible { - visibility: hidden; -} - -.visible { - visibility: visible; -} - -@media print, screen and (max-width: 39.99875em) { - .hide-for-small-only { - display: none !important; - } -} - -@media screen and (max-width: 0em), screen and (min-width: 40em) { - .show-for-small-only { - display: none !important; - } -} - -@media print, screen and (min-width: 40em) { - .hide-for-medium { - display: none !important; - } -} - -@media screen and (max-width: 39.99875em) { - .show-for-medium { - display: none !important; - } -} - -@media print, screen and (min-width: 40em) and (max-width: 63.99875em) { - .hide-for-medium-only { - display: none !important; - } -} - -@media screen and (max-width: 39.99875em), screen and (min-width: 64em) { - .show-for-medium-only { - display: none !important; - } -} - -@media print, screen and (min-width: 64em) { - .hide-for-large { - display: none !important; - } -} - -@media screen and (max-width: 63.99875em) { - .show-for-large { - display: none !important; - } -} - -@media print, screen and (min-width: 64em) and (max-width: 74.99875em) { - .hide-for-large-only { - display: none !important; - } -} - -@media screen and (max-width: 63.99875em), screen and (min-width: 75em) { - .show-for-large-only { - display: none !important; - } -} - -.show-for-sr, -.show-on-focus { - position: absolute !important; - width: 1px !important; - height: 1px !important; - padding: 0 !important; - overflow: hidden !important; - clip: rect(0, 0, 0, 0) !important; - white-space: nowrap !important; - border: 0 !important; -} - -.show-on-focus:active, .show-on-focus:focus { - position: static !important; - width: auto !important; - height: auto !important; - overflow: visible !important; - clip: auto !important; - white-space: normal !important; -} - -.show-for-landscape, -.hide-for-portrait { - display: block !important; -} -@media screen and (orientation: landscape) { - .show-for-landscape, - .hide-for-portrait { - display: block !important; - } -} -@media screen and (orientation: portrait) { - .show-for-landscape, - .hide-for-portrait { - display: none !important; - } -} - -.hide-for-landscape, -.show-for-portrait { - display: none !important; -} -@media screen and (orientation: landscape) { - .hide-for-landscape, - .show-for-portrait { - display: none !important; - } -} -@media screen and (orientation: portrait) { - .hide-for-landscape, - .show-for-portrait { - display: block !important; - } -} - -.show-for-dark-mode { - display: none; -} - -.hide-for-dark-mode { - display: block; -} - -@media screen and (prefers-color-scheme: dark) { - .show-for-dark-mode { - display: block !important; - } - .hide-for-dark-mode { - display: none !important; - } -} -.show-for-ie { - display: none; -} - -@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { - .show-for-ie { - display: block !important; - } - .hide-for-ie { - display: none !important; - } -} -.show-for-sticky { - display: none; -} - -.is-stuck .show-for-sticky { - display: block; -} - -.is-stuck .hide-for-sticky { - display: none; -} -/*# sourceMappingURL=foundation-float.css.map */ diff --git a/dist/css/foundation-float.css.map b/dist/css/foundation-float.css.map deleted file mode 100644 index b180d6d342..0000000000 --- a/dist/css/foundation-float.css.map +++ /dev/null @@ -1 +0,0 @@ -{"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/_forms.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/util/_color.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/_column.scss","../scss/grid/_size.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/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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lB;AcncE;EAEE,SAAA;EACA,uBAAA;EACA,oBAXa;Ad+cjB;;Ae9YE;EAhEA,iBAFS;EAGT,gBAAA;EACA,eP6Bc;EO3Bd,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,yBPkBa;EOjBb,gBVmEc;EUlEd,yBVsBM;EUpBN,oBPdkB;EOelB,ePXgB;EOYhB,mBVsDqB;EUrDrB,gBVbkB;EUclB,cVYM;EUTJ,2EP+Be;EO/Bf,mEP+Be;EO/Bf,2DP+Be;EO/Bf,oFP+Be;EO3Bf,8BAAA;EACA,uCAAA;EACA,4BAAA;EACA,wBAAA;EAEA,qBAAA;ER2GF,wOAAA;APgWF;AO9VE;EQtEA;IRyEI,uWAAA;EP+VJ;AACF;Ae1cE;EACE,aAAA;EACA,yBPNiB;EOOjB,yBVLI;EUMJ,mCPIiB;UOJjB,2BPIiB;EODf,2EPSa;EOTb,mEPSa;EOTb,2DPSa;EOTb,oFPSa;ARicnB;AercE;EACE,yBV/BS;EUgCT,mBPFoB;ARycxB;AencE;EACE,aAAA;AfqcJ;AelcE;EACE,YAAA;EACA,sBAAA;AfocJ;AelcE;EACE,cAAA;EACA,iBAAA;AfocJ;;AgB1eE;EACE,qBA3BuB;EA4BvB,wCAAA;AhB6eJ;AgB3eI;EACE,cA/BqB;AhB4gB3B;AgB9eI;EACE,cA/BqB;AhB4gB3B;AgB9eI;EACE,cA/BqB;AhB4gB3B;AgB9eI;EACE,cA/BqB;AhB4gB3B;AgB9eI;EACE,cA/BqB;AhB4gB3B;;AgBndI;EACE,cAtDqB;AhB4gB3B;;AgBjdE;EAzBA,aAAA;EACA,mBAAA;EACA,mBNhDa;EMkDb,kBA9BsB;EA+BtB,iBX+BmB;EW9BnB,cApCkB;AhBihBpB;AgBvdI;EACE,cAAA;AhBydN;;AiB3UE;;;;;;;;;;;;;;;;;;;EAmBE,SAAA;EACA,UAAA;AjB8UJ;;AiB1UE;EACE,mBA7IsB;EA+ItB,kBAAA;EACA,gBApJmB;EAqJnB,kCA7IuB;AjByd3B;;AiBxUE;;EAEE,kBAAA;EACA,oBAAA;AjB2UJ;;AiBvUE;;EAEE,iBZjLiB;EYkLjB,oBAAA;AjB0UJ;;AiBtUE;EACE,cAhLc;EAiLd,oBAAA;AjByUJ;;Ai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,uBAFU;EAGV,sBAHU;AxB4+Bd;AE70BQ;EoBxGN;IErDE,wBAFU;IAGV,uBAHU;ExBi/BZ;AACF;A2Bn/BI;EACE,WtB0GQ;EsBzGR,WAAA;A3Bq/BN;A2Bh/BM;EACE,YtBoGO;AL84Bf;A2Br8BE;EACE,WtBqDU;ALk5Bd;;AsBz7BE;EACE,WAAA;AtB47BJ;;AsBx7BE;EACE,eAAA;EACA,cAAA;EACA,gBAAA;EACA,eAAA;AtB27BJ;;AsBr7BM;EIxFJ,oBAAA;A1BihCF;;AsBl7BU;EKzEN,kBAAA;EACA,mBAHS;A3BkgCb;;AsBj7BU;EK/EN,kBAAA;EACA,oBAHS;A3BugCb;;AsB56BQ;EK3DN,eAAA;A3B2+BF;;AsBv8BM;EIxFJ,qBAAA;A1BmiCF;;AsBp8BU;EKzEN,kBAAA;EACA,oBAHS;A3BohCb;;AsBn8BU;EK/EN,kBAAA;EACA,qBAHS;A3ByhCb;;AsB97BQ;EK3DN,0BAAA;A3B6/BF;;AsBz9BM;EIxFJ,UAAA;A1BqjCF;;AsBt9BU;EKzEN,kBAAA;EACA,SAHS;A3BsiCb;;AsBr9BU;EK/EN,kBAAA;EACA,UAHS;A3B2iCb;;AsBh9BQ;EK3DN,2BAAA;A3B+gCF;;AsB3+BM;EIxFJ,qBAAA;A1BukCF;;AsBx+BU;EKzEN,kBAAA;EACA,oBAHS;A3BwjCb;;AsBv+BU;EK/EN,kBAAA;EACA,qBAHS;A3B6jCb;;AsBl+BQ;EK3DN,gBAAA;A3BiiCF;;AsB7/BM;EIxFJ,qBAAA;A1BylCF;;AsB1/BU;EKzEN,kBAAA;EACA,oBAHS;A3B0kCb;;AsBz/BU;EK/EN,kBAAA;EACA,qBAHS;A3B+kCb;;AsBp/BQ;EK3DN,2BAAA;A3BmjCF;;AsB/gCM;EIxFJ,UAAA;A1B2mCF;;AsB5gCU;EKzEN,kBAAA;EACA,SAHS;A3B4lCb;;AsB3gCU;EK/EN,kBAAA;EACA,UAHS;A3BimCb;;AsBtgCQ;EK3DN,2BAAA;A3BqkCF;;AsBjiCM;EIxFJ,qBAAA;A1B6nCF;;AsB9hCU;EKzEN,kBAAA;EACA,oBAHS;A3B8mCb;;AsB7hCU;EK/EN,kBAAA;EACA,qBAHS;A3BmnCb;;AsBxhCQ;EK3DN,gBAAA;A3BulCF;;AsBnjCM;EIxFJ,qBAAA;A1B+oCF;;AsBhjCU;EKzEN,kBAAA;EACA,oBAHS;A3BgoCb;;AsB/iCU;EK/EN,kBAAA;EACA,qBAHS;A3BqoCb;;AsB1iCQ;EK3DN,2BAAA;A3BymCF;;AsBrkCM;EIxFJ,UAAA;A1BiqCF;;AsBlkCU;EKzEN,kBAAA;EACA,SAHS;A3BkpCb;;AsBjkCU;EK/EN,kBAAA;EACA,UAHS;A3BupCb;;AsB5jCQ;EK3DN,2BAAA;A3B2nCF;;AsBvlCM;EIxFJ,qBAAA;A1BmrCF;;AsBplCU;EKzEN,kBAAA;EACA,oBAHS;A3BoqCb;;AsBnlCU;EK/EN,kBAAA;EACA,qBAHS;A3ByqCb;;AsB9kCQ;EK3DN,gBAAA;A3B6oCF;;AsBzmCM;EIxFJ,qBAAA;A1BqsCF;;AsBtmCU;EKzEN,kBAAA;EACA,oBAHS;A3BsrCb;;AsBrmCU;EK/EN,kBAAA;EACA,qBAHS;A3B2rCb;;AsBhmCQ;EK3DN,2BAAA;A3B+pCF;;AsB3nCM;EIxFJ,WAAA;A1ButCF;;AsBxmCQ;EK3DN,2BAAA;A3BuqCF;;A4BptCE;EACE,WvBwGU;EuBvGV,WAAA;A5ButCJ;A4BjsCI;EACE,WAAA;A5BmsCN;A4BhsCI;EACE,WAAA;A5BksCN;A4B/rCI;EACE,WvBwEQ;ALynCd;;A4BluCE;EACE,WvBwGU;EuBvGV,UAAA;A5BquCJ;A4B/sCI;EACE,WAAA;A5BitCN;A4B9sCI;EACE,WAAA;A5BgtCN;A4B7sCI;EACE,WvBwEQ;ALuoCd;;A4BhvCE;EACE,WvBwGU;EuBvGV,qBAAA;A5BmvCJ;A4B7tCI;EACE,WAAA;A5B+tCN;A4B5tCI;EACE,WAAA;A5B8tCN;A4B3tCI;EACE,WvBwEQ;ALqpCd;;A4B9vCE;EACE,WvBwGU;EuBvGV,UAAA;A5BiwCJ;A4B3uCI;EACE,WAAA;A5B6uCN;A4B1uCI;EACE,WAAA;A5B4uCN;A4BzuCI;EACE,WvBwEQ;ALmqCd;;A4B5wCE;EACE,WvBwGU;EuBvGV,UAAA;A5B+wCJ;A4BzvCI;EACE,WAAA;A5B2vCN;A4BxvCI;EACE,WAAA;A5B0vCN;A4BvvCI;EACE,WvBwEQ;ALirCd;;A4B1xCE;EACE,WvBwGU;EuBvGV,qBAAA;A5B6xCJ;A4BvwCI;EACE,WAAA;A5BywCN;A4BtwCI;EACE,WAAA;A5BwwCN;A4BrwCI;EACE,WvBwEQ;AL+rCd;;A4BxyCE;EACE,WvBwGU;EuBvGV,qBAAA;A5B2yCJ;A4BrxCI;EACE,WAAA;A5BuxCN;A4BpxCI;EACE,WAAA;A5BsxCN;A4BnxCI;EACE,WvBwEQ;AL6sCd;;A4BtzCE;EACE,WvBwGU;EuBvGV,YAAA;A5ByzCJ;A4BnyCI;EACE,WAAA;A5BqyCN;A4BlyCI;EACE,WAAA;A5BoyCN;A4BjyCI;EACE,WvBwEQ;AL2tCd;;AsB7sCM;EEtHF,gBAFU;EAGV,eAHU;AxB00Cd;AsBhtCM;EACE,eAAA;EACA,cAAA;AtBktCR;;AsB9sCI;EACE,eAAA;EACA,cAAA;AtBitCN;;AsB7sCM;EEpIF,uBAFU;EAGV,sBAHU;AxBw1Cd;;AsB7sCM;EKrHF,iBAAA;EACA,kBAAA;A3Bs0CJ;A2Br0CI;EACE,WAAA;EACA,WAAA;A3Bu0CN;;AsB1sCM;EKlHJ,gBAAA;EACA,eAAA;EACA,cAAA;A3Bg0CF;A2Bx2CI;EACE,WtB0GQ;EsBzGR,WAAA;A3B02CN;A2Br2CM;EACE,YtBoGO;ALmwCf;;AE/sCQ;EoB7EF;IIxFJ,oBAAA;E1By3CA;EsB1xCQ;IKzEN,kBAAA;IACA,mBAHS;E3By2CX;EsBxxCQ;IK/EN,kBAAA;IACA,oBAHS;E3B62CX;EsBlxCM;IK3DN,eAAA;E3Bg1CA;EsB5yCI;IIxFJ,qBAAA;E1Bu4CA;EsBxyCQ;IKzEN,kBAAA;IACA,oBAHS;E3Bu3CX;EsBtyCQ;IK/EN,kBAAA;IACA,qBAHS;E3B23CX;EsBhyCM;IK3DN,0BAAA;E3B81CA;EsB1zCI;IIxFJ,UAAA;E1Bq5CA;EsBtzCQ;IKzEN,kBAAA;IACA,SAHS;E3Bq4CX;EsBpzCQ;IK/EN,kBAAA;IACA,UAHS;E3By4CX;EsB9yCM;IK3DN,2BAAA;E3B42CA;EsBx0CI;IIxFJ,qBAAA;E1Bm6CA;EsBp0CQ;IKzEN,kBAAA;IACA,oBAHS;E3Bm5CX;EsBl0CQ;IK/EN,kBAAA;IACA,qBAHS;E3Bu5CX;EsB5zCM;IK3DN,gBAAA;E3B03CA;EsBt1CI;IIxFJ,qBAAA;E1Bi7CA;EsBl1CQ;IKzEN,kBAAA;IACA,oBAHS;E3Bi6CX;EsBh1CQ;IK/EN,kBAAA;IACA,qBAHS;E3Bq6CX;EsB10CM;IK3DN,2BAAA;E3Bw4CA;EsBp2CI;IIxFJ,UAAA;E1B+7CA;EsBh2CQ;IKzEN,kBAAA;IACA,SAHS;E3B+6CX;EsB91CQ;IK/EN,kBAAA;IACA,UAHS;E3Bm7CX;EsBx1CM;IK3DN,2BAAA;E3Bs5CA;EsBl3CI;IIxFJ,qBAAA;E1B68CA;EsB92CQ;IKzEN,kBAAA;IACA,oBAHS;E3B67CX;EsB52CQ;IK/EN,kBAAA;IACA,qBAHS;E3Bi8CX;EsBt2CM;IK3DN,gBAAA;E3Bo6CA;EsBh4CI;IIxFJ,qBAAA;E1B29CA;EsB53CQ;IKzEN,kBAAA;IACA,oBAHS;E3B28CX;EsB13CQ;IK/EN,kBAAA;IACA,qBAHS;E3B+8CX;EsBp3CM;IK3DN,2BAAA;E3Bk7CA;EsB94CI;IIxFJ,UAAA;E1By+CA;EsB14CQ;IKzEN,kBAAA;IACA,SAHS;E3By9CX;EsBx4CQ;IK/EN,kBAAA;IACA,UAHS;E3B69CX;EsBl4CM;IK3DN,2BAAA;E3Bg8CA;EsB55CI;IIxFJ,qBAAA;E1Bu/CA;EsBx5CQ;IKzEN,kBAAA;IACA,oBAHS;E3Bu+CX;EsBt5CQ;IK/EN,kBAAA;IACA,qBAHS;E3B2+CX;EsBh5CM;IK3DN,gBAAA;E3B88CA;EsB16CI;IIxFJ,qBAAA;E1BqgDA;EsBt6CQ;IKzEN,kBAAA;IACA,oBAHS;E3Bq/CX;EsBp6CQ;IK/EN,kBAAA;IACA,qBAHS;E3By/CX;EsB95CM;IK3DN,2BAAA;E3B49CA;EsBx7CI;IIxFJ,WAAA;E1BmhDA;EsBp6CM;IK3DN,2BAAA;E3Bk+CA;E4B/gDA;IACE,WvBwGU;IuBvGV,WAAA;E5BihDF;E4B3/CE;IACE,WAAA;E5B6/CJ;E4B1/CE;IACE,WAAA;E5B4/CJ;E4Bz/CE;IACE,WvBwEQ;ELm7CZ;E4B5hDA;IACE,WvBwGU;IuBvGV,UAAA;E5B8hDF;E4BxgDE;IACE,WAAA;E5B0gDJ;E4BvgDE;IACE,WAAA;E5BygDJ;E4BtgDE;IACE,WvBwEQ;ELg8CZ;E4BziDA;IACE,WvBwGU;IuBvGV,qBAAA;E5B2iDF;E4BrhDE;IACE,WAAA;E5BuhDJ;E4BphDE;IACE,WAAA;E5BshDJ;E4BnhDE;IACE,WvBwEQ;EL68CZ;E4BtjDA;IACE,WvBwGU;IuBvGV,UAAA;E5BwjDF;E4BliDE;IACE,WAAA;E5BoiDJ;E4BjiDE;IACE,WAAA;E5BmiDJ;E4BhiDE;IACE,WvBwEQ;EL09CZ;E4BnkDA;IACE,WvBwGU;IuBvGV,UAAA;E5BqkDF;E4B/iDE;IACE,WAAA;E5BijDJ;E4B9iDE;IACE,WAAA;E5BgjDJ;E4B7iDE;IACE,WvBwEQ;ELu+CZ;E4BhlDA;IACE,WvBwGU;IuBvGV,qBAAA;E5BklDF;E4B5jDE;IACE,WAAA;E5B8jDJ;E4B3jDE;IACE,WAAA;E5B6jDJ;E4B1jDE;IACE,WvBwEQ;ELo/CZ;E4B7lDA;IACE,WvBwGU;IuBvGV,qBAAA;E5B+lDF;E4BzkDE;IACE,WAAA;E5B2kDJ;E4BxkDE;IACE,WAAA;E5B0kDJ;E4BvkDE;IACE,WvBwEQ;ELigDZ;E4B1mDA;IACE,WvBwGU;IuBvGV,YAAA;E5B4mDF;E4BtlDE;IACE,WAAA;E5BwlDJ;E4BrlDE;IACE,WAAA;E5BulDJ;E4BplDE;IACE,WvBwEQ;EL8gDZ;EsBhgDI;IEtHF,gBAFU;IAGV,eAHU;ExB4nDZ;EsBlgDI;IACE,eAAA;IACA,cAAA;EtBogDN;EsBhgDE;IACE,eAAA;IACA,cAAA;EtBkgDJ;EsB9/CI;IEpIF,wBAFU;IAGV,uBAHU;ExBwoDZ;EsB7/CI;IKrHF,iBAAA;IACA,kBAAA;E3BqnDF;E2BpnDE;IACE,WAAA;IACA,WAAA;E3BsnDJ;EsBz/CI;IKlHJ,gBAAA;IACA,eAAA;IACA,cAAA;E3B8mDA;E2BtpDE;IACE,WtB0GQ;IsBzGR,WAAA;E3BwpDJ;E2BnpDI;IACE,YtBoGO;ELijDb;AACF;AE9/CQ;EoB7EF;IIxFJ,oBAAA;E1BuqDA;EsBxkDQ;IKzEN,kBAAA;IACA,mBAHS;E3BupDX;EsBtkDQ;IK/EN,kBAAA;IACA,oBAHS;E3B2pDX;EsBhkDM;IK3DN,eAAA;E3B8nDA;EsB1lDI;IIxFJ,qBAAA;E1BqrDA;EsBtlDQ;IKzEN,kBAAA;IACA,oBAHS;E3BqqDX;EsBplDQ;IK/EN,kBAAA;IACA,qBAHS;E3ByqDX;EsB9kDM;IK3DN,0BAAA;E3B4oDA;EsBxmDI;IIxFJ,UAAA;E1BmsDA;EsBpmDQ;IKzEN,kBAAA;IACA,SAHS;E3BmrDX;EsBlmDQ;IK/EN,kBAAA;IACA,UAHS;E3BurDX;EsB5lDM;IK3DN,2BAAA;E3B0pDA;EsBtnDI;IIxFJ,qBAAA;E1BitDA;EsBlnDQ;IKzEN,kBAAA;IACA,oBAHS;E3BisDX;EsBhnDQ;IK/EN,kBAAA;IACA,qBAHS;E3BqsDX;EsB1mDM;IK3DN,gBAAA;E3BwqDA;EsBpoDI;IIxFJ,qBAAA;E1B+tDA;EsBhoDQ;IKzEN,kBAAA;IACA,oBAHS;E3B+sDX;EsB9nDQ;IK/EN,kBAAA;IACA,qBAHS;E3BmtDX;EsBxnDM;IK3DN,2BAAA;E3BsrDA;EsBlpDI;IIxFJ,UAAA;E1B6uDA;EsB9oDQ;IKzEN,kBAAA;IACA,SAHS;E3B6tDX;EsB5oDQ;IK/EN,kBAAA;IACA,UAHS;E3BiuDX;EsBtoDM;IK3DN,2BAAA;E3BosDA;EsBhqDI;IIxFJ,qBAAA;E1B2vDA;EsB5pDQ;IKzEN,kBAAA;IACA,oBAHS;E3B2uDX;EsB1pDQ;IK/EN,kBAAA;IACA,qBAHS;E3B+uDX;EsBppDM;IK3DN,gBAAA;E3BktDA;EsB9qDI;IIxFJ,qBAAA;E1BywDA;EsB1qDQ;IKzEN,kBAAA;IACA,oBAHS;E3ByvDX;EsBxqDQ;IK/EN,kBAAA;IACA,qBAHS;E3B6vDX;EsBlqDM;IK3DN,2BAAA;E3BguDA;EsB5rDI;IIxFJ,UAAA;E1BuxDA;EsBxrDQ;IKzEN,kBAAA;IACA,SAHS;E3BuwDX;EsBtrDQ;IK/EN,kBAAA;IACA,UAHS;E3B2wDX;EsBhrDM;IK3DN,2BAAA;E3B8uDA;EsB1sDI;IIxFJ,qBAAA;E1BqyDA;EsBtsDQ;IKzEN,kBAAA;IACA,oBAHS;E3BqxDX;EsBpsDQ;IK/EN,kBAAA;IACA,qBAHS;E3ByxDX;EsB9rDM;IK3DN,gBAAA;E3B4vDA;EsBxtDI;IIxFJ,qBAAA;E1BmzDA;EsBptDQ;IKzEN,kBAAA;IACA,oBAHS;E3BmyDX;EsBltDQ;IK/EN,kBAAA;IACA,qBAHS;E3BuyDX;EsB5sDM;IK3DN,2BAAA;E3B0wDA;EsBtuDI;IIxFJ,WAAA;E1Bi0DA;EsBltDM;IK3DN,2BAAA;E3BgxDA;E4B7zDA;IACE,WvBwGU;IuBvGV,WAAA;E5B+zDF;E4BzyDE;IACE,WAAA;E5B2yDJ;E4BxyDE;IACE,WAAA;E5B0yDJ;E4BvyDE;IACE,WvBwEQ;ELiuDZ;E4B10DA;IACE,WvBwGU;IuBvGV,UAAA;E5B40DF;E4BtzDE;IACE,WAAA;E5BwzDJ;E4BrzDE;IACE,WAAA;E5BuzDJ;E4BpzDE;IACE,WvBwEQ;EL8uDZ;E4Bv1DA;IACE,WvBwGU;IuBvGV,qBAAA;E5By1DF;E4Bn0DE;IACE,WAAA;E5Bq0DJ;E4Bl0DE;IACE,WAAA;E5Bo0DJ;E4Bj0DE;IACE,WvBwEQ;EL2vDZ;E4Bp2DA;IACE,WvBwGU;IuBvGV,UAAA;E5Bs2DF;E4Bh1DE;IACE,WAAA;E5Bk1DJ;E4B/0DE;IACE,WAAA;E5Bi1DJ;E4B90DE;IACE,WvBwEQ;ELwwDZ;E4Bj3DA;IACE,WvBwGU;IuBvGV,UAAA;E5Bm3DF;E4B71DE;IACE,WAAA;E5B+1DJ;E4B51DE;IACE,WAAA;E5B81DJ;E4B31DE;IACE,WvBwEQ;ELqxDZ;E4B93DA;IACE,WvBwGU;IuBvGV,qBAAA;E5Bg4DF;E4B12DE;IACE,WAAA;E5B42DJ;E4Bz2DE;IACE,WAAA;E5B22DJ;E4Bx2DE;IACE,WvBwEQ;ELkyDZ;E4B34DA;IACE,WvBwGU;IuBvGV,qBAAA;E5B64DF;E4Bv3DE;IACE,WAAA;E5By3DJ;E4Bt3DE;IACE,WAAA;E5Bw3DJ;E4Br3DE;IACE,WvBwEQ;EL+yDZ;E4Bx5DA;IACE,WvBwGU;IuBvGV,YAAA;E5B05DF;E4Bp4DE;IACE,WAAA;E5Bs4DJ;E4Bn4DE;IACE,WAAA;E5B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","file":"foundation-float.css","sourcesContent":["@charset \"UTF-8\";\n/**\n * Foundation for Sites\n * Version 6.9.0\n * https://get.foundation\n * Licensed under MIT Open Source\n */\n@media print, screen and (min-width: 40em) {\n .reveal.large, .reveal.small, .reveal.tiny, .reveal {\n right: auto;\n left: auto;\n margin: 0 auto;\n }\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}\n\nbody {\n margin: 0;\n}\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\npre {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\na {\n background-color: transparent;\n}\n\nabbr[title] {\n border-bottom: 0;\n text-decoration: underline dotted;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\nimg {\n border-style: none;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\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}\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}\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\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}\n\nprogress {\n vertical-align: baseline;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=checkbox],\n[type=radio] {\n box-sizing: border-box;\n padding: 0;\n}\n\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=search] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\ndetails {\n display: block;\n}\n\nsummary {\n display: list-item;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none;\n}\n\n[data-whatintent=mouse] *, [data-whatintent=mouse] *:focus,\n[data-whatintent=touch] *,\n[data-whatintent=touch] *:focus,\n[data-whatinput=mouse] *,\n[data-whatinput=mouse] *:focus,\n[data-whatinput=touch] *,\n[data-whatinput=touch] *:focus {\n outline: none;\n}\n\n[draggable=false] {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n}\n\n.foundation-mq {\n font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\";\n}\n\nhtml {\n box-sizing: border-box;\n font-size: 100%;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: inherit;\n}\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}\n\nimg {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n height: auto;\n -ms-interpolation-mode: bicubic;\n}\n\ntextarea {\n height: auto;\n min-height: 50px;\n border-radius: 0;\n}\n\nselect {\n box-sizing: border-box;\n width: 100%;\n border-radius: 0;\n}\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}\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}\n[data-whatinput=mouse] button {\n outline: 0;\n}\n\npre {\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n}\n\n.is-visible {\n display: block !important;\n}\n\n.is-hidden {\n display: none !important;\n}\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 appearance: none;\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}\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,\ntextarea: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}\n\ntextarea {\n max-width: 100%;\n}\ntextarea[rows] {\n height: auto;\n}\n\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n background-color: #e6e6e6;\n cursor: not-allowed;\n}\n\n[type=submit],\n[type=button] {\n appearance: none;\n border-radius: 0;\n}\n\ninput[type=search] {\n box-sizing: border-box;\n}\n\n::placeholder {\n color: #cacaca;\n}\n\n[type=file],\n[type=checkbox],\n[type=radio] {\n margin: 0 0 1rem;\n}\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}\n[type=checkbox] + label[for],\n[type=radio] + label[for] {\n cursor: pointer;\n}\n\nlabel > [type=checkbox],\nlabel > [type=radio] {\n margin-right: 0.5rem;\n}\n\n[type=file] {\n width: 100%;\n}\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}\nlabel.middle {\n margin: 0 0 1rem;\n line-height: 1.5;\n padding: 0.5625rem 0;\n}\n\n.help-text {\n margin-top: -0.5rem;\n font-size: 0.8125rem;\n font-style: italic;\n color: #0a0a0a;\n}\n\n.input-group {\n display: table;\n width: 100%;\n margin-bottom: 1rem;\n}\n.input-group > :first-child, .input-group > :first-child.input-group-button > * {\n border-radius: 0 0 0 0;\n}\n.input-group > :last-child, .input-group > :last-child.input-group-button > * {\n border-radius: 0 0 0 0;\n}\n\n.input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label, .input-group-button, .input-group-field, .input-group-label {\n margin: 0;\n white-space: nowrap;\n display: table-cell;\n vertical-align: middle;\n}\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}\n.input-group-label:first-child {\n border-right: 0;\n}\n.input-group-label:last-child {\n border-left: 0;\n}\n\n.input-group-field {\n border-radius: 0;\n}\n\n.input-group-button {\n padding-top: 0;\n padding-bottom: 0;\n text-align: center;\n width: 1%;\n height: 100%;\n}\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\n.input-group .input-group-button {\n display: table-cell;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n border: 0;\n}\n\nlegend {\n max-width: 100%;\n margin-bottom: 0.5rem;\n}\n\n.fieldset {\n margin: 1.125rem 0;\n padding: 1.25rem;\n border: 1px solid #cacaca;\n}\n.fieldset legend {\n margin: 0;\n margin-left: -0.1875rem;\n padding: 0 0.1875rem;\n}\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 transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\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 background-image: url('data:image/svg+xml;utf8,');\n}\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 }\n}\nselect: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}\nselect:disabled {\n background-color: #e6e6e6;\n cursor: not-allowed;\n}\nselect::-ms-expand {\n display: none;\n}\nselect[multiple] {\n height: auto;\n background-image: none;\n}\nselect:not([multiple]) {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.is-invalid-input:not(:focus) {\n border-color: #cc4b37;\n background-color: rgb(249, 236.1, 234.1);\n}\n.is-invalid-input:not(:focus)::placeholder {\n color: #cc4b37;\n}\n\n.is-invalid-label {\n color: #cc4b37;\n}\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}\n.form-error.is-visible {\n display: block;\n}\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}\n\np {\n margin-bottom: 1rem;\n font-size: inherit;\n line-height: 1.6;\n text-rendering: optimizeLegibility;\n}\n\nem,\ni {\n font-style: italic;\n line-height: inherit;\n}\n\nstrong,\nb {\n font-weight: bold;\n line-height: inherit;\n}\n\nsmall {\n font-size: 80%;\n line-height: inherit;\n}\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}\nh1 small, .h1 small,\nh2 small, .h2 small,\nh3 small, .h3 small,\nh4 small, .h4 small,\nh5 small, .h5 small,\nh6 small, .h6 small {\n line-height: 0;\n color: #cacaca;\n}\n\nh1, .h1 {\n font-size: 1.5rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\nh2, .h2 {\n font-size: 1.25rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\nh3, .h3 {\n font-size: 1.1875rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\nh4, .h4 {\n font-size: 1.125rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\nh5, .h5 {\n font-size: 1.0625rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n line-height: 1.4;\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\n@media print, screen and (min-width: 40em) {\n h1, .h1 {\n font-size: 3rem;\n }\n h2, .h2 {\n font-size: 2.5rem;\n }\n h3, .h3 {\n font-size: 1.9375rem;\n }\n h4, .h4 {\n font-size: 1.5625rem;\n }\n h5, .h5 {\n font-size: 1.25rem;\n }\n h6, .h6 {\n font-size: 1rem;\n }\n}\na {\n line-height: inherit;\n color: #1779ba;\n text-decoration: none;\n cursor: pointer;\n}\na:hover, a:focus {\n color: rgb(19.78, 104.06, 159.96);\n}\na img {\n border: 0;\n}\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}\n\nul,\nol,\ndl {\n margin-bottom: 1rem;\n list-style-position: outside;\n line-height: 1.6;\n}\n\nli {\n font-size: inherit;\n}\n\nul {\n margin-left: 1.25rem;\n list-style-type: disc;\n}\n\nol {\n margin-left: 1.25rem;\n}\n\nul ul, ul ol, ol ul, ol ol {\n margin-left: 1.25rem;\n margin-bottom: 0;\n}\n\ndl {\n margin-bottom: 1rem;\n}\ndl dt {\n margin-bottom: 0.3rem;\n font-weight: bold;\n}\n\nblockquote {\n margin: 0 0 1rem;\n padding: 0.5625rem 1.25rem 0 1.1875rem;\n border-left: 1px solid #cacaca;\n}\nblockquote, blockquote p {\n line-height: 1.6;\n color: #8a8a8a;\n}\n\nabbr, abbr[title] {\n border-bottom: 1px dotted #0a0a0a;\n cursor: help;\n text-decoration: none;\n}\n\nfigure {\n margin: 0;\n}\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\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\n.lead {\n font-size: 125%;\n line-height: 1.6;\n}\n\n.stat {\n font-size: 2.5rem;\n line-height: 1;\n}\np + .stat {\n margin-top: -1rem;\n}\n\nul.no-bullet, ol.no-bullet {\n margin-left: 0;\n list-style: none;\n}\n\n.cite-block, cite {\n display: block;\n color: #8a8a8a;\n font-size: 0.8125rem;\n}\n.cite-block:before, cite:before {\n content: \"— \";\n}\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\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\n.text-left {\n text-align: left;\n}\n\n.text-right {\n text-align: right;\n}\n\n.text-center {\n text-align: center;\n}\n\n.text-justify {\n text-align: justify;\n}\n\n@media print, screen and (min-width: 40em) {\n .medium-text-left {\n text-align: left;\n }\n .medium-text-right {\n text-align: right;\n }\n .medium-text-center {\n text-align: center;\n }\n .medium-text-justify {\n text-align: justify;\n }\n}\n@media print, screen and (min-width: 64em) {\n .large-text-left {\n text-align: left;\n }\n .large-text-right {\n text-align: right;\n }\n .large-text-center {\n text-align: center;\n }\n .large-text-justify {\n text-align: justify;\n }\n}\n.show-for-print {\n display: none !important;\n}\n\n@media print {\n * {\n background: transparent !important;\n color: black !important;\n print-color-adjust: economy;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n .show-for-print {\n display: block !important;\n }\n .hide-for-print {\n display: none !important;\n }\n table.show-for-print {\n display: table !important;\n }\n thead.show-for-print {\n display: table-header-group !important;\n }\n tbody.show-for-print {\n display: table-row-group !important;\n }\n tr.show-for-print {\n display: table-row !important;\n }\n td.show-for-print {\n display: table-cell !important;\n }\n th.show-for-print {\n display: table-cell !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n .ir a:after,\n a[href^=\"javascript:\"]:after,\n a[href^=\"#\"]:after {\n content: \"\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n pre,\n blockquote {\n border: 1px solid #8a8a8a;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n @page {\n margin: 0.5cm;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .print-break-inside {\n page-break-inside: auto;\n }\n}\n.row {\n max-width: 75rem;\n margin-right: auto;\n margin-left: auto;\n}\n.row::before, .row::after {\n display: table;\n content: \" \";\n}\n.row::after {\n clear: both;\n}\n.row.collapse > .column, .row.collapse > .columns {\n padding-right: 0;\n padding-left: 0;\n}\n.row .row {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n@media print, screen and (min-width: 40em) {\n .row .row {\n margin-right: -0.9375rem;\n margin-left: -0.9375rem;\n }\n}\n@media print, screen and (min-width: 64em) {\n .row .row {\n margin-right: -0.9375rem;\n margin-left: -0.9375rem;\n }\n}\n.row .row.collapse {\n margin-right: 0;\n margin-left: 0;\n}\n.row.expanded {\n max-width: none;\n}\n.row.expanded .row {\n margin-right: auto;\n margin-left: auto;\n}\n.row:not(.expanded) .row {\n max-width: none;\n}\n.row.gutter-small > .column, .row.gutter-small > .columns {\n padding-right: 0.625rem;\n padding-left: 0.625rem;\n}\n.row.gutter-medium > .column, .row.gutter-medium > .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem;\n}\n\n.column, .columns {\n float: left;\n width: 100%;\n padding-right: 0.625rem;\n padding-left: 0.625rem;\n}\n@media print, screen and (min-width: 40em) {\n .column, .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem;\n }\n}\n.column, .columns, .column:last-child:not(:first-child) {\n float: left;\n clear: none;\n}\n.column:last-child:not(:first-child), .columns:last-child:not(:first-child) {\n float: right;\n}\n.column.end:last-child:last-child, .end.columns:last-child:last-child {\n float: left;\n}\n\n.column.row.row, .row.row.columns {\n float: none;\n}\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\n.small-1 {\n width: 8.3333333333%;\n}\n\n.small-push-1 {\n position: relative;\n left: 8.3333333333%;\n}\n\n.small-pull-1 {\n position: relative;\n left: -8.3333333333%;\n}\n\n.small-offset-0 {\n margin-left: 0%;\n}\n\n.small-2 {\n width: 16.6666666667%;\n}\n\n.small-push-2 {\n position: relative;\n left: 16.6666666667%;\n}\n\n.small-pull-2 {\n position: relative;\n left: -16.6666666667%;\n}\n\n.small-offset-1 {\n margin-left: 8.3333333333%;\n}\n\n.small-3 {\n width: 25%;\n}\n\n.small-push-3 {\n position: relative;\n left: 25%;\n}\n\n.small-pull-3 {\n position: relative;\n left: -25%;\n}\n\n.small-offset-2 {\n margin-left: 16.6666666667%;\n}\n\n.small-4 {\n width: 33.3333333333%;\n}\n\n.small-push-4 {\n position: relative;\n left: 33.3333333333%;\n}\n\n.small-pull-4 {\n position: relative;\n left: -33.3333333333%;\n}\n\n.small-offset-3 {\n margin-left: 25%;\n}\n\n.small-5 {\n width: 41.6666666667%;\n}\n\n.small-push-5 {\n position: relative;\n left: 41.6666666667%;\n}\n\n.small-pull-5 {\n position: relative;\n left: -41.6666666667%;\n}\n\n.small-offset-4 {\n margin-left: 33.3333333333%;\n}\n\n.small-6 {\n width: 50%;\n}\n\n.small-push-6 {\n position: relative;\n left: 50%;\n}\n\n.small-pull-6 {\n position: relative;\n left: -50%;\n}\n\n.small-offset-5 {\n margin-left: 41.6666666667%;\n}\n\n.small-7 {\n width: 58.3333333333%;\n}\n\n.small-push-7 {\n position: relative;\n left: 58.3333333333%;\n}\n\n.small-pull-7 {\n position: relative;\n left: -58.3333333333%;\n}\n\n.small-offset-6 {\n margin-left: 50%;\n}\n\n.small-8 {\n width: 66.6666666667%;\n}\n\n.small-push-8 {\n position: relative;\n left: 66.6666666667%;\n}\n\n.small-pull-8 {\n position: relative;\n left: -66.6666666667%;\n}\n\n.small-offset-7 {\n margin-left: 58.3333333333%;\n}\n\n.small-9 {\n width: 75%;\n}\n\n.small-push-9 {\n position: relative;\n left: 75%;\n}\n\n.small-pull-9 {\n position: relative;\n left: -75%;\n}\n\n.small-offset-8 {\n margin-left: 66.6666666667%;\n}\n\n.small-10 {\n width: 83.3333333333%;\n}\n\n.small-push-10 {\n position: relative;\n left: 83.3333333333%;\n}\n\n.small-pull-10 {\n position: relative;\n left: -83.3333333333%;\n}\n\n.small-offset-9 {\n margin-left: 75%;\n}\n\n.small-11 {\n width: 91.6666666667%;\n}\n\n.small-push-11 {\n position: relative;\n left: 91.6666666667%;\n}\n\n.small-pull-11 {\n position: relative;\n left: -91.6666666667%;\n}\n\n.small-offset-10 {\n margin-left: 83.3333333333%;\n}\n\n.small-12 {\n width: 100%;\n}\n\n.small-offset-11 {\n margin-left: 91.6666666667%;\n}\n\n.small-up-1 > .column, .small-up-1 > .columns {\n float: left;\n width: 100%;\n}\n.small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {\n clear: both;\n}\n.small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {\n float: left;\n}\n\n.small-up-2 > .column, .small-up-2 > .columns {\n float: left;\n width: 50%;\n}\n.small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {\n clear: both;\n}\n.small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {\n float: left;\n}\n\n.small-up-3 > .column, .small-up-3 > .columns {\n float: left;\n width: 33.3333333333%;\n}\n.small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {\n clear: both;\n}\n.small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {\n float: left;\n}\n\n.small-up-4 > .column, .small-up-4 > .columns {\n float: left;\n width: 25%;\n}\n.small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {\n clear: both;\n}\n.small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {\n float: left;\n}\n\n.small-up-5 > .column, .small-up-5 > .columns {\n float: left;\n width: 20%;\n}\n.small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {\n clear: both;\n}\n.small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {\n float: left;\n}\n\n.small-up-6 > .column, .small-up-6 > .columns {\n float: left;\n width: 16.6666666667%;\n}\n.small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {\n clear: both;\n}\n.small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {\n float: left;\n}\n\n.small-up-7 > .column, .small-up-7 > .columns {\n float: left;\n width: 14.2857142857%;\n}\n.small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {\n clear: both;\n}\n.small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {\n float: left;\n}\n\n.small-up-8 > .column, .small-up-8 > .columns {\n float: left;\n width: 12.5%;\n}\n.small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {\n clear: none;\n}\n.small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {\n clear: both;\n}\n.small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {\n float: left;\n}\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\n.expanded.row .small-collapse.row {\n margin-right: 0;\n margin-left: 0;\n}\n\n.small-uncollapse > .column, .small-uncollapse > .columns {\n padding-right: 0.625rem;\n padding-left: 0.625rem;\n}\n\n.small-centered {\n margin-left: auto;\n margin-right: auto;\n}\n.small-centered, .small-centered:last-child:not(:first-child) {\n float: none;\n clear: both;\n}\n\n.small-uncentered, .small-push-0, .small-pull-0 {\n position: static;\n margin-right: 0;\n margin-left: 0;\n}\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}\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\n@media print, screen and (min-width: 40em) {\n .medium-1 {\n width: 8.3333333333%;\n }\n .medium-push-1 {\n position: relative;\n left: 8.3333333333%;\n }\n .medium-pull-1 {\n position: relative;\n left: -8.3333333333%;\n }\n .medium-offset-0 {\n margin-left: 0%;\n }\n .medium-2 {\n width: 16.6666666667%;\n }\n .medium-push-2 {\n position: relative;\n left: 16.6666666667%;\n }\n .medium-pull-2 {\n position: relative;\n left: -16.6666666667%;\n }\n .medium-offset-1 {\n margin-left: 8.3333333333%;\n }\n .medium-3 {\n width: 25%;\n }\n .medium-push-3 {\n position: relative;\n left: 25%;\n }\n .medium-pull-3 {\n position: relative;\n left: -25%;\n }\n .medium-offset-2 {\n margin-left: 16.6666666667%;\n }\n .medium-4 {\n width: 33.3333333333%;\n }\n .medium-push-4 {\n position: relative;\n left: 33.3333333333%;\n }\n .medium-pull-4 {\n position: relative;\n left: -33.3333333333%;\n }\n .medium-offset-3 {\n margin-left: 25%;\n }\n .medium-5 {\n width: 41.6666666667%;\n }\n .medium-push-5 {\n position: relative;\n left: 41.6666666667%;\n }\n .medium-pull-5 {\n position: relative;\n left: -41.6666666667%;\n }\n .medium-offset-4 {\n margin-left: 33.3333333333%;\n }\n .medium-6 {\n width: 50%;\n }\n .medium-push-6 {\n position: relative;\n left: 50%;\n }\n .medium-pull-6 {\n position: relative;\n left: -50%;\n }\n .medium-offset-5 {\n margin-left: 41.6666666667%;\n }\n .medium-7 {\n width: 58.3333333333%;\n }\n .medium-push-7 {\n position: relative;\n left: 58.3333333333%;\n }\n .medium-pull-7 {\n position: relative;\n left: -58.3333333333%;\n }\n .medium-offset-6 {\n margin-left: 50%;\n }\n .medium-8 {\n width: 66.6666666667%;\n }\n .medium-push-8 {\n position: relative;\n left: 66.6666666667%;\n }\n .medium-pull-8 {\n position: relative;\n left: -66.6666666667%;\n }\n .medium-offset-7 {\n margin-left: 58.3333333333%;\n }\n .medium-9 {\n width: 75%;\n }\n .medium-push-9 {\n position: relative;\n left: 75%;\n }\n .medium-pull-9 {\n position: relative;\n left: -75%;\n }\n .medium-offset-8 {\n margin-left: 66.6666666667%;\n }\n .medium-10 {\n width: 83.3333333333%;\n }\n .medium-push-10 {\n position: relative;\n left: 83.3333333333%;\n }\n .medium-pull-10 {\n position: relative;\n left: -83.3333333333%;\n }\n .medium-offset-9 {\n margin-left: 75%;\n }\n .medium-11 {\n width: 91.6666666667%;\n }\n .medium-push-11 {\n position: relative;\n left: 91.6666666667%;\n }\n .medium-pull-11 {\n position: relative;\n left: -91.6666666667%;\n }\n .medium-offset-10 {\n margin-left: 83.3333333333%;\n }\n .medium-12 {\n width: 100%;\n }\n .medium-offset-11 {\n margin-left: 91.6666666667%;\n }\n .medium-up-1 > .column, .medium-up-1 > .columns {\n float: left;\n width: 100%;\n }\n .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {\n clear: both;\n }\n .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {\n float: left;\n }\n .medium-up-2 > .column, .medium-up-2 > .columns {\n float: left;\n width: 50%;\n }\n .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {\n clear: both;\n }\n .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {\n float: left;\n }\n .medium-up-3 > .column, .medium-up-3 > .columns {\n float: left;\n width: 33.3333333333%;\n }\n .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {\n clear: both;\n }\n .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {\n float: left;\n }\n .medium-up-4 > .column, .medium-up-4 > .columns {\n float: left;\n width: 25%;\n }\n .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {\n clear: both;\n }\n .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {\n float: left;\n }\n .medium-up-5 > .column, .medium-up-5 > .columns {\n float: left;\n width: 20%;\n }\n .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {\n clear: both;\n }\n .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {\n float: left;\n }\n .medium-up-6 > .column, .medium-up-6 > .columns {\n float: left;\n width: 16.6666666667%;\n }\n .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {\n clear: both;\n }\n .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {\n float: left;\n }\n .medium-up-7 > .column, .medium-up-7 > .columns {\n float: left;\n width: 14.2857142857%;\n }\n .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {\n clear: both;\n }\n .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {\n float: left;\n }\n .medium-up-8 > .column, .medium-up-8 > .columns {\n float: left;\n width: 12.5%;\n }\n .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {\n clear: both;\n }\n .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {\n float: left;\n }\n .medium-collapse > .column, .medium-collapse > .columns {\n padding-right: 0;\n padding-left: 0;\n }\n .medium-collapse .row {\n margin-right: 0;\n margin-left: 0;\n }\n .expanded.row .medium-collapse.row {\n margin-right: 0;\n margin-left: 0;\n }\n .medium-uncollapse > .column, .medium-uncollapse > .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem;\n }\n .medium-centered {\n margin-left: auto;\n margin-right: auto;\n }\n .medium-centered, .medium-centered:last-child:not(:first-child) {\n float: none;\n clear: both;\n }\n .medium-uncentered, .medium-push-0, .medium-pull-0 {\n position: static;\n margin-right: 0;\n margin-left: 0;\n }\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 }\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}\n@media print, screen and (min-width: 64em) {\n .large-1 {\n width: 8.3333333333%;\n }\n .large-push-1 {\n position: relative;\n left: 8.3333333333%;\n }\n .large-pull-1 {\n position: relative;\n left: -8.3333333333%;\n }\n .large-offset-0 {\n margin-left: 0%;\n }\n .large-2 {\n width: 16.6666666667%;\n }\n .large-push-2 {\n position: relative;\n left: 16.6666666667%;\n }\n .large-pull-2 {\n position: relative;\n left: -16.6666666667%;\n }\n .large-offset-1 {\n margin-left: 8.3333333333%;\n }\n .large-3 {\n width: 25%;\n }\n .large-push-3 {\n position: relative;\n left: 25%;\n }\n .large-pull-3 {\n position: relative;\n left: -25%;\n }\n .large-offset-2 {\n margin-left: 16.6666666667%;\n }\n .large-4 {\n width: 33.3333333333%;\n }\n .large-push-4 {\n position: relative;\n left: 33.3333333333%;\n }\n .large-pull-4 {\n position: relative;\n left: -33.3333333333%;\n }\n .large-offset-3 {\n margin-left: 25%;\n }\n .large-5 {\n width: 41.6666666667%;\n }\n .large-push-5 {\n position: relative;\n left: 41.6666666667%;\n }\n .large-pull-5 {\n position: relative;\n left: -41.6666666667%;\n }\n .large-offset-4 {\n margin-left: 33.3333333333%;\n }\n .large-6 {\n width: 50%;\n }\n .large-push-6 {\n position: relative;\n left: 50%;\n }\n .large-pull-6 {\n position: relative;\n left: -50%;\n }\n .large-offset-5 {\n margin-left: 41.6666666667%;\n }\n .large-7 {\n width: 58.3333333333%;\n }\n .large-push-7 {\n position: relative;\n left: 58.3333333333%;\n }\n .large-pull-7 {\n position: relative;\n left: -58.3333333333%;\n }\n .large-offset-6 {\n margin-left: 50%;\n }\n .large-8 {\n width: 66.6666666667%;\n }\n .large-push-8 {\n position: relative;\n left: 66.6666666667%;\n }\n .large-pull-8 {\n position: relative;\n left: -66.6666666667%;\n }\n .large-offset-7 {\n margin-left: 58.3333333333%;\n }\n .large-9 {\n width: 75%;\n }\n .large-push-9 {\n position: relative;\n left: 75%;\n }\n .large-pull-9 {\n position: relative;\n left: -75%;\n }\n .large-offset-8 {\n margin-left: 66.6666666667%;\n }\n .large-10 {\n width: 83.3333333333%;\n }\n .large-push-10 {\n position: relative;\n left: 83.3333333333%;\n }\n .large-pull-10 {\n position: relative;\n left: -83.3333333333%;\n }\n .large-offset-9 {\n margin-left: 75%;\n }\n .large-11 {\n width: 91.6666666667%;\n }\n .large-push-11 {\n position: relative;\n left: 91.6666666667%;\n }\n .large-pull-11 {\n position: relative;\n left: -91.6666666667%;\n }\n .large-offset-10 {\n margin-left: 83.3333333333%;\n }\n .large-12 {\n width: 100%;\n }\n .large-offset-11 {\n margin-left: 91.6666666667%;\n }\n .large-up-1 > .column, .large-up-1 > .columns {\n float: left;\n width: 100%;\n }\n .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {\n clear: both;\n }\n .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {\n float: left;\n }\n .large-up-2 > .column, .large-up-2 > .columns {\n float: left;\n width: 50%;\n }\n .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {\n clear: both;\n }\n .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {\n float: left;\n }\n .large-up-3 > .column, .large-up-3 > .columns {\n float: left;\n width: 33.3333333333%;\n }\n .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {\n clear: both;\n }\n .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {\n float: left;\n }\n .large-up-4 > .column, .large-up-4 > .columns {\n float: left;\n width: 25%;\n }\n .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {\n clear: both;\n }\n .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {\n float: left;\n }\n .large-up-5 > .column, .large-up-5 > .columns {\n float: left;\n width: 20%;\n }\n .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {\n clear: both;\n }\n .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {\n float: left;\n }\n .large-up-6 > .column, .large-up-6 > .columns {\n float: left;\n width: 16.6666666667%;\n }\n .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {\n clear: both;\n }\n .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {\n float: left;\n }\n .large-up-7 > .column, .large-up-7 > .columns {\n float: left;\n width: 14.2857142857%;\n }\n .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {\n clear: both;\n }\n .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {\n float: left;\n }\n .large-up-8 > .column, .large-up-8 > .columns {\n float: left;\n width: 12.5%;\n }\n .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {\n clear: none;\n }\n .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {\n clear: both;\n }\n .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {\n float: left;\n }\n .large-collapse > .column, .large-collapse > .columns {\n padding-right: 0;\n padding-left: 0;\n }\n .large-collapse .row {\n margin-right: 0;\n margin-left: 0;\n }\n .expanded.row .large-collapse.row {\n margin-right: 0;\n margin-left: 0;\n }\n .large-uncollapse > .column, .large-uncollapse > .columns {\n padding-right: 0.9375rem;\n padding-left: 0.9375rem;\n }\n .large-centered {\n margin-left: auto;\n margin-right: auto;\n }\n .large-centered, .large-centered:last-child:not(:first-child) {\n float: none;\n clear: both;\n }\n .large-uncentered, .large-push-0, .large-pull-0 {\n position: static;\n margin-right: 0;\n margin-left: 0;\n }\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 }\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}\n.column-block {\n margin-bottom: 1.25rem;\n}\n.column-block > :last-child {\n margin-bottom: 0;\n}\n@media print, screen and (min-width: 40em) {\n .column-block {\n margin-bottom: 1.875rem;\n }\n .column-block > :last-child {\n margin-bottom: 0;\n }\n}\n\n.button {\n display: inline-block;\n vertical-align: middle;\n margin: 0 0 1rem 0;\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 padding: 0.85em 1em;\n}\n[data-whatinput=mouse] .button {\n outline: 0;\n}\n.button.tiny {\n font-size: 0.6rem;\n}\n.button.small {\n font-size: 0.75rem;\n}\n.button.large {\n font-size: 1.25rem;\n}\n.button.expanded {\n display: block;\n width: 100%;\n margin-right: 0;\n margin-left: 0;\n}\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}\n.button:hover, .button:focus {\n background-color: rgb(19.55, 102.85, 158.1);\n color: #fefefe;\n}\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}\n.button.primary:hover, .button.primary:focus {\n background-color: rgb(18.4, 96.8, 148.8);\n color: #fefefe;\n}\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}\n.button.secondary:hover, .button.secondary:focus {\n background-color: rgb(94.4, 94.4, 94.4);\n color: #fefefe;\n}\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}\n.button.success:hover, .button.success:focus {\n background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918);\n color: #0a0a0a;\n}\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}\n.button.warning:hover, .button.warning:focus {\n background-color: rgb(204, 139.2, 0);\n color: #0a0a0a;\n}\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}\n.button.alert:hover, .button.alert:focus {\n background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064);\n color: #fefefe;\n}\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}\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}\n.button.hollow:hover, .button.hollow:focus {\n border-color: rgb(11.5, 60.5, 93);\n color: rgb(11.5, 60.5, 93);\n}\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}\n.button.hollow.primary:hover, .button.hollow.primary:focus {\n border-color: rgb(11.5, 60.5, 93);\n color: rgb(11.5, 60.5, 93);\n}\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}\n.button.hollow.secondary:hover, .button.hollow.secondary:focus {\n border-color: #3b3b3b;\n color: #3b3b3b;\n}\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}\n.button.hollow.success:hover, .button.hollow.success:focus {\n border-color: rgb(21.3991416309, 117.1008583691, 57.0643776824);\n color: rgb(21.3991416309, 117.1008583691, 57.0643776824);\n}\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}\n.button.hollow.warning:hover, .button.hollow.warning:focus {\n border-color: rgb(127.5, 87, 0);\n color: rgb(127.5, 87, 0);\n}\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}\n.button.hollow.alert:hover, .button.hollow.alert:focus {\n border-color: rgb(103.187250996, 36.6314741036, 26.312749004);\n color: rgb(103.187250996, 36.6314741036, 26.312749004);\n}\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}\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}\n.button.clear:hover, .button.clear:focus {\n color: rgb(11.5, 60.5, 93);\n}\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}\n.button.clear.primary:hover, .button.clear.primary:focus {\n color: rgb(11.5, 60.5, 93);\n}\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}\n.button.clear.secondary:hover, .button.clear.secondary:focus {\n color: #3b3b3b;\n}\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}\n.button.clear.success:hover, .button.clear.success:focus {\n color: rgb(21.3991416309, 117.1008583691, 57.0643776824);\n}\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}\n.button.clear.warning:hover, .button.clear.warning:focus {\n color: rgb(127.5, 87, 0);\n}\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}\n.button.clear.alert:hover, .button.clear.alert:focus {\n color: rgb(103.187250996, 36.6314741036, 26.312749004);\n}\n.button.disabled, .button[disabled] {\n opacity: 0.25;\n cursor: not-allowed;\n}\n.button.dropdown::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0.4em;\n content: \"\";\n border-bottom-width: 0;\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}\n.button.dropdown.hollow::after, .button.dropdown.clear::after {\n border-top-color: #1779ba;\n}\n.button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {\n border-top-color: #1779ba;\n}\n.button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {\n border-top-color: #767676;\n}\n.button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {\n border-top-color: #3adb76;\n}\n.button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {\n border-top-color: #ffae00;\n}\n.button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {\n border-top-color: #cc4b37;\n}\n.button.arrow-only::after {\n top: -0.1em;\n float: none;\n margin-left: 0;\n}\n\na.button:hover, a.button:focus {\n text-decoration: none;\n}\n\n.button-group {\n margin-bottom: 1rem;\n font-size: 0;\n}\n.button-group::before, .button-group::after {\n display: table;\n content: \" \";\n}\n.button-group::after {\n clear: both;\n}\n.button-group .button {\n margin: 0;\n margin-right: 1px;\n margin-bottom: 1px;\n font-size: 0.9rem;\n}\n.button-group .button:last-child {\n margin-right: 0;\n}\n.button-group.tiny .button {\n font-size: 0.6rem;\n}\n.button-group.small .button {\n font-size: 0.75rem;\n}\n.button-group.large .button {\n font-size: 1.25rem;\n}\n.button-group.expanded {\n margin-right: -1px;\n}\n.button-group.expanded::before, .button-group.expanded::after {\n display: none;\n}\n.button-group.expanded .button:first-child:last-child {\n width: calc(100% - 1px);\n}\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}\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}\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.3333333333% - 1px);\n margin-right: 1px;\n}\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}\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}\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}\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}\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}\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.6666666667% - 1px);\n margin-right: 1px;\n}\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}\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}\n.button-group.primary .button:hover, .button-group.primary .button:focus {\n background-color: rgb(18.4, 96.8, 148.8);\n color: #fefefe;\n}\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}\n.button-group.secondary .button:hover, .button-group.secondary .button:focus {\n background-color: rgb(94.4, 94.4, 94.4);\n color: #fefefe;\n}\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}\n.button-group.success .button:hover, .button-group.success .button:focus {\n background-color: rgb(34.2386266094, 187.3613733906, 91.3030042918);\n color: #0a0a0a;\n}\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}\n.button-group.warning .button:hover, .button-group.warning .button:focus {\n background-color: rgb(204, 139.2, 0);\n color: #0a0a0a;\n}\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}\n.button-group.alert .button:hover, .button-group.alert .button:focus {\n background-color: rgb(165.0996015936, 58.6103585657, 42.1003984064);\n color: #fefefe;\n}\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}\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}\n.button-group.hollow .button:hover, .button-group.hollow .button:focus {\n border-color: rgb(11.5, 60.5, 93);\n color: rgb(11.5, 60.5, 93);\n}\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}\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: rgb(11.5, 60.5, 93);\n color: rgb(11.5, 60.5, 93);\n}\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}\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}\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}\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: rgb(21.3991416309, 117.1008583691, 57.0643776824);\n color: rgb(21.3991416309, 117.1008583691, 57.0643776824);\n}\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}\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: rgb(127.5, 87, 0);\n color: rgb(127.5, 87, 0);\n}\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}\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: rgb(103.187250996, 36.6314741036, 26.312749004);\n color: rgb(103.187250996, 36.6314741036, 26.312749004);\n}\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}\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}\n.button-group.clear .button:hover, .button-group.clear .button:focus {\n color: rgb(11.5, 60.5, 93);\n}\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}\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: rgb(11.5, 60.5, 93);\n}\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}\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}\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}\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: rgb(21.3991416309, 117.1008583691, 57.0643776824);\n}\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}\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: rgb(127.5, 87, 0);\n}\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}\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: rgb(103.187250996, 36.6314741036, 26.312749004);\n}\n.button-group.no-gaps .button {\n margin-right: -0.0625rem;\n}\n.button-group.no-gaps .button + .button {\n border-left-color: transparent;\n}\n.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n width: 100%;\n}\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}\n.button-group.stacked.expanded, .button-group.stacked-for-small.expanded, .button-group.stacked-for-medium.expanded {\n margin-right: -1px;\n}\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}\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}\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}\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}\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.3333333333% - 1px);\n margin-right: 1px;\n}\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}\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}\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}\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}\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}\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.6666666667% - 1px);\n margin-right: 1px;\n}\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}\n@media print, screen and (min-width: 40em) {\n .button-group.stacked-for-small .button {\n width: auto;\n margin-bottom: 0;\n }\n}\n@media print, screen and (min-width: 64em) {\n .button-group.stacked-for-medium .button {\n width: auto;\n margin-bottom: 0;\n }\n}\n@media print, screen and (max-width: 39.99875em) {\n .button-group.stacked-for-small.expanded {\n display: block;\n }\n .button-group.stacked-for-small.expanded .button {\n display: block;\n margin-right: 0;\n }\n}\n@media print, screen and (max-width: 63.99875em) {\n .button-group.stacked-for-medium.expanded {\n display: block;\n }\n .button-group.stacked-for-medium.expanded .button {\n display: block;\n margin-right: 0;\n }\n}\n\n.close-button {\n position: absolute;\n z-index: 10;\n color: #8a8a8a;\n cursor: pointer;\n}\n[data-whatinput=mouse] .close-button {\n outline: 0;\n}\n.close-button:hover, .close-button:focus {\n color: #0a0a0a;\n}\n.close-button.small {\n right: 0.66rem;\n top: 0.33em;\n font-size: 1.5em;\n line-height: 1;\n}\n\n.close-button.medium, .close-button {\n right: 1rem;\n top: 0.5rem;\n font-size: 2em;\n line-height: 1;\n}\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}\n.label.primary {\n background: #1779ba;\n color: #fefefe;\n}\n.label.secondary {\n background: #767676;\n color: #fefefe;\n}\n.label.success {\n background: #3adb76;\n color: #0a0a0a;\n}\n.label.warning {\n background: #ffae00;\n color: #0a0a0a;\n}\n.label.alert {\n background: #cc4b37;\n color: #fefefe;\n}\n\n.progress {\n height: 1rem;\n margin-bottom: 1rem;\n border-radius: 0;\n background-color: #cacaca;\n}\n.progress.primary .progress-meter {\n background-color: #1779ba;\n}\n.progress.secondary .progress-meter {\n background-color: #767676;\n}\n.progress.success .progress-meter {\n background-color: #3adb76;\n}\n.progress.warning .progress-meter {\n background-color: #ffae00;\n}\n.progress.alert .progress-meter {\n background-color: #cc4b37;\n}\n\n.progress-meter {\n position: relative;\n display: block;\n width: 0%;\n height: 100%;\n background-color: #1779ba;\n}\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\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\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}\n.slider-fill.is-dragging {\n transition: all 0s linear;\n}\n\n.slider-handle {\n left: 0;\n z-index: 1;\n cursor: grab;\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 position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n[data-whatinput=mouse] .slider-handle {\n outline: 0;\n}\n.slider-handle:hover {\n background-color: rgb(19.55, 102.85, 158.1);\n}\n.slider-handle.is-dragging {\n transition: all 0s linear;\n cursor: grabbing;\n}\n\n.slider.disabled,\n.slider[disabled] {\n opacity: 0.25;\n cursor: not-allowed;\n}\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}\n.slider.vertical .slider-fill {\n top: 0;\n width: 0.5rem;\n max-height: 100%;\n}\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\n.switch {\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 height: 2rem;\n}\n\n.switch-input {\n position: absolute;\n margin-bottom: 0;\n opacity: 0;\n}\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}\ninput + .switch-paddle {\n margin: 0;\n}\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}\ninput:checked ~ .switch-paddle {\n background: #1779ba;\n}\ninput:checked ~ .switch-paddle::after {\n left: 2.25rem;\n}\ninput:focus-visible ~ .switch-paddle {\n background: rgb(181.8, 181.8, 181.8);\n}\ninput:focus-visible ~ .switch-paddle::after {\n background: #fefefe;\n}\ninput:checked:focus-visible ~ .switch-paddle {\n background: rgb(19.55, 102.85, 158.1);\n}\ninput:disabled ~ .switch-paddle {\n cursor: not-allowed;\n opacity: 0.5;\n}\n[data-whatinput=mouse] input:focus ~ .switch-paddle {\n outline: 0;\n}\n\n.switch-inactive, .switch-active {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n\n.switch-active {\n left: 8%;\n display: none;\n}\ninput:checked + label > .switch-active {\n display: block;\n}\n\n.switch-inactive {\n right: 15%;\n}\ninput:checked + label > .switch-inactive {\n display: none;\n}\n\n.switch.tiny {\n height: 1.5rem;\n}\n.switch.tiny .switch-paddle {\n width: 3rem;\n height: 1.5rem;\n font-size: 0.625rem;\n}\n.switch.tiny .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 1rem;\n height: 1rem;\n}\n.switch.tiny input:checked ~ .switch-paddle::after {\n left: 1.75rem;\n}\n\n.switch.small {\n height: 1.75rem;\n}\n.switch.small .switch-paddle {\n width: 3.5rem;\n height: 1.75rem;\n font-size: 0.75rem;\n}\n.switch.small .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 1.25rem;\n height: 1.25rem;\n}\n.switch.small input:checked ~ .switch-paddle::after {\n left: 2rem;\n}\n\n.switch.large {\n height: 2.5rem;\n}\n.switch.large .switch-paddle {\n width: 5rem;\n height: 2.5rem;\n font-size: 1rem;\n}\n.switch.large .switch-paddle::after {\n top: 0.25rem;\n left: 0.25rem;\n width: 2rem;\n height: 2rem;\n}\n.switch.large input:checked ~ .switch-paddle::after {\n left: 2.75rem;\n}\n\ntable {\n border-collapse: collapse;\n width: 100%;\n margin-bottom: 1rem;\n border-radius: 0;\n}\nthead,\ntbody,\ntfoot {\n border: 1px solid rgb(241.3, 241.3, 241.3);\n background-color: #fefefe;\n}\n\ncaption {\n padding: 0.5rem 0.625rem 0.625rem;\n font-weight: bold;\n}\n\nthead {\n background: rgb(247.65, 247.65, 247.65);\n color: #0a0a0a;\n}\n\ntfoot {\n background: rgb(241.3, 241.3, 241.3);\n color: #0a0a0a;\n}\n\nthead tr,\ntfoot tr {\n background: transparent;\n}\nthead th,\nthead td,\ntfoot th,\ntfoot td {\n padding: 0.5rem 0.625rem 0.625rem;\n font-weight: bold;\n text-align: left;\n}\n\ntbody th,\ntbody td {\n padding: 0.5rem 0.625rem 0.625rem;\n}\n\ntbody tr:nth-child(even) {\n border-bottom: 0;\n background-color: rgb(241.3, 241.3, 241.3);\n}\n\ntable.unstriped tbody {\n background-color: #fefefe;\n}\ntable.unstriped tbody tr {\n border-bottom: 1px solid rgb(241.3, 241.3, 241.3);\n background-color: #fefefe;\n}\n\n@media print, screen and (max-width: 63.99875em) {\n table.stack thead {\n display: none;\n }\n table.stack tfoot {\n display: none;\n }\n table.stack tr,\n table.stack th,\n table.stack td {\n display: block;\n }\n table.stack td {\n border-top: 0;\n }\n}\n\ntable.scroll {\n display: block;\n width: 100%;\n overflow-x: auto;\n}\n\ntable.hover thead tr:hover {\n background-color: rgb(242.55, 242.55, 242.55);\n}\ntable.hover tfoot tr:hover {\n background-color: rgb(236.2, 236.2, 236.2);\n}\ntable.hover tbody tr:hover {\n background-color: rgb(248.9, 248.9, 248.9);\n}\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n background-color: rgb(236.15, 236.15, 236.15);\n}\n\n.table-scroll {\n overflow-x: auto;\n}\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}\n.badge.primary {\n background: #1779ba;\n color: #fefefe;\n}\n.badge.secondary {\n background: #767676;\n color: #fefefe;\n}\n.badge.success {\n background: #3adb76;\n color: #0a0a0a;\n}\n.badge.warning {\n background: #ffae00;\n color: #0a0a0a;\n}\n.badge.alert {\n background: #cc4b37;\n color: #fefefe;\n}\n\n.breadcrumbs {\n margin: 0 0 1rem 0;\n list-style: none;\n}\n.breadcrumbs::before, .breadcrumbs::after {\n display: table;\n content: \" \";\n}\n.breadcrumbs::after {\n clear: both;\n}\n.breadcrumbs li {\n float: left;\n font-size: 0.6875rem;\n color: #0a0a0a;\n cursor: default;\n text-transform: uppercase;\n}\n.breadcrumbs li:not(:last-child)::after {\n position: relative;\n margin: 0 0.75rem;\n opacity: 1;\n content: \"/\";\n color: #cacaca;\n}\n.breadcrumbs a {\n color: #1779ba;\n}\n.breadcrumbs a:hover {\n text-decoration: underline;\n}\n.breadcrumbs .disabled {\n color: #cacaca;\n cursor: not-allowed;\n}\n\n.callout {\n background-color: rgb(254.85, 254.85, 254.85);\n color: #0a0a0a;\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}\n.callout > :first-child {\n margin-top: 0;\n}\n.callout > :last-child {\n margin-bottom: 0;\n}\n.callout.primary {\n background-color: rgb(214.8186602871, 235.9894736842, 250.0313397129);\n color: #0a0a0a;\n}\n.callout.secondary {\n background-color: rgb(234.45, 234.45, 234.45);\n color: #0a0a0a;\n}\n.callout.success {\n background-color: rgb(225.45, 249.6, 234.45);\n color: #0a0a0a;\n}\n.callout.warning {\n background-color: rgb(255, 242.85, 216.75);\n color: #0a0a0a;\n}\n.callout.alert {\n background-color: rgb(247.35, 228, 225);\n color: #0a0a0a;\n}\n.callout.small {\n padding-top: 0.5rem;\n padding-right: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 0.5rem;\n}\n.callout.large {\n padding-top: 3rem;\n padding-right: 3rem;\n padding-bottom: 3rem;\n padding-left: 3rem;\n}\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}\n.card > :last-child {\n margin-bottom: 0;\n}\n\n.card-divider {\n padding: 1rem;\n background: #e6e6e6;\n}\n.card-divider > :last-child {\n margin-bottom: 0;\n}\n\n.card-section {\n padding: 1rem;\n}\n.card-section > :last-child {\n margin-bottom: 0;\n}\n\n.card-image {\n min-height: 1px;\n}\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}\n.dropdown-pane.is-opening {\n display: block;\n}\n.dropdown-pane.is-open {\n display: block;\n visibility: visible;\n}\n\n.dropdown-pane.tiny {\n width: 100px;\n}\n\n.dropdown-pane.small {\n width: 200px;\n}\n\n.dropdown-pane.large {\n width: 400px;\n}\n\n.pagination {\n margin-left: 0;\n margin-bottom: 1rem;\n}\n.pagination::before, .pagination::after {\n display: table;\n content: \" \";\n}\n.pagination::after {\n clear: both;\n}\n.pagination li {\n margin-right: 0.0625rem;\n border-radius: 0;\n font-size: 0.875rem;\n display: none;\n}\n.pagination li:last-child, .pagination li:first-child {\n display: inline-block;\n}\n@media print, screen and (min-width: 40em) {\n .pagination li {\n display: inline-block;\n }\n}\n.pagination a,\n.pagination button {\n display: block;\n padding: 0.1875rem 0.625rem;\n border-radius: 0;\n color: #0a0a0a;\n}\n.pagination a:hover,\n.pagination button:hover {\n background: #e6e6e6;\n}\n.pagination .current {\n padding: 0.1875rem 0.625rem;\n background: #1779ba;\n color: #fefefe;\n cursor: default;\n}\n.pagination .disabled {\n padding: 0.1875rem 0.625rem;\n color: #cacaca;\n cursor: not-allowed;\n}\n.pagination .disabled:hover {\n background: transparent;\n}\n.pagination .ellipsis::after {\n padding: 0.1875rem 0.625rem;\n content: \"…\";\n color: #0a0a0a;\n}\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n display: inline-block;\n margin-right: 0.5rem;\n content: \"«\";\n}\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n display: inline-block;\n margin-left: 0.5rem;\n content: \"»\";\n}\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\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}\n.tooltip::before {\n position: absolute;\n}\n.tooltip.bottom::before {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0.75rem;\n content: \"\";\n border-top-width: 0;\n border-color: transparent transparent #0a0a0a;\n bottom: 100%;\n}\n.tooltip.bottom.align-center::before {\n left: 50%;\n transform: translateX(-50%);\n}\n.tooltip.top::before {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0.75rem;\n content: \"\";\n border-bottom-width: 0;\n border-color: #0a0a0a transparent transparent;\n top: 100%;\n bottom: auto;\n}\n.tooltip.top.align-center::before {\n left: 50%;\n transform: translateX(-50%);\n}\n.tooltip.left::before {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0.75rem;\n content: \"\";\n border-right-width: 0;\n border-color: transparent transparent transparent #0a0a0a;\n left: 100%;\n}\n.tooltip.left.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%);\n}\n.tooltip.right::before {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 0.75rem;\n content: \"\";\n border-left-width: 0;\n border-color: transparent #0a0a0a transparent transparent;\n right: 100%;\n left: auto;\n}\n.tooltip.right.align-center::before {\n bottom: auto;\n top: 50%;\n transform: translateY(-50%);\n}\n.tooltip.align-top::before {\n bottom: auto;\n top: 10%;\n}\n.tooltip.align-bottom::before {\n bottom: 10%;\n top: auto;\n}\n.tooltip.align-left::before {\n left: 10%;\n right: auto;\n}\n.tooltip.align-right::before {\n left: auto;\n right: 10%;\n}\n\n.accordion {\n margin-left: 0;\n background: #fefefe;\n list-style-type: none;\n}\n.accordion[disabled] .accordion-title {\n cursor: not-allowed;\n}\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\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}\n:last-child:not(.is-active) > .accordion-title {\n border-bottom: 1px solid #e6e6e6;\n border-radius: 0 0 0 0;\n}\n.accordion-title:hover, .accordion-title:focus {\n background-color: #e6e6e6;\n}\n.accordion-title::before {\n position: absolute;\n top: 50%;\n right: 1rem;\n margin-top: -0.5rem;\n content: \"+\";\n}\n.is-active > .accordion-title::before {\n content: \"–\";\n}\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}\n:last-child > .accordion-content:last-child {\n border-bottom: 1px solid #e6e6e6;\n}\n\n.media-object {\n display: block;\n margin-bottom: 1rem;\n}\n.media-object img {\n max-width: none;\n}\n\n.media-object-section {\n display: table-cell;\n vertical-align: top;\n}\n.media-object-section:first-child {\n padding-right: 1rem;\n}\n.media-object-section:last-child:not(:nth-child(2)) {\n padding-left: 1rem;\n}\n.media-object-section > :last-child {\n margin-bottom: 0;\n}\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 }\n .stack-for-small .media-object-section img {\n width: 100%;\n }\n}\n.media-object-section.middle {\n vertical-align: middle;\n}\n.media-object-section.bottom {\n vertical-align: bottom;\n}\n\n.orbit {\n position: relative;\n}\n\n.orbit-container {\n position: relative;\n height: 0;\n margin: 0;\n list-style: none;\n overflow: hidden;\n}\n\n.orbit-slide {\n width: 100%;\n position: absolute;\n}\n.orbit-slide.no-motionui.is-active {\n top: 0;\n left: 0;\n}\n\n.orbit-figure {\n margin: 0;\n}\n\n.orbit-image {\n width: 100%;\n max-width: 100%;\n margin: 0;\n}\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\n.orbit-next, .orbit-previous {\n z-index: 10;\n padding: 1rem;\n color: #fefefe;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n}\n[data-whatinput=mouse] .orbit-next, [data-whatinput=mouse] .orbit-previous {\n outline: 0;\n}\n.orbit-next:hover, .orbit-previous:hover, .orbit-next:active, .orbit-previous:active, .orbit-next:focus, .orbit-previous:focus {\n background-color: rgba(10, 10, 10, 0.5);\n}\n\n.orbit-previous {\n left: 0;\n}\n\n.orbit-next {\n left: auto;\n right: 0;\n}\n\n.orbit-bullets {\n position: relative;\n margin-top: 0.8rem;\n margin-bottom: 0.8rem;\n text-align: center;\n}\n[data-whatinput=mouse] .orbit-bullets {\n outline: 0;\n}\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}\n.orbit-bullets button:hover {\n background-color: #8a8a8a;\n}\n.orbit-bullets button.is-active {\n background-color: #8a8a8a;\n}\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}\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}\n.responsive-embed.widescreen,\n.flex-video.widescreen {\n padding-bottom: 56.25%;\n}\n\n.tabs {\n margin: 0;\n border: 1px solid #e6e6e6;\n background: #fefefe;\n list-style-type: none;\n}\n.tabs::before, .tabs::after {\n display: table;\n content: \" \";\n}\n.tabs::after {\n clear: both;\n}\n\n.tabs.vertical > li {\n display: block;\n float: none;\n width: auto;\n}\n\n.tabs.simple > li > a {\n padding: 0;\n}\n.tabs.simple > li > a:hover {\n background: transparent;\n}\n\n.tabs.primary {\n background: #1779ba;\n}\n.tabs.primary > li > a {\n color: #fefefe;\n}\n.tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n background: rgb(21.85, 114.95, 176.7);\n}\n\n.tabs-title {\n float: left;\n}\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}\n[data-whatinput=mouse] .tabs-title > a {\n outline: 0;\n}\n.tabs-title > a:hover {\n background: #fefefe;\n color: rgb(19.78, 104.06, 159.96);\n}\n.tabs-title > a:focus, .tabs-title > a[aria-selected=true] {\n background: #e6e6e6;\n color: #1779ba;\n}\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\n.tabs-content.vertical {\n border: 1px solid #e6e6e6;\n border-left: 0;\n}\n\n.tabs-panel {\n display: none;\n padding: 1rem;\n}\n.tabs-panel.is-active {\n display: block;\n}\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}\n\na.thumbnail {\n transition: box-shadow 200ms ease-out;\n}\na.thumbnail:hover, a.thumbnail:focus {\n box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);\n}\na.thumbnail image {\n box-shadow: none;\n}\n\n.menu {\n padding: 0;\n margin: 0;\n list-style: none;\n position: relative;\n}\n[data-whatinput=mouse] .menu li {\n outline: 0;\n}\n.menu a,\n.menu .button {\n line-height: 1;\n text-decoration: none;\n display: block;\n padding: 0.7rem 1rem;\n}\n.menu input,\n.menu select,\n.menu a,\n.menu button {\n margin-bottom: 0;\n}\n.menu input {\n display: inline-block;\n}\n.menu li, .menu.horizontal li {\n display: inline-block;\n}\n.menu.vertical li {\n display: block;\n}\n.menu.expanded {\n display: table;\n width: 100%;\n}\n.menu.expanded > li {\n display: table-cell;\n vertical-align: middle;\n}\n.menu.simple li + li {\n margin-left: 1rem;\n}\n.menu.simple a {\n padding: 0;\n}\n@media print, screen and (min-width: 40em) {\n .menu.medium-horizontal li {\n display: inline-block;\n }\n .menu.medium-vertical li {\n display: block;\n }\n .menu.medium-expanded {\n display: table;\n width: 100%;\n }\n .menu.medium-expanded > li {\n display: table-cell;\n vertical-align: middle;\n }\n .menu.medium-simple {\n display: table;\n width: 100%;\n }\n .menu.medium-simple > li {\n display: table-cell;\n vertical-align: middle;\n }\n}\n@media print, screen and (min-width: 64em) {\n .menu.large-horizontal li {\n display: inline-block;\n }\n .menu.large-vertical li {\n display: block;\n }\n .menu.large-expanded {\n display: table;\n width: 100%;\n }\n .menu.large-expanded > li {\n display: table-cell;\n vertical-align: middle;\n }\n .menu.large-simple {\n display: table;\n width: 100%;\n }\n .menu.large-simple > li {\n display: table-cell;\n vertical-align: middle;\n }\n}\n.menu.nested {\n margin-right: 0;\n margin-left: 1rem;\n}\n.menu.icons img,\n.menu.icons i,\n.menu.icons svg {\n vertical-align: middle;\n}\n.menu.icons img + span,\n.menu.icons i + span,\n.menu.icons svg + span {\n vertical-align: middle;\n}\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}\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}\n.menu.icon-left li a img,\n.menu.icon-left li a i,\n.menu.icon-left li a svg, .menu.nested.icon-left li a img,\n.menu.nested.icon-left li a i,\n.menu.nested.icon-left li a svg {\n margin-right: 0.25rem;\n display: inline-block;\n}\n.menu.icon-right li a img,\n.menu.icon-right li a i,\n.menu.icon-right li a svg, .menu.nested.icon-right li a img,\n.menu.nested.icon-right li a i,\n.menu.nested.icon-right li a svg {\n margin-left: 0.25rem;\n display: inline-block;\n}\n.menu.icon-top li a, .menu.nested.icon-top li a {\n text-align: center;\n}\n.menu.icon-top li a img,\n.menu.icon-top li a i,\n.menu.icon-top li a svg, .menu.nested.icon-top li a img,\n.menu.nested.icon-top li a i,\n.menu.nested.icon-top li a svg {\n display: block;\n margin: 0 auto 0.25rem;\n}\n.menu.icon-bottom li a, .menu.nested.icon-bottom li a {\n text-align: center;\n}\n.menu.icon-bottom li a img,\n.menu.icon-bottom li a i,\n.menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,\n.menu.nested.icon-bottom li a i,\n.menu.nested.icon-bottom li a svg {\n display: block;\n margin: 0.25rem auto 0;\n}\n.menu .is-active > a {\n background: #1779ba;\n color: #fefefe;\n}\n.menu .active > a {\n background: #1779ba;\n color: #fefefe;\n}\n.menu.align-left {\n text-align: left;\n}\n.menu.align-right {\n text-align: right;\n}\n.menu.align-right .submenu li {\n text-align: left;\n}\n.menu.align-right.vertical .submenu li {\n text-align: right;\n}\n.menu.align-right .nested {\n margin-right: 1rem;\n margin-left: 0;\n}\n.menu.align-center {\n text-align: center;\n}\n.menu.align-center .submenu li {\n text-align: left;\n}\n.menu .menu-text {\n padding: 0.7rem 1rem;\n font-weight: bold;\n line-height: 1;\n color: inherit;\n}\n\n.menu-centered > .menu {\n text-align: center;\n}\n.menu-centered > .menu .submenu li {\n text-align: left;\n}\n\n.no-js [data-responsive-menu] ul {\n display: none;\n}\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}\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}\n.menu-icon:hover::after {\n background: #cacaca;\n box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;\n}\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}\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}\n.menu-icon.dark:hover::after {\n background: #8a8a8a;\n box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;\n}\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}\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-bottom-width: 0;\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\n.is-accordion-submenu-parent {\n position: relative;\n}\n\n.has-submenu-toggle > a {\n margin-right: 40px;\n}\n\n.submenu-toggle {\n position: absolute;\n top: 0;\n right: 0;\n width: 40px;\n height: 40px;\n cursor: pointer;\n}\n.submenu-toggle::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-bottom-width: 0;\n border-color: #1779ba transparent transparent;\n top: 0;\n bottom: 0;\n margin: auto;\n}\n\n.submenu-toggle[aria-expanded=true]::after {\n transform: scaleY(-1);\n transform-origin: 50% 50%;\n}\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\n.is-drilldown {\n position: relative;\n overflow: hidden;\n}\n.is-drilldown li {\n display: block;\n}\n.is-drilldown.animate-height {\n transition: height 0.5s;\n}\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}\n.drilldown .is-drilldown-submenu.is-active {\n z-index: 1;\n display: block;\n transform: translateX(-100%);\n}\n.drilldown .is-drilldown-submenu.is-closing {\n transform: translateX(100%);\n}\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}\n.drilldown .is-drilldown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-right-width: 0;\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-style: solid;\n border-width: 6px;\n content: \"\";\n border-right-width: 0;\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-style: solid;\n border-width: 6px;\n content: \"\";\n border-left-width: 0;\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-style: solid;\n border-width: 6px;\n content: \"\";\n border-left-width: 0;\n border-color: transparent #1779ba transparent transparent;\n display: inline-block;\n vertical-align: middle;\n margin-right: 0.75rem;\n}\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-style: solid;\n border-width: 6px;\n content: \"\";\n border-bottom-width: 0;\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-style: solid;\n border-width: 6px;\n content: \"\";\n border-left-width: 0;\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-style: solid;\n border-width: 6px;\n content: \"\";\n border-right-width: 0;\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 }\n .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0;\n }\n .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem;\n }\n .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-bottom-width: 0;\n border-color: #1779ba transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px;\n }\n .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n top: 0;\n }\n .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto;\n }\n .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%;\n }\n .dropdown.menu.medium-vertical > li > a::after {\n right: 14px;\n }\n .dropdown.menu.medium-vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-left-width: 0;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 5px;\n }\n .dropdown.menu.medium-vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-right-width: 0;\n border-color: transparent transparent transparent #1779ba;\n }\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 }\n .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n top: 100%;\n right: auto;\n left: 0;\n }\n .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n position: relative;\n padding-right: 1.5rem;\n }\n .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-bottom-width: 0;\n border-color: #1779ba transparent transparent;\n right: 5px;\n left: auto;\n margin-top: -3px;\n }\n .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n top: 0;\n }\n .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n top: 0;\n right: 100%;\n left: auto;\n }\n .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%;\n }\n .dropdown.menu.large-vertical > li > a::after {\n right: 14px;\n }\n .dropdown.menu.large-vertical > li.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-left-width: 0;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 5px;\n }\n .dropdown.menu.large-vertical > li.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-right-width: 0;\n border-color: transparent transparent transparent #1779ba;\n }\n}\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n top: 100%;\n right: 0;\n left: auto;\n}\n\n.is-dropdown-menu.vertical {\n width: 100px;\n}\n.is-dropdown-menu.vertical.align-right {\n float: right;\n}\n\n.is-dropdown-submenu-parent {\n position: relative;\n}\n.is-dropdown-submenu-parent a::after {\n position: absolute;\n top: 50%;\n right: 5px;\n left: auto;\n margin-top: -6px;\n}\n.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n top: 100%;\n left: auto;\n}\n.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n right: 100%;\n left: auto;\n}\n.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n right: auto;\n left: 100%;\n}\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}\n.dropdown .is-dropdown-submenu a {\n padding: 0.7rem 1rem;\n}\n.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n right: 14px;\n}\n.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-left-width: 0;\n border-color: transparent #1779ba transparent transparent;\n right: auto;\n left: 5px;\n}\n.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n display: block;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: 6px;\n content: \"\";\n border-right-width: 0;\n border-color: transparent transparent transparent #1779ba;\n}\n.is-dropdown-submenu .is-dropdown-submenu {\n margin-top: -1px;\n}\n.is-dropdown-submenu > li {\n width: 100%;\n}\n.is-dropdown-submenu.js-dropdown-active {\n display: block;\n}\n\n.is-off-canvas-open {\n overflow: hidden;\n}\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}\n.js-off-canvas-overlay.is-visible {\n opacity: 1;\n visibility: visible;\n}\n.js-off-canvas-overlay.is-closable {\n cursor: pointer;\n}\n.js-off-canvas-overlay.is-overlay-absolute {\n position: absolute;\n}\n.js-off-canvas-overlay.is-overlay-fixed {\n position: fixed;\n}\n\n.off-canvas-wrapper {\n position: relative;\n overflow: hidden;\n}\n\n.off-canvas {\n z-index: 12;\n transition: transform 0.5s ease;\n backface-visibility: hidden;\n background: #e6e6e6;\n position: fixed;\n}\n[data-whatinput=mouse] .off-canvas {\n outline: 0;\n}\n.off-canvas.is-transition-push {\n z-index: 12;\n}\n.off-canvas.is-closed {\n visibility: hidden;\n}\n.off-canvas.is-transition-overlap {\n z-index: 13;\n}\n.off-canvas.is-transition-overlap.is-open {\n box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n}\n.off-canvas.is-open {\n transform: translate(0, 0);\n}\n\n.off-canvas-absolute {\n z-index: 12;\n transition: transform 0.5s ease;\n backface-visibility: hidden;\n background: #e6e6e6;\n position: absolute;\n}\n[data-whatinput=mouse] .off-canvas-absolute {\n outline: 0;\n}\n.off-canvas-absolute.is-transition-push {\n z-index: 12;\n}\n.off-canvas-absolute.is-closed {\n visibility: hidden;\n}\n.off-canvas-absolute.is-transition-overlap {\n z-index: 13;\n}\n.off-canvas-absolute.is-transition-overlap.is-open {\n box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);\n}\n.off-canvas-absolute.is-open {\n transform: translate(0, 0);\n}\n\n.position-left {\n top: 0;\n left: 0;\n height: 100%;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n width: 250px;\n transform: translateX(-250px);\n}\n.off-canvas-content .off-canvas.position-left {\n transform: translateX(-250px);\n}\n.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {\n transform: translate(0, 0);\n}\n\n.off-canvas-content.is-open-left.has-transition-push {\n transform: translateX(250px);\n}\n\n.position-left.is-transition-push {\n box-shadow: inset -13px 0 20px -13px rgba(10, 10, 10, 0.25);\n}\n\n.position-right {\n top: 0;\n right: 0;\n height: 100%;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n width: 250px;\n transform: translateX(250px);\n}\n.off-canvas-content .off-canvas.position-right {\n transform: translateX(250px);\n}\n.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {\n transform: translate(0, 0);\n}\n\n.off-canvas-content.is-open-right.has-transition-push {\n transform: translateX(-250px);\n}\n\n.position-right.is-transition-push {\n box-shadow: inset 13px 0 20px -13px rgba(10, 10, 10, 0.25);\n}\n\n.position-top {\n top: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n height: 250px;\n transform: translateY(-250px);\n}\n.off-canvas-content .off-canvas.position-top {\n transform: translateY(-250px);\n}\n.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {\n transform: translate(0, 0);\n}\n\n.off-canvas-content.is-open-top.has-transition-push {\n transform: translateY(250px);\n}\n\n.position-top.is-transition-push {\n box-shadow: inset 0 -13px 20px -13px rgba(10, 10, 10, 0.25);\n}\n\n.position-bottom {\n bottom: 0;\n left: 0;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n height: 250px;\n transform: translateY(250px);\n}\n.off-canvas-content .off-canvas.position-bottom {\n transform: translateY(250px);\n}\n.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {\n transform: translate(0, 0);\n}\n\n.off-canvas-content.is-open-bottom.has-transition-push {\n transform: translateY(-250px);\n}\n\n.position-bottom.is-transition-push {\n box-shadow: inset 0 13px 20px -13px rgba(10, 10, 10, 0.25);\n}\n\n.off-canvas-content {\n transform: none;\n backface-visibility: hidden;\n}\n.off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {\n transition: transform 0.5s ease;\n}\n.off-canvas-content.has-transition-push {\n transform: translate(0, 0);\n}\n.off-canvas-content .off-canvas.is-open {\n transform: translate(0, 0);\n}\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 }\n .position-left.reveal-for-medium .close-button {\n display: none;\n }\n .off-canvas-content .position-left.reveal-for-medium {\n transform: none;\n }\n .off-canvas-content.has-reveal-left {\n margin-left: 250px;\n }\n .position-left.reveal-for-medium ~ .off-canvas-content {\n margin-left: 250px;\n }\n .position-right.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible;\n }\n .position-right.reveal-for-medium .close-button {\n display: none;\n }\n .off-canvas-content .position-right.reveal-for-medium {\n transform: none;\n }\n .off-canvas-content.has-reveal-right {\n margin-right: 250px;\n }\n .position-right.reveal-for-medium ~ .off-canvas-content {\n margin-right: 250px;\n }\n .position-top.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible;\n }\n .position-top.reveal-for-medium .close-button {\n display: none;\n }\n .off-canvas-content .position-top.reveal-for-medium {\n transform: none;\n }\n .off-canvas-content.has-reveal-top {\n margin-top: 250px;\n }\n .position-top.reveal-for-medium ~ .off-canvas-content {\n margin-top: 250px;\n }\n .position-bottom.reveal-for-medium {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible;\n }\n .position-bottom.reveal-for-medium .close-button {\n display: none;\n }\n .off-canvas-content .position-bottom.reveal-for-medium {\n transform: none;\n }\n .off-canvas-content.has-reveal-bottom {\n margin-bottom: 250px;\n }\n .position-bottom.reveal-for-medium ~ .off-canvas-content {\n margin-bottom: 250px;\n }\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 }\n .position-left.reveal-for-large .close-button {\n display: none;\n }\n .off-canvas-content .position-left.reveal-for-large {\n transform: none;\n }\n .off-canvas-content.has-reveal-left {\n margin-left: 250px;\n }\n .position-left.reveal-for-large ~ .off-canvas-content {\n margin-left: 250px;\n }\n .position-right.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible;\n }\n .position-right.reveal-for-large .close-button {\n display: none;\n }\n .off-canvas-content .position-right.reveal-for-large {\n transform: none;\n }\n .off-canvas-content.has-reveal-right {\n margin-right: 250px;\n }\n .position-right.reveal-for-large ~ .off-canvas-content {\n margin-right: 250px;\n }\n .position-top.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible;\n }\n .position-top.reveal-for-large .close-button {\n display: none;\n }\n .off-canvas-content .position-top.reveal-for-large {\n transform: none;\n }\n .off-canvas-content.has-reveal-top {\n margin-top: 250px;\n }\n .position-top.reveal-for-large ~ .off-canvas-content {\n margin-top: 250px;\n }\n .position-bottom.reveal-for-large {\n transform: none;\n z-index: 12;\n transition: none;\n visibility: visible;\n }\n .position-bottom.reveal-for-large .close-button {\n display: none;\n }\n .off-canvas-content .position-bottom.reveal-for-large {\n transform: none;\n }\n .off-canvas-content.has-reveal-bottom {\n margin-bottom: 250px;\n }\n .position-bottom.reveal-for-large ~ .off-canvas-content {\n margin-bottom: 250px;\n }\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 }\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 }\n .off-canvas.in-canvas-for-medium .close-button {\n display: none;\n }\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 }\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 }\n .off-canvas.in-canvas-for-large .close-button {\n display: none;\n }\n}\nhtml.is-reveal-open {\n position: fixed;\n width: 100%;\n overflow-y: hidden;\n}\nhtml.is-reveal-open.zf-has-scroll {\n overflow-y: scroll;\n -webkit-overflow-scrolling: touch;\n}\nhtml.is-reveal-open body {\n overflow-y: hidden;\n}\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 -webkit-overflow-scrolling: touch;\n}\n\n.reveal {\n position: relative;\n top: 100px;\n margin-right: auto;\n margin-left: auto;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\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}\n[data-whatinput=mouse] .reveal {\n outline: 0;\n}\n@media print, screen and (min-width: 40em) {\n .reveal {\n min-height: 0;\n }\n}\n.reveal .column, .reveal .columns {\n min-width: 0;\n}\n.reveal > :last-child {\n margin-bottom: 0;\n}\n@media print, screen and (min-width: 40em) {\n .reveal {\n width: 600px;\n max-width: 75rem;\n }\n}\n.reveal.collapse {\n padding: 0;\n}\n@media print, screen and (min-width: 40em) {\n .reveal.tiny {\n width: 30%;\n max-width: 75rem;\n }\n}\n@media print, screen and (min-width: 40em) {\n .reveal.small {\n width: 50%;\n max-width: 75rem;\n }\n}\n@media print, screen and (min-width: 40em) {\n .reveal.large {\n width: 90%;\n max-width: 75rem;\n }\n}\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}\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 }\n}\n.reveal.without-overlay {\n position: fixed;\n}\n\n.sticky-container {\n position: relative;\n}\n\n.sticky {\n position: relative;\n z-index: 0;\n transform: translate3d(0, 0, 0);\n}\n\n.sticky.is-stuck {\n position: fixed;\n z-index: 5;\n width: 100%;\n}\n.sticky.is-stuck.is-at-top {\n top: 0;\n}\n.sticky.is-stuck.is-at-bottom {\n bottom: 0;\n}\n\n.sticky.is-anchored {\n position: relative;\n right: auto;\n left: auto;\n}\n.sticky.is-anchored.is-at-bottom {\n bottom: 0;\n}\n\n.title-bar {\n padding: 0.5rem;\n background: #0a0a0a;\n color: #fefefe;\n}\n.title-bar::before, .title-bar::after {\n display: table;\n content: \" \";\n}\n.title-bar::after {\n clear: both;\n}\n.title-bar .menu-icon {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n}\n\n.title-bar-left {\n float: left;\n}\n\n.title-bar-right {\n float: right;\n text-align: right;\n}\n\n.title-bar-title {\n display: inline-block;\n vertical-align: middle;\n font-weight: bold;\n}\n\n.top-bar {\n padding: 0.5rem;\n}\n.top-bar::before, .top-bar::after {\n display: table;\n content: \" \";\n}\n.top-bar::after {\n clear: both;\n}\n.top-bar,\n.top-bar ul {\n background-color: #e6e6e6;\n}\n.top-bar input {\n max-width: 200px;\n margin-right: 1rem;\n}\n.top-bar .input-group-field {\n width: 100%;\n margin-right: 0;\n}\n.top-bar input.button {\n width: auto;\n}\n\n.top-bar .top-bar-left,\n.top-bar .top-bar-right {\n width: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n .top-bar .top-bar-left,\n .top-bar .top-bar-right {\n width: auto;\n }\n}\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 }\n}\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}\n\n.top-bar-title {\n display: inline-block;\n float: left;\n padding: 0.5rem 1rem 0.5rem 0;\n}\n.top-bar-title .menu-icon {\n bottom: 2px;\n}\n\n.top-bar-left {\n float: left;\n}\n\n.top-bar-right {\n float: right;\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-center {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n\n.clearfix::before, .clearfix::after {\n display: table;\n content: \" \";\n}\n.clearfix::after {\n clear: both;\n}\n\n.hide {\n display: none !important;\n}\n\n.invisible {\n visibility: hidden;\n}\n\n.visible {\n visibility: visible;\n}\n\n@media print, screen and (max-width: 39.99875em) {\n .hide-for-small-only {\n display: none !important;\n }\n}\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n .show-for-small-only {\n display: none !important;\n }\n}\n\n@media print, screen and (min-width: 40em) {\n .hide-for-medium {\n display: none !important;\n }\n}\n\n@media screen and (max-width: 39.99875em) {\n .show-for-medium {\n display: none !important;\n }\n}\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}\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}\n\n@media print, screen and (min-width: 64em) {\n .hide-for-large {\n display: none !important;\n }\n}\n\n@media screen and (max-width: 63.99875em) {\n .show-for-large {\n display: none !important;\n }\n}\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}\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}\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\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\n.show-for-landscape,\n.hide-for-portrait {\n display: block !important;\n}\n@media screen and (orientation: landscape) {\n .show-for-landscape,\n .hide-for-portrait {\n display: block !important;\n }\n}\n@media screen and (orientation: portrait) {\n .show-for-landscape,\n .hide-for-portrait {\n display: none !important;\n }\n}\n\n.hide-for-landscape,\n.show-for-portrait {\n display: none !important;\n}\n@media screen and (orientation: landscape) {\n .hide-for-landscape,\n .show-for-portrait {\n display: none !important;\n }\n}\n@media screen and (orientation: portrait) {\n .hide-for-landscape,\n .show-for-portrait {\n display: block !important;\n }\n}\n\n.show-for-dark-mode {\n display: none;\n}\n\n.hide-for-dark-mode {\n display: block;\n}\n\n@media screen and (prefers-color-scheme: dark) {\n .show-for-dark-mode {\n display: block !important;\n }\n .hide-for-dark-mode {\n display: none !important;\n }\n}\n.show-for-ie {\n display: none;\n}\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .show-for-ie {\n display: block !important;\n }\n .hide-for-ie {\n display: none !important;\n }\n}\n.show-for-sticky {\n display: none;\n}\n\n.is-stuck .show-for-sticky {\n display: block;\n}\n\n.is-stuck .hide-for-sticky {\n display: none;\n}","/**\n * Foundation for Sites\n * Version 6.9.0\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/// Patch to fix issue #12080\n$-zf-size: null;\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 - divide(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 -webkit-overflow-scrolling: touch;\n}\n\n/// Adds base styles for a modal.\n@mixin reveal-modal-base {\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 disable-mouse-outline;\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 -webkit-overflow-scrolling: touch;\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 position: relative;\n top: 100px;\n margin-right: auto;\n margin-left: auto;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n\n @include reveal-modal-base;\n @include reveal-modal-width($reveal-width);\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","// sass-lint:disable no-vendor-prefixes\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: 0; // 1\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 // Disable outline when intent is clearly mouse and touch\n [data-whatintent=\"mouse\"],\n [data-whatintent=\"touch\"],\n [data-whatinput=\"mouse\"],\n [data-whatinput=\"touch\"] {\n *, *:focus {\n outline: none;\n }\n }\n\n // Disable iOS callouts when draggable is false\n [draggable=false] {\n -webkit-touch-callout: none;\n -webkit-user-select: 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 safe padding on the body for non-rectangular devices (i.e. phones with notches)\n/// @type Boolean\n$body-safe-padding: false !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 @if ($body-safe-padding) {\n // using environment variables to account for non-rectangular displays e.g. phones with notches\n padding-top: env(safe-area-inset-top);\n padding-right: env(safe-area-inset-right);\n padding-bottom: env(safe-area-inset-bottom);\n padding-left: env(safe-area-inset-left);\n }\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 '); - } else { - $elem.attr({ - 'aria-controls': subId, - 'aria-expanded': isActive, - 'id': linkId - }); - } - $sub.attr({ - 'aria-labelledby': linkId, - 'aria-hidden': !isActive, - 'role': 'group', - 'id': subId - }); - }); - var initPanes = this.$element.find('.is-active'); - if (initPanes.length) { - initPanes.each(function () { - _this.down($__default["default"](this)); - }); - } - this._events(); - } - - /** - * Adds event handlers for items within the menu. - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this = this; - this.$element.find('li').each(function () { - var $submenu = $__default["default"](this).children('[data-submenu]'); - if ($submenu.length) { - if (_this.options.submenuToggle) { - $__default["default"](this).children('.submenu-toggle').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function () { - _this.toggle($submenu); - }); - } else { - $__default["default"](this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) { - e.preventDefault(); - _this.toggle($submenu); - }); - } - } - }).on('keydown.zf.accordionMenu', function (e) { - var $element = $__default["default"](this), - $elements = $element.parent('ul').children('li'), - $prevElement, - $nextElement, - $target = $element.children('[data-submenu]'); - $elements.each(function (i) { - if ($__default["default"](this).is($element)) { - $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first(); - $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first(); - if ($__default["default"](this).children('[data-submenu]:visible').length) { - // has open sub menu - $nextElement = $element.find('li:first-child').find('a').first(); - } - if ($__default["default"](this).is(':first-child')) { - // is first element of sub menu - $prevElement = $element.parents('li').first().find('a').first(); - } else if ($prevElement.parents('li').first().children('[data-submenu]:visible').length) { - // if previous element has open sub menu - $prevElement = $prevElement.parents('li').find('li:last-child').find('a').first(); - } - if ($__default["default"](this).is(':last-child')) { - // is last element of sub menu - $nextElement = $element.parents('li').first().next('li').find('a').first(); - } - return; - } - }); - Keyboard.handleKey(e, 'AccordionMenu', { - open: function open() { - if ($target.is(':hidden')) { - _this.down($target); - $target.find('li').first().find('a').first().focus(); - } - }, - close: function close() { - if ($target.length && !$target.is(':hidden')) { - // close active sub of this item - _this.up($target); - } else if ($element.parent('[data-submenu]').length) { - // close currently open sub - _this.up($element.parent('[data-submenu]')); - $element.parents('li').first().find('a').first().focus(); - } - }, - up: function up() { - $prevElement.focus(); - return true; - }, - down: function down() { - $nextElement.focus(); - return true; - }, - toggle: function toggle() { - if (_this.options.submenuToggle) { - return false; - } - if ($element.children('[data-submenu]').length) { - _this.toggle($element.children('[data-submenu]')); - return true; - } - }, - closeAll: function closeAll() { - _this.hideAll(); - }, - handled: function handled(preventDefault) { - if (preventDefault) { - e.preventDefault(); - } - } - }); - }); //.attr('tabindex', 0); - } - - /** - * Closes all panes of the menu. - * @function - */ - }, { - key: "hideAll", - value: function hideAll() { - this.up(this.$element.find('[data-submenu]')); - } - - /** - * Opens all panes of the menu. - * @function - */ - }, { - key: "showAll", - value: function showAll() { - this.down(this.$element.find('[data-submenu]')); - } - - /** - * Toggles the open/close state of a submenu. - * @function - * @param {jQuery} $target - the submenu to toggle - */ - }, { - key: "toggle", - value: function toggle($target) { - if (!$target.is(':animated')) { - if (!$target.is(':hidden')) { - this.up($target); - } else { - this.down($target); - } - } - } - - /** - * Opens the sub-menu defined by `$target`. - * @param {jQuery} $target - Sub-menu to open. - * @fires AccordionMenu#down - */ - }, { - key: "down", - value: function down($target) { - var _this2 = this; - // If having multiple submenus active is disabled, close all the submenus - // that are not parents or children of the targeted submenu. - if (!this.options.multiOpen) { - // The "branch" of the targetted submenu, from the component root to - // the active submenus nested in it. - var $targetBranch = $target.parentsUntil(this.$element).add($target).add($target.find('.is-active')); - // All the active submenus that are not in the branch. - var $othersActiveSubmenus = this.$element.find('.is-active').not($targetBranch); - this.up($othersActiveSubmenus); - } - $target.addClass('is-active').attr({ - 'aria-hidden': false - }); - if (this.options.submenuToggle) { - $target.prev('.submenu-toggle').attr({ - 'aria-expanded': true - }); - } else { - $target.parent('.is-accordion-submenu-parent').attr({ - 'aria-expanded': true - }); - } - $target.slideDown(this.options.slideSpeed, function () { - /** - * Fires when the menu is done opening. - * @event AccordionMenu#down - */ - _this2.$element.trigger('down.zf.accordionMenu', [$target]); - }); - } - - /** - * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well. - * @param {jQuery} $target - Sub-menu to close. - * @fires AccordionMenu#up - */ - }, { - key: "up", - value: function up($target) { - var _this3 = this; - var $submenus = $target.find('[data-submenu]'); - var $allmenus = $target.add($submenus); - $submenus.slideUp(0); - $allmenus.removeClass('is-active').attr('aria-hidden', true); - if (this.options.submenuToggle) { - $allmenus.prev('.submenu-toggle').attr('aria-expanded', false); - } else { - $allmenus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false); - } - $target.slideUp(this.options.slideSpeed, function () { - /** - * Fires when the menu is done collapsing up. - * @event AccordionMenu#up - */ - _this3.$element.trigger('up.zf.accordionMenu', [$target]); - }); - } - - /** - * Destroys an instance of accordion menu. - * @fires AccordionMenu#destroyed - */ - }, { - key: "_destroy", - value: function _destroy() { - 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(); - if (this.options.submenuToggle) { - this.$element.find('.has-submenu-toggle').removeClass('has-submenu-toggle'); - this.$element.find('.submenu-toggle').remove(); - } - Nest.Burn(this.$element, 'accordion'); - } - }]); -}(Plugin); -AccordionMenu.defaults = { - /** - * Adds the parent link to the submenu. - * @option - * @type {boolean} - * @default false - */ - parentLink: false, - /** - * Amount of time to animate the opening of a submenu in ms. - * @option - * @type {number} - * @default 250 - */ - slideSpeed: 250, - /** - * Adds a separate submenu toggle button. This allows the parent item to have a link. - * @option - * @example true - */ - submenuToggle: false, - /** - * The text used for the submenu toggle if enabled. This is used for screen readers only. - * @option - * @example true - */ - submenuToggleText: 'Toggle menu', - /** - * Allow the menu to have multiple open panes. - * @option - * @type {boolean} - * @default true - */ - multiOpen: true -}; - -/** - * Drilldown module. - * @module foundation.drilldown - * @requires foundation.util.keyboard - * @requires foundation.util.nest - * @requires foundation.util.box - */ -var Drilldown = /*#__PURE__*/function (_Plugin) { - function Drilldown() { - _classCallCheck(this, Drilldown); - return _callSuper(this, Drilldown, arguments); - } - _inherits(Drilldown, _Plugin); - return _createClass(Drilldown, [{ - key: "_setup", - value: - /** - * Creates a new instance of a drilldown menu. - * @class - * @name Drilldown - * @param {jQuery} element - jQuery object to make into an accordion menu. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Drilldown.defaults, this.$element.data(), options); - this.className = 'Drilldown'; // ie9 back compat - - this._init(); - Keyboard.register('Drilldown', { - 'ENTER': 'open', - 'SPACE': 'open', - 'ARROW_RIGHT': 'next', - 'ARROW_UP': 'up', - 'ARROW_DOWN': 'down', - 'ARROW_LEFT': 'previous', - 'ESCAPE': 'close' - }); - } - - /** - * Initializes the drilldown by creating jQuery collections of elements - * @private - */ - }, { - key: "_init", - value: function _init() { - Nest.Feather(this.$element, 'drilldown'); - if (this.options.autoApplyClass) { - this.$element.addClass('drilldown'); - } - this.$element.attr({ - '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').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 - this.$currentMenu = this.$element; - this.$element.attr('data-mutate', this.$element.attr('data-drilldown') || GetYoDigits(6, 'drilldown')); - this._prepareMenu(); - this._registerEvents(); - this._keyboardEvents(); - } - - /** - * prepares drilldown menu by setting attributes to links and elements - * sets a min height to prevent content jumping - * wraps the element if not already wrapped - * @private - * @function - */ - }, { - key: "_prepareMenu", - value: function _prepareMenu() { - var _this = this; - // if(!this.options.holdOpen){ - // this._menuLinkEvents(); - // } - this.$submenuAnchors.each(function () { - var $link = $__default["default"](this); - var $sub = $link.parent(); - if (_this.options.parentLink) { - $link.clone().prependTo($sub.children('[data-submenu]')).wrap('
  • '); - } - $link.data('savedHref', $link.attr('href')).removeAttr('href').attr('tabindex', 0); - $link.children('[data-submenu]').attr({ - 'aria-hidden': true, - 'tabindex': 0, - 'role': 'group' - }); - _this._events($link); - }); - this.$submenus.each(function () { - var $menu = $__default["default"](this), - $back = $menu.find('.js-drilldown-back'); - if (!$back.length) { - switch (_this.options.backButtonPosition) { - case "bottom": - $menu.append(_this.options.backButton); - break; - case "top": - $menu.prepend(_this.options.backButton); - break; - default: - console.error("Unsupported backButtonPosition value '" + _this.options.backButtonPosition + "'"); - } - } - _this._back($menu); - }); - this.$submenus.addClass('invisible'); - if (!this.options.autoHeight) { - this.$submenus.addClass('drilldown-submenu-cover-previous'); - } - - // create a wrapper on element if it doesn't exist. - if (!this.$element.parent().hasClass('is-drilldown')) { - this.$wrapper = $__default["default"](this.options.wrapper).addClass('is-drilldown'); - if (this.options.animateHeight) this.$wrapper.addClass('animate-height'); - this.$element.wrap(this.$wrapper); - } - // set wrapper - this.$wrapper = this.$element.parent(); - this.$wrapper.css(this._getMaxDims()); - } - }, { - key: "_resize", - value: function _resize() { - this.$wrapper.css({ - 'max-width': 'none', - 'min-height': 'none' - }); - // _getMaxDims has side effects (boo) but calling it should update all other necessary heights & widths - this.$wrapper.css(this._getMaxDims()); - } - - /** - * Adds event handlers to elements in the menu. - * @function - * @private - * @param {jQuery} $elem - the current menu item to add handlers to. - */ - }, { - key: "_events", - value: function _events($elem) { - var _this = this; - $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) { - if ($__default["default"](e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) { - e.preventDefault(); - } - - // if(e.target !== e.currentTarget.firstElementChild){ - // return false; - // } - _this._show($elem.parent('li')); - if (_this.options.closeOnClick) { - var $body = $__default["default"]('body'); - $body.off('.zf.drilldown').on('click.zf.drilldown', function (ev) { - if (ev.target === _this.$element[0] || $__default["default"].contains(_this.$element[0], ev.target)) { - return; - } - ev.preventDefault(); - _this._hideAll(); - $body.off('.zf.drilldown'); - }); - } - }); - } - - /** - * Adds event handlers to the menu element. - * @function - * @private - */ - }, { - key: "_registerEvents", - value: function _registerEvents() { - if (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)); - } - - /** - * Scroll to Top of Element or data-scroll-top-element - * @function - * @fires Drilldown#scrollme - */ - }, { - key: "_scrollTop", - value: function _scrollTop() { - var _this = this; - var $scrollTopElement = _this.options.scrollTopElement !== '' ? $__default["default"](_this.options.scrollTopElement) : _this.$element, - scrollPos = parseInt($scrollTopElement.offset().top + _this.options.scrollTopOffset, 10); - $__default["default"]('html, body').stop(true).animate({ - scrollTop: scrollPos - }, _this.options.animationDuration, _this.options.animationEasing, function () { - /** - * Fires after the menu has scrolled - * @event Drilldown#scrollme - */ - if (this === $__default["default"]('html')[0]) _this.$element.trigger('scrollme.zf.drilldown'); - }); - } - - /** - * Adds keydown event listener to `li`'s in the menu. - * @private - */ - }, { - key: "_keyboardEvents", - value: function _keyboardEvents() { - var _this = this; - this.$menuItems.add(this.$element.find('.js-drilldown-back > a, .is-submenu-parent-item > a')).on('keydown.zf.drilldown', function (e) { - var $element = $__default["default"](this), - $elements = $element.parent('li').parent('ul').children('li').children('a'), - $prevElement, - $nextElement; - $elements.each(function (i) { - if ($__default["default"](this).is($element)) { - $prevElement = $elements.eq(Math.max(0, i - 1)); - $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)); - return; - } - }); - Keyboard.handleKey(e, 'Drilldown', { - next: function next() { - if ($element.is(_this.$submenuAnchors)) { - _this._show($element.parent('li')); - $element.parent('li').one(transitionend($element), function () { - $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); - }); - return true; - } - }, - previous: function previous() { - _this._hide($element.parent('li').parent('ul')); - $element.parent('li').parent('ul').one(transitionend($element), function () { - setTimeout(function () { - $element.parent('li').parent('ul').parent('li').children('a').first().focus(); - }, 1); - }); - return true; - }, - up: function up() { - $prevElement.focus(); - // Don't tap focus on first element in root ul - return !$element.is(_this.$element.find('> li:first-child > a')); - }, - down: function down() { - $nextElement.focus(); - // Don't tap focus on last element in root ul - return !$element.is(_this.$element.find('> li:last-child > a')); - }, - close: function close() { - // Don't close on element in root ul - if (!$element.is(_this.$element.find('> li > a'))) { - _this._hide($element.parent().parent()); - $element.parent().parent().siblings('a').focus(); - } - }, - open: function open() { - if (_this.options.parentLink && $element.attr('href')) { - // Link with href - return false; - } else if (!$element.is(_this.$menuItems)) { - // not menu item means back button - _this._hide($element.parent('li').parent('ul')); - $element.parent('li').parent('ul').one(transitionend($element), function () { - setTimeout(function () { - $element.parent('li').parent('ul').parent('li').children('a').first().focus(); - }, 1); - }); - return true; - } else if ($element.is(_this.$submenuAnchors)) { - // Sub menu item - _this._show($element.parent('li')); - $element.parent('li').one(transitionend($element), function () { - $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); - }); - return true; - } - }, - handled: function handled(preventDefault) { - if (preventDefault) { - e.preventDefault(); - } - } - }); - }); // end keyboardAccess - } - - /** - * Closes all open elements, and returns to root menu. - * @function - * @fires Drilldown#close - * @fires Drilldown#closed - */ - }, { - key: "_hideAll", - value: function _hideAll() { - var _this2 = this; - var $elem = this.$element.find('.is-drilldown-submenu.is-active'); - $elem.addClass('is-closing'); - $elem.parent().closest('ul').removeClass('invisible'); - if (this.options.autoHeight) { - var calcHeight = $elem.parent().closest('ul').data('calcHeight'); - this.$wrapper.css({ - height: calcHeight - }); - } - - /** - * Fires when the menu is closing. - * @event Drilldown#close - */ - this.$element.trigger('close.zf.drilldown'); - $elem.one(transitionend($elem), function () { - $elem.removeClass('is-active is-closing'); - - /** - * Fires when the menu is fully closed. - * @event Drilldown#closed - */ - _this2.$element.trigger('closed.zf.drilldown'); - }); - } - - /** - * Adds event listener for each `back` button, and closes open menus. - * @function - * @fires Drilldown#back - * @param {jQuery} $elem - the current sub-menu to add `back` event. - */ - }, { - key: "_back", - value: function _back($elem) { - var _this = this; - $elem.off('click.zf.drilldown'); - $elem.children('.js-drilldown-back').on('click.zf.drilldown', function () { - _this._hide($elem); - - // If there is a parent submenu, call show - var parentSubMenu = $elem.parent('li').parent('ul').parent('li'); - if (parentSubMenu.length) { - _this._show(parentSubMenu); - } else { - _this.$currentMenu = _this.$element; - } - }); - } - - /** - * Adds event listener to menu items w/o submenus to close open menus on click. - * @function - * @private - */ - }, { - key: "_menuLinkEvents", - value: function _menuLinkEvents() { - var _this = this; - this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function () { - setTimeout(function () { - _this._hideAll(); - }, 0); - }); - } - - /** - * Sets the CSS classes for submenu to show it. - * @function - * @private - * @param {jQuery} $elem - the target submenu (`ul` tag) - * @param {boolean} trigger - trigger drilldown event - */ - }, { - key: "_setShowSubMenuClasses", - value: function _setShowSubMenuClasses($elem, trigger) { - $elem.addClass('is-active').removeClass('invisible').attr('aria-hidden', false); - $elem.parent('li').attr('aria-expanded', true); - if (trigger === true) { - this.$element.trigger('open.zf.drilldown', [$elem]); - } - } - - /** - * Sets the CSS classes for submenu to hide it. - * @function - * @private - * @param {jQuery} $elem - the target submenu (`ul` tag) - * @param {boolean} trigger - trigger drilldown event - */ - }, { - key: "_setHideSubMenuClasses", - value: function _setHideSubMenuClasses($elem, trigger) { - $elem.removeClass('is-active').addClass('invisible').attr('aria-hidden', true); - $elem.parent('li').attr('aria-expanded', false); - if (trigger === true) { - $elem.trigger('hide.zf.drilldown', [$elem]); - } - } - - /** - * Opens a specific drilldown (sub)menu no matter which (sub)menu in it is currently visible. - * Compared to _show() this lets you jump into any submenu without clicking through every submenu on the way to it. - * @function - * @fires Drilldown#open - * @param {jQuery} $elem - the target (sub)menu (`ul` tag) - * @param {boolean} autoFocus - if true the first link in the target (sub)menu gets auto focused - */ - }, { - key: "_showMenu", - value: function _showMenu($elem, autoFocus) { - var _this = this; - - // Reset drilldown - var $expandedSubmenus = this.$element.find('li[aria-expanded="true"] > ul[data-submenu]'); - $expandedSubmenus.each(function () { - _this._setHideSubMenuClasses($__default["default"](this)); - }); - - // Save the menu as the currently displayed one. - this.$currentMenu = $elem; - - // If target menu is root, focus first link & exit - if ($elem.is('[data-drilldown]')) { - if (autoFocus === true) $elem.find('li > a').first().focus(); - if (this.options.autoHeight) this.$wrapper.css('height', $elem.data('calcHeight')); - return; - } - - // Find all submenus on way to root incl. the element itself - var $submenus = $elem.children().first().parentsUntil('[data-drilldown]', '[data-submenu]'); - - // Open target menu and all submenus on its way to root - $submenus.each(function (index) { - // Update height of first child (target menu) if autoHeight option true - if (index === 0 && _this.options.autoHeight) { - _this.$wrapper.css('height', $__default["default"](this).data('calcHeight')); - } - var isLastChild = index === $submenus.length - 1; - - // Add transitionsend listener to last child (root due to reverse order) to open target menu's first link - // Last child makes sure the event gets always triggered even if going through several menus - if (isLastChild === true) { - $__default["default"](this).one(transitionend($__default["default"](this)), function () { - if (autoFocus === true) { - $elem.find('li > a').first().focus(); - } - }); - } - _this._setShowSubMenuClasses($__default["default"](this), isLastChild); - }); - } - - /** - * Opens a submenu. - * @function - * @fires Drilldown#open - * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag. - */ - }, { - key: "_show", - value: function _show($elem) { - var $submenu = $elem.children('[data-submenu]'); - $elem.attr('aria-expanded', true); - this.$currentMenu = $submenu; - - //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') - }); - } - - /** - * Fires when the submenu has opened. - * @event Drilldown#open - */ - this.$element.trigger('open.zf.drilldown', [$elem]); - } - - /** - * Hides a submenu - * @function - * @fires Drilldown#hide - * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag. - */ - }, { - key: "_hide", - value: function _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 visible'); - $elem.blur().addClass('invisible'); - }); - /** - * Fires when the submenu has closed. - * @event Drilldown#hide - */ - $elem.trigger('hide.zf.drilldown', [$elem]); - } - - /** - * Iterates through the nested menus to calculate the min-height, and max-width for the menu. - * Prevents content jumping. - * @function - * @private - */ - }, { - key: "_getMaxDims", - value: function _getMaxDims() { - var maxHeight = 0, - result = {}, - _this = this; - - // Recalculate menu heights and total max height - this.$submenus.add(this.$element).each(function () { - var height = Box.GetDimensions(this).height; - maxHeight = height > maxHeight ? height : maxHeight; - if (_this.options.autoHeight) { - $__default["default"](this).data('calcHeight', height); - } - }); - if (this.options.autoHeight) result.height = this.$currentMenu.data('calcHeight');else result['min-height'] = "".concat(maxHeight, "px"); - result['max-width'] = "".concat(this.$element[0].getBoundingClientRect().width, "px"); - return result; - } - - /** - * Destroys the Drilldown Menu - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - $__default["default"]('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').off('transitionend otransitionend webkitTransitionEnd').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role'); - this.$submenuAnchors.each(function () { - $__default["default"](this).off('.zf.drilldown'); - }); - this.$element.find('[data-is-parent-link]').detach(); - this.$submenus.removeClass('drilldown-submenu-cover-previous invisible'); - this.$element.find('a').each(function () { - var $link = $__default["default"](this); - $link.removeAttr('tabindex'); - if ($link.data('savedHref')) { - $link.attr('href', $link.data('savedHref')).removeData('savedHref'); - } else { - return; - } - }); - } - }]); -}(Plugin); -Drilldown.defaults = { - /** - * Drilldowns depend on styles in order to function properly; in the default build of Foundation these are - * on the `drilldown` class. This option auto-applies this class to the drilldown upon initialization. - * @option - * @type {boolean} - * @default true - */ - autoApplyClass: true, - /** - * 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. - * @option - * @type {string} - * @default '
  • Back
  • ' - */ - backButton: '
  • Back
  • ', - /** - * Position the back button either at the top or bottom of drilldown submenus. Can be `'left'` or `'bottom'`. - * @option - * @type {string} - * @default top - */ - backButtonPosition: 'top', - /** - * 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. - * @option - * @type {string} - * @default '
    ' - */ - wrapper: '
    ', - /** - * Adds the parent link to the submenu. - * @option - * @type {boolean} - * @default false - */ - parentLink: false, - /** - * Allow the menu to return to root list on body click. - * @option - * @type {boolean} - * @default false - */ - closeOnClick: false, - /** - * Allow the menu to auto adjust height. - * @option - * @type {boolean} - * @default false - */ - autoHeight: false, - /** - * Animate the auto adjust height. - * @option - * @type {boolean} - * @default false - */ - animateHeight: false, - /** - * Scroll to the top of the menu after opening a submenu or navigating back using the menu back button - * @option - * @type {boolean} - * @default false - */ - scrollTop: false, - /** - * String jquery selector (for example 'body') of element to take offset().top from, if empty string the drilldown menu offset().top is taken - * @option - * @type {string} - * @default '' - */ - scrollTopElement: '', - /** - * ScrollTop offset - * @option - * @type {number} - * @default 0 - */ - scrollTopOffset: 0, - /** - * Scroll animation duration - * @option - * @type {number} - * @default 500 - */ - animationDuration: 500, - /** - * Scroll animation easing. Can be `'swing'` or `'linear'`. - * @option - * @type {string} - * @see {@link https://api.jquery.com/animate|JQuery animate} - * @default 'swing' - */ - animationEasing: 'swing' - // holdOpen: false -}; - -var POSITIONS = ['left', 'right', 'top', 'bottom']; -var VERTICAL_ALIGNMENTS = ['top', 'bottom', 'center']; -var HORIZONTAL_ALIGNMENTS = ['left', 'right', 'center']; -var ALIGNMENTS = { - 'left': VERTICAL_ALIGNMENTS, - 'right': VERTICAL_ALIGNMENTS, - 'top': HORIZONTAL_ALIGNMENTS, - 'bottom': HORIZONTAL_ALIGNMENTS -}; -function nextItem(item, array) { - var currentIdx = array.indexOf(item); - if (currentIdx === array.length - 1) { - return array[0]; - } else { - return array[currentIdx + 1]; - } -} -var Positionable = /*#__PURE__*/function (_Plugin) { - function Positionable() { - _classCallCheck(this, Positionable); - return _callSuper(this, Positionable, arguments); - } - _inherits(Positionable, _Plugin); - return _createClass(Positionable, [{ - key: "_init", - value: - /** - * Abstract class encapsulating the tether-like explicit positioning logic - * including repositioning based on overlap. - * Expects classes to define defaults for vOffset, hOffset, position, - * alignment, allowOverlap, and allowBottomOverlap. They can do this by - * extending the defaults, or (for now recommended due to the way docs are - * generated) by explicitly declaring them. - * - **/ - - 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; - this.originalPosition = this.position; - this.originalAlignment = this.alignment; - } - }, { - key: "_getDefaultPosition", - value: function _getDefaultPosition() { - return 'bottom'; - } - }, { - key: "_getDefaultAlignment", - value: function _getDefaultAlignment() { - switch (this.position) { - case 'bottom': - case 'top': - return rtl() ? 'right' : 'left'; - case 'left': - case 'right': - return 'bottom'; - } - } - - /** - * Adjusts the positionable possible positions by iterating through alignments - * and positions. - * @function - * @private - */ - }, { - key: "_reposition", - value: function _reposition() { - if (this._alignmentsExhausted(this.position)) { - this.position = nextItem(this.position, POSITIONS); - this.alignment = ALIGNMENTS[this.position][0]; - } else { - this._realign(); - } - } - - /** - * Adjusts the dropdown pane possible positions by iterating through alignments - * on the current position. - * @function - * @private - */ - }, { - key: "_realign", - value: function _realign() { - this._addTriedPosition(this.position, this.alignment); - this.alignment = nextItem(this.alignment, ALIGNMENTS[this.position]); - } - }, { - key: "_addTriedPosition", - value: function _addTriedPosition(position, alignment) { - this.triedPositions[position] = this.triedPositions[position] || []; - this.triedPositions[position].push(alignment); - } - }, { - key: "_positionsExhausted", - value: function _positionsExhausted() { - var isExhausted = true; - for (var i = 0; i < POSITIONS.length; i++) { - isExhausted = isExhausted && this._alignmentsExhausted(POSITIONS[i]); - } - return isExhausted; - } - }, { - key: "_alignmentsExhausted", - value: function _alignmentsExhausted(position) { - return this.triedPositions[position] && this.triedPositions[position].length === ALIGNMENTS[position].length; - } - - // When we're trying to center, we don't want to apply offset that's going to - // take us just off center, so wrap around to return 0 for the appropriate - // offset in those alignments. TODO: Figure out if we want to make this - // configurable behavior... it feels more intuitive, especially for tooltips, but - // it's possible someone might actually want to start from center and then nudge - // slightly off. - }, { - key: "_getVOffset", - value: function _getVOffset() { - return this.options.vOffset; - } - }, { - key: "_getHOffset", - value: function _getHOffset() { - return this.options.hOffset; - } - }, { - key: "_setPosition", - value: function _setPosition($anchor, $element, $parent) { - if ($anchor.attr('aria-expanded') === 'false') { - return false; - } - if (!this.options.allowOverlap) { - // restore original position & alignment before checking overlap - this.position = this.originalPosition; - this.alignment = this.originalAlignment; - } - $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); - if (!this.options.allowOverlap) { - var minOverlap = 100000000; - // default coordinates to how we start, in case we can't figure out better - var minCoordinates = { - position: this.position, - alignment: this.alignment - }; - while (!this._positionsExhausted()) { - var overlap = Box.OverlapArea($element, $parent, false, false, this.options.allowBottomOverlap); - if (overlap === 0) { - return; - } - if (overlap < minOverlap) { - minOverlap = overlap; - minCoordinates = { - position: this.position, - alignment: this.alignment - }; - } - this._reposition(); - $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); - } - // If we get through the entire loop, there was no non-overlapping - // position available. Pick the version with least overlap. - this.position = minCoordinates.position; - this.alignment = minCoordinates.alignment; - $element.offset(Box.GetExplicitOffsets($element, $anchor, this.position, this.alignment, this._getVOffset(), this._getHOffset())); - } - } - }]); -}(Plugin); -Positionable.defaults = { - /** - * Position of positionable relative to anchor. Can be left, right, bottom, top, or auto. - * @option - * @type {string} - * @default 'auto' - */ - position: 'auto', - /** - * Alignment of positionable relative to anchor. Can be left, right, bottom, top, center, or auto. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - /** - * Allow overlap of container/window. If false, dropdown positionable first - * try to position as defined by data-position and data-alignment, but - * reposition if it would cause an overflow. - * @option - * @type {boolean} - * @default false - */ - allowOverlap: false, - /** - * Allow overlap of only the bottom of the container. This is the most common - * behavior for dropdowns, allowing the dropdown to extend the bottom of the - * screen but not otherwise influence or break out of the container. - * @option - * @type {boolean} - * @default true - */ - allowBottomOverlap: true, - /** - * Number of pixels the positionable should be separated vertically from anchor - * @option - * @type {number} - * @default 0 - */ - vOffset: 0, - /** - * Number of pixels the positionable should be separated horizontally from anchor - * @option - * @type {number} - * @default 0 - */ - hOffset: 0 -}; - -/** - * Dropdown module. - * @module foundation.dropdown - * @requires foundation.util.keyboard - * @requires foundation.util.box - * @requires foundation.util.touch - * @requires foundation.util.triggers - */ -var Dropdown = /*#__PURE__*/function (_Positionable) { - function Dropdown() { - _classCallCheck(this, Dropdown); - return _callSuper(this, Dropdown, arguments); - } - _inherits(Dropdown, _Positionable); - return _createClass(Dropdown, [{ - key: "_setup", - value: - /** - * Creates a new instance of a dropdown. - * @class - * @name Dropdown - * @param {jQuery} element - jQuery object to make into a dropdown. - * Object should be of the dropdown panel, rather than its anchor. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Dropdown.defaults, this.$element.data(), options); - this.className = 'Dropdown'; // ie9 back compat - - // Touch and Triggers init are idempotent, just need to make sure they are initialized - Touch.init($__default["default"]); - Triggers.init($__default["default"]); - this._init(); - Keyboard.register('Dropdown', { - 'ENTER': 'toggle', - 'SPACE': 'toggle', - 'ESCAPE': 'close' - }); - } - - /** - * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor. - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - var $id = this.$element.attr('id'); - this.$anchors = $__default["default"]("[data-toggle=\"".concat($id, "\"]")).length ? $__default["default"]("[data-toggle=\"".concat($id, "\"]")) : $__default["default"]("[data-open=\"".concat($id, "\"]")); - this.$anchors.attr({ - 'aria-controls': $id, - 'data-is-focus': false, - 'data-yeti-box': $id, - 'aria-haspopup': true, - 'aria-expanded': false - }); - this._setCurrentAnchor(this.$anchors.first()); - if (this.options.parentClass) { - this.$parent = this.$element.parents('.' + this.options.parentClass); - } else { - this.$parent = null; - } - - // Set [aria-labelledby] on the Dropdown if it is not set - if (typeof this.$element.attr('aria-labelledby') === 'undefined') { - // Get the anchor ID or create one - if (typeof this.$currentAnchor.attr('id') === 'undefined') { - this.$currentAnchor.attr('id', GetYoDigits(6, 'dd-anchor')); - } - this.$element.attr('aria-labelledby', this.$currentAnchor.attr('id')); - } - this.$element.attr({ - 'aria-hidden': 'true', - 'data-yeti-box': $id, - 'data-resize': $id - }); - _superPropGet(Dropdown, "_init", this, 3)([]); - this._events(); - } - }, { - key: "_getDefaultPosition", - value: function _getDefaultPosition() { - // handle legacy classnames - var position = this.$element[0].className.match(/(top|left|right|bottom)/g); - if (position) { - return position[0]; - } else { - return 'bottom'; - } - } - }, { - key: "_getDefaultAlignment", - value: function _getDefaultAlignment() { - // handle legacy float approach - var horizontalPosition = /float-(\S+)/.exec(this.$currentAnchor.attr('class')); - if (horizontalPosition) { - return horizontalPosition[1]; - } - return _superPropGet(Dropdown, "_getDefaultAlignment", this, 3)([]); - } - - /** - * Sets the position and orientation of the dropdown pane, checks for collisions if allow-overlap is not true. - * Recursively calls itself if a collision is detected, with a new position class. - * @function - * @private - */ - }, { - key: "_setPosition", - value: function _setPosition() { - this.$element.removeClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment)); - _superPropGet(Dropdown, "_setPosition", this, 3)([this.$currentAnchor, this.$element, this.$parent]); - this.$element.addClass("has-position-".concat(this.position, " has-alignment-").concat(this.alignment)); - } - - /** - * Make it a current anchor. - * Current anchor as the reference for the position of Dropdown panes. - * @param {HTML} el - DOM element of the anchor. - * @function - * @private - */ - }, { - key: "_setCurrentAnchor", - value: function _setCurrentAnchor(el) { - this.$currentAnchor = $__default["default"](el); - } - - /** - * Adds event listeners to the element utilizing the triggers utility library. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this = this, - hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined'; - this.$element.on({ - 'open.zf.trigger': this.open.bind(this), - 'close.zf.trigger': this.close.bind(this), - 'toggle.zf.trigger': this.toggle.bind(this), - 'resizeme.zf.trigger': this._setPosition.bind(this) - }); - this.$anchors.off('click.zf.trigger').on('click.zf.trigger', function (e) { - _this._setCurrentAnchor(this); - if ( - // if forceFollow false, always prevent default action - _this.options.forceFollow === false || - // if forceFollow true and hover option true, only prevent default action on 1st click - // on 2nd click (dropown opened) the default action (e.g. follow a href) gets executed - hasTouch && _this.options.hover && _this.$element.hasClass('is-open') === false) { - e.preventDefault(); - } - }); - if (this.options.hover) { - this.$anchors.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () { - _this._setCurrentAnchor(this); - var bodyData = $__default["default"]('body').data(); - if (typeof bodyData.whatinput === 'undefined' || bodyData.whatinput === 'mouse') { - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.open(); - _this.$anchors.data('hover', true); - }, _this.options.hoverDelay); - } - }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function () { - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.close(); - _this.$anchors.data('hover', false); - }, _this.options.hoverDelay); - })); - if (this.options.hoverPane) { - this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () { - clearTimeout(_this.timeout); - }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function () { - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.close(); - _this.$anchors.data('hover', false); - }, _this.options.hoverDelay); - })); - } - } - this.$anchors.add(this.$element).on('keydown.zf.dropdown', function (e) { - var $target = $__default["default"](this); - Keyboard.handleKey(e, 'Dropdown', { - open: function open() { - if ($target.is(_this.$anchors) && !$target.is('input, textarea')) { - _this.open(); - _this.$element.attr('tabindex', -1).focus(); - e.preventDefault(); - } - }, - close: function close() { - _this.close(); - _this.$anchors.focus(); - } - }); - }); - } - - /** - * Adds an event handler to the body to close any dropdowns on a click. - * @function - * @private - */ - }, { - key: "_addBodyHandler", - value: function _addBodyHandler() { - var $body = $__default["default"](document.body).not(this.$element), - _this = this; - $body.off('click.zf.dropdown tap.zf.dropdown').on('click.zf.dropdown tap.zf.dropdown', function (e) { - if (_this.$anchors.is(e.target) || _this.$anchors.find(e.target).length) { - return; - } - if (_this.$element.is(e.target) || _this.$element.find(e.target).length) { - return; - } - _this.close(); - $body.off('click.zf.dropdown tap.zf.dropdown'); - }); - } - - /** - * Opens the dropdown pane, and fires a bubbling event to close other dropdowns. - * @function - * @fires Dropdown#closeme - * @fires Dropdown#show - */ - }, { - key: "open", - value: function open() { - // var _this = this; - /** - * Fires to close other open dropdowns, typically when dropdown is opening - * @event Dropdown#closeme - */ - this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id')); - this.$anchors.addClass('hover').attr({ - 'aria-expanded': true - }); - // this.$element/*.show()*/; - - this.$element.addClass('is-opening'); - this._setPosition(); - this.$element.removeClass('is-opening').addClass('is-open').attr({ - 'aria-hidden': false - }); - if (this.options.autoFocus) { - var $focusable = Keyboard.findFocusable(this.$element); - if ($focusable.length) { - $focusable.eq(0).focus(); - } - } - if (this.options.closeOnClick) { - this._addBodyHandler(); - } - if (this.options.trapFocus) { - Keyboard.trapFocus(this.$element); - } - - /** - * Fires once the dropdown is visible. - * @event Dropdown#show - */ - this.$element.trigger('show.zf.dropdown', [this.$element]); - } - - /** - * Closes the open dropdown pane. - * @function - * @fires Dropdown#hide - */ - }, { - key: "close", - value: function close() { - if (!this.$element.hasClass('is-open')) { - return false; - } - this.$element.removeClass('is-open').attr({ - 'aria-hidden': true - }); - this.$anchors.removeClass('hover').attr('aria-expanded', false); - - /** - * Fires once the dropdown is no longer visible. - * @event Dropdown#hide - */ - this.$element.trigger('hide.zf.dropdown', [this.$element]); - if (this.options.trapFocus) { - Keyboard.releaseFocus(this.$element); - } - } - - /** - * Toggles the dropdown pane's visibility. - * @function - */ - }, { - key: "toggle", - value: function toggle() { - if (this.$element.hasClass('is-open')) { - if (this.$anchors.data('hover')) return; - this.close(); - } else { - this.open(); - } - } - - /** - * Destroys the dropdown. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.trigger').hide(); - this.$anchors.off('.zf.dropdown'); - $__default["default"](document.body).off('click.zf.dropdown tap.zf.dropdown'); - } - }]); -}(Positionable); -Dropdown.defaults = { - /** - * Class that designates bounding container of Dropdown (default: window) - * @option - * @type {?string} - * @default null - */ - parentClass: null, - /** - * Amount of time to delay opening a submenu on hover event. - * @option - * @type {number} - * @default 250 - */ - hoverDelay: 250, - /** - * Allow submenus to open on hover events - * @option - * @type {boolean} - * @default false - */ - hover: false, - /** - * Don't close dropdown when hovering over dropdown pane - * @option - * @type {boolean} - * @default false - */ - hoverPane: false, - /** - * Number of pixels between the dropdown pane and the triggering element on open. - * @option - * @type {number} - * @default 0 - */ - vOffset: 0, - /** - * Number of pixels between the dropdown pane and the triggering element on open. - * @option - * @type {number} - * @default 0 - */ - hOffset: 0, - /** - * Position of dropdown. Can be left, right, bottom, top, or auto. - * @option - * @type {string} - * @default 'auto' - */ - position: 'auto', - /** - * Alignment of dropdown relative to anchor. Can be left, right, bottom, top, center, or auto. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - /** - * 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. - * @option - * @type {boolean} - * @default false - */ - allowOverlap: false, - /** - * Allow overlap of only the bottom of the container. This is the most common - * behavior for dropdowns, allowing the dropdown to extend the bottom of the - * screen but not otherwise influence or break out of the container. - * @option - * @type {boolean} - * @default true - */ - allowBottomOverlap: true, - /** - * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands. - * @option - * @type {boolean} - * @default false - */ - trapFocus: false, - /** - * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening. - * @option - * @type {boolean} - * @default false - */ - autoFocus: false, - /** - * Allows a click on the body to close the dropdown. - * @option - * @type {boolean} - * @default false - */ - closeOnClick: false, - /** - * 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. - * @option - * @type {boolean} - * @default true - */ - forceFollow: true -}; - -/** - * DropdownMenu module. - * @module foundation.dropdownMenu - * @requires foundation.util.keyboard - * @requires foundation.util.box - * @requires foundation.util.nest - * @requires foundation.util.touch - */ -var DropdownMenu = /*#__PURE__*/function (_Plugin) { - function DropdownMenu() { - _classCallCheck(this, DropdownMenu); - return _callSuper(this, DropdownMenu, arguments); - } - _inherits(DropdownMenu, _Plugin); - return _createClass(DropdownMenu, [{ - key: "_setup", - value: - /** - * Creates a new instance of DropdownMenu. - * @class - * @name DropdownMenu - * @fires DropdownMenu#init - * @param {jQuery} element - jQuery object to make into a dropdown menu. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, DropdownMenu.defaults, this.$element.data(), options); - this.className = 'DropdownMenu'; // ie9 back compat - - Touch.init($__default["default"]); // Touch init is idempotent, we just need to make sure it's initialied. - - this._init(); - Keyboard.register('DropdownMenu', { - 'ENTER': 'open', - 'SPACE': 'open', - 'ARROW_RIGHT': 'next', - 'ARROW_UP': 'up', - 'ARROW_DOWN': 'down', - 'ARROW_LEFT': 'previous', - 'ESCAPE': 'close' - }); - } - - /** - * Initializes the plugin, and calls _prepareMenu - * @private - * @function - */ - }, { - key: "_init", - value: function _init() { - Nest.Feather(this.$element, 'dropdown'); - var subs = this.$element.find('li.is-dropdown-submenu-parent'); - this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub'); - this.$menuItems = this.$element.find('li[role="none"]'); - this.$tabs = this.$element.children('li[role="none"]'); - this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass); - if (this.options.alignment === 'auto') { - if (this.$element.hasClass(this.options.rightClass) || rtl() || this.$element.parents('.top-bar-right').is('*')) { - this.options.alignment = 'right'; - subs.addClass('opens-left'); - } else { - this.options.alignment = 'left'; - subs.addClass('opens-right'); - } - } else { - if (this.options.alignment === 'right') { - subs.addClass('opens-left'); - } else { - subs.addClass('opens-right'); - } - } - this.changed = false; - this._events(); - } - }, { - key: "_isVertical", - value: function _isVertical() { - return this.$tabs.css('display') === 'block' || this.$element.css('flex-direction') === 'column'; - } - }, { - key: "_isRtl", - value: function _isRtl() { - return this.$element.hasClass('align-right') || rtl() && !this.$element.hasClass('align-left'); - } - - /** - * Adds event listeners to elements within the menu - * @private - * @function - */ - }, { - key: "_events", - value: function _events() { - var _this = this, - hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined', - parClass = 'is-dropdown-submenu-parent'; - - // used for onClick and in the keyboard handlers - var handleClickFn = function handleClickFn(e) { - var $elem = $__default["default"](e.target).parentsUntil('ul', ".".concat(parClass)), - hasSub = $elem.hasClass(parClass), - hasClicked = $elem.attr('data-is-click') === 'true', - $sub = $elem.children('.is-dropdown-submenu'); - if (hasSub) { - if (hasClicked) { - if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) { - return; - } - e.stopImmediatePropagation(); - e.preventDefault(); - _this._hide($elem); - } else { - e.stopImmediatePropagation(); - e.preventDefault(); - _this._show($sub); - $elem.add($elem.parentsUntil(_this.$element, ".".concat(parClass))).attr('data-is-click', true); - } - } - }; - if (this.options.clickOpen || hasTouch) { - this.$menuItems.on('click.zf.dropdownMenu touchstart.zf.dropdownMenu', handleClickFn); - } - - // Handle Leaf element Clicks - if (_this.options.closeOnClickInside) { - this.$menuItems.on('click.zf.dropdownMenu', function () { - var $elem = $__default["default"](this), - hasSub = $elem.hasClass(parClass); - if (!hasSub) { - _this._hide(); - } - }); - } - if (hasTouch && this.options.disableHoverOnTouch) this.options.disableHover = true; - if (!this.options.disableHover) { - this.$menuItems.on('mouseenter.zf.dropdownMenu', function () { - var $elem = $__default["default"](this), - hasSub = $elem.hasClass(parClass); - if (hasSub) { - clearTimeout($elem.data('_delay')); - $elem.data('_delay', setTimeout(function () { - _this._show($elem.children('.is-dropdown-submenu')); - }, _this.options.hoverDelay)); - } - }).on('mouseleave.zf.dropdownMenu', ignoreMousedisappear(function () { - var $elem = $__default["default"](this), - hasSub = $elem.hasClass(parClass); - if (hasSub && _this.options.autoclose) { - if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) { - return false; - } - clearTimeout($elem.data('_delay')); - $elem.data('_delay', setTimeout(function () { - _this._hide($elem); - }, _this.options.closingTime)); - } - })); - } - this.$menuItems.on('keydown.zf.dropdownMenu', function (e) { - var $element = $__default["default"](e.target).parentsUntil('ul', '[role="none"]'), - isTab = _this.$tabs.index($element) > -1, - $elements = isTab ? _this.$tabs : $element.siblings('li').add($element), - $prevElement, - $nextElement; - $elements.each(function (i) { - if ($__default["default"](this).is($element)) { - $prevElement = $elements.eq(i - 1); - $nextElement = $elements.eq(i + 1); - return; - } - }); - var nextSibling = function nextSibling() { - $nextElement.children('a:first').focus(); - e.preventDefault(); - }, - prevSibling = function prevSibling() { - $prevElement.children('a:first').focus(); - e.preventDefault(); - }, - openSub = function openSub() { - var $sub = $element.children('ul.is-dropdown-submenu'); - if ($sub.length) { - _this._show($sub); - $element.find('li > a:first').focus(); - e.preventDefault(); - } else { - return; - } - }, - closeSub = function closeSub() { - //if ($element.is(':first-child')) { - var close = $element.parent('ul').parent('li'); - close.children('a:first').focus(); - _this._hide(close); - e.preventDefault(); - //} - }; - var functions = { - open: openSub, - close: function close() { - _this._hide(_this.$element); - _this.$menuItems.eq(0).children('a').focus(); // focus to first element - e.preventDefault(); - } - }; - if (isTab) { - if (_this._isVertical()) { - // vertical menu - if (_this._isRtl()) { - // right aligned - $__default["default"].extend(functions, { - down: nextSibling, - up: prevSibling, - next: closeSub, - previous: openSub - }); - } else { - // left aligned - $__default["default"].extend(functions, { - down: nextSibling, - up: prevSibling, - next: openSub, - previous: closeSub - }); - } - } else { - // horizontal menu - if (_this._isRtl()) { - // right aligned - $__default["default"].extend(functions, { - next: prevSibling, - previous: nextSibling, - down: openSub, - up: closeSub - }); - } else { - // left aligned - $__default["default"].extend(functions, { - next: nextSibling, - previous: prevSibling, - down: openSub, - up: closeSub - }); - } - } - } else { - // not tabs -> one sub - if (_this._isRtl()) { - // right aligned - $__default["default"].extend(functions, { - next: closeSub, - previous: openSub, - down: nextSibling, - up: prevSibling - }); - } else { - // left aligned - $__default["default"].extend(functions, { - next: openSub, - previous: closeSub, - down: nextSibling, - up: prevSibling - }); - } - } - Keyboard.handleKey(e, 'DropdownMenu', functions); - }); - } - - /** - * Adds an event handler to the body to close any dropdowns on a click. - * @function - * @private - */ - }, { - key: "_addBodyHandler", - value: function _addBodyHandler() { - var _this2 = this; - var $body = $__default["default"](document.body); - this._removeBodyHandler(); - $body.on('click.zf.dropdownMenu tap.zf.dropdownMenu', function (e) { - var isItself = !!$__default["default"](e.target).closest(_this2.$element).length; - if (isItself) return; - _this2._hide(); - _this2._removeBodyHandler(); - }); - } - - /** - * Remove the body event handler. See `_addBodyHandler`. - * @function - * @private - */ - }, { - key: "_removeBodyHandler", - value: function _removeBodyHandler() { - $__default["default"](document.body).off('click.zf.dropdownMenu tap.zf.dropdownMenu'); - } - - /** - * Opens a dropdown pane, and checks for collisions first. - * @param {jQuery} $sub - ul element that is a submenu to show - * @function - * @private - * @fires DropdownMenu#show - */ - }, { - key: "_show", - value: function _show($sub) { - var idx = this.$tabs.index(this.$tabs.filter(function (i, el) { - return $__default["default"](el).find($sub).length > 0; - })); - var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent'); - this._hide($sibs, idx); - $sub.css('visibility', 'hidden').addClass('js-dropdown-active').parent('li.is-dropdown-submenu-parent').addClass('is-active'); - var clear = Box.ImNotTouchingYou($sub, null, true); - if (!clear) { - var oldClass = this.options.alignment === 'left' ? '-right' : '-left', - $parentLi = $sub.parent('.is-dropdown-submenu-parent'); - $parentLi.removeClass("opens".concat(oldClass)).addClass("opens-".concat(this.options.alignment)); - clear = Box.ImNotTouchingYou($sub, null, true); - if (!clear) { - $parentLi.removeClass("opens-".concat(this.options.alignment)).addClass('opens-inner'); - } - this.changed = true; - } - $sub.css('visibility', ''); - if (this.options.closeOnClick) { - this._addBodyHandler(); - } - /** - * Fires when the new dropdown pane is visible. - * @event DropdownMenu#show - */ - this.$element.trigger('show.zf.dropdownMenu', [$sub]); - } - - /** - * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything. - * @function - * @param {jQuery} $elem - element with a submenu to hide - * @param {Number} idx - index of the $tabs collection to hide - * @fires DropdownMenu#hide - * @private - */ - }, { - key: "_hide", - value: function _hide($elem, idx) { - var $toClose; - if ($elem && $elem.length) { - $toClose = $elem; - } else if (typeof idx !== 'undefined') { - $toClose = this.$tabs.not(function (i) { - return i === idx; - }); - } else { - $toClose = this.$element; - } - var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0; - if (somethingToClose) { - var $activeItem = $toClose.find('li.is-active'); - $activeItem.add($toClose).attr({ - 'data-is-click': false - }).removeClass('is-active'); - $toClose.find('ul.js-dropdown-active').removeClass('js-dropdown-active'); - if (this.changed || $toClose.find('opens-inner').length) { - var oldClass = this.options.alignment === 'left' ? 'right' : 'left'; - $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass("opens-inner opens-".concat(this.options.alignment)).addClass("opens-".concat(oldClass)); - this.changed = false; - } - clearTimeout($activeItem.data('_delay')); - this._removeBodyHandler(); - - /** - * Fires when the open menus are closed. - * @event DropdownMenu#hide - */ - this.$element.trigger('hide.zf.dropdownMenu', [$toClose]); - } - } - - /** - * Destroys the plugin. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.$menuItems.off('.zf.dropdownMenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner'); - $__default["default"](document.body).off('.zf.dropdownMenu'); - Nest.Burn(this.$element, 'dropdown'); - } - }]); -}(Plugin); -/** - * Default settings for plugin - */ -DropdownMenu.defaults = { - /** - * Disallows hover events from opening submenus - * @option - * @type {boolean} - * @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 - * @type {boolean} - * @default true - */ - autoclose: true, - /** - * Amount of time to delay opening a submenu on hover event. - * @option - * @type {number} - * @default 50 - */ - hoverDelay: 50, - /** - * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu. - * @option - * @type {boolean} - * @default false - */ - clickOpen: false, - /** - * Amount of time to delay closing a submenu on a mouseleave event. - * @option - * @type {number} - * @default 500 - */ - - closingTime: 500, - /** - * Position of the menu relative to what direction the submenus should open. Handled by JS. Can be `'auto'`, `'left'` or `'right'`. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - /** - * Allow clicks on the body to close any open submenus. - * @option - * @type {boolean} - * @default true - */ - closeOnClick: true, - /** - * Allow clicks on leaf anchor links to close any open submenus. - * @option - * @type {boolean} - * @default true - */ - closeOnClickInside: true, - /** - * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class. - * @option - * @type {string} - * @default 'vertical' - */ - verticalClass: 'vertical', - /** - * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class. - * @option - * @type {string} - * @default 'align-right' - */ - rightClass: 'align-right', - /** - * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile. - * @option - * @type {boolean} - * @default true - */ - forceFollow: true -}; - -/** - * Equalizer module. - * @module foundation.equalizer - * @requires foundation.util.mediaQuery - * @requires foundation.util.imageLoader if equalizer contains images - */ -var Equalizer = /*#__PURE__*/function (_Plugin) { - function Equalizer() { - _classCallCheck(this, Equalizer); - return _callSuper(this, Equalizer, arguments); - } - _inherits(Equalizer, _Plugin); - return _createClass(Equalizer, [{ - key: "_setup", - value: - /** - * Creates a new instance of Equalizer. - * @class - * @name Equalizer - * @fires Equalizer#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Equalizer.defaults, this.$element.data(), options); - this.className = 'Equalizer'; // ie9 back compat - - this._init(); - } - - /** - * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load. - * @private - */ - }, { - key: "_init", - value: function _init() { - var eqId = this.$element.attr('data-equalizer') || ''; - var $watched = this.$element.find("[data-equalizer-watch=\"".concat(eqId, "\"]")); - MediaQuery._init(); - this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]'); - this.$element.attr('data-resize', eqId || GetYoDigits(6, 'eq')); - this.$element.attr('data-mutate', eqId || GetYoDigits(6, 'eq')); - this.hasNested = this.$element.find('[data-equalizer]').length > 0; - this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0; - this.isOn = false; - this._bindHandler = { - onResizeMeBound: this._onResizeMe.bind(this), - onPostEqualizedBound: this._onPostEqualized.bind(this) - }; - var imgs = this.$element.find('img'); - var tooSmall; - if (this.options.equalizeOn) { - tooSmall = this._checkMQ(); - $__default["default"](window).on('changed.zf.mediaquery', this._checkMQ.bind(this)); - } else { - this._events(); - } - if (typeof tooSmall !== 'undefined' && tooSmall === false || typeof tooSmall === 'undefined') { - if (imgs.length) { - onImagesLoaded(imgs, this._reflow.bind(this)); - } else { - this._reflow(); - } - } - } - - /** - * Removes event listeners if the breakpoint is too small. - * @private - */ - }, { - key: "_pauseEvents", - value: function _pauseEvents() { - this.isOn = false; - this.$element.off({ - '.zf.equalizer': this._bindHandler.onPostEqualizedBound, - 'resizeme.zf.trigger': this._bindHandler.onResizeMeBound, - 'mutateme.zf.trigger': this._bindHandler.onResizeMeBound - }); - } - - /** - * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound - * @private - */ - }, { - key: "_onResizeMe", - value: function _onResizeMe() { - this._reflow(); - } - - /** - * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound - * @private - */ - }, { - key: "_onPostEqualized", - value: function _onPostEqualized(e) { - if (e.target !== this.$element[0]) { - this._reflow(); - } - } - - /** - * Initializes events for Equalizer. - * @private - */ - }, { - key: "_events", - value: function _events() { - this._pauseEvents(); - if (this.hasNested) { - this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound); - } else { - this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound); - this.$element.on('mutateme.zf.trigger', this._bindHandler.onResizeMeBound); - } - this.isOn = true; - } - - /** - * Checks the current breakpoint to the minimum required size. - * @private - */ - }, { - key: "_checkMQ", - value: function _checkMQ() { - var tooSmall = !MediaQuery.is(this.options.equalizeOn); - if (tooSmall) { - if (this.isOn) { - this._pauseEvents(); - this.$watched.css('height', 'auto'); - } - } else { - if (!this.isOn) { - this._events(); - } - } - return tooSmall; - } - - /** - * A noop version for the plugin - * @private - */ - }, { - key: "_killswitch", - value: function _killswitch() { - return; - } - - /** - * Calls necessary functions to update Equalizer upon DOM change - * @private - */ - }, { - key: "_reflow", - value: function _reflow() { - if (!this.options.equalizeOnStack) { - if (this._isStacked()) { - this.$watched.css('height', 'auto'); - return false; - } - } - if (this.options.equalizeByRow) { - this.getHeightsByRow(this.applyHeightByRow.bind(this)); - } else { - this.getHeights(this.applyHeight.bind(this)); - } - } - - /** - * Manually determines if the first 2 elements are *NOT* stacked. - * @private - */ - }, { - key: "_isStacked", - value: function _isStacked() { - if (!this.$watched[0] || !this.$watched[1]) { - return true; - } - return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top; - } - - /** - * Finds the outer heights of children contained within an Equalizer parent and returns them in an array - * @param {Function} cb - A non-optional callback to return the heights array to. - * @returns {Array} heights - An array of heights of children within Equalizer container - */ - }, { - key: "getHeights", - value: function getHeights(cb) { - var heights = []; - for (var i = 0, len = this.$watched.length; i < len; i++) { - this.$watched[i].style.height = 'auto'; - heights.push(this.$watched[i].offsetHeight); - } - cb(heights); - } - - /** - * Finds the outer heights of children contained within an Equalizer parent and returns them in an array - * @param {Function} cb - A non-optional callback to return the heights array to. - * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child - */ - }, { - key: "getHeightsByRow", - value: function getHeightsByRow(cb) { - var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0, - groups = [], - group = 0; - //group by Row - groups[group] = []; - for (var i = 0, len = this.$watched.length; i < len; i++) { - this.$watched[i].style.height = 'auto'; - //maybe could use this.$watched[i].offsetTop - var elOffsetTop = $__default["default"](this.$watched[i]).offset().top; - if (elOffsetTop !== lastElTopOffset) { - group++; - groups[group] = []; - lastElTopOffset = elOffsetTop; - } - groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]); - } - for (var j = 0, ln = groups.length; j < ln; j++) { - var heights = $__default["default"](groups[j]).map(function () { - return this[1]; - }).get(); - var max = Math.max.apply(null, heights); - groups[j].push(max); - } - cb(groups); - } - - /** - * Changes the CSS height property of each child in an Equalizer parent to match the tallest - * @param {array} heights - An array of heights of children within Equalizer container - * @fires Equalizer#preequalized - * @fires Equalizer#postequalized - */ - }, { - key: "applyHeight", - value: function applyHeight(heights) { - var max = Math.max.apply(null, heights); - /** - * Fires before the heights are applied - * @event Equalizer#preequalized - */ - this.$element.trigger('preequalized.zf.equalizer'); - this.$watched.css('height', max); - - /** - * Fires when the heights have been applied - * @event Equalizer#postequalized - */ - this.$element.trigger('postequalized.zf.equalizer'); - } - - /** - * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row - * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child - * @fires Equalizer#preequalized - * @fires Equalizer#preequalizedrow - * @fires Equalizer#postequalizedrow - * @fires Equalizer#postequalized - */ - }, { - key: "applyHeightByRow", - value: function applyHeightByRow(groups) { - /** - * Fires before the heights are applied - */ - this.$element.trigger('preequalized.zf.equalizer'); - for (var i = 0, len = groups.length; i < len; i++) { - var groupsILength = groups[i].length, - max = groups[i][groupsILength - 1]; - if (groupsILength <= 2) { - $__default["default"](groups[i][0][0]).css({ - 'height': 'auto' - }); - continue; - } - /** - * Fires before the heights per row are applied - * @event Equalizer#preequalizedrow - */ - this.$element.trigger('preequalizedrow.zf.equalizer'); - for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) { - $__default["default"](groups[i][j][0]).css({ - 'height': max - }); - } - /** - * Fires when the heights per row have been applied - * @event Equalizer#postequalizedrow - */ - this.$element.trigger('postequalizedrow.zf.equalizer'); - } - /** - * Fires when the heights have been applied - */ - this.$element.trigger('postequalized.zf.equalizer'); - } - - /** - * Destroys an instance of Equalizer. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this._pauseEvents(); - this.$watched.css('height', 'auto'); - } - }]); -}(Plugin); -/** - * Default settings for plugin - */ -Equalizer.defaults = { - /** - * Enable height equalization when stacked on smaller screens. - * @option - * @type {boolean} - * @default false - */ - equalizeOnStack: false, - /** - * Enable height equalization row by row. - * @option - * @type {boolean} - * @default false - */ - equalizeByRow: false, - /** - * String representing the minimum breakpoint size the plugin should equalize heights on. - * @option - * @type {string} - * @default '' - */ - equalizeOn: '' -}; - -/** - * Interchange module. - * @module foundation.interchange - * @requires foundation.util.mediaQuery - */ -var Interchange = /*#__PURE__*/function (_Plugin) { - function Interchange() { - _classCallCheck(this, Interchange); - return _callSuper(this, Interchange, arguments); - } - _inherits(Interchange, _Plugin); - return _createClass(Interchange, [{ - key: "_setup", - value: - /** - * Creates a new instance of Interchange. - * @class - * @name Interchange - * @fires Interchange#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Interchange.defaults, this.$element.data(), options); - this.rules = []; - this.currentPath = ''; - this.className = 'Interchange'; // ie9 back compat - - // Triggers init is idempotent, just need to make sure it is initialized - Triggers.init($__default["default"]); - this._init(); - this._events(); - } - - /** - * Initializes the Interchange plugin and calls functions to get interchange functioning on load. - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - var id = this.$element[0].id || GetYoDigits(6, 'interchange'); - this.$element.attr({ - 'data-resize': id, - 'id': id - }); - this._parseOptions(); - this._addBreakpoints(); - this._generateRules(); - this._reflow(); - } - - /** - * Initializes events for Interchange. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this = this; - this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () { - return _this._reflow(); - }); - } - - /** - * Calls necessary functions to update Interchange upon DOM change - * @function - * @private - */ - }, { - key: "_reflow", - value: function _reflow() { - var match; - - // Iterate through each rule, but only save the last match - for (var i in this.rules) { - if (this.rules.hasOwnProperty(i)) { - var rule = this.rules[i]; - if (window.matchMedia(rule.query).matches) { - match = rule; - } - } - } - if (match) { - this.replace(match.path); - } - } - - /** - * Check options valifity and set defaults for: - * - `data-interchange-type`: if set, enforce the type of replacement (auto, src, background or html) - * @function - * @private - */ - }, { - key: "_parseOptions", - value: function _parseOptions() { - var types = ['auto', 'src', 'background', 'html']; - if (typeof this.options.type === 'undefined') this.options.type = 'auto';else if (types.indexOf(this.options.type) === -1) { - console.warn("Warning: invalid value \"".concat(this.options.type, "\" for Interchange option \"type\"")); - this.options.type = 'auto'; - } - } - - /** - * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object. - * @function - * @private - */ - }, { - key: "_addBreakpoints", - value: function _addBreakpoints() { - for (var i in MediaQuery.queries) { - if (MediaQuery.queries.hasOwnProperty(i)) { - var query = MediaQuery.queries[i]; - Interchange.SPECIAL_QUERIES[query.name] = query.value; - } - } - } - - /** - * Checks the Interchange element for the provided media query + content pairings - * @function - * @private - * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys - */ - }, { - key: "_generateRules", - value: function _generateRules() { - var rulesList = []; - var rules; - if (this.options.rules) { - rules = this.options.rules; - } else { - rules = this.$element.data('interchange'); - } - rules = typeof rules === 'string' ? rules.match(/\[.*?, .*?\]/g) : rules; - for (var i in rules) { - if (rules.hasOwnProperty(i)) { - var rule = rules[i].slice(1, -1).split(', '); - var path = rule.slice(0, -1).join(''); - var query = rule[rule.length - 1]; - if (Interchange.SPECIAL_QUERIES[query]) { - query = Interchange.SPECIAL_QUERIES[query]; - } - rulesList.push({ - path: path, - query: query - }); - } - } - this.rules = rulesList; - } - - /** - * Update the `src` property of an image, or change the HTML of a container, to the specified path. - * @function - * @param {String} path - Path to the image or HTML partial. - * @fires Interchange#replaced - */ - }, { - key: "replace", - value: function replace(path) { - var _this2 = this; - if (this.currentPath === path) return; - var trigger = 'replaced.zf.interchange'; - var type = this.options.type; - if (type === 'auto') { - if (this.$element[0].nodeName === 'IMG') type = 'src';else if (path.match(/\.(gif|jpe?g|png|svg|tiff)([?#].*)?/i)) type = 'background';else type = 'html'; - } - - // Replacing images - if (type === 'src') { - this.$element.attr('src', path).on('load', function () { - _this2.currentPath = path; - }).trigger(trigger); - } - // Replacing background images - else if (type === 'background') { - path = path.replace(/\(/g, '%28').replace(/\)/g, '%29'); - this.$element.css({ - 'background-image': 'url(' + path + ')' - }).trigger(trigger); - } - // Replacing HTML - else if (type === 'html') { - $__default["default"].get(path, function (response) { - _this2.$element.html(response).trigger(trigger); - $__default["default"](response).foundation(); - _this2.currentPath = path; - }); - } - - /** - * Fires when content in an Interchange element is done being loaded. - * @event Interchange#replaced - */ - // this.$element.trigger('replaced.zf.interchange'); - } - - /** - * Destroys an instance of interchange. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('resizeme.zf.trigger'); - } - }]); -}(Plugin); -/** - * Default settings for plugin - */ -Interchange.defaults = { - /** - * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation. - * @option - * @type {?array} - * @default null - */ - rules: null, - /** - * Type of the responsive ressource to replace. It can take the following options: - * - `auto` (default): choose the type according to the element tag or the ressource extension, - * - `src`: replace the `[src]` attribute, recommended for images ``. - * - `background`: replace the `background-image` CSS property. - * - `html`: replace the element content. - * @option - * @type {string} - * @default 'auto' - */ - type: 'auto' -}; -Interchange.SPECIAL_QUERIES = { - 'landscape': 'screen and (orientation: landscape)', - 'portrait': 'screen and (orientation: portrait)', - '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)' -}; - -/** - * SmoothScroll module. - * @module foundation.smoothScroll - */ -var SmoothScroll = /*#__PURE__*/function (_Plugin) { - function SmoothScroll() { - _classCallCheck(this, SmoothScroll); - return _callSuper(this, SmoothScroll, arguments); - } - _inherits(SmoothScroll, _Plugin); - return _createClass(SmoothScroll, [{ - key: "_setup", - value: - /** - * Creates a new instance of SmoothScroll. - * @class - * @name SmoothScroll - * @fires SmoothScroll#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, SmoothScroll.defaults, this.$element.data(), options); - this.className = 'SmoothScroll'; // ie9 back compat - - this._init(); - } - - /** - * Initialize the SmoothScroll plugin - * @private - */ - }, { - key: "_init", - value: function _init() { - var id = this.$element[0].id || GetYoDigits(6, 'smooth-scroll'); - this.$element.attr({ - id: id - }); - this._events(); - } - - /** - * Initializes events for SmoothScroll. - * @private - */ - }, { - key: "_events", - value: function _events() { - this._linkClickListener = this._handleLinkClick.bind(this); - this.$element.on('click.zf.smoothScroll', this._linkClickListener); - this.$element.on('click.zf.smoothScroll', 'a[href^="#"]', this._linkClickListener); - } - - /** - * Handle the given event to smoothly scroll to the anchor pointed by the event target. - * @param {*} e - event - * @function - * @private - */ - }, { - key: "_handleLinkClick", - value: function _handleLinkClick(e) { - var _this = this; - // Follow the link if it does not point to an anchor. - if (!$__default["default"](e.currentTarget).is('a[href^="#"]')) return; - var arrival = e.currentTarget.getAttribute('href'); - this._inTransition = true; - SmoothScroll.scrollToLoc(arrival, this.options, function () { - _this._inTransition = false; - }); - e.preventDefault(); - } - }, { - key: "_destroy", - value: - /** - * Destroys the SmoothScroll instance. - * @function - */ - 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' - * @param {Object} options - The options to use. - * @param {Function} callback - The callback function. - * @static - * @function - */ - 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 = $__default["default"](loc); - - // Do nothing if target does not exist to prevent errors - if (!$loc.length) return false; - var scrollPos = Math.round($loc.offset().top - options.threshold / 2 - options.offset); - $__default["default"]('html, body').stop(true).animate({ - scrollTop: scrollPos - }, options.animationDuration, options.animationEasing, function () { - if (typeof callback === 'function') { - callback(); - } - }); - } - }]); -}(Plugin); -/** - * Default settings for plugin. - */ -SmoothScroll.defaults = { - /** - * Amount of time, in ms, the animated scrolling should take between locations. - * @option - * @type {number} - * @default 500 - */ - animationDuration: 500, - /** - * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`. - * @option - * @type {string} - * @default 'linear' - * @see {@link https://api.jquery.com/animate|Jquery animate} - */ - animationEasing: 'linear', - /** - * Number of pixels to use as a marker for location changes. - * @option - * @type {number} - * @default 50 - */ - threshold: 50, - /** - * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar. - * @option - * @type {number} - * @default 0 - */ - offset: 0 -}; - -/** - * Magellan module. - * @module foundation.magellan - * @requires foundation.smoothScroll - * @requires foundation.util.triggers - */ -var Magellan = /*#__PURE__*/function (_Plugin) { - function Magellan() { - _classCallCheck(this, Magellan); - return _callSuper(this, Magellan, arguments); - } - _inherits(Magellan, _Plugin); - return _createClass(Magellan, [{ - key: "_setup", - value: - /** - * Creates a new instance of Magellan. - * @class - * @name Magellan - * @fires Magellan#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Magellan.defaults, this.$element.data(), options); - this.className = 'Magellan'; // ie9 back compat - - // Triggers init is idempotent, just need to make sure it is initialized - Triggers.init($__default["default"]); - this._init(); - this.calcPoints(); - } - - /** - * Initializes the Magellan plugin and calls functions to get equalizer functioning on load. - * @private - */ - }, { - key: "_init", - value: function _init() { - var id = this.$element[0].id || GetYoDigits(6, 'magellan'); - this.$targets = $__default["default"]('[data-magellan-target]'); - this.$links = this.$element.find('a'); - this.$element.attr({ - 'data-resize': id, - 'data-scroll': id, - 'id': id - }); - this.$active = $__default["default"](); - this.scrollPos = parseInt(window.pageYOffset, 10); - this._events(); - } - - /** - * Calculates an array of pixel values that are the demarcation lines between locations on the page. - * Can be invoked if new elements are added or the size of a location changes. - * @function - */ - }, { - key: "calcPoints", - value: function calcPoints() { - var _this = this, - body = document.body, - html = document.documentElement; - this.points = []; - this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight)); - this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight)); - this.$targets.each(function () { - var $tar = $__default["default"](this), - pt = Math.round($tar.offset().top - _this.options.threshold); - $tar.targetPoint = pt; - _this.points.push(pt); - }); - } - - /** - * Initializes events for Magellan. - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this = this; - $__default["default"](window).one('load', function () { - if (_this.options.deepLinking) { - if (location.hash) { - _this.scrollToLoc(location.hash); - } - } - _this.calcPoints(); - _this._updateActive(); - }); - _this.onLoadListener = onLoad($__default["default"](window), function () { - _this.$element.on({ - 'resizeme.zf.trigger': _this.reflow.bind(_this), - 'scrollme.zf.trigger': _this._updateActive.bind(_this) - }).on('click.zf.magellan', 'a[href^="#"]', function (e) { - e.preventDefault(); - var arrival = this.getAttribute('href'); - _this.scrollToLoc(arrival); - }); - }); - this._deepLinkScroll = function () { - if (_this.options.deepLinking) { - _this.scrollToLoc(window.location.hash); - } - }; - $__default["default"](window).on('hashchange', this._deepLinkScroll); - } - - /** - * Function to scroll to a given location on the page. - * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo' - * @function - */ - }, { - key: "scrollToLoc", - value: function scrollToLoc(loc) { - this._inTransition = true; - var _this = this; - var options = { - animationEasing: this.options.animationEasing, - animationDuration: this.options.animationDuration, - threshold: this.options.threshold, - offset: this.options.offset - }; - SmoothScroll.scrollToLoc(loc, options, function () { - _this._inTransition = false; - }); - } - - /** - * Calls necessary functions to update Magellan upon DOM change - * @function - */ - }, { - key: "reflow", - value: function reflow() { - this.calcPoints(); - this._updateActive(); - } - - /** - * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled. - * @private - * @function - * @fires Magellan#update - */ - }, { - key: "_updateActive", - value: function _updateActive(/*evt, elem, scrollPos*/ - ) { - var _this2 = this; - if (this._inTransition) return; - var newScrollPos = parseInt(window.pageYOffset, 10); - var isScrollingUp = this.scrollPos > newScrollPos; - this.scrollPos = newScrollPos; - var activeIdx; - // Before the first point: no link - 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 { - var visibleLinks = this.points.filter(function (p) { - return p - _this2.options.offset - (isScrollingUp ? _this2.options.threshold : 0) <= newScrollPos; - }); - activeIdx = visibleLinks.length ? visibleLinks.length - 1 : 0; - } - - // Get the new active link - var $oldActive = this.$active; - var activeHash = ''; - 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 { - this.$active = $__default["default"](); - } - var isNewActive = !(!this.$active.length && !$oldActive.length) && !this.$active.is($oldActive); - var isNewHash = activeHash !== window.location.hash; - - // Update the active link element - if (isNewActive) { - $oldActive.removeClass(this.options.activeClass); - this.$active.addClass(this.options.activeClass); - } - - // Update the hash (it may have changed with the same active link) - if (this.options.deepLinking && isNewHash) { - if (window.history.pushState) { - // Set or remove the hash (see: https://stackoverflow.com/a/5298684/4317384 - var url = activeHash ? activeHash : window.location.pathname + window.location.search; - if (this.options.updateHistory) { - window.history.pushState({}, '', url); - } else { - window.history.replaceState({}, '', url); - } - } else { - window.location.hash = activeHash; - } - } - if (isNewActive) { - /** - * Fires when magellan is finished updating to the new active element. - * @event Magellan#update - */ - this.$element.trigger('update.zf.magellan', [this.$active]); - } - } - - /** - * Destroys an instance of Magellan and resets the url of the window. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.trigger .zf.magellan').find(".".concat(this.options.activeClass)).removeClass(this.options.activeClass); - if (this.options.deepLinking) { - var hash = this.$active[0].getAttribute('href'); - window.location.hash.replace(hash, ''); - } - $__default["default"](window).off('hashchange', this._deepLinkScroll); - if (this.onLoadListener) $__default["default"](window).off(this.onLoadListener); - } - }]); -}(Plugin); -/** - * Default settings for plugin - */ -Magellan.defaults = { - /** - * Amount of time, in ms, the animated scrolling should take between locations. - * @option - * @type {number} - * @default 500 - */ - animationDuration: 500, - /** - * Animation style to use when scrolling between locations. Can be `'swing'` or `'linear'`. - * @option - * @type {string} - * @default 'linear' - * @see {@link https://api.jquery.com/animate|Jquery animate} - */ - animationEasing: 'linear', - /** - * Number of pixels to use as a marker for location changes. - * @option - * @type {number} - * @default 50 - */ - threshold: 50, - /** - * Class applied to the active locations link on the magellan container. - * @option - * @type {string} - * @default 'is-active' - */ - activeClass: 'is-active', - /** - * Allows the script to manipulate the url of the current page, and if supported, alter the history. - * @option - * @type {boolean} - * @default false - */ - deepLinking: false, - /** - * Update the browser history with the active link, if deep linking is enabled. - * @option - * @type {boolean} - * @default false - */ - updateHistory: false, - /** - * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar. - * @option - * @type {number} - * @default 0 - */ - offset: 0 -}; - -/** - * OffCanvas module. - * @module foundation.offCanvas - * @requires foundation.util.keyboard - * @requires foundation.util.mediaQuery - * @requires foundation.util.triggers - */ -var OffCanvas = /*#__PURE__*/function (_Plugin) { - function OffCanvas() { - _classCallCheck(this, OffCanvas); - return _callSuper(this, OffCanvas, arguments); - } - _inherits(OffCanvas, _Plugin); - return _createClass(OffCanvas, [{ - key: "_setup", - value: - /** - * Creates a new instance of an off-canvas wrapper. - * @class - * @name OffCanvas - * @fires OffCanvas#init - * @param {Object} element - jQuery object to initialize. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - var _this2 = this; - this.className = 'OffCanvas'; // ie9 back compat - this.$element = element; - this.options = $__default["default"].extend({}, OffCanvas.defaults, this.$element.data(), options); - this.contentClasses = { - base: [], - reveal: [] - }; - this.$lastTrigger = $__default["default"](); - this.$triggers = $__default["default"](); - this.position = 'left'; - this.$content = $__default["default"](); - this.nested = !!this.options.nested; - this.$sticky = $__default["default"](); - this.isInCanvas = false; - - // Defines the CSS transition/position classes of the off-canvas content container. - $__default["default"](['push', 'overlap']).each(function (index, val) { - _this2.contentClasses.base.push('has-transition-' + val); - }); - $__default["default"](['left', 'right', 'top', 'bottom']).each(function (index, val) { - _this2.contentClasses.base.push('has-position-' + val); - _this2.contentClasses.reveal.push('has-reveal-' + val); - }); - - // Triggers init is idempotent, just need to make sure it is initialized - Triggers.init($__default["default"]); - MediaQuery._init(); - this._init(); - this._events(); - Keyboard.register('OffCanvas', { - 'ESCAPE': 'close' - }); - } - - /** - * Initializes the off-canvas wrapper by adding the exit overlay (if needed). - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - var id = this.$element.attr('id'); - this.$element.attr('aria-hidden', 'true'); - - // Find off-canvas content, either by ID (if specified), by siblings or by closest selector (fallback) - if (this.options.contentId) { - this.$content = $__default["default"]('#' + this.options.contentId); - } else if (this.$element.siblings('[data-off-canvas-content]').length) { - this.$content = this.$element.siblings('[data-off-canvas-content]').first(); - } else { - this.$content = this.$element.closest('[data-off-canvas-content]').first(); - } - if (!this.options.contentId) { - // Assume that the off-canvas element is nested if it isn't a sibling of the content - this.nested = this.$element.siblings('[data-off-canvas-content]').length === 0; - } else if (this.options.contentId && this.options.nested === null) { - // Warning if using content ID without setting the nested option - // Once the element is nested it is required to work properly in this case - console.warn('Remember to use the nested option if using the content ID option!'); - } - if (this.nested === true) { - // Force transition overlap if nested - this.options.transition = 'overlap'; - // Remove appropriate classes if already assigned in markup - this.$element.removeClass('is-transition-push'); - } - this.$element.addClass("is-transition-".concat(this.options.transition, " is-closed")); - - // Find triggers that affect this element and add aria-expanded to them - this.$triggers = $__default["default"](document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-expanded', 'false').attr('aria-controls', id); - - // Get position by checking for related CSS class - 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; - - // Add an overlay over the content if necessary - if (this.options.contentOverlay === true) { - var overlay = document.createElement('div'); - var overlayPosition = $__default["default"](this.$element).css("position") === 'fixed' ? 'is-overlay-fixed' : 'is-overlay-absolute'; - overlay.setAttribute('class', 'js-off-canvas-overlay ' + overlayPosition); - this.$overlay = $__default["default"](overlay); - if (overlayPosition === 'is-overlay-fixed') { - $__default["default"](this.$overlay).insertAfter(this.$element); - } else { - this.$content.append(this.$overlay); - } - } - - // Get the revealOn option from the class. - var revealOnRegExp = new RegExp(RegExpEscape(this.options.revealClass) + '([^\\s]+)', 'g'); - var revealOnClass = revealOnRegExp.exec(this.$element[0].className); - if (revealOnClass) { - this.options.isRevealed = true; - this.options.revealOn = this.options.revealOn || revealOnClass[1]; - } - - // Ensure the `reveal-on-*` class is set. - if (this.options.isRevealed === true && this.options.revealOn) { - this.$element.first().addClass("".concat(this.options.revealClass).concat(this.options.revealOn)); - this._setMQChecker(); - } - if (this.options.transitionTime) { - this.$element.css('transition-duration', this.options.transitionTime); - } - - // Find fixed elements that should stay fixed while off-canvas is opened - this.$sticky = this.$content.find('[data-off-canvas-sticky]'); - if (this.$sticky.length > 0 && this.options.transition === 'push') { - // If there's at least one match force contentScroll:false because the absolute top value doesn't get recalculated on scroll - // Limit to push transition since there's no transform scope for overlap - this.options.contentScroll = false; - } - var inCanvasFor = this.$element.attr('class').match(/\bin-canvas-for-(\w+)/); - if (inCanvasFor && inCanvasFor.length === 2) { - // Set `inCanvasOn` option if found in-canvas-for-[BREAKPONT] CSS class - this.options.inCanvasOn = inCanvasFor[1]; - } else if (this.options.inCanvasOn) { - // Ensure the CSS class is set - this.$element.addClass("in-canvas-for-".concat(this.options.inCanvasOn)); - } - if (this.options.inCanvasOn) { - this._checkInCanvas(); - } - - // Initally remove all transition/position CSS classes from off-canvas content container. - this._removeContentClasses(); - } - - /** - * Adds event handlers to the off-canvas wrapper and the exit overlay. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this3 = this; - this.$element.off('.zf.trigger .zf.offCanvas').on({ - 'open.zf.trigger': this.open.bind(this), - 'close.zf.trigger': this.close.bind(this), - 'toggle.zf.trigger': this.toggle.bind(this), - 'keydown.zf.offCanvas': this._handleKeyboard.bind(this) - }); - if (this.options.closeOnClick === true) { - var $target = this.options.contentOverlay ? this.$overlay : this.$content; - $target.on({ - 'click.zf.offCanvas': this.close.bind(this) - }); - } - if (this.options.inCanvasOn) { - $__default["default"](window).on('changed.zf.mediaquery', function () { - _this3._checkInCanvas(); - }); - } - } - - /** - * Applies event listener for elements that will reveal at certain breakpoints. - * @private - */ - }, { - key: "_setMQChecker", - value: function _setMQChecker() { - var _this = this; - this.onLoadListener = onLoad($__default["default"](window), function () { - if (MediaQuery.atLeast(_this.options.revealOn)) { - _this.reveal(true); - } - }); - $__default["default"](window).on('changed.zf.mediaquery', function () { - if (MediaQuery.atLeast(_this.options.revealOn)) { - _this.reveal(true); - } else { - _this.reveal(false); - } - }); - } - - /** - * Checks if InCanvas on current breakpoint and adjust off-canvas accordingly - * @private - */ - }, { - key: "_checkInCanvas", - value: function _checkInCanvas() { - this.isInCanvas = MediaQuery.atLeast(this.options.inCanvasOn); - if (this.isInCanvas === true) { - this.close(); - } - } - - /** - * Removes the CSS transition/position classes of the off-canvas content container. - * Removing the classes is important when another off-canvas gets opened that uses the same content container. - * @param {Boolean} hasReveal - true if related off-canvas element is revealed. - * @private - */ - }, { - key: "_removeContentClasses", - value: function _removeContentClasses(hasReveal) { - if (typeof hasReveal !== 'boolean') { - this.$content.removeClass(this.contentClasses.base.join(' ')); - } else if (hasReveal === false) { - this.$content.removeClass("has-reveal-".concat(this.position)); - } - } - - /** - * Adds the CSS transition/position classes of the off-canvas content container, based on the opening off-canvas element. - * Beforehand any transition/position class gets removed. - * @param {Boolean} hasReveal - true if related off-canvas element is revealed. - * @private - */ - }, { - key: "_addContentClasses", - value: function _addContentClasses(hasReveal) { - this._removeContentClasses(hasReveal); - if (typeof hasReveal !== 'boolean') { - this.$content.addClass("has-transition-".concat(this.options.transition, " has-position-").concat(this.position)); - } else if (hasReveal === true) { - this.$content.addClass("has-reveal-".concat(this.position)); - } - } - - /** - * Preserves the fixed behavior of sticky elements on opening an off-canvas with push transition. - * Since the off-canvas container has got a transform scope in such a case, it is done by calculating position absolute values. - * @private - */ - }, { - key: "_fixStickyElements", - value: function _fixStickyElements() { - this.$sticky.each(function (_, el) { - var $el = $__default["default"](el); - - // If sticky element is currently fixed, adjust its top value to match absolute position due to transform scope - // Limit to push transition because postion:fixed works without problems for overlap (no transform scope) - if ($el.css('position') === 'fixed') { - // Save current inline styling to restore it if undoing the absolute fixing - var topVal = parseInt($el.css('top'), 10); - $el.data('offCanvasSticky', { - top: topVal - }); - var absoluteTopVal = $__default["default"](document).scrollTop() + topVal; - $el.css({ - top: "".concat(absoluteTopVal, "px"), - width: '100%', - transition: 'none' - }); - } - }); - } - - /** - * Restores the original fixed styling of sticky elements after having closed an off-canvas that got pseudo fixed beforehand. - * This reverts the changes of _fixStickyElements() - * @private - */ - }, { - key: "_unfixStickyElements", - value: function _unfixStickyElements() { - this.$sticky.each(function (_, el) { - var $el = $__default["default"](el); - var stickyData = $el.data('offCanvasSticky'); - - // If sticky element has got data object with prior values (meaning it was originally fixed) restore these values once off-canvas is closed - if (_typeof(stickyData) === 'object') { - $el.css({ - top: "".concat(stickyData.top, "px"), - width: '', - transition: '' - }); - $el.data('offCanvasSticky', ''); - } - }); - } - - /** - * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open. - * @param {Boolean} isRevealed - true if element should be revealed. - * @function - */ - }, { - key: "reveal", - value: function reveal(isRevealed) { - if (isRevealed) { - this.close(); - this.isRevealed = true; - this.$element.attr('aria-hidden', 'false'); - this.$element.off('open.zf.trigger toggle.zf.trigger'); - this.$element.removeClass('is-closed'); - } else { - this.isRevealed = false; - this.$element.attr('aria-hidden', 'true'); - this.$element.off('open.zf.trigger toggle.zf.trigger').on({ - 'open.zf.trigger': this.open.bind(this), - 'toggle.zf.trigger': this.toggle.bind(this) - }); - this.$element.addClass('is-closed'); - } - this._addContentClasses(isRevealed); - } - - /** - * Stops scrolling of the body when OffCanvas is open on mobile Safari and other troublesome browsers. - * @function - * @private - */ - }, { - key: "_stopScrolling", - value: function _stopScrolling() { - return false; - } - - /** - * Save current finger y-position - * @param event - * @private - */ - }, { - key: "_recordScrollable", - value: function _recordScrollable(event) { - var elem = this; - elem.lastY = event.touches[0].pageY; - } - - /** - * Prevent further scrolling when it hits the edges - * @param event - * @private - */ - }, { - key: "_preventDefaultAtEdges", - value: function _preventDefaultAtEdges(event) { - var elem = this; - var _this = event.data; - var delta = elem.lastY - event.touches[0].pageY; - elem.lastY = event.touches[0].pageY; - if (!_this._canScroll(delta, elem)) { - event.preventDefault(); - } - } - - /** - * Handle continuous scrolling of scrollbox - * Don't bubble up to _preventDefaultAtEdges - * @param event - * @private - */ - }, { - key: "_scrollboxTouchMoved", - value: function _scrollboxTouchMoved(event) { - var elem = this; - var _this = event.data; - var parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]'); - var 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; - } - } - } - - /** - * Detect possibility of scrolling - * @param delta - * @param elem - * @returns boolean - * @private - */ - }, { - key: "_canScroll", - value: function _canScroll(delta, elem) { - var up = delta < 0; - var down = delta > 0; - var allowUp = elem.scrollTop > 0; - var allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight; - return up && allowUp || down && allowDown; - } - - /** - * Opens the off-canvas menu. - * @function - * @param {Object} event - Event object passed from listener. - * @param {jQuery} trigger - element that triggered the off-canvas to open. - * @fires OffCanvas#opened - * @todo also trigger 'open' event? - */ - }, { - key: "open", - value: function open(event, trigger) { - var _this4 = this; - if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { - return; - } - var _this = this; - if (trigger) { - this.$lastTrigger = trigger; - } - if (this.options.forceTo === 'top') { - window.scrollTo(0, 0); - } else if (this.options.forceTo === 'bottom') { - window.scrollTo(0, document.body.scrollHeight); - } - if (this.options.transitionTime && this.options.transition !== 'overlap') { - this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime); - } else { - this.$element.siblings('[data-off-canvas-content]').css('transition-duration', ''); - } - this.$element.addClass('is-open').removeClass('is-closed'); - this.$triggers.attr('aria-expanded', 'true'); - this.$element.attr('aria-hidden', 'false'); - this.$content.addClass('is-open-' + this.position); - - // If `contentScroll` is set to false, add class and disable scrolling on touch devices. - if (this.options.contentScroll === false) { - $__default["default"]('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling); - this.$element.on('touchstart', this._recordScrollable); - this.$element.on('touchmove', this, this._preventDefaultAtEdges); - this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable); - this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved); - } - if (this.options.contentOverlay === true) { - this.$overlay.addClass('is-visible'); - } - if (this.options.closeOnClick === true && this.options.contentOverlay === true) { - this.$overlay.addClass('is-closable'); - } - if (this.options.autoFocus === true) { - this.$element.one(transitionend(this.$element), function () { - if (!_this.$element.hasClass('is-open')) { - return; // exit if prematurely closed - } - var canvasFocus = _this.$element.find('[data-autofocus]'); - if (canvasFocus.length) { - canvasFocus.eq(0).focus(); - } else { - _this.$element.find('a, button').eq(0).focus(); - } - }); - } - if (this.options.trapFocus === true) { - this.$content.attr('tabindex', '-1'); - Keyboard.trapFocus(this.$element); - } - if (this.options.transition === 'push') { - this._fixStickyElements(); - } - this._addContentClasses(); - - /** - * Fires when the off-canvas menu opens. - * @event OffCanvas#opened - */ - this.$element.trigger('opened.zf.offCanvas'); - - /** - * Fires when the off-canvas menu open transition is done. - * @event OffCanvas#openedEnd - */ - this.$element.one(transitionend(this.$element), function () { - _this4.$element.trigger('openedEnd.zf.offCanvas'); - }); - } - - /** - * Closes the off-canvas menu. - * @function - * @param {Function} cb - optional cb to fire after closure. - * @fires OffCanvas#close - * @fires OffCanvas#closed - */ - }, { - key: "close", - value: function close() { - var _this5 = this; - if (!this.$element.hasClass('is-open') || this.isRevealed) { - return; - } - - /** - * Fires when the off-canvas menu closes. - * @event OffCanvas#close - */ - this.$element.trigger('close.zf.offCanvas'); - this.$element.removeClass('is-open'); - this.$element.attr('aria-hidden', 'true'); - this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom'); - if (this.options.contentOverlay === true) { - this.$overlay.removeClass('is-visible'); - } - if (this.options.closeOnClick === true && this.options.contentOverlay === true) { - this.$overlay.removeClass('is-closable'); - } - this.$triggers.attr('aria-expanded', 'false'); - - // Listen to transitionEnd: add class, re-enable scrolling and release focus when done. - this.$element.one(transitionend(this.$element), function () { - _this5.$element.addClass('is-closed'); - _this5._removeContentClasses(); - if (_this5.options.transition === 'push') { - _this5._unfixStickyElements(); - } - - // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices. - if (_this5.options.contentScroll === false) { - $__default["default"]('body').removeClass('is-off-canvas-open').off('touchmove', _this5._stopScrolling); - _this5.$element.off('touchstart', _this5._recordScrollable); - _this5.$element.off('touchmove', _this5._preventDefaultAtEdges); - _this5.$element.off('touchstart', '[data-off-canvas-scrollbox]', _this5._recordScrollable); - _this5.$element.off('touchmove', '[data-off-canvas-scrollbox]', _this5._scrollboxTouchMoved); - } - if (_this5.options.trapFocus === true) { - _this5.$content.removeAttr('tabindex'); - Keyboard.releaseFocus(_this5.$element); - } - - /** - * Fires when the off-canvas menu close transition is done. - * @event OffCanvas#closed - */ - _this5.$element.trigger('closed.zf.offCanvas'); - }); - } - - /** - * Toggles the off-canvas menu open or closed. - * @function - * @param {Object} event - Event object passed from listener. - * @param {jQuery} trigger - element that triggered the off-canvas to open. - */ - }, { - key: "toggle", - value: function toggle(event, trigger) { - if (this.$element.hasClass('is-open')) { - this.close(event, trigger); - } else { - this.open(event, trigger); - } - } - - /** - * 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. - * @function - * @private - */ - }, { - key: "_handleKeyboard", - value: function _handleKeyboard(e) { - var _this6 = this; - Keyboard.handleKey(e, 'OffCanvas', { - close: function close() { - _this6.close(); - _this6.$lastTrigger.focus(); - return true; - }, - handled: function handled() { - e.preventDefault(); - } - }); - } - - /** - * Destroys the OffCanvas plugin. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.close(); - this.$element.off('.zf.trigger .zf.offCanvas'); - this.$overlay.off('.zf.offCanvas'); - if (this.onLoadListener) $__default["default"](window).off(this.onLoadListener); - } - }]); -}(Plugin); -OffCanvas.defaults = { - /** - * Allow the user to click outside of the menu to close it. - * @option - * @type {boolean} - * @default true - */ - closeOnClick: true, - /** - * Adds an overlay on top of `[data-off-canvas-content]`. - * @option - * @type {boolean} - * @default true - */ - contentOverlay: true, - /** - * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken. - * @option - * @type {?string} - * @default null - */ - contentId: null, - /** - * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element. - * @option - * @type {boolean} - * @default null - */ - nested: null, - /** - * Enable/disable scrolling of the main content when an off canvas panel is open. - * @option - * @type {boolean} - * @default true - */ - contentScroll: true, - /** - * 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. - * @option - * @type {string} - * @default null - */ - transitionTime: null, - /** - * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'. - * @option - * @type {string} - * @default push - */ - transition: 'push', - /** - * Force the page to scroll to top or bottom on open. - * @option - * @type {?string} - * @default null - */ - forceTo: null, - /** - * Allow the OffCanvas to remain open for certain breakpoints. - * @option - * @type {boolean} - * @default false - */ - isRevealed: false, - /** - * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option. - * @option - * @type {?string} - * @default null - */ - revealOn: null, - /** - * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element. - * @option - * @type {?string} - * @default null - */ - inCanvasOn: null, - /** - * Force focus to the offcanvas on open. If true, will focus the opening trigger on close. - * @option - * @type {boolean} - * @default true - */ - autoFocus: true, - /** - * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`. - * @option - * @type {string} - * @default reveal-for- - * @todo improve the regex testing for this. - */ - revealClass: 'reveal-for-', - /** - * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes. - * @option - * @type {boolean} - * @default false - */ - trapFocus: false -}; - -/** - * Orbit module. - * @module foundation.orbit - * @requires foundation.util.keyboard - * @requires foundation.util.motion - * @requires foundation.util.timer - * @requires foundation.util.imageLoader - * @requires foundation.util.touch - */ -var Orbit = /*#__PURE__*/function (_Plugin) { - function Orbit() { - _classCallCheck(this, Orbit); - return _callSuper(this, Orbit, arguments); - } - _inherits(Orbit, _Plugin); - return _createClass(Orbit, [{ - key: "_setup", - value: - /** - * Creates a new instance of an orbit carousel. - * @class - * @name Orbit - * @param {jQuery} element - jQuery object to make into an Orbit Carousel. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Orbit.defaults, this.$element.data(), options); - this.className = 'Orbit'; // ie9 back compat - - Touch.init($__default["default"]); // Touch init is idempotent, we just need to make sure it's initialied. - - this._init(); - Keyboard.register('Orbit', { - 'ltr': { - 'ARROW_RIGHT': 'next', - 'ARROW_LEFT': 'previous' - }, - 'rtl': { - 'ARROW_LEFT': 'next', - 'ARROW_RIGHT': 'previous' - } - }); - } - - /** - * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation. - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - // @TODO: consider discussion on PR #9278 about DOM pollution by changeSlide - this._reset(); - this.$wrapper = this.$element.find(".".concat(this.options.containerClass)); - this.$slides = this.$element.find(".".concat(this.options.slideClass)); - var $images = this.$element.find('img'), - initActive = this.$slides.filter('.is-active'), - id = this.$element[0].id || GetYoDigits(6, 'orbit'); - this.$element.attr({ - 'data-resize': id, - 'id': id - }); - if (!initActive.length) { - this.$slides.eq(0).addClass('is-active'); - } - if (!this.options.useMUI) { - this.$slides.addClass('no-motionui'); - } - if ($images.length) { - onImagesLoaded($images, this._prepareForOrbit.bind(this)); - } else { - this._prepareForOrbit(); //hehe - } - if (this.options.bullets) { - this._loadBullets(); - } - this._events(); - if (this.options.autoPlay && this.$slides.length > 1) { - this.geoSync(); - } - if (this.options.accessible) { - // allow wrapper to be focusable to enable arrow navigation - this.$wrapper.attr('tabindex', 0); - } - } - - /** - * Creates a jQuery collection of bullets, if they are being used. - * @function - * @private - */ - }, { - key: "_loadBullets", - value: function _loadBullets() { - this.$bullets = this.$element.find(".".concat(this.options.boxOfBullets)).find('button'); - } - - /** - * Sets a `timer` object on the orbit, and starts the counter for the next slide. - * @function - */ - }, { - key: "geoSync", - value: function geoSync() { - var _this = this; - this.timer = new Timer(this.$element, { - duration: this.options.timerDelay, - infinite: false - }, function () { - _this.changeSlide(true); - }); - this.timer.start(); - } - - /** - * Sets wrapper and slide heights for the orbit. - * @function - * @private - */ - }, { - key: "_prepareForOrbit", - value: function _prepareForOrbit() { - this._setWrapperHeight(); - } - - /** - * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height. - * @function - * @private - * @param {Function} cb - a callback function to fire when complete. - */ - }, { - key: "_setWrapperHeight", - value: function _setWrapperHeight(cb) { - //rewrite this to `for` loop - var max = 0, - temp, - counter = 0, - _this = this; - this.$slides.each(function () { - temp = this.getBoundingClientRect().height; - $__default["default"](this).attr('data-slide', counter); - - // hide all slides but the active one - if (!/mui/g.test($__default["default"](this)[0].className) && _this.$slides.filter('.is-active')[0] !== _this.$slides.eq(counter)[0]) { - $__default["default"](this).css({ - 'display': 'none' - }); - } - max = temp > max ? temp : max; - counter++; - }); - if (counter === this.$slides.length) { - this.$wrapper.css({ - 'height': max - }); //only change the wrapper height property once. - if (cb) { - cb(max); - } //fire callback with max height dimension. - } - } - - /** - * Sets the max-height of each slide. - * @function - * @private - */ - }, { - key: "_setSlideHeight", - value: function _setSlideHeight(height) { - this.$slides.each(function () { - $__default["default"](this).css('max-height', height); - }); - } - - /** - * Adds event listeners to basically everything within the element. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this = this; - - //*************************************** - //**Now using custom event - thanks to:** - //** Yohai Ararat of Toronto ** - //*************************************** - // - this.$element.off('.resizeme.zf.trigger').on({ - 'resizeme.zf.trigger': this._prepareForOrbit.bind(this) - }); - if (this.$slides.length > 1) { - if (this.options.swipe) { - this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) { - e.preventDefault(); - _this.changeSlide(true); - }).on('swiperight.zf.orbit', function (e) { - e.preventDefault(); - _this.changeSlide(false); - }); - } - //*************************************** - - if (this.options.autoPlay) { - this.$slides.on('click.zf.orbit', function () { - _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true); - _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start'](); - }); - if (this.options.pauseOnHover) { - this.$element.on('mouseenter.zf.orbit', function () { - _this.timer.pause(); - }).on('mouseleave.zf.orbit', function () { - if (!_this.$element.data('clickedOn')) { - _this.timer.start(); - } - }); - } - } - if (this.options.navButtons) { - var $controls = this.$element.find(".".concat(this.options.nextClass, ", .").concat(this.options.prevClass)); - $controls.attr('tabindex', 0) - //also need to handle enter/return and spacebar key presses - .on('click.zf.orbit touchend.zf.orbit', function (e) { - e.preventDefault(); - _this.changeSlide($__default["default"](this).hasClass(_this.options.nextClass)); - }); - } - if (this.options.bullets) { - this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () { - if (/is-active/g.test(this.className)) { - return false; - } //if this is active, kick out of function. - var idx = $__default["default"](this).data('slide'), - ltr = idx > _this.$slides.filter('.is-active').data('slide'), - $slide = _this.$slides.eq(idx); - _this.changeSlide(ltr, $slide, idx); - }); - } - if (this.options.accessible) { - this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) { - // handle keyboard event with keyboard util - Keyboard.handleKey(e, 'Orbit', { - next: function next() { - _this.changeSlide(true); - }, - previous: function previous() { - _this.changeSlide(false); - }, - handled: function handled() { - // if bullet is focused, make sure focus moves - if ($__default["default"](e.target).is(_this.$bullets)) { - _this.$bullets.filter('.is-active').focus(); - } - } - }); - }); - } - } - } - - /** - * Resets Orbit so it can be reinitialized - */ - }, { - key: "_reset", - value: function _reset() { - // Don't do anything if there are no slides (first run) - if (typeof this.$slides === 'undefined') { - return; - } - if (this.$slides.length > 1) { - // Remove old events - this.$element.off('.zf.orbit').find('*').off('.zf.orbit'); - - // Restart timer if autoPlay is enabled - if (this.options.autoPlay) { - this.timer.restart(); - } - - // Reset all sliddes - this.$slides.each(function (el) { - $__default["default"](el).removeClass('is-active is-active is-in').removeAttr('aria-live').hide(); - }); - - // Show the first slide - this.$slides.first().addClass('is-active').show(); - - // Triggers when the slide has finished animating - this.$element.trigger('slidechange.zf.orbit', [this.$slides.first()]); - - // Select first bullet if bullets are present - if (this.options.bullets) { - this._updateBullets(0); - } - } - } - - /** - * Changes the current slide to a new one. - * @function - * @param {Boolean} isLTR - if true the slide moves from right to left, if false the slide moves from left to right. - * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected. - * @param {Number} idx - the index of the new slide in its collection, if one chosen. - * @fires Orbit#slidechange - */ - }, { - key: "changeSlide", - value: function changeSlide(isLTR, chosenSlide, idx) { - if (!this.$slides) { - return; - } // Don't freak out if we're in the middle of cleanup - var $curSlide = this.$slides.filter('.is-active').eq(0); - if (/mui/g.test($curSlide[0].className)) { - return false; - } //if the slide is currently animating, kick out of the function - - var $firstSlide = this.$slides.first(), - $lastSlide = this.$slides.last(), - dirIn = isLTR ? 'Right' : 'Left', - dirOut = isLTR ? 'Left' : 'Right', - _this = this, - $newSlide; - if (!chosenSlide) { - //most of the time, this will be auto played or clicked from the navButtons. - $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!!!!! - this.options.infiniteWrap ? $curSlide.next(".".concat(this.options.slideClass)).length ? $curSlide.next(".".concat(this.options.slideClass)) : $firstSlide : $curSlide.next(".".concat(this.options.slideClass)) //pick next slide if moving left to right - : this.options.infiniteWrap ? $curSlide.prev(".".concat(this.options.slideClass)).length ? $curSlide.prev(".".concat(this.options.slideClass)) : $lastSlide : $curSlide.prev(".".concat(this.options.slideClass)); //pick prev slide if moving right to left - } else { - $newSlide = chosenSlide; - } - if ($newSlide.length) { - /** - * Triggers before the next slide starts animating in and only if a next slide has been found. - * @event Orbit#beforeslidechange - */ - this.$element.trigger('beforeslidechange.zf.orbit', [$curSlide, $newSlide]); - if (this.options.bullets) { - idx = idx || this.$slides.index($newSlide); //grab index to update bullets - this._updateBullets(idx); - } - if (this.options.useMUI && !this.$element.is(':hidden')) { - Motion.animateIn($newSlide.addClass('is-active'), this.options["animInFrom".concat(dirIn)], function () { - $newSlide.css({ - 'display': 'block' - }).attr('aria-live', 'polite'); - }); - Motion.animateOut($curSlide.removeClass('is-active'), this.options["animOutTo".concat(dirOut)], function () { - $curSlide.removeAttr('aria-live'); - if (_this.options.autoPlay && !_this.timer.isPaused) { - _this.timer.restart(); - } - //do stuff? - }); - } else { - $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide(); - $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show(); - if (this.options.autoPlay && !this.timer.isPaused) { - this.timer.restart(); - } - } - /** - * Triggers when the slide has finished animating in. - * @event Orbit#slidechange - */ - this.$element.trigger('slidechange.zf.orbit', [$newSlide]); - } - } - - /** - * Updates the active state of the bullets, if displayed. - * Move the descriptor of the current slide `[data-slide-active-label]` to the newly active bullet. - * If no `[data-slide-active-label]` is set, will move the exceeding `span` element. - * - * @function - * @private - * @param {Number} idx - the index of the current slide. - */ - }, { - key: "_updateBullets", - value: function _updateBullets(idx) { - var $oldBullet = this.$bullets.filter('.is-active'); - var $othersBullets = this.$bullets.not('.is-active'); - var $newBullet = this.$bullets.eq(idx); - $oldBullet.removeClass('is-active').blur(); - $newBullet.addClass('is-active'); - - // Find the descriptor for the current slide to move it to the new slide button - var activeStateDescriptor = $oldBullet.children('[data-slide-active-label]').last(); - - // If not explicitely given, search for the last "exceeding" span element (compared to others bullets). - if (!activeStateDescriptor.length) { - var spans = $oldBullet.children('span'); - var spanCountInOthersBullets = $othersBullets.toArray().map(function (b) { - return $__default["default"](b).children('span').length; - }); - - // If there is an exceeding span element, use it as current slide descriptor - if (spanCountInOthersBullets.every(function (count) { - return count < spans.length; - })) { - activeStateDescriptor = spans.last(); - activeStateDescriptor.attr('data-slide-active-label', ''); - } - } - - // Move the current slide descriptor to the new slide button - if (activeStateDescriptor.length) { - activeStateDescriptor.detach(); - $newBullet.append(activeStateDescriptor); - } - } - - /** - * Destroys the carousel and hides the element. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide(); - } - }]); -}(Plugin); -Orbit.defaults = { - /** - * Tells the JS to look for and loadBullets. - * @option - * @type {boolean} - * @default true - */ - bullets: true, - /** - * Tells the JS to apply event listeners to nav buttons - * @option - * @type {boolean} - * @default true - */ - navButtons: true, - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-in-right' - */ - animInFromRight: 'slide-in-right', - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-out-right' - */ - animOutToRight: 'slide-out-right', - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-in-left' - * - */ - animInFromLeft: 'slide-in-left', - /** - * motion-ui animation class to apply - * @option - * @type {string} - * @default 'slide-out-left' - */ - animOutToLeft: 'slide-out-left', - /** - * Allows Orbit to automatically animate on page load. - * @option - * @type {boolean} - * @default true - */ - autoPlay: true, - /** - * Amount of time, in ms, between slide transitions - * @option - * @type {number} - * @default 5000 - */ - timerDelay: 5000, - /** - * Allows Orbit to infinitely loop through the slides - * @option - * @type {boolean} - * @default true - */ - infiniteWrap: true, - /** - * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library - * @option - * @type {boolean} - * @default true - */ - swipe: true, - /** - * Allows the timing function to pause animation on hover. - * @option - * @type {boolean} - * @default true - */ - pauseOnHover: true, - /** - * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys - * @option - * @type {boolean} - * @default true - */ - accessible: true, - /** - * Class applied to the container of Orbit - * @option - * @type {string} - * @default 'orbit-container' - */ - containerClass: 'orbit-container', - /** - * Class applied to individual slides. - * @option - * @type {string} - * @default 'orbit-slide' - */ - slideClass: 'orbit-slide', - /** - * Class applied to the bullet container. You're welcome. - * @option - * @type {string} - * @default 'orbit-bullets' - */ - boxOfBullets: 'orbit-bullets', - /** - * Class applied to the `next` navigation button. - * @option - * @type {string} - * @default 'orbit-next' - */ - nextClass: 'orbit-next', - /** - * Class applied to the `previous` navigation button. - * @option - * @type {string} - * @default 'orbit-previous' - */ - prevClass: 'orbit-previous', - /** - * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatibility. - * @option - * @type {boolean} - * @default true - */ - useMUI: true -}; - -var MenuPlugins$1 = { - dropdown: { - cssClass: 'dropdown', - plugin: DropdownMenu - }, - drilldown: { - cssClass: 'drilldown', - plugin: Drilldown - }, - accordion: { - cssClass: 'accordion-menu', - plugin: AccordionMenu - } -}; - -// import "foundation.util.triggers.js"; - -/** - * ResponsiveMenu module. - * @module foundation.responsiveMenu - * @requires foundation.util.triggers - * @requires foundation.util.mediaQuery - */ -var ResponsiveMenu = /*#__PURE__*/function (_Plugin) { - function ResponsiveMenu() { - _classCallCheck(this, ResponsiveMenu); - return _callSuper(this, ResponsiveMenu, arguments); - } - _inherits(ResponsiveMenu, _Plugin); - return _createClass(ResponsiveMenu, [{ - key: "_setup", - value: - /** - * Creates a new instance of a responsive menu. - * @class - * @name ResponsiveMenu - * @fires ResponsiveMenu#init - * @param {jQuery} element - jQuery object to make into a dropdown menu. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element) { - this.$element = $__default["default"](element); - this.rules = this.$element.data('responsive-menu'); - this.currentMq = null; - this.currentPlugin = null; - this.className = 'ResponsiveMenu'; // ie9 back compat - - this._init(); - this._events(); - } - - /** - * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element. - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules - if (typeof this.rules === 'string') { - var rulesTree = {}; - - // Parse rules from "classes" pulled from data attribute - var rules = this.rules.split(' '); - - // Iterate through every rule found - for (var i = 0; i < rules.length; i++) { - var rule = rules[i].split('-'); - var ruleSize = rule.length > 1 ? rule[0] : 'small'; - var rulePlugin = rule.length > 1 ? rule[1] : rule[0]; - if (MenuPlugins$1[rulePlugin] !== null) { - rulesTree[ruleSize] = MenuPlugins$1[rulePlugin]; - } - } - this.rules = rulesTree; - } - if (!$__default["default"].isEmptyObject(this.rules)) { - this._checkMediaQueries(); - } - // Add data-mutate since children may need it. - this.$element.attr('data-mutate', this.$element.attr('data-mutate') || GetYoDigits(6, 'responsive-menu')); - } - - /** - * Initializes events for the Menu. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this = this; - $__default["default"](window).on('changed.zf.mediaquery', function () { - _this._checkMediaQueries(); - }); - // $(window).on('resize.zf.ResponsiveMenu', function() { - // _this._checkMediaQueries(); - // }); - } - - /** - * 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. - * @function - * @private - */ - }, { - key: "_checkMediaQueries", - value: function _checkMediaQueries() { - var matchedMq, - _this = this; - // Iterate through each rule and find the last matching rule - $__default["default"].each(this.rules, function (key) { - if (MediaQuery.atLeast(key)) { - matchedMq = key; - } - }); - - // No match? No dice - if (!matchedMq) return; - - // Plugin already initialized? We good - if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return; - - // Remove existing plugin-specific CSS classes - $__default["default"].each(MenuPlugins$1, function (key, value) { - _this.$element.removeClass(value.cssClass); - }); - - // Add the CSS class for the new plugin - this.$element.addClass(this.rules[matchedMq].cssClass); - - // Create an instance of the new plugin - if (this.currentPlugin) this.currentPlugin.destroy(); - this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {}); - } - - /** - * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.currentPlugin.destroy(); - $__default["default"](window).off('.zf.ResponsiveMenu'); - } - }]); -}(Plugin); -ResponsiveMenu.defaults = {}; - -/** - * ResponsiveToggle module. - * @module foundation.responsiveToggle - * @requires foundation.util.mediaQuery - * @requires foundation.util.motion - */ -var ResponsiveToggle = /*#__PURE__*/function (_Plugin) { - function ResponsiveToggle() { - _classCallCheck(this, ResponsiveToggle); - return _callSuper(this, ResponsiveToggle, arguments); - } - _inherits(ResponsiveToggle, _Plugin); - return _createClass(ResponsiveToggle, [{ - key: "_setup", - value: - /** - * Creates a new instance of Tab Bar. - * @class - * @name ResponsiveToggle - * @fires ResponsiveToggle#init - * @param {jQuery} element - jQuery object to attach tab bar functionality to. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = $__default["default"](element); - this.options = $__default["default"].extend({}, ResponsiveToggle.defaults, this.$element.data(), options); - this.className = 'ResponsiveToggle'; // ie9 back compat - - this._init(); - this._events(); - } - - /** - * Initializes the tab bar by finding the target element, toggling element, and running update(). - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - var targetID = this.$element.data('responsive-toggle'); - if (!targetID) { - console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.'); - } - this.$targetMenu = $__default["default"]("#".concat(targetID)); - this.$toggler = this.$element.find('[data-toggle]').filter(function () { - var target = $__default["default"](this).data('toggle'); - return target === targetID || target === ""; - }); - this.options = $__default["default"].extend({}, this.options, this.$targetMenu.data()); - - // If they were set, parse the animation classes - if (this.options.animate) { - var input = this.options.animate.split(' '); - this.animationIn = input[0]; - this.animationOut = input[1] || null; - } - this._update(); - } - - /** - * Adds necessary event handlers for the tab bar to work. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - this._updateMqHandler = this._update.bind(this); - $__default["default"](window).on('changed.zf.mediaquery', this._updateMqHandler); - this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this)); - } - - /** - * Checks the current media query to determine if the tab bar should be visible or hidden. - * @function - * @private - */ - }, { - key: "_update", - value: function _update() { - // Mobile - if (!MediaQuery.atLeast(this.options.hideFor)) { - this.$element.show(); - this.$targetMenu.hide(); - } - - // Desktop - else { - this.$element.hide(); - this.$targetMenu.show(); - } - } - - /** - * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it. - * @function - * @fires ResponsiveToggle#toggled - */ - }, { - key: "toggleMenu", - value: function toggleMenu() { - var _this = this; - if (!MediaQuery.atLeast(this.options.hideFor)) { - /** - * Fires when the element attached to the tab bar toggles. - * @event ResponsiveToggle#toggled - */ - if (this.options.animate) { - if (this.$targetMenu.is(':hidden')) { - Motion.animateIn(this.$targetMenu, this.animationIn, function () { - _this.$element.trigger('toggled.zf.responsiveToggle'); - _this.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger'); - }); - } else { - Motion.animateOut(this.$targetMenu, this.animationOut, function () { - _this.$element.trigger('toggled.zf.responsiveToggle'); - }); - } - } else { - this.$targetMenu.toggle(0); - this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger'); - this.$element.trigger('toggled.zf.responsiveToggle'); - } - } - } - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.responsiveToggle'); - this.$toggler.off('.zf.responsiveToggle'); - $__default["default"](window).off('changed.zf.mediaquery', this._updateMqHandler); - } - }]); -}(Plugin); -ResponsiveToggle.defaults = { - /** - * The breakpoint after which the menu is always shown, and the tab bar is hidden. - * @option - * @type {string} - * @default 'medium' - */ - hideFor: 'medium', - /** - * To decide if the toggle should be animated or not. - * @option - * @type {boolean} - * @default false - */ - animate: false -}; - -/** - * Reveal module. - * @module foundation.reveal - * @requires foundation.util.keyboard - * @requires foundation.util.touch - * @requires foundation.util.triggers - * @requires foundation.util.mediaQuery - * @requires foundation.util.motion if using animations - */ -var Reveal = /*#__PURE__*/function (_Plugin) { - function Reveal() { - _classCallCheck(this, Reveal); - return _callSuper(this, Reveal, arguments); - } - _inherits(Reveal, _Plugin); - return _createClass(Reveal, [{ - key: "_setup", - value: - /** - * Creates a new instance of Reveal. - * @class - * @name Reveal - * @param {jQuery} element - jQuery object to use for the modal. - * @param {Object} options - optional parameters. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Reveal.defaults, this.$element.data(), options); - this.className = 'Reveal'; // ie9 back compat - this._init(); - - // Touch and Triggers init are idempotent, just need to make sure they are initialized - Touch.init($__default["default"]); - Triggers.init($__default["default"]); - Keyboard.register('Reveal', { - 'ESCAPE': 'close' - }); - } - - /** - * Initializes the modal by adding the overlay and close buttons, (if selected). - * @private - */ - }, { - key: "_init", - value: function _init() { - var _this2 = this; - MediaQuery._init(); - this.id = this.$element.attr('id'); - this.isActive = false; - this.cached = { - mq: MediaQuery.current - }; - this.$anchor = $__default["default"]("[data-open=\"".concat(this.id, "\"]")).length ? $__default["default"]("[data-open=\"".concat(this.id, "\"]")) : $__default["default"]("[data-toggle=\"".concat(this.id, "\"]")); - this.$anchor.attr({ - 'aria-controls': this.id, - 'aria-haspopup': 'dialog', - 'tabindex': 0 - }); - if (this.options.fullScreen || this.$element.hasClass('full')) { - this.options.fullScreen = true; - this.options.overlay = false; - } - if (this.options.overlay && !this.$overlay) { - this.$overlay = this._makeOverlay(this.id); - } - this.$element.attr({ - 'role': 'dialog', - 'aria-hidden': true, - 'data-yeti-box': this.id, - 'data-resize': this.id - }); - if (this.$overlay) { - this.$element.detach().appendTo(this.$overlay); - } else { - this.$element.detach().appendTo($__default["default"](this.options.appendTo)); - this.$element.addClass('without-overlay'); - } - this._events(); - if (this.options.deepLink && window.location.hash === "#".concat(this.id)) { - this.onLoadListener = onLoad($__default["default"](window), function () { - return _this2.open(); - }); - } - } - - /** - * Creates an overlay div to display behind the modal. - * @private - */ - }, { - key: "_makeOverlay", - value: function _makeOverlay() { - var additionalOverlayClasses = ''; - if (this.options.additionalOverlayClasses) { - additionalOverlayClasses = ' ' + this.options.additionalOverlayClasses; - } - return $__default["default"]('
    ').addClass('reveal-overlay' + additionalOverlayClasses).appendTo(this.options.appendTo); - } - - /** - * Updates position of modal - * TODO: Figure out if we actually need to cache these values or if it doesn't matter - * @private - */ - }, { - key: "_updatePosition", - value: function _updatePosition() { - var width = this.$element.outerWidth(); - var outerWidth = $__default["default"](window).width(); - var height = this.$element.outerHeight(); - var outerHeight = $__default["default"](window).height(); - var left, - top = null; - if (this.options.hOffset === 'auto') { - left = parseInt((outerWidth - width) / 2, 10); - } else { - left = parseInt(this.options.hOffset, 10); - } - if (this.options.vOffset === 'auto') { - if (height > outerHeight) { - top = parseInt(Math.min(100, outerHeight / 10), 10); - } else { - top = parseInt((outerHeight - height) / 4, 10); - } - } else if (this.options.vOffset !== null) { - top = parseInt(this.options.vOffset, 10); - } - if (top !== null) { - this.$element.css({ - top: top + 'px' - }); - } - - // only worry about left if we don't have an overlay or we have a horizontal offset, - // otherwise we're perfectly in the middle - if (!this.$overlay || this.options.hOffset !== 'auto') { - this.$element.css({ - left: left + 'px' - }); - this.$element.css({ - margin: '0px' - }); - } - } - - /** - * Adds event handlers for the modal. - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this3 = this; - var _this = this; - this.$element.on({ - 'open.zf.trigger': this.open.bind(this), - 'close.zf.trigger': function closeZfTrigger(event, $element) { - if (event.target === _this.$element[0] || $__default["default"](event.target).parents('[data-closable]')[0] === $element) { - // only close reveal when it's explicitly called - return _this3.close.apply(_this3); - } - }, - 'toggle.zf.trigger': this.toggle.bind(this), - 'resizeme.zf.trigger': function resizemeZfTrigger() { - _this._updatePosition(); - } - }); - if (this.options.closeOnClick && this.options.overlay) { - this.$overlay.off('.zf.reveal').on('click.zf.dropdown tap.zf.dropdown', function (e) { - if (e.target === _this.$element[0] || $__default["default"].contains(_this.$element[0], e.target) || !$__default["default"].contains(document, e.target)) { - return; - } - _this.close(); - }); - } - if (this.options.deepLink) { - $__default["default"](window).on("hashchange.zf.reveal:".concat(this.id), this._handleState.bind(this)); - } - } - - /** - * Handles modal methods on back/forward button clicks or any other event that triggers hashchange. - * @private - */ - }, { - key: "_handleState", - value: function _handleState() { - if (window.location.hash === '#' + this.id && !this.isActive) { - this.open(); - } else { - this.close(); - } - } - - /** - * Disables the scroll when Reveal is shown to prevent the background from shifting - * @param {number} scrollTop - Scroll to visually apply, window current scroll by default - */ - }, { - key: "_disableScroll", - value: function _disableScroll(scrollTop) { - scrollTop = scrollTop || $__default["default"](window).scrollTop(); - if ($__default["default"](document).height() > $__default["default"](window).height()) { - $__default["default"]("html").css("top", -scrollTop); - } - } - - /** - * Reenables the scroll when Reveal closes - * @param {number} scrollTop - Scroll to restore, html "top" property by default (as set by `_disableScroll`) - */ - }, { - key: "_enableScroll", - value: function _enableScroll(scrollTop) { - scrollTop = scrollTop || parseInt($__default["default"]("html").css("top"), 10); - if ($__default["default"](document).height() > $__default["default"](window).height()) { - $__default["default"]("html").css("top", ""); - $__default["default"](window).scrollTop(-scrollTop); - } - } - - /** - * Opens the modal controlled by `this.$anchor`, and closes all others by default. - * @function - * @fires Reveal#closeme - * @fires Reveal#open - */ - }, { - key: "open", - value: function open() { - var _this4 = this; - // either update or replace browser history - var hash = "#".concat(this.id); - if (this.options.deepLink && window.location.hash !== hash) { - if (window.history.pushState) { - if (this.options.updateHistory) { - window.history.pushState({}, '', hash); - } else { - window.history.replaceState({}, '', hash); - } - } else { - window.location.hash = hash; - } - } - - // Remember anchor that opened it to set focus back later, have general anchors as fallback - this.$activeAnchor = $__default["default"](document.activeElement).is(this.$anchor) ? $__default["default"](document.activeElement) : this.$anchor; - this.isActive = true; - - // Make elements invisible, but remove display: none so we can get size and positioning - this.$element.css({ - 'visibility': 'hidden' - }).show().scrollTop(0); - if (this.options.overlay) { - this.$overlay.css({ - 'visibility': 'hidden' - }).show(); - } - this._updatePosition(); - this.$element.hide().css({ - 'visibility': '' - }); - if (this.$overlay) { - this.$overlay.css({ - 'visibility': '' - }).hide(); - if (this.$element.hasClass('fast')) { - this.$overlay.addClass('fast'); - } else if (this.$element.hasClass('slow')) { - this.$overlay.addClass('slow'); - } - } - if (!this.options.multipleOpened) { - /** - * Fires immediately before the modal opens. - * Closes any other modals that are currently open - * @event Reveal#closeme - */ - this.$element.trigger('closeme.zf.reveal', this.id); - } - if ($__default["default"]('.reveal:visible').length === 0) { - this._disableScroll(); - } - var _this = this; - - // Motion UI method of reveal - if (this.options.animationIn) { - var afterAnimation = function afterAnimation() { - _this.$element.attr({ - 'aria-hidden': false, - 'tabindex': -1 - }).focus(); - _this._addGlobalClasses(); - Keyboard.trapFocus(_this.$element); - }; - if (this.options.overlay) { - Motion.animateIn(this.$overlay, 'fade-in'); - } - Motion.animateIn(this.$element, this.options.animationIn, function () { - if (_this4.$element) { - // protect against object having been removed - _this4.focusableElements = Keyboard.findFocusable(_this4.$element); - afterAnimation(); - } - }); - } - // jQuery method of reveal - else { - if (this.options.overlay) { - this.$overlay.show(0); - } - this.$element.show(this.options.showDelay); - } - - // handle accessibility - this.$element.attr({ - 'aria-hidden': false, - 'tabindex': -1 - }).focus(); - Keyboard.trapFocus(this.$element); - this._addGlobalClasses(); - this._addGlobalListeners(); - - /** - * Fires when the modal has successfully opened. - * @event Reveal#open - */ - this.$element.trigger('open.zf.reveal'); - } - - /** - * Adds classes and listeners on document required by open modals. - * - * The following classes are added and updated: - * - `.is-reveal-open` - Prevents the scroll on document - * - `.zf-has-scroll` - Displays a disabled scrollbar on document if required like if the - * scroll was not disabled. This prevent a "shift" of the page content due - * the scrollbar disappearing when the modal opens. - * - * @private - */ - }, { - key: "_addGlobalClasses", - value: function _addGlobalClasses() { - var updateScrollbarClass = function updateScrollbarClass() { - $__default["default"]('html').toggleClass('zf-has-scroll', !!($__default["default"](document).height() > $__default["default"](window).height())); - }; - this.$element.on('resizeme.zf.trigger.revealScrollbarListener', function () { - return updateScrollbarClass(); - }); - updateScrollbarClass(); - $__default["default"]('html').addClass('is-reveal-open'); - } - - /** - * Removes classes and listeners on document that were required by open modals. - * @private - */ - }, { - key: "_removeGlobalClasses", - value: function _removeGlobalClasses() { - this.$element.off('resizeme.zf.trigger.revealScrollbarListener'); - $__default["default"]('html').removeClass('is-reveal-open'); - $__default["default"]('html').removeClass('zf-has-scroll'); - } - - /** - * Adds extra event handlers for the body and window if necessary. - * @private - */ - }, { - key: "_addGlobalListeners", - value: function _addGlobalListeners() { - var _this = this; - if (!this.$element) { - return; - } // If we're in the middle of cleanup, don't freak out - this.focusableElements = Keyboard.findFocusable(this.$element); - if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) { - $__default["default"]('body').on('click.zf.dropdown tap.zf.dropdown', function (e) { - if (e.target === _this.$element[0] || $__default["default"].contains(_this.$element[0], e.target) || !$__default["default"].contains(document, e.target)) { - return; - } - _this.close(); - }); - } - if (this.options.closeOnEsc) { - $__default["default"](window).on('keydown.zf.reveal', function (e) { - Keyboard.handleKey(e, 'Reveal', { - close: function close() { - if (_this.options.closeOnEsc) { - _this.close(); - } - } - }); - }); - } - } - - /** - * Closes the modal. - * @function - * @fires Reveal#closed - */ - }, { - key: "close", - value: function close() { - if (!this.isActive || !this.$element.is(':visible')) { - return false; - } - var _this = this; - - // Motion UI method of hiding - if (this.options.animationOut) { - if (this.options.overlay) { - Motion.animateOut(this.$overlay, 'fade-out'); - } - Motion.animateOut(this.$element, this.options.animationOut, finishUp); - } - // jQuery method of hiding - else { - this.$element.hide(this.options.hideDelay); - if (this.options.overlay) { - this.$overlay.hide(0, finishUp); - } else { - finishUp(); - } - } - - // Conditionals to remove extra event listeners added on open - if (this.options.closeOnEsc) { - $__default["default"](window).off('keydown.zf.reveal'); - } - if (!this.options.overlay && this.options.closeOnClick) { - $__default["default"]('body').off('click.zf.dropdown tap.zf.dropdown'); - } - this.$element.off('keydown.zf.reveal'); - function finishUp() { - // Get the current top before the modal is closed and restore the scroll after. - // TODO: use component properties instead of HTML properties - // See https://github.com/foundation/foundation-sites/pull/10786 - var scrollTop = parseInt($__default["default"]("html").css("top"), 10); - if ($__default["default"]('.reveal:visible').length === 0) { - _this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal - } - Keyboard.releaseFocus(_this.$element); - _this.$element.attr('aria-hidden', true); - if ($__default["default"]('.reveal:visible').length === 0) { - _this._enableScroll(scrollTop); - } - - /** - * Fires when the modal is done closing. - * @event Reveal#closed - */ - _this.$element.trigger('closed.zf.reveal'); - } - - /** - * Resets the modal content - * This prevents a running video to keep going in the background - */ - if (this.options.resetOnClose) { - this.$element.html(this.$element.html()); - } - this.isActive = false; - // If deepLink and we did not switched to an other modal... - if (_this.options.deepLink && window.location.hash === "#".concat(this.id)) { - // Remove the history hash - if (window.history.replaceState) { - var urlWithoutHash = window.location.pathname + window.location.search; - if (this.options.updateHistory) { - window.history.pushState({}, '', urlWithoutHash); // remove the hash - } else { - window.history.replaceState('', document.title, urlWithoutHash); - } - } else { - window.location.hash = ''; - } - } - this.$activeAnchor.focus(); - } - - /** - * Toggles the open/closed state of a modal. - * @function - */ - }, { - key: "toggle", - value: function toggle() { - if (this.isActive) { - this.close(); - } else { - this.open(); - } - } - }, { - key: "_destroy", - value: - /** - * Destroys an instance of a modal. - * @function - */ - function _destroy() { - if (this.options.overlay) { - this.$element.appendTo($__default["default"](this.options.appendTo)); // move $element outside of $overlay to prevent error unregisterPlugin() - this.$overlay.hide().off().remove(); - } - this.$element.hide().off(); - this.$anchor.off('.zf'); - $__default["default"](window).off(".zf.reveal:".concat(this.id)); - if (this.onLoadListener) $__default["default"](window).off(this.onLoadListener); - if ($__default["default"]('.reveal:visible').length === 0) { - this._removeGlobalClasses(); // also remove .is-reveal-open from the html element when there is no opened reveal - } - } - }]); -}(Plugin); -Reveal.defaults = { - /** - * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide. - * @option - * @type {string} - * @default '' - */ - animationIn: '', - /** - * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide. - * @option - * @type {string} - * @default '' - */ - animationOut: '', - /** - * Time, in ms, to delay the opening of a modal after a click if no animation used. - * @option - * @type {number} - * @default 0 - */ - showDelay: 0, - /** - * Time, in ms, to delay the closing of a modal after a click if no animation used. - * @option - * @type {number} - * @default 0 - */ - hideDelay: 0, - /** - * Allows a click on the body/overlay to close the modal. - * @option - * @type {boolean} - * @default true - */ - closeOnClick: true, - /** - * Allows the modal to close if the user presses the `ESCAPE` key. - * @option - * @type {boolean} - * @default true - */ - closeOnEsc: true, - /** - * If true, allows multiple modals to be displayed at once. - * @option - * @type {boolean} - * @default false - */ - multipleOpened: false, - /** - * Distance, in pixels, the modal should push down from the top of the screen. - * @option - * @type {number|string} - * @default auto - */ - vOffset: 'auto', - /** - * Distance, in pixels, the modal should push in from the side of the screen. - * @option - * @type {number|string} - * @default auto - */ - hOffset: 'auto', - /** - * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well. - * @option - * @type {boolean} - * @default false - */ - fullScreen: false, - /** - * Allows the modal to generate an overlay div, which will cover the view when modal opens. - * @option - * @type {boolean} - * @default true - */ - overlay: true, - /** - * 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. - * @option - * @type {boolean} - * @default false - */ - resetOnClose: false, - /** - * Link the location hash to the modal. - * Set the location hash when the modal is opened/closed, and open/close the modal when the location changes. - * @option - * @type {boolean} - * @default false - */ - deepLink: false, - /** - * If `deepLink` is enabled, update the browser history with the open modal - * @option - * @default false - */ - updateHistory: false, - /** - * Allows the modal to append to custom div. - * @option - * @type {string} - * @default "body" - */ - appendTo: "body", - /** - * Allows adding additional class names to the reveal overlay. - * @option - * @type {string} - * @default '' - */ - additionalOverlayClasses: '' -}; - -/** - * Slider module. - * @module foundation.slider - * @requires foundation.util.motion - * @requires foundation.util.triggers - * @requires foundation.util.keyboard - * @requires foundation.util.touch - */ -var Slider = /*#__PURE__*/function (_Plugin) { - function Slider() { - _classCallCheck(this, Slider); - return _callSuper(this, Slider, arguments); - } - _inherits(Slider, _Plugin); - return _createClass(Slider, [{ - key: "_setup", - value: - /** - * Creates a new instance of a slider control. - * @class - * @name Slider - * @param {jQuery} element - jQuery object to make into a slider control. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Slider.defaults, this.$element.data(), options); - this.className = 'Slider'; // ie9 back compat - this.initialized = false; - - // Touch and Triggers inits are idempotent, we just need to make sure it's initialied. - Touch.init($__default["default"]); - Triggers.init($__default["default"]); - this._init(); - Keyboard.register('Slider', { - 'ltr': { - 'ARROW_RIGHT': 'increase', - 'ARROW_UP': 'increase', - 'ARROW_DOWN': 'decrease', - 'ARROW_LEFT': 'decrease', - 'SHIFT_ARROW_RIGHT': 'increaseFast', - 'SHIFT_ARROW_UP': 'increaseFast', - 'SHIFT_ARROW_DOWN': 'decreaseFast', - 'SHIFT_ARROW_LEFT': 'decreaseFast', - 'HOME': 'min', - 'END': 'max' - }, - 'rtl': { - 'ARROW_LEFT': 'increase', - 'ARROW_RIGHT': 'decrease', - 'SHIFT_ARROW_LEFT': 'increaseFast', - 'SHIFT_ARROW_RIGHT': 'decreaseFast' - } - }); - } - - /** - * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s). - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - this.inputs = this.$element.find('input'); - this.handles = this.$element.find('[data-slider-handle]'); - this.$handle = this.handles.eq(0); - this.$input = this.inputs.length ? this.inputs.eq(0) : $__default["default"]("#".concat(this.$handle.attr('aria-controls'))); - this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0); - if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) { - this.options.disabled = true; - this.$element.addClass(this.options.disabledClass); - } - if (!this.inputs.length) { - this.inputs = $__default["default"]().add(this.$input); - this.options.binding = true; - } - this._setInitAttr(0); - if (this.handles[1]) { - this.options.doubleSided = true; - this.$handle2 = this.handles.eq(1); - this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $__default["default"]("#".concat(this.$handle2.attr('aria-controls'))); - if (!this.inputs[1]) { - this.inputs = this.inputs.add(this.$input2); - } - - // this.$handle.triggerHandler('click.zf.slider'); - this._setInitAttr(1); - } - - // Set handle positions - this.setHandles(); - this._events(); - this.initialized = true; - } - }, { - key: "setHandles", - value: function setHandles() { - var _this2 = this; - if (this.handles[1]) { - this._setHandlePos(this.$handle, this.inputs.eq(0).val(), function () { - _this2._setHandlePos(_this2.$handle2, _this2.inputs.eq(1).val()); - }); - } else { - this._setHandlePos(this.$handle, this.inputs.eq(0).val()); - } - } - }, { - key: "_reflow", - value: function _reflow() { - this.setHandles(); - } - /** - * @function - * @private - * @param {Number} value - floating point (the value) to be transformed using to a relative position on the slider (the inverse of _value) - */ - }, { - key: "_pctOfBar", - value: function _pctOfBar(value) { - var pctOfBar = percent(value - this.options.start, this.options.end - this.options.start); - switch (this.options.positionValueFunction) { - case "pow": - pctOfBar = this._logTransform(pctOfBar); - break; - case "log": - pctOfBar = this._powTransform(pctOfBar); - break; - } - return pctOfBar.toFixed(2); - } - - /** - * @function - * @private - * @param {Number} pctOfBar - floating point, the relative position of the slider (typically between 0-1) to be transformed to a value - */ - }, { - key: "_value", - value: function _value(pctOfBar) { - switch (this.options.positionValueFunction) { - case "pow": - pctOfBar = this._powTransform(pctOfBar); - break; - case "log": - pctOfBar = this._logTransform(pctOfBar); - break; - } - var value; - if (this.options.vertical) { - // linear interpolation which is working with negative values for start - // https://math.stackexchange.com/a/1019084 - value = parseFloat(this.options.end) + pctOfBar * (this.options.start - this.options.end); - } else { - value = (this.options.end - this.options.start) * pctOfBar + parseFloat(this.options.start); - } - return value; - } - - /** - * @function - * @private - * @param {Number} value - floating point (typically between 0-1) to be transformed using the log function - */ - }, { - key: "_logTransform", - value: function _logTransform(value) { - return baseLog(this.options.nonLinearBase, value * (this.options.nonLinearBase - 1) + 1); - } - - /** - * @function - * @private - * @param {Number} value - floating point (typically between 0-1) to be transformed using the power function - */ - }, { - key: "_powTransform", - value: function _powTransform(value) { - return (Math.pow(this.options.nonLinearBase, value) - 1) / (this.options.nonLinearBase - 1); - } - - /** - * Sets the position of the selected handle and fill bar. - * @function - * @private - * @param {jQuery} $hndl - the selected handle to move. - * @param {Number} location - floating point between the start and end values of the slider bar. - * @param {Function} cb - callback function to fire on completion. - * @fires Slider#moved - * @fires Slider#changed - */ - }, { - key: "_setHandlePos", - value: function _setHandlePos($hndl, location, cb) { - // don't move if the slider has been disabled since its initialization - if (this.$element.hasClass(this.options.disabledClass)) { - return; - } - //might need to alter that slightly for bars that will have odd number selections. - location = parseFloat(location); //on input change events, convert string to number...grumble. - - // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max - if (location < this.options.start) { - location = this.options.start; - } else if (location > this.options.end) { - location = this.options.end; - } - var isDbl = this.options.doubleSided; - if (isDbl) { - //this block is to prevent 2 handles from crossing eachother. Could/should be improved. - if (this.handles.index($hndl) === 0) { - var h2Val = parseFloat(this.$handle2.attr('aria-valuenow')); - location = location >= h2Val ? h2Val - this.options.step : location; - } else { - var h1Val = parseFloat(this.$handle.attr('aria-valuenow')); - location = location <= h1Val ? h1Val + this.options.step : location; - } - } - var _this = this, - vert = this.options.vertical, - hOrW = vert ? 'height' : 'width', - lOrT = vert ? 'top' : 'left', - handleDim = $hndl[0].getBoundingClientRect()[hOrW], - elemDim = this.$element[0].getBoundingClientRect()[hOrW], - //percentage of bar min/max value based on click or drag point - pctOfBar = this._pctOfBar(location), - //number of actual pixels to shift the handle, based on the percentage obtained above - pxToMove = (elemDim - handleDim) * pctOfBar, - //percentage of bar to shift the handle - movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal); - //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value - location = parseFloat(location.toFixed(this.options.decimal)); - // declare empty object for css adjustments, only used with 2 handled-sliders - var css = {}; - this._setValues($hndl, location); - - // TODO update to calculate based on values set to respective inputs?? - if (isDbl) { - var isLeftHndl = this.handles.index($hndl) === 0, - //empty variable, will be used for min-height/width for fill bar - dim, - //percentage w/h of the handle compared to the slider bar - handlePct = Math.floor(percent(handleDim, elemDim) * 100); - //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 - if (isLeftHndl) { - //left or top percentage value to apply to the fill bar. - css[lOrT] = "".concat(movement, "%"); - //calculate the new min-height/width for the fill bar. - dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct; - //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider - //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future. - if (cb && typeof cb === 'function') { - cb(); - } //this is only needed for the initialization of 2 handled sliders - } else { - //just caching the value of the left/bottom handle's left/top property - var handlePos = parseFloat(this.$handle[0].style[lOrT]); - //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0 - //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 - dim = movement - (isNaN(handlePos) ? (this.options.initialStart - this.options.start) / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct; - } - // assign the min-height/width to our css object - css["min-".concat(hOrW)] = "".concat(dim, "%"); - } - - //because we don't know exactly how the handle will be moved, check the amount of time it should take to move. - var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime; - Move(moveTime, $hndl, function () { - // adjusting the left/top property of the handle, based on the percentage calculated above - // if movement isNaN, that is because the slider is hidden and we cannot determine handle width, - // fall back to next best guess. - if (isNaN(movement)) { - $hndl.css(lOrT, "".concat(pctOfBar * 100, "%")); - } else { - $hndl.css(lOrT, "".concat(movement, "%")); - } - if (!_this.options.doubleSided) { - //if single-handled, a simple method to expand the fill bar - _this.$fill.css(hOrW, "".concat(pctOfBar * 100, "%")); - } else { - //otherwise, use the css object we created above - _this.$fill.css(css); - } - }); - if (this.initialized) { - this.$element.one('finished.zf.animate', function () { - /** - * Fires when the handle is done moving. - * @event Slider#moved - */ - _this.$element.trigger('moved.zf.slider', [$hndl]); - }); - /** - * Fires when the value has not been change for a given time. - * @event Slider#changed - */ - clearTimeout(_this.timeout); - _this.timeout = setTimeout(function () { - _this.$element.trigger('changed.zf.slider', [$hndl]); - }, _this.options.changedDelay); - } - } - - /** - * Sets the initial attribute for the slider element. - * @function - * @private - * @param {Number} idx - index of the current handle/input to use. - */ - }, { - key: "_setInitAttr", - value: function _setInitAttr(idx) { - var initVal = idx === 0 ? this.options.initialStart : this.options.initialEnd; - var id = this.inputs.eq(idx).attr('id') || GetYoDigits(6, 'slider'); - this.inputs.eq(idx).attr({ - 'id': id, - 'max': this.options.end, - 'min': this.options.start, - 'step': this.options.step - }); - this.inputs.eq(idx).val(initVal); - this.handles.eq(idx).attr({ - 'role': 'slider', - 'aria-controls': id, - 'aria-valuemax': this.options.end, - 'aria-valuemin': this.options.start, - 'aria-valuenow': initVal, - 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal', - 'tabindex': 0 - }); - } - - /** - * Sets the input and `aria-valuenow` values for the slider element. - * @function - * @private - * @param {jQuery} $handle - the currently selected handle. - * @param {Number} val - floating point of the new value. - */ - }, { - key: "_setValues", - value: function _setValues($handle, val) { - var idx = this.options.doubleSided ? this.handles.index($handle) : 0; - this.inputs.eq(idx).val(val); - $handle.attr('aria-valuenow', val); - } - - /** - * Handles events on the slider element. - * Calculates the new location of the current handle. - * If there are two handles and the bar was clicked, it determines which handle to move. - * @function - * @private - * @param {Object} e - the `event` object passed from the listener. - * @param {jQuery} $handle - the current handle to calculate for, if selected. - * @param {Number} val - floating point number for the new value of the slider. - * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn. - */ - }, { - key: "_handleEvent", - value: function _handleEvent(e, $handle, val) { - var value; - if (!val) { - //click or drag events - e.preventDefault(); - var _this = this, - vertical = this.options.vertical, - param = vertical ? 'height' : 'width', - direction = vertical ? 'top' : 'left', - eventOffset = vertical ? e.pageY : e.pageX, - barDim = this.$element[0].getBoundingClientRect()[param], - windowScroll = vertical ? $__default["default"](window).scrollTop() : $__default["default"](window).scrollLeft(); - var elemOffset = this.$element.offset()[direction]; - - // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates... - // best way to guess this is simulated is if clientY == pageY - if (e.clientY === e.pageY) { - eventOffset = eventOffset + windowScroll; - } - var eventFromBar = eventOffset - elemOffset; - var barXY; - if (eventFromBar < 0) { - barXY = 0; - } else if (eventFromBar > barDim) { - barXY = barDim; - } else { - barXY = eventFromBar; - } - var offsetPct = percent(barXY, barDim); - value = this._value(offsetPct); - - // turn everything around for RTL, yay math! - if (rtl() && !this.options.vertical) { - value = this.options.end - value; - } - value = _this._adjustValue(null, value); - if (!$handle) { - //figure out which handle it is, pass it to the next function. - var firstHndlPos = absPosition(this.$handle, direction, barXY, param), - secndHndlPos = absPosition(this.$handle2, direction, barXY, param); - $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2; - } - } else { - //change event on input - value = this._adjustValue(null, val); - } - this._setHandlePos($handle, value); - } - - /** - * Adjustes value for handle in regard to step value. returns adjusted value - * @function - * @private - * @param {jQuery} $handle - the selected handle. - * @param {Number} value - value to adjust. used if $handle is falsy - */ - }, { - key: "_adjustValue", - value: function _adjustValue($handle, value) { - var val, - step = this.options.step, - div = parseFloat(step / 2), - left, - previousVal, - nextVal; - if (!!$handle) { - val = parseFloat($handle.attr('aria-valuenow')); - } else { - val = value; - } - if (val >= 0) { - left = val % step; - } else { - left = step + val % step; - } - previousVal = val - left; - nextVal = previousVal + step; - if (left === 0) { - return val; - } - val = val >= previousVal + div ? nextVal : previousVal; - return val; - } - - /** - * Adds event listeners to the slider elements. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - this._eventsForHandle(this.$handle); - if (this.handles[1]) { - this._eventsForHandle(this.$handle2); - } - } - - /** - * Adds event listeners a particular handle - * @function - * @private - * @param {jQuery} $handle - the current handle to apply listeners to. - */ - }, { - key: "_eventsForHandle", - value: function _eventsForHandle($handle) { - var _this = this, - curHandle; - var handleChangeEvent = function handleChangeEvent(e) { - var idx = _this.inputs.index($__default["default"](this)); - _this._handleEvent(e, _this.handles.eq(idx), $__default["default"](this).val()); - }; - - // IE only triggers the change event when the input loses focus which strictly follows the HTML specification - // listen for the enter key and trigger a change - // @see https://html.spec.whatwg.org/multipage/input.html#common-input-element-events - this.inputs.off('keyup.zf.slider').on('keyup.zf.slider', function (e) { - if (e.keyCode === 13) handleChangeEvent.call(this, e); - }); - this.inputs.off('change.zf.slider').on('change.zf.slider', handleChangeEvent); - if (this.options.clickSelect) { - this.$element.off('click.zf.slider').on('click.zf.slider', function (e) { - if (_this.$element.data('dragging')) { - return false; - } - if (!$__default["default"](e.target).is('[data-slider-handle]')) { - if (_this.options.doubleSided) { - _this._handleEvent(e); - } else { - _this._handleEvent(e, _this.$handle); - } - } - }); - } - if (this.options.draggable) { - this.handles.addTouch(); - var $body = $__default["default"]('body'); - $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) { - $handle.addClass('is-dragging'); - _this.$fill.addClass('is-dragging'); // - _this.$element.data('dragging', true); - curHandle = $__default["default"](e.currentTarget); - $body.on('mousemove.zf.slider', function (ev) { - ev.preventDefault(); - _this._handleEvent(ev, curHandle); - }).on('mouseup.zf.slider', function (ev) { - _this._handleEvent(ev, curHandle); - $handle.removeClass('is-dragging'); - _this.$fill.removeClass('is-dragging'); - _this.$element.data('dragging', false); - $body.off('mousemove.zf.slider mouseup.zf.slider'); - }); - }) - // prevent events triggered by touch - .on('selectstart.zf.slider touchmove.zf.slider', function (e) { - e.preventDefault(); - }); - } - $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) { - var _$handle = $__default["default"](this); - _this.options.doubleSided ? _this.handles.index(_$handle) : 0; - var oldValue = parseFloat($handle.attr('aria-valuenow')), - newValue; - - // handle keyboard event with keyboard util - Keyboard.handleKey(e, 'Slider', { - decrease: function decrease() { - newValue = oldValue - _this.options.step; - }, - increase: function increase() { - newValue = oldValue + _this.options.step; - }, - decreaseFast: function decreaseFast() { - newValue = oldValue - _this.options.step * 10; - }, - increaseFast: function increaseFast() { - newValue = oldValue + _this.options.step * 10; - }, - min: function min() { - newValue = _this.options.start; - }, - max: function max() { - newValue = _this.options.end; - }, - handled: function handled() { - // only set handle pos when event was handled specially - e.preventDefault(); - _this._setHandlePos(_$handle, newValue); - } - }); - /*if (newValue) { // if pressed key has special function, update value - e.preventDefault(); - _this._setHandlePos(_$handle, newValue); - }*/ - }); - } - - /** - * Destroys the slider plugin. - */ - }, { - key: "_destroy", - value: function _destroy() { - this.handles.off('.zf.slider'); - this.inputs.off('.zf.slider'); - this.$element.off('.zf.slider'); - clearTimeout(this.timeout); - } - }]); -}(Plugin); -Slider.defaults = { - /** - * Minimum value for the slider scale. - * @option - * @type {number} - * @default 0 - */ - start: 0, - /** - * Maximum value for the slider scale. - * @option - * @type {number} - * @default 100 - */ - end: 100, - /** - * Minimum value change per change event. - * @option - * @type {number} - * @default 1 - */ - step: 1, - /** - * Value at which the handle/input *(left handle/first input)* should be set to on initialization. - * @option - * @type {number} - * @default 0 - */ - initialStart: 0, - /** - * Value at which the right handle/second input should be set to on initialization. - * @option - * @type {number} - * @default 100 - */ - initialEnd: 100, - /** - * Allows the input to be located outside the container and visible. Set to by the JS - * @option - * @type {boolean} - * @default false - */ - binding: false, - /** - * Allows the user to click/tap on the slider bar to select a value. - * @option - * @type {boolean} - * @default true - */ - clickSelect: true, - /** - * Set to true and use the `vertical` class to change alignment to vertical. - * @option - * @type {boolean} - * @default false - */ - vertical: false, - /** - * Allows the user to drag the slider handle(s) to select a value. - * @option - * @type {boolean} - * @default true - */ - draggable: true, - /** - * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`. - * @option - * @type {boolean} - * @default false - */ - disabled: false, - /** - * Allows the use of two handles. Double checked by the JS. Changes some logic handling. - * @option - * @type {boolean} - * @default false - */ - doubleSided: false, - /** - * Potential future feature. - */ - // steps: 100, - /** - * Number of decimal places the plugin should go to for floating point precision. - * @option - * @type {number} - * @default 2 - */ - decimal: 2, - /** - * Time delay for dragged elements. - */ - // dragDelay: 0, - /** - * 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. - * @option - * @type {number} - * @default 200 - */ - moveTime: 200, - //update this if changing the transition time in the sass - /** - * Class applied to disabled sliders. - * @option - * @type {string} - * @default 'disabled' - */ - disabledClass: 'disabled', - /** - * Will invert the default layout for a vertical slider. - * @option - * @type {boolean} - * @default false - */ - invertVertical: false, - /** - * Milliseconds before the `changed.zf-slider` event is triggered after value change. - * @option - * @type {number} - * @default 500 - */ - changedDelay: 500, - /** - * Basevalue for non-linear sliders - * @option - * @type {number} - * @default 5 - */ - nonLinearBase: 5, - /** - * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting. - * @option - * @type {string} - * @default 'linear' - */ - positionValueFunction: 'linear' -}; -function percent(frac, num) { - return frac / num; -} -function absPosition($handle, dir, clickPos, param) { - return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos); -} -function baseLog(base, value) { - return Math.log(value) / Math.log(base); -} - -/** - * Sticky module. - * @module foundation.sticky - * @requires foundation.util.triggers - * @requires foundation.util.mediaQuery - */ -var Sticky = /*#__PURE__*/function (_Plugin) { - function Sticky() { - _classCallCheck(this, Sticky); - return _callSuper(this, Sticky, arguments); - } - _inherits(Sticky, _Plugin); - return _createClass(Sticky, [{ - key: "_setup", - value: - /** - * Creates a new instance of a sticky thing. - * @class - * @name Sticky - * @param {jQuery} element - jQuery object to make sticky. - * @param {Object} options - options object passed when creating the element programmatically. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Sticky.defaults, this.$element.data(), options); - this.className = 'Sticky'; // ie9 back compat - - // Triggers init is idempotent, just need to make sure it is initialized - Triggers.init($__default["default"]); - this._init(); - } - - /** - * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - var $parent = this.$element.parent('[data-sticky-container]'), - id = this.$element[0].id || GetYoDigits(6, 'sticky'), - _this = this; - if ($parent.length) { - this.$container = $parent; - } else { - this.wasWrapped = true; - this.$element.wrap(this.options.container); - this.$container = this.$element.parent(); - } - this.$container.addClass(this.options.containerClass); - this.$element.addClass(this.options.stickyClass).attr({ - 'data-resize': id, - 'data-mutate': id - }); - if (this.options.anchor !== '') { - $__default["default"]('#' + _this.options.anchor).attr({ - 'data-mutate': id - }); - } - this.scrollCount = this.options.checkEvery; - this.isStuck = false; - this.onLoadListener = onLoad($__default["default"](window), function () { - //We calculate the container height to have correct values for anchor points offset calculation. - _this.containerHeight = _this.$element.css("display") === "none" ? 0 : _this.$element[0].getBoundingClientRect().height; - _this.$container.css('height', _this.containerHeight); - _this.elemHeight = _this.containerHeight; - if (_this.options.anchor !== '') { - _this.$anchor = $__default["default"]('#' + _this.options.anchor); - } else { - _this._parsePoints(); - } - _this._setSizes(function () { - var scroll = window.pageYOffset; - _this._calc(false, scroll); - //Unstick the element will ensure that proper classes are set. - if (!_this.isStuck) { - _this._removeSticky(scroll >= _this.topPoint ? false : true); - } - }); - _this._events(id.split('-').reverse().join('-')); - }); - } - - /** - * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on. - * @function - * @private - */ - }, { - key: "_parsePoints", - value: function _parsePoints() { - var top = this.options.topAnchor === "" ? 1 : this.options.topAnchor, - btm = this.options.btmAnchor === "" ? document.documentElement.scrollHeight : this.options.btmAnchor, - pts = [top, btm], - breaks = {}; - for (var i = 0, len = pts.length; i < len && pts[i]; i++) { - var pt; - if (typeof pts[i] === 'number') { - pt = pts[i]; - } else { - var place = pts[i].split(':'), - anchor = $__default["default"]("#".concat(place[0])); - pt = anchor.offset().top; - if (place[1] && place[1].toLowerCase() === 'bottom') { - pt += anchor[0].getBoundingClientRect().height; - } - } - breaks[i] = pt; - } - this.points = breaks; - return; - } - - /** - * Adds event handlers for the scrolling element. - * @private - * @param {String} id - pseudo-random id for unique scroll event listener. - */ - }, { - key: "_events", - value: function _events(id) { - var _this = this, - scrollListener = this.scrollListener = "scroll.zf.".concat(id); - if (this.isOn) { - return; - } - if (this.canStick) { - this.isOn = true; - $__default["default"](window).off(scrollListener).on(scrollListener, function () { - if (_this.scrollCount === 0) { - _this.scrollCount = _this.options.checkEvery; - _this._setSizes(function () { - _this._calc(false, window.pageYOffset); - }); - } else { - _this.scrollCount--; - _this._calc(false, window.pageYOffset); - } - }); - } - this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function () { - _this._eventsHandler(id); - }); - this.$element.on('mutateme.zf.trigger', function () { - _this._eventsHandler(id); - }); - if (this.$anchor) { - this.$anchor.on('mutateme.zf.trigger', function () { - _this._eventsHandler(id); - }); - } - } - - /** - * Handler for events. - * @private - * @param {String} id - pseudo-random id for unique scroll event listener. - */ - }, { - key: "_eventsHandler", - value: function _eventsHandler(id) { - var _this = this, - scrollListener = this.scrollListener = "scroll.zf.".concat(id); - _this._setSizes(function () { - _this._calc(false); - if (_this.canStick) { - if (!_this.isOn) { - _this._events(id); - } - } else if (_this.isOn) { - _this._pauseListeners(scrollListener); - } - }); - } - - /** - * Removes event handlers for scroll and change events on anchor. - * @fires Sticky#pause - * @param {String} scrollListener - unique, namespaced scroll listener attached to `window` - */ - }, { - key: "_pauseListeners", - value: function _pauseListeners(scrollListener) { - this.isOn = false; - $__default["default"](window).off(scrollListener); - - /** - * Fires when the plugin is paused due to resize event shrinking the view. - * @event Sticky#pause - * @private - */ - this.$element.trigger('pause.zf.sticky'); - } - - /** - * Called on every `scroll` event and on `_init` - * fires functions based on booleans and cached values - * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints. - * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`. - */ - }, { - key: "_calc", - value: function _calc(checkSizes, scroll) { - if (checkSizes) { - this._setSizes(); - } - if (!this.canStick) { - if (this.isStuck) { - this._removeSticky(true); - } - return false; - } - if (!scroll) { - scroll = window.pageYOffset; - } - if (scroll >= this.topPoint) { - if (scroll <= this.bottomPoint) { - if (!this.isStuck) { - this._setSticky(); - } - } else { - if (this.isStuck) { - this._removeSticky(false); - } - } - } else { - if (this.isStuck) { - this._removeSticky(true); - } - } - } - - /** - * Causes the $element to become stuck. - * Adds `position: fixed;`, and helper classes. - * @fires Sticky#stuckto - * @function - * @private - */ - }, { - key: "_setSticky", - value: function _setSticky() { - var _this = this, - stickTo = this.options.stickTo, - mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom', - notStuckTo = stickTo === 'top' ? 'bottom' : 'top', - css = {}; - css[mrgn] = "".concat(this.options[mrgn], "em"); - css[stickTo] = 0; - css[notStuckTo] = 'auto'; - this.isStuck = true; - this.$element.removeClass("is-anchored is-at-".concat(notStuckTo)).addClass("is-stuck is-at-".concat(stickTo)).css(css) - /** - * Fires when the $element has become `position: fixed;` - * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top` - * @event Sticky#stuckto - */.trigger("sticky.zf.stuckto:".concat(stickTo)); - this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function () { - _this._setSizes(); - }); - } - - /** - * Causes the $element to become unstuck. - * Removes `position: fixed;`, and helper classes. - * Adds other helper classes. - * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element. - * @fires Sticky#unstuckfrom - * @private - */ - }, { - key: "_removeSticky", - value: function _removeSticky(isTop) { - var stickTo = this.options.stickTo, - stickToTop = stickTo === 'top', - css = {}, - anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight, - mrgn = stickToTop ? 'marginTop' : 'marginBottom', - topOrBottom = isTop ? 'top' : 'bottom'; - css[mrgn] = 0; - css.bottom = 'auto'; - if (isTop) { - css.top = 0; - } else { - css.top = anchorPt; - } - this.isStuck = false; - this.$element.removeClass("is-stuck is-at-".concat(stickTo)).addClass("is-anchored is-at-".concat(topOrBottom)).css(css) - /** - * Fires when the $element has become anchored. - * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom` - * @event Sticky#unstuckfrom - */.trigger("sticky.zf.unstuckfrom:".concat(topOrBottom)); - } - - /** - * Sets the $element and $container sizes for plugin. - * Calls `_setBreakPoints`. - * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`. - * @private - */ - }, { - key: "_setSizes", - value: function _setSizes(cb) { - this.canStick = MediaQuery.is(this.options.stickyOn); - if (!this.canStick) { - if (cb && typeof cb === 'function') { - cb(); - } - } - var newElemWidth = this.$container[0].getBoundingClientRect().width, - comp = window.getComputedStyle(this.$container[0]), - pdngl = parseInt(comp['padding-left'], 10), - pdngr = parseInt(comp['padding-right'], 10); - if (this.$anchor && this.$anchor.length) { - this.anchorHeight = this.$anchor[0].getBoundingClientRect().height; - } else { - this._parsePoints(); - } - this.$element.css({ - 'max-width': "".concat(newElemWidth - pdngl - pdngr, "px") - }); - - // Recalculate the height only if it is "dynamic" - if (this.options.dynamicHeight || !this.containerHeight) { - // Get the sticked element height and apply it to the container to "hold the place" - var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight; - newContainerHeight = this.$element.css("display") === "none" ? 0 : newContainerHeight; - this.$container.css('height', newContainerHeight); - this.containerHeight = newContainerHeight; - } - this.elemHeight = this.containerHeight; - if (!this.isStuck) { - if (this.$element.hasClass('is-at-bottom')) { - var anchorPt = (this.points ? this.points[1] - this.$container.offset().top : this.anchorHeight) - this.elemHeight; - this.$element.css('top', anchorPt); - } - } - this._setBreakPoints(this.containerHeight, function () { - if (cb && typeof cb === 'function') { - cb(); - } - }); - } - - /** - * Sets the upper and lower breakpoints for the element to become sticky/unsticky. - * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`. - * @param {Function} cb - optional callback function to be called on completion. - * @private - */ - }, { - key: "_setBreakPoints", - value: function _setBreakPoints(elemHeight, cb) { - if (!this.canStick) { - if (cb && typeof cb === 'function') { - cb(); - } else { - return false; - } - } - var mTop = emCalc(this.options.marginTop), - mBtm = emCalc(this.options.marginBottom), - topPoint = this.points ? this.points[0] : this.$anchor.offset().top, - bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight, - // topPoint = this.$anchor.offset().top || this.points[0], - // bottomPoint = topPoint + this.anchorHeight || this.points[1], - winHeight = window.innerHeight; - if (this.options.stickTo === 'top') { - topPoint -= mTop; - bottomPoint -= elemHeight + mTop; - } else if (this.options.stickTo === 'bottom') { - topPoint -= winHeight - (elemHeight + mBtm); - bottomPoint -= winHeight - mBtm; - } else ; - this.topPoint = topPoint; - this.bottomPoint = bottomPoint; - if (cb && typeof cb === 'function') { - cb(); - } - } - - /** - * Destroys the current sticky element. - * Resets the element to the top position first. - * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this._removeSticky(true); - 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'); - if (this.$anchor && this.$anchor.length) { - this.$anchor.off('change.zf.sticky'); - } - if (this.scrollListener) $__default["default"](window).off(this.scrollListener); - if (this.onLoadListener) $__default["default"](window).off(this.onLoadListener); - if (this.wasWrapped) { - this.$element.unwrap(); - } else { - this.$container.removeClass(this.options.containerClass).css({ - height: '' - }); - } - } - }]); -}(Plugin); -Sticky.defaults = { - /** - * Customizable container template. Add your own classes for styling and sizing. - * @option - * @type {string} - * @default '<div data-sticky-container></div>' - */ - container: '
    ', - /** - * Location in the view the element sticks to. Can be `'top'` or `'bottom'`. - * @option - * @type {string} - * @default 'top' - */ - stickTo: 'top', - /** - * If anchored to a single element, the id of that element. - * @option - * @type {string} - * @default '' - */ - anchor: '', - /** - * If using more than one element as anchor points, the id of the top anchor. - * @option - * @type {string} - * @default '' - */ - topAnchor: '', - /** - * If using more than one element as anchor points, the id of the bottom anchor. - * @option - * @type {string} - * @default '' - */ - btmAnchor: '', - /** - * Margin, in `em`'s to apply to the top of the element when it becomes sticky. - * @option - * @type {number} - * @default 1 - */ - marginTop: 1, - /** - * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky. - * @option - * @type {number} - * @default 1 - */ - marginBottom: 1, - /** - * Breakpoint string that is the minimum screen size an element should become sticky. - * @option - * @type {string} - * @default 'medium' - */ - stickyOn: 'medium', - /** - * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`. - * @option - * @type {string} - * @default 'sticky' - */ - stickyClass: 'sticky', - /** - * Class applied to sticky container. Foundation defaults to `sticky-container`. - * @option - * @type {string} - * @default 'sticky-container' - */ - containerClass: 'sticky-container', - /** - * 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. - * @option - * @type {boolean} - * @default true - */ - dynamicHeight: true, - /** - * 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. - * @option - * @type {number} - * @default -1 - */ - checkEvery: -1 -}; - -/** - * Helper function to calculate em values - * @param Number {em} - number of em's to calculate into pixels - */ -function emCalc(em) { - return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em; -} - -/** - * Tabs module. - * @module foundation.tabs - * @requires foundation.util.keyboard - * @requires foundation.util.imageLoader if tabs contain images - */ -var Tabs = /*#__PURE__*/function (_Plugin) { - function Tabs() { - _classCallCheck(this, Tabs); - return _callSuper(this, Tabs, arguments); - } - _inherits(Tabs, _Plugin); - return _createClass(Tabs, [{ - key: "_setup", - value: - /** - * Creates a new instance of tabs. - * @class - * @name Tabs - * @fires Tabs#init - * @param {jQuery} element - jQuery object to make into tabs. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Tabs.defaults, this.$element.data(), options); - this.className = 'Tabs'; // ie9 back compat - - this._init(); - Keyboard.register('Tabs', { - 'ENTER': 'open', - 'SPACE': 'open', - 'ARROW_RIGHT': 'next', - 'ARROW_UP': 'previous', - 'ARROW_DOWN': 'next', - 'ARROW_LEFT': 'previous' - // 'TAB': 'next', - // 'SHIFT_TAB': 'previous' - }); - } - - /** - * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab. - * @private - */ - }, { - key: "_init", - value: function _init() { - var _this2 = this; - var _this = this; - this._isInitializing = true; - this.$element.attr({ - 'role': 'tablist' - }); - this.$tabTitles = this.$element.find(".".concat(this.options.linkClass)); - this.$tabContent = $__default["default"]("[data-tabs-content=\"".concat(this.$element[0].id, "\"]")); - this.$tabTitles.each(function () { - var $elem = $__default["default"](this), - $link = $elem.find('a'), - isActive = $elem.hasClass("".concat(_this.options.linkActiveClass)), - hash = $link.attr('data-tabs-target') || $link[0].hash.slice(1), - linkId = $link[0].id ? $link[0].id : "".concat(hash, "-label"), - $tabContent = $__default["default"]("#".concat(hash)); - $elem.attr({ - 'role': 'presentation' - }); - $link.attr({ - 'role': 'tab', - 'aria-controls': hash, - 'aria-selected': isActive, - 'id': linkId, - 'tabindex': isActive ? '0' : '-1' - }); - $tabContent.attr({ - 'role': 'tabpanel', - 'aria-labelledby': linkId - }); - - // Save up the initial hash to return to it later when going back in history - if (isActive) { - _this._initialAnchor = "#".concat(hash); - } - if (!isActive) { - $tabContent.attr('aria-hidden', 'true'); - } - if (isActive && _this.options.autoFocus) { - _this.onLoadListener = onLoad($__default["default"](window), function () { - $__default["default"]('html, body').animate({ - scrollTop: $elem.offset().top - }, _this.options.deepLinkSmudgeDelay, function () { - $link.focus(); - }); - }); - } - }); - if (this.options.matchHeight) { - var $images = this.$tabContent.find('img'); - if ($images.length) { - onImagesLoaded($images, this._setHeight.bind(this)); - } else { - this._setHeight(); - } - } - - // Current context-bound function to open tabs on page load or history hashchange - this._checkDeepLink = function () { - var anchor = window.location.hash; - if (!anchor.length) { - // If we are still initializing and there is no anchor, then there is nothing to do - if (_this2._isInitializing) return; - // Otherwise, move to the initial anchor - if (_this2._initialAnchor) anchor = _this2._initialAnchor; - } - var anchorNoHash = anchor.indexOf('#') >= 0 ? anchor.slice(1) : anchor; - var $anchor = anchorNoHash && $__default["default"]("#".concat(anchorNoHash)); - var $link = anchor && _this2.$element.find("[href$=\"".concat(anchor, "\"],[data-tabs-target=\"").concat(anchorNoHash, "\"]")).first(); - // Whether the anchor element that has been found is part of this element - var isOwnAnchor = !!($anchor.length && $link.length); - if (isOwnAnchor) { - // If there is an anchor for the hash, select it - if ($anchor && $anchor.length && $link && $link.length) { - _this2.selectTab($anchor, true); - } - // Otherwise, collapse everything - else { - _this2._collapse(); - } - - // Roll up a little to show the titles - if (_this2.options.deepLinkSmudge) { - var offset = _this2.$element.offset(); - $__default["default"]('html, body').animate({ - scrollTop: offset.top - _this2.options.deepLinkSmudgeOffset - }, _this2.options.deepLinkSmudgeDelay); - } - - /** - * Fires when the plugin has deeplinked at pageload - * @event Tabs#deeplink - */ - _this2.$element.trigger('deeplink.zf.tabs', [$link, $anchor]); - } - }; - - //use browser to open a tab, if it exists in this tabset - if (this.options.deepLink) { - this._checkDeepLink(); - } - this._events(); - this._isInitializing = false; - } - - /** - * Adds event handlers for items within the tabs. - * @private - */ - }, { - key: "_events", - value: function _events() { - this._addKeyHandler(); - this._addClickHandler(); - this._setHeightMqHandler = null; - if (this.options.matchHeight) { - this._setHeightMqHandler = this._setHeight.bind(this); - $__default["default"](window).on('changed.zf.mediaquery', this._setHeightMqHandler); - } - if (this.options.deepLink) { - $__default["default"](window).on('hashchange', this._checkDeepLink); - } - } - - /** - * Adds click handlers for items within the tabs. - * @private - */ - }, { - key: "_addClickHandler", - value: function _addClickHandler() { - var _this = this; - this.$element.off('click.zf.tabs').on('click.zf.tabs', ".".concat(this.options.linkClass), function (e) { - e.preventDefault(); - _this._handleTabChange($__default["default"](this)); - }); - } - - /** - * Adds keyboard event handlers for items within the tabs. - * @private - */ - }, { - key: "_addKeyHandler", - value: function _addKeyHandler() { - var _this = this; - this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) { - if (e.which === 9) return; - var $element = $__default["default"](this), - $elements = $element.parent('ul').children('li'), - $prevElement, - $nextElement; - $elements.each(function (i) { - if ($__default["default"](this).is($element)) { - if (_this.options.wrapOnKeys) { - $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1); - $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1); - } else { - $prevElement = $elements.eq(Math.max(0, i - 1)); - $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)); - } - return; - } - }); - - // handle keyboard event with keyboard util - Keyboard.handleKey(e, 'Tabs', { - open: function open() { - $element.find('[role="tab"]').focus(); - _this._handleTabChange($element); - }, - previous: function previous() { - $prevElement.find('[role="tab"]').focus(); - _this._handleTabChange($prevElement); - }, - next: function next() { - $nextElement.find('[role="tab"]').focus(); - _this._handleTabChange($nextElement); - }, - handled: function handled() { - e.preventDefault(); - } - }); - }); - } - - /** - * Opens the tab `$targetContent` defined by `$target`. Collapses active tab. - * @param {jQuery} $target - Tab to open. - * @param {boolean} historyHandled - browser has already handled a history update - * @fires Tabs#change - * @function - */ - }, { - key: "_handleTabChange", - value: function _handleTabChange($target, historyHandled) { - // With `activeCollapse`, if the target is the active Tab, collapse it. - if ($target.hasClass("".concat(this.options.linkActiveClass))) { - if (this.options.activeCollapse) { - this._collapse(); - } - return; - } - var $oldTab = this.$element.find(".".concat(this.options.linkClass, ".").concat(this.options.linkActiveClass)), - $tabLink = $target.find('[role="tab"]'), - target = $tabLink.attr('data-tabs-target'), - anchor = target && target.length ? "#".concat(target) : $tabLink[0].hash, - $targetContent = this.$tabContent.find(anchor); - - //close old tab - this._collapseTab($oldTab); - - //open new tab - this._openTab($target); - - //either replace or update browser history - if (this.options.deepLink && !historyHandled) { - if (this.options.updateHistory) { - history.pushState({}, '', location.pathname + location.search + anchor); - } else { - history.replaceState({}, '', location.pathname + location.search + anchor); - } - } - - /** - * Fires when the plugin has successfully changed tabs. - * @event Tabs#change - */ - this.$element.trigger('change.zf.tabs', [$target, $targetContent]); - - //fire to children a mutation event - $targetContent.find("[data-mutate]").trigger("mutateme.zf.trigger"); - } - - /** - * Opens the tab `$targetContent` defined by `$target`. - * @param {jQuery} $target - Tab to open. - * @function - */ - }, { - key: "_openTab", - value: function _openTab($target) { - var $tabLink = $target.find('[role="tab"]'), - hash = $tabLink.attr('data-tabs-target') || $tabLink[0].hash.slice(1), - $targetContent = this.$tabContent.find("#".concat(hash)); - $target.addClass("".concat(this.options.linkActiveClass)); - $tabLink.attr({ - 'aria-selected': 'true', - 'tabindex': '0' - }); - $targetContent.addClass("".concat(this.options.panelActiveClass)).removeAttr('aria-hidden'); - } - - /** - * Collapses `$targetContent` defined by `$target`. - * @param {jQuery} $target - Tab to collapse. - * @function - */ - }, { - key: "_collapseTab", - value: function _collapseTab($target) { - var $targetAnchor = $target.removeClass("".concat(this.options.linkActiveClass)).find('[role="tab"]').attr({ - 'aria-selected': 'false', - 'tabindex': -1 - }); - $__default["default"]("#".concat($targetAnchor.attr('aria-controls'))).removeClass("".concat(this.options.panelActiveClass)).attr({ - 'aria-hidden': 'true' - }); - } - - /** - * Collapses the active Tab. - * @fires Tabs#collapse - * @function - */ - }, { - key: "_collapse", - value: function _collapse() { - var $activeTab = this.$element.find(".".concat(this.options.linkClass, ".").concat(this.options.linkActiveClass)); - if ($activeTab.length) { - this._collapseTab($activeTab); - - /** - * Fires when the plugin has successfully collapsed tabs. - * @event Tabs#collapse - */ - this.$element.trigger('collapse.zf.tabs', [$activeTab]); - } - } - - /** - * Public method for selecting a content pane to display. - * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display. - * @param {boolean} historyHandled - browser has already handled a history update - * @function - */ - }, { - key: "selectTab", - value: function selectTab(elem, historyHandled) { - var idStr, hashIdStr; - if (_typeof(elem) === 'object') { - idStr = elem[0].id; - } else { - idStr = elem; - } - if (idStr.indexOf('#') < 0) { - hashIdStr = "#".concat(idStr); - } else { - hashIdStr = idStr; - idStr = idStr.slice(1); - } - var $target = this.$tabTitles.has("[href$=\"".concat(hashIdStr, "\"],[data-tabs-target=\"").concat(idStr, "\"]")).first(); - this._handleTabChange($target, historyHandled); - } - }, { - 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. - * If loading content via external source, can be called directly or with _reflow. - * If enabled with `data-match-height="true"`, tabs sets to equal height - * @function - * @private - */ - 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('min-height', '').each(function () { - var panel = $__default["default"](this), - isActive = panel.hasClass("".concat(_this.options.panelActiveClass)); // get the options from the parent instead of trying to get them from the child - - if (!isActive) { - panel.css({ - 'visibility': 'hidden', - 'display': 'block' - }); - } - var temp = this.getBoundingClientRect().height; - if (!isActive) { - panel.css({ - 'visibility': '', - 'display': '' - }); - } - max = temp > max ? temp : max; - }).css('min-height', "".concat(max, "px")); - } - - /** - * Destroys an instance of tabs. - * @fires Tabs#destroyed - */ - }, { - key: "_destroy", - value: function _destroy() { - this.$element.find(".".concat(this.options.linkClass)).off('.zf.tabs').hide().end().find(".".concat(this.options.panelClass)).hide(); - if (this.options.matchHeight) { - if (this._setHeightMqHandler != null) { - $__default["default"](window).off('changed.zf.mediaquery', this._setHeightMqHandler); - } - } - if (this.options.deepLink) { - $__default["default"](window).off('hashchange', this._checkDeepLink); - } - if (this.onLoadListener) { - $__default["default"](window).off(this.onLoadListener); - } - } - }]); -}(Plugin); -Tabs.defaults = { - /** - * Link the location hash to the active pane. - * Set the location hash when the active pane changes, and open the corresponding pane when the location changes. - * @option - * @type {boolean} - * @default false - */ - deepLink: false, - /** - * If `deepLink` is enabled, adjust the deep link scroll to make sure the top of the tab panel is visible - * @option - * @type {boolean} - * @default false - */ - deepLinkSmudge: false, - /** - * If `deepLinkSmudge` is enabled, animation time (ms) for the deep link adjustment - * @option - * @type {number} - * @default 300 - */ - 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 - * @type {boolean} - * @default false - */ - updateHistory: false, - /** - * Allows the window to scroll to content of active pane on load. - * Not recommended if more than one tab panel per page. - * @option - * @type {boolean} - * @default false - */ - autoFocus: false, - /** - * Allows keyboard input to 'wrap' around the tab links. - * @option - * @type {boolean} - * @default true - */ - wrapOnKeys: true, - /** - * Allows the tab content panes to match heights if set to true. - * @option - * @type {boolean} - * @default false - */ - matchHeight: false, - /** - * Allows active tabs to collapse when clicked. - * @option - * @type {boolean} - * @default false - */ - activeCollapse: false, - /** - * Class applied to `li`'s in tab link list. - * @option - * @type {string} - * @default 'tabs-title' - */ - linkClass: 'tabs-title', - /** - * Class applied to the active `li` in tab link list. - * @option - * @type {string} - * @default 'is-active' - */ - linkActiveClass: 'is-active', - /** - * Class applied to the content containers. - * @option - * @type {string} - * @default 'tabs-panel' - */ - panelClass: 'tabs-panel', - /** - * Class applied to the active content container. - * @option - * @type {string} - * @default 'is-active' - */ - panelActiveClass: 'is-active' -}; - -/** - * Toggler module. - * @module foundation.toggler - * @requires foundation.util.motion - * @requires foundation.util.triggers - */ -var Toggler = /*#__PURE__*/function (_Plugin) { - function Toggler() { - _classCallCheck(this, Toggler); - return _callSuper(this, Toggler, arguments); - } - _inherits(Toggler, _Plugin); - return _createClass(Toggler, [{ - key: "_setup", - value: - /** - * Creates a new instance of Toggler. - * @class - * @name Toggler - * @fires Toggler#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Toggler.defaults, element.data(), options); - this.className = ''; - this.className = 'Toggler'; // ie9 back compat - - // Triggers init is idempotent, just need to make sure it is initialized - Triggers.init($__default["default"]); - this._init(); - this._events(); - } - - /** - * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate. - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - // Collect triggers to set ARIA attributes to - var id = this.$element[0].id, - $triggers = $__default["default"]("[data-open~=\"".concat(id, "\"], [data-close~=\"").concat(id, "\"], [data-toggle~=\"").concat(id, "\"]")); - var input; - // Parse animation classes if they were set - if (this.options.animate) { - input = this.options.animate.split(' '); - this.animationIn = input[0]; - this.animationOut = input[1] || null; - - // - aria-expanded: according to the element visibility. - $triggers.attr('aria-expanded', !this.$element.is(':hidden')); - } - // Otherwise, parse toggle class - else { - input = this.options.toggler; - 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. - $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) { - var $trigger = $__default["default"](trigger); - var controls = $trigger.attr('aria-controls') || ''; - var containsId = new RegExp("\\b".concat(RegExpEscape(id), "\\b")).test(controls); - if (!containsId) $trigger.attr('aria-controls', controls ? "".concat(controls, " ").concat(id) : id); - }); - } - - /** - * Initializes events for the toggle trigger. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this)); - } - - /** - * 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". - * @function - * @fires Toggler#on - * @fires Toggler#off - */ - }, { - key: "toggle", - value: function toggle() { - this[this.options.animate ? '_toggleAnimate' : '_toggleClass'](); - } - }, { - key: "_toggleClass", - value: function _toggleClass() { - this.$element.toggleClass(this.className); - var isOn = this.$element.hasClass(this.className); - if (isOn) { - /** - * Fires if the target element has the class after a toggle. - * @event Toggler#on - */ - this.$element.trigger('on.zf.toggler'); - } else { - /** - * Fires if the target element does not have the class after a toggle. - * @event Toggler#off - */ - this.$element.trigger('off.zf.toggler'); - } - this._updateARIA(isOn); - this.$element.find('[data-mutate]').trigger('mutateme.zf.trigger'); - } - }, { - key: "_toggleAnimate", - value: function _toggleAnimate() { - var _this = this; - if (this.$element.is(':hidden')) { - Motion.animateIn(this.$element, this.animationIn, function () { - _this._updateARIA(true); - this.trigger('on.zf.toggler'); - this.find('[data-mutate]').trigger('mutateme.zf.trigger'); - }); - } else { - Motion.animateOut(this.$element, this.animationOut, function () { - _this._updateARIA(false); - this.trigger('off.zf.toggler'); - this.find('[data-mutate]').trigger('mutateme.zf.trigger'); - }); - } - } - }, { - key: "_updateARIA", - value: function _updateARIA(isOn) { - var id = this.$element[0].id; - $__default["default"]("[data-open=\"".concat(id, "\"], [data-close=\"").concat(id, "\"], [data-toggle=\"").concat(id, "\"]")).attr({ - 'aria-expanded': isOn ? true : false - }); - } - - /** - * Destroys the instance of Toggler on the element. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - this.$element.off('.zf.toggler'); - } - }]); -}(Plugin); -Toggler.defaults = { - /** - * Class of the element to toggle. It can be provided with or without "." - * @option - * @type {string} - */ - toggler: undefined, - /** - * Tells the plugin if the element should animated when toggled. - * @option - * @type {boolean} - * @default false - */ - animate: false -}; - -/** - * Tooltip module. - * @module foundation.tooltip - * @requires foundation.util.box - * @requires foundation.util.mediaQuery - * @requires foundation.util.triggers - */ -var Tooltip = /*#__PURE__*/function (_Positionable) { - function Tooltip() { - _classCallCheck(this, Tooltip); - return _callSuper(this, Tooltip, arguments); - } - _inherits(Tooltip, _Positionable); - return _createClass(Tooltip, [{ - key: "_setup", - value: - /** - * Creates a new instance of a Tooltip. - * @class - * @name Tooltip - * @fires Tooltip#init - * @param {jQuery} element - jQuery object to attach a tooltip to. - * @param {Object} options - object to extend the default configuration. - */ - function _setup(element, options) { - this.$element = element; - this.options = $__default["default"].extend({}, Tooltip.defaults, this.$element.data(), options); - this.className = 'Tooltip'; // ie9 back compat - - this.isActive = false; - this.isClick = false; - - // Triggers init is idempotent, just need to make sure it is initialized - Triggers.init($__default["default"]); - this._init(); - } - - /** - * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor. - * @private - */ - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - var elemId = this.$element.attr('aria-describedby') || GetYoDigits(6, 'tooltip'); - this.options.tipText = this.options.tipText || this.$element.attr('title'); - this.template = this.options.template ? $__default["default"](this.options.template) : this._buildTemplate(elemId); - if (this.options.allowHtml) { - this.template.appendTo(document.body).html(this.options.tipText).hide(); - } else { - this.template.appendTo(document.body).text(this.options.tipText).hide(); - } - this.$element.attr({ - 'title': '', - 'aria-describedby': elemId, - 'data-yeti-box': elemId, - 'data-toggle': elemId, - 'data-resize': elemId - }).addClass(this.options.triggerClass); - _superPropGet(Tooltip, "_init", this, 3)([]); - this._events(); - } - }, { - key: "_getDefaultPosition", - value: function _getDefaultPosition() { - // handle legacy classnames - var elementClassName = this.$element[0].className; - if (this.$element[0] instanceof SVGElement) { - elementClassName = elementClassName.baseVal; - } - var position = elementClassName.match(/\b(top|left|right|bottom)\b/g); - return position ? position[0] : 'top'; - } - }, { - key: "_getDefaultAlignment", - value: function _getDefaultAlignment() { - return 'center'; - } - }, { - key: "_getHOffset", - value: function _getHOffset() { - if (this.position === 'left' || this.position === 'right') { - return this.options.hOffset + this.options.tooltipWidth; - } else { - return this.options.hOffset; - } - } - }, { - key: "_getVOffset", - value: function _getVOffset() { - if (this.position === 'top' || this.position === 'bottom') { - return this.options.vOffset + this.options.tooltipHeight; - } else { - return this.options.vOffset; - } - } - - /** - * builds the tooltip element, adds attributes, and returns the template. - * @private - */ - }, { - key: "_buildTemplate", - value: function _buildTemplate(id) { - var templateClasses = "".concat(this.options.tooltipClass, " ").concat(this.options.templateClasses).trim(); - var $template = $__default["default"]('
    ').addClass(templateClasses).attr({ - 'role': 'tooltip', - 'aria-hidden': true, - 'data-is-active': false, - 'data-is-focus': false, - 'id': id - }); - return $template; - } - - /** - * 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. - * if the tooltip is larger than the screen width, default to full width - any user selected margin - * @private - */ - }, { - key: "_setPosition", - value: function _setPosition() { - _superPropGet(Tooltip, "_setPosition", this, 3)([this.$element, this.template]); - } - - /** - * reveals the tooltip, and fires an event to close any other open tooltips on the page - * @fires Tooltip#closeme - * @fires Tooltip#show - * @function - */ - }, { - key: "show", - value: function show() { - if (this.options.showOn !== 'all' && !MediaQuery.is(this.options.showOn)) { - // console.error('The screen is too small to display this tooltip'); - return false; - } - var _this = this; - 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); - - /** - * Fires to close all other open tooltips on the page - * @event Closeme#tooltip - */ - this.$element.trigger('closeme.zf.tooltip', this.template.attr('id')); - this.template.attr({ - 'data-is-active': true, - 'aria-hidden': false - }); - _this.isActive = true; - this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () { - //maybe do stuff? - }); - /** - * Fires when the tooltip is shown - * @event Tooltip#show - */ - this.$element.trigger('show.zf.tooltip'); - } - - /** - * Hides the current tooltip, and resets the positioning class if it was changed due to collision - * @fires Tooltip#hide - * @function - */ - }, { - key: "hide", - value: function hide() { - var _this = this; - this.template.stop().attr({ - 'aria-hidden': true, - 'data-is-active': false - }).fadeOut(this.options.fadeOutDuration, function () { - _this.isActive = false; - _this.isClick = false; - }); - /** - * fires when the tooltip is hidden - * @event Tooltip#hide - */ - this.$element.trigger('hide.zf.tooltip'); - } - - /** - * adds event listeners for the tooltip and its anchor - * TODO combine some of the listeners like focus and mouseenter, etc. - * @private - */ - }, { - key: "_events", - value: function _events() { - var _this = this; - var hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined'; - var isFocus = false; - - // `disableForTouch: Fully disable the tooltip on touch devices - if (hasTouch && this.options.disableForTouch) return; - if (!this.options.disableHover) { - this.$element.on('mouseenter.zf.tooltip', function () { - if (!_this.isActive) { - _this.timeout = setTimeout(function () { - _this.show(); - }, _this.options.hoverDelay); - } - }).on('mouseleave.zf.tooltip', ignoreMousedisappear(function () { - clearTimeout(_this.timeout); - if (!isFocus || _this.isClick && !_this.options.clickOpen) { - _this.hide(); - } - })); - } - if (hasTouch) { - this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function () { - _this.isActive ? _this.hide() : _this.show(); - }); - } - if (this.options.clickOpen) { - this.$element.on('mousedown.zf.tooltip', function () { - if (_this.isClick) ; else { - _this.isClick = true; - if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) { - _this.show(); - } - } - }); - } else { - this.$element.on('mousedown.zf.tooltip', function () { - _this.isClick = true; - }); - } - this.$element.on({ - // 'toggle.zf.trigger': this.toggle.bind(this), - // 'close.zf.trigger': this.hide.bind(this) - 'close.zf.trigger': this.hide.bind(this) - }); - this.$element.on('focus.zf.tooltip', function () { - isFocus = true; - if (_this.isClick) { - // If we're not showing open on clicks, we need to pretend a click-launched focus isn't - // a real focus, otherwise on hover and come back we get bad behavior - if (!_this.options.clickOpen) { - isFocus = false; - } - return false; - } else { - _this.show(); - } - }).on('focusout.zf.tooltip', function () { - isFocus = false; - _this.isClick = false; - _this.hide(); - }).on('resizeme.zf.trigger', function () { - if (_this.isActive) { - _this._setPosition(); - } - }); - } - - /** - * adds a toggle method, in addition to the static show() & hide() functions - * @function - */ - }, { - key: "toggle", - value: function toggle() { - if (this.isActive) { - this.hide(); - } else { - this.show(); - } - } - - /** - * Destroys an instance of tooltip, removes template element from the view. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - 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(); - } - }]); -}(Positionable); -Tooltip.defaults = { - /** - * Time, in ms, before a tooltip should open on hover. - * @option - * @type {number} - * @default 200 - */ - hoverDelay: 200, - /** - * Time, in ms, a tooltip should take to fade into view. - * @option - * @type {number} - * @default 150 - */ - fadeInDuration: 150, - /** - * Time, in ms, a tooltip should take to fade out of view. - * @option - * @type {number} - * @default 150 - */ - fadeOutDuration: 150, - /** - * Disables hover events from opening the tooltip if set to true - * @option - * @type {boolean} - * @default false - */ - disableHover: false, - /** - * Disable the tooltip for touch devices. - * This can be useful to make elements with a tooltip on it trigger their - * action on the first tap instead of displaying the tooltip. - * @option - * @type {booelan} - * @default false - */ - disableForTouch: false, - /** - * Optional addtional classes to apply to the tooltip template on init. - * @option - * @type {string} - * @default '' - */ - templateClasses: '', - /** - * Non-optional class added to tooltip templates. Foundation default is 'tooltip'. - * @option - * @type {string} - * @default 'tooltip' - */ - tooltipClass: 'tooltip', - /** - * Class applied to the tooltip anchor element. - * @option - * @type {string} - * @default 'has-tip' - */ - triggerClass: 'has-tip', - /** - * Minimum breakpoint size at which to open the tooltip. - * @option - * @type {string} - * @default 'small' - */ - showOn: 'small', - /** - * Custom template to be used to generate markup for tooltip. - * @option - * @type {string} - * @default '' - */ - template: '', - /** - * Text displayed in the tooltip template on open. - * @option - * @type {string} - * @default '' - */ - tipText: '', - touchCloseText: 'Tap to close.', - /** - * Allows the tooltip to remain open if triggered with a click or touch event. - * @option - * @type {boolean} - * @default true - */ - clickOpen: true, - /** - * Position of tooltip. Can be left, right, bottom, top, or auto. - * @option - * @type {string} - * @default 'auto' - */ - position: 'auto', - /** - * Alignment of tooltip relative to anchor. Can be left, right, bottom, top, center, or auto. - * @option - * @type {string} - * @default 'auto' - */ - alignment: 'auto', - /** - * Allow overlap of container/window. If false, tooltip will first try to - * position as defined by data-position and data-alignment, but reposition if - * it would cause an overflow. @option - * @type {boolean} - * @default false - */ - allowOverlap: false, - /** - * Allow overlap of only the bottom of the container. This is the most common - * behavior for dropdowns, allowing the dropdown to extend the bottom of the - * screen but not otherwise influence or break out of the container. - * Less common for tooltips. - * @option - * @type {boolean} - * @default false - */ - allowBottomOverlap: false, - /** - * Distance, in pixels, the template should push away from the anchor on the Y axis. - * @option - * @type {number} - * @default 0 - */ - vOffset: 0, - /** - * Distance, in pixels, the template should push away from the anchor on the X axis - * @option - * @type {number} - * @default 0 - */ - hOffset: 0, - /** - * Distance, in pixels, the template spacing auto-adjust for a vertical tooltip - * @option - * @type {number} - * @default 14 - */ - tooltipHeight: 14, - /** - * Distance, in pixels, the template spacing auto-adjust for a horizontal tooltip - * @option - * @type {number} - * @default 12 - */ - tooltipWidth: 12, - /** - * Allow HTML in tooltip. Warning: If you are loading user-generated content into tooltips, - * allowing HTML may open yourself up to XSS attacks. - * @option - * @type {boolean} - * @default false - */ - allowHtml: false -}; - -// The plugin matches the plugin classes with these plugin instances. -var MenuPlugins = { - tabs: { - cssClass: 'tabs', - plugin: Tabs, - open: function open(plugin, target) { - return plugin.selectTab(target); - }, - close: null /* not supported */, - toggle: null /* not supported */ - }, - accordion: { - cssClass: 'accordion', - plugin: Accordion, - open: function open(plugin, target) { - return plugin.down($__default["default"](target)); - }, - close: function close(plugin, target) { - return plugin.up($__default["default"](target)); - }, - toggle: function toggle(plugin, target) { - return plugin.toggle($__default["default"](target)); - } - } -}; - -/** - * ResponsiveAccordionTabs module. - * @module foundation.responsiveAccordionTabs - * @requires foundation.util.motion - * @requires foundation.accordion - * @requires foundation.tabs - */ -var ResponsiveAccordionTabs = /*#__PURE__*/function (_Plugin) { - function ResponsiveAccordionTabs(element, options) { - var _this2; - _classCallCheck(this, ResponsiveAccordionTabs); - _this2 = _callSuper(this, ResponsiveAccordionTabs, [element, options]); - return _possibleConstructorReturn(_this2, _this2.options.reflow && _this2.storezfData || _this2); - } - - /** - * Creates a new instance of a responsive accordion tabs. - * @class - * @name ResponsiveAccordionTabs - * @fires ResponsiveAccordionTabs#init - * @param {jQuery} element - jQuery object to make into Responsive Accordion Tabs. - * @param {Object} options - Overrides to the default plugin settings. - */ - _inherits(ResponsiveAccordionTabs, _Plugin); - return _createClass(ResponsiveAccordionTabs, [{ - key: "_setup", - value: function _setup(element, options) { - this.$element = $__default["default"](element); - this.$element.data('zfPluginBase', this); - this.options = $__default["default"].extend({}, ResponsiveAccordionTabs.defaults, this.$element.data(), options); - this.rules = this.$element.data('responsive-accordion-tabs'); - this.currentMq = null; - this.currentRule = null; - this.currentPlugin = null; - this.className = 'ResponsiveAccordionTabs'; // ie9 back compat - if (!this.$element.attr('id')) { - this.$element.attr('id', GetYoDigits(6, 'responsiveaccordiontabs')); - } - this._init(); - this._events(); - } - - /** - * Initializes the Menu by parsing the classes from the 'data-responsive-accordion-tabs' attribute on the element. - * @function - * @private - */ - }, { - key: "_init", - value: function _init() { - MediaQuery._init(); - - // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules - if (typeof this.rules === 'string') { - var rulesTree = {}; - - // Parse rules from "classes" pulled from data attribute - var rules = this.rules.split(' '); - - // Iterate through every rule found - for (var i = 0; i < rules.length; i++) { - var rule = rules[i].split('-'); - var ruleSize = rule.length > 1 ? rule[0] : 'small'; - var rulePlugin = rule.length > 1 ? rule[1] : rule[0]; - if (MenuPlugins[rulePlugin] !== null) { - rulesTree[ruleSize] = MenuPlugins[rulePlugin]; - } - } - this.rules = rulesTree; - } - this._getAllOptions(); - if (!$__default["default"].isEmptyObject(this.rules)) { - this._checkMediaQueries(); - } - } - }, { - key: "_getAllOptions", - value: function _getAllOptions() { - //get all defaults and options - var _this = this; - _this.allOptions = {}; - for (var key in MenuPlugins) { - if (MenuPlugins.hasOwnProperty(key)) { - var obj = MenuPlugins[key]; - try { - var dummyPlugin = $__default["default"]('
      '); - var tmpPlugin = new obj.plugin(dummyPlugin, _this.options); - for (var keyKey in tmpPlugin.options) { - if (tmpPlugin.options.hasOwnProperty(keyKey) && keyKey !== 'zfPlugin') { - var objObj = tmpPlugin.options[keyKey]; - _this.allOptions[keyKey] = objObj; - } - } - tmpPlugin.destroy(); - } catch (e) { - console.warn("Warning: Problems getting Accordion/Tab options: ".concat(e)); - } - } - } - } - - /** - * Initializes events for the Menu. - * @function - * @private - */ - }, { - key: "_events", - value: function _events() { - this._changedZfMediaQueryHandler = this._checkMediaQueries.bind(this); - $__default["default"](window).on('changed.zf.mediaquery', this._changedZfMediaQueryHandler); - } - - /** - * 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. - * @function - * @private - */ - }, { - key: "_checkMediaQueries", - value: function _checkMediaQueries() { - var matchedMq, - _this = this; - // Iterate through each rule and find the last matching rule - $__default["default"].each(this.rules, function (key) { - if (MediaQuery.atLeast(key)) { - matchedMq = key; - } - }); - - // No match? No dice - if (!matchedMq) return; - - // Plugin already initialized? We good - if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return; - - // Remove existing plugin-specific CSS classes - $__default["default"].each(MenuPlugins, function (key, value) { - _this.$element.removeClass(value.cssClass); - }); - - // Add the CSS class for the new plugin - this.$element.addClass(this.rules[matchedMq].cssClass); - - // Create an instance of the new plugin - if (this.currentPlugin) { - //don't know why but on nested elements data zfPlugin get's lost - if (!this.currentPlugin.$element.data('zfPlugin') && this.storezfData) this.currentPlugin.$element.data('zfPlugin', this.storezfData); - this.currentPlugin.destroy(); - } - this._handleMarkup(this.rules[matchedMq].cssClass); - this.currentRule = this.rules[matchedMq]; - this.currentPlugin = new this.currentRule.plugin(this.$element, this.options); - this.storezfData = this.currentPlugin.$element.data('zfPlugin'); - } - }, { - key: "_handleMarkup", - value: function _handleMarkup(toSet) { - var _this = this, - fromString = 'accordion'; - var $panels = $__default["default"]('[data-tabs-content=' + this.$element.attr('id') + ']'); - if ($panels.length) fromString = 'tabs'; - if (fromString === toSet) { - return; - } - var tabsTitle = _this.allOptions.linkClass ? _this.allOptions.linkClass : 'tabs-title'; - var tabsPanel = _this.allOptions.panelClass ? _this.allOptions.panelClass : 'tabs-panel'; - this.$element.removeAttr('role'); - var $liHeads = this.$element.children('.' + tabsTitle + ',[data-accordion-item]').removeClass(tabsTitle).removeClass('accordion-item').removeAttr('data-accordion-item'); - var $liHeadsA = $liHeads.children('a').removeClass('accordion-title'); - if (fromString === 'tabs') { - $panels = $panels.children('.' + tabsPanel).removeClass(tabsPanel).removeAttr('role').removeAttr('aria-hidden').removeAttr('aria-labelledby'); - $panels.children('a').removeAttr('role').removeAttr('aria-controls').removeAttr('aria-selected'); - } else { - $panels = $liHeads.children('[data-tab-content]').removeClass('accordion-content'); - } - $panels.css({ - display: '', - visibility: '' - }); - $liHeads.css({ - display: '', - visibility: '' - }); - if (toSet === 'accordion') { - $panels.each(function (key, value) { - $__default["default"](value).appendTo($liHeads.get(key)).addClass('accordion-content').attr('data-tab-content', '').removeClass('is-active').css({ - height: '' - }); - $__default["default"]('[data-tabs-content=' + _this.$element.attr('id') + ']').after('
      ').detach(); - $liHeads.addClass('accordion-item').attr('data-accordion-item', ''); - $liHeadsA.addClass('accordion-title'); - }); - } else if (toSet === 'tabs') { - var $tabsContent = $__default["default"]('[data-tabs-content=' + _this.$element.attr('id') + ']'); - var $placeholder = $__default["default"]('#tabs-placeholder-' + _this.$element.attr('id')); - if ($placeholder.length) { - $tabsContent = $__default["default"]('
      ').insertAfter($placeholder).attr('data-tabs-content', _this.$element.attr('id')); - $placeholder.remove(); - } else { - $tabsContent = $__default["default"]('
      ').insertAfter(_this.$element).attr('data-tabs-content', _this.$element.attr('id')); - } - $panels.each(function (key, value) { - var tempValue = $__default["default"](value).appendTo($tabsContent).addClass(tabsPanel); - var hash = $liHeadsA.get(key).hash.slice(1); - var id = $__default["default"](value).attr('id') || GetYoDigits(6, 'accordion'); - if (hash !== id) { - if (hash !== '') { - $__default["default"](value).attr('id', hash); - } else { - hash = id; - $__default["default"](value).attr('id', hash); - $__default["default"]($liHeadsA.get(key)).attr('href', $__default["default"]($liHeadsA.get(key)).attr('href').replace('#', '') + '#' + hash); - } - } - var isActive = $__default["default"]($liHeads.get(key)).hasClass('is-active'); - if (isActive) { - tempValue.addClass('is-active'); - } - }); - $liHeads.addClass(tabsTitle); - } - } - - /** - * Opens the plugin pane defined by `target`. - * @param {jQuery | String} target - jQuery object or string of the id of the pane to open. - * @see Accordion.down - * @see Tabs.selectTab - * @function - */ - }, { - key: "open", - value: function open() { - if (this.currentRule && typeof this.currentRule.open === 'function') { - var _this$currentRule; - return (_this$currentRule = this.currentRule).open.apply(_this$currentRule, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); - } - } - - /** - * Closes the plugin pane defined by `target`. Not availaible for Tabs. - * @param {jQuery | String} target - jQuery object or string of the id of the pane to close. - * @see Accordion.up - * @function - */ - }, { - key: "close", - value: function close() { - if (this.currentRule && typeof this.currentRule.close === 'function') { - var _this$currentRule2; - return (_this$currentRule2 = this.currentRule).close.apply(_this$currentRule2, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); - } - } - - /** - * Toggles the plugin pane defined by `target`. Not availaible for Tabs. - * @param {jQuery | String} target - jQuery object or string of the id of the pane to toggle. - * @see Accordion.toggle - * @function - */ - }, { - key: "toggle", - value: function toggle() { - if (this.currentRule && typeof this.currentRule.toggle === 'function') { - var _this$currentRule3; - return (_this$currentRule3 = this.currentRule).toggle.apply(_this$currentRule3, [this.currentPlugin].concat(Array.prototype.slice.call(arguments))); - } - } - - /** - * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out. - * @function - */ - }, { - key: "_destroy", - value: function _destroy() { - if (this.currentPlugin) this.currentPlugin.destroy(); - $__default["default"](window).off('changed.zf.mediaquery', this._changedZfMediaQueryHandler); - } - }]); -}(Plugin); -ResponsiveAccordionTabs.defaults = {}; - -Foundation.addToJquery($__default["default"]); - -// Add Foundation Utils to Foundation global namespace for backwards -// compatibility. -Foundation.rtl = rtl; -Foundation.GetYoDigits = GetYoDigits; -Foundation.transitionend = transitionend; -Foundation.RegExpEscape = RegExpEscape; -Foundation.onLoad = onLoad; -Foundation.Box = Box; -Foundation.onImagesLoaded = onImagesLoaded; -Foundation.Keyboard = Keyboard; -Foundation.MediaQuery = MediaQuery; -Foundation.Motion = Motion; -Foundation.Move = Move; -Foundation.Nest = Nest; -Foundation.Timer = Timer; - -// Touch and Triggers previously were almost purely sede effect driven, -// so no need to add it to Foundation, just init them. -Touch.init($__default["default"]); -Triggers.init($__default["default"], Foundation); -MediaQuery._init(); -Foundation.plugin(Abide, 'Abide'); -Foundation.plugin(Accordion, 'Accordion'); -Foundation.plugin(AccordionMenu, 'AccordionMenu'); -Foundation.plugin(Drilldown, 'Drilldown'); -Foundation.plugin(Dropdown, 'Dropdown'); -Foundation.plugin(DropdownMenu, 'DropdownMenu'); -Foundation.plugin(Equalizer, 'Equalizer'); -Foundation.plugin(Interchange, 'Interchange'); -Foundation.plugin(Magellan, 'Magellan'); -Foundation.plugin(OffCanvas, 'OffCanvas'); -Foundation.plugin(Orbit, 'Orbit'); -Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu'); -Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle'); -Foundation.plugin(Reveal, 'Reveal'); -Foundation.plugin(Slider, 'Slider'); -Foundation.plugin(SmoothScroll, 'SmoothScroll'); -Foundation.plugin(Sticky, 'Sticky'); -Foundation.plugin(Tabs, 'Tabs'); -Foundation.plugin(Toggler, 'Toggler'); -Foundation.plugin(Tooltip, 'Tooltip'); -Foundation.plugin(ResponsiveAccordionTabs, 'ResponsiveAccordionTabs'); - -exports.Abide = Abide; -exports.Accordion = Accordion; -exports.AccordionMenu = AccordionMenu; -exports.Box = Box; -exports.Core = Foundation; -exports.CoreUtils = foundation_core_utils; -exports.Drilldown = Drilldown; -exports.Dropdown = Dropdown; -exports.DropdownMenu = DropdownMenu; -exports.Equalizer = Equalizer; -exports.Foundation = Foundation; -exports.Interchange = Interchange; -exports.Keyboard = Keyboard; -exports.Magellan = Magellan; -exports.MediaQuery = MediaQuery; -exports.Motion = Motion; -exports.Move = Move; -exports.Nest = Nest; -exports.OffCanvas = OffCanvas; -exports.Orbit = Orbit; -exports.ResponsiveAccordionTabs = ResponsiveAccordionTabs; -exports.ResponsiveMenu = ResponsiveMenu; -exports.ResponsiveToggle = ResponsiveToggle; -exports.Reveal = Reveal; -exports.Slider = Slider; -exports.SmoothScroll = SmoothScroll; -exports.Sticky = Sticky; -exports.Tabs = Tabs; -exports.Timer = Timer; -exports.Toggler = Toggler; -exports.Tooltip = Tooltip; -exports.Touch = Touch; -exports.Triggers = Triggers; -exports["default"] = Foundation; -exports.onImagesLoaded = onImagesLoaded; -//# sourceMappingURL=foundation.cjs.js.map diff --git a/dist/js/foundation.cjs.js.map b/dist/js/foundation.cjs.js.map deleted file mode 100644 index c86912ae04..0000000000 --- a/dist/js/foundation.cjs.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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\n// const 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 this;\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).on('resize.zf.trigger', () => {\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.9.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 if(typeof plugin[prop] === 'function'){\n plugin[prop] = null; //clean up script to prep for garbage collection.\n }\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){\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 /* eslint-disable no-extend-native */\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 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(){\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'), 10),\n bTabIndex = parseInt($(b).attr('tabindex'), 10);\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) {\n if (kcs.hasOwnProperty(kc)) k[kcs[kc]] = kcs[kc];\n }\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\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 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 const firstItem = $item.children('a:first');\n firstItem.attr({\n 'aria-haspopup': true,\n 'aria-label': firstItem.attr('aria-label') || firstItem.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","function 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 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 (true === $.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 startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, { passive : true === $.spotSwipe.preventDefault });\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, { passive : true });\n}\n\n// function 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._init();\n }\n\n _init() {\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 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).on(trigger, function() {\n if (timer) { clearTimeout(timer); }\n timer = setTimeout(function(){\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function(debounce){\n let $nodes = $('[data-resize]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n}\n\nTriggers.Initializers.addScrollListener = function(debounce){\n let $nodes = $('[data-scroll]');\n if($nodes.length){\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n}\n\nTriggers.Initializers.addMutationEventsListener = function($elem) {\n if(!MutationObserver){ return false; }\n let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]');\n\n //element callback\n var listeningElementsMutation = function (mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target);\n\n //trigger the event handler for the element depending on type\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\",\"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: [\"data-events\", \"style\"] });\n }\n }\n}\n\nTriggers.Initializers.addSimpleListeners = function() {\n let $document = $(document);\n\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n\n}\n\nTriggers.Initializers.addGlobalListeners = function() {\n let $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener(250);\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n}\n\n\nTriggers.init = function (__, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if(Foundation) {\n Foundation.Triggers = Triggers;\n // Legacy included to be backwards compatible for now.\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners\n }\n}\n\nexport {Triggers};\n","import { 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 if (this.hasOwnProperty(prop)) {\n this[prop] = null; //clean up script to prep for garbage collection.\n }\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\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() {\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 () {\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 () {\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) {\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() {\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 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.warn(`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 * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys\n */\n _generateRules() {\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 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() {\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) => {\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() {\n return false;\n }\n\n /**\n * Save current finger y-position\n * @param event\n * @private\n */\n _recordScrollable(event) {\n const elem = this;\n elem.lastY = event.touches[0].pageY;\n }\n\n /**\n * Prevent further scrolling when it hits the edges\n * @param event\n * @private\n */\n _preventDefaultAtEdges(event) {\n const elem = this;\n const _this = event.data;\n const delta = elem.lastY - event.touches[0].pageY;\n elem.lastY = event.touches[0].pageY;\n\n if (!_this._canScroll(delta, elem)) {\n event.preventDefault();\n }\n }\n\n /**\n * Handle continuous scrolling of scrollbox\n * Don't bubble up to _preventDefaultAtEdges\n * @param event\n * @private\n */\n _scrollboxTouchMoved(event) {\n const elem = this;\n const _this = event.data;\n const parent = elem.closest('[data-off-canvas], [data-off-canvas-scrollbox-outer]');\n const delta = elem.lastY - event.touches[0].pageY;\n parent.lastY = elem.lastY = event.touches[0].pageY;\n\n event.stopPropagation();\n\n if (!_this._canScroll(delta, elem)) {\n if (!_this._canScroll(delta, parent)) {\n event.preventDefault();\n } else {\n parent.scrollTop += delta;\n }\n }\n }\n\n /**\n * Detect possibility of scrolling\n * @param delta\n * @param elem\n * @returns boolean\n * @private\n */\n _canScroll(delta, elem) {\n const up = delta < 0;\n const down = delta > 0;\n const allowUp = elem.scrollTop > 0;\n const allowDown = elem.scrollTop < elem.scrollHeight - elem.clientHeight;\n return up && allowUp || down && allowDown;\n }\n\n /**\n * Opens the off-canvas menu.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n * @fires OffCanvas#opened\n * @todo also trigger 'open' event?\n */\n open(event, trigger) {\n if (this.$element.hasClass('is-open') || this.isRevealed || this.isInCanvas) { return; }\n var _this = this;\n\n if (trigger) {\n this.$lastTrigger = trigger;\n }\n\n if (this.options.forceTo === 'top') {\n window.scrollTo(0, 0);\n } else if (this.options.forceTo === 'bottom') {\n window.scrollTo(0,document.body.scrollHeight);\n }\n\n if (this.options.transitionTime && this.options.transition !== 'overlap') {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', this.options.transitionTime);\n } else {\n this.$element.siblings('[data-off-canvas-content]').css('transition-duration', '');\n }\n\n this.$element.addClass('is-open').removeClass('is-closed');\n\n this.$triggers.attr('aria-expanded', 'true');\n this.$element.attr('aria-hidden', 'false');\n\n this.$content.addClass('is-open-' + this.position);\n\n // If `contentScroll` is set to false, add class and disable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').addClass('is-off-canvas-open').on('touchmove', this._stopScrolling);\n this.$element.on('touchstart', this._recordScrollable);\n this.$element.on('touchmove', this, this._preventDefaultAtEdges);\n this.$element.on('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.on('touchmove', '[data-off-canvas-scrollbox]', this, this._scrollboxTouchMoved);\n }\n\n if (this.options.contentOverlay === true) {\n this.$overlay.addClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.addClass('is-closable');\n }\n\n if (this.options.autoFocus === true) {\n this.$element.one(transitionend(this.$element), function() {\n if (!_this.$element.hasClass('is-open')) {\n return; // exit if prematurely closed\n }\n var canvasFocus = _this.$element.find('[data-autofocus]');\n if (canvasFocus.length) {\n canvasFocus.eq(0).focus();\n } else {\n _this.$element.find('a, button').eq(0).focus();\n }\n });\n }\n\n if (this.options.trapFocus === true) {\n this.$content.attr('tabindex', '-1');\n Keyboard.trapFocus(this.$element);\n }\n\n if (this.options.transition === 'push') {\n this._fixStickyElements();\n }\n\n this._addContentClasses();\n\n /**\n * Fires when the off-canvas menu opens.\n * @event OffCanvas#opened\n */\n this.$element.trigger('opened.zf.offCanvas');\n\n /**\n * Fires when the off-canvas menu open transition is done.\n * @event OffCanvas#openedEnd\n */\n this.$element.one(transitionend(this.$element), () => {\n this.$element.trigger('openedEnd.zf.offCanvas');\n });\n }\n\n /**\n * Closes the off-canvas menu.\n * @function\n * @param {Function} cb - optional cb to fire after closure.\n * @fires OffCanvas#close\n * @fires OffCanvas#closed\n */\n close() {\n if (!this.$element.hasClass('is-open') || this.isRevealed) { return; }\n\n /**\n * Fires when the off-canvas menu closes.\n * @event OffCanvas#close\n */\n this.$element.trigger('close.zf.offCanvas');\n\n this.$element.removeClass('is-open');\n\n this.$element.attr('aria-hidden', 'true');\n\n this.$content.removeClass('is-open-left is-open-top is-open-right is-open-bottom');\n\n if (this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-visible');\n }\n\n if (this.options.closeOnClick === true && this.options.contentOverlay === true) {\n this.$overlay.removeClass('is-closable');\n }\n\n this.$triggers.attr('aria-expanded', 'false');\n\n\n // Listen to transitionEnd: add class, re-enable scrolling and release focus when done.\n this.$element.one(transitionend(this.$element), () => {\n\n this.$element.addClass('is-closed');\n this._removeContentClasses();\n\n if (this.options.transition === 'push') {\n this._unfixStickyElements();\n }\n\n // If `contentScroll` is set to false, remove class and re-enable scrolling on touch devices.\n if (this.options.contentScroll === false) {\n $('body').removeClass('is-off-canvas-open').off('touchmove', this._stopScrolling);\n this.$element.off('touchstart', this._recordScrollable);\n this.$element.off('touchmove', this._preventDefaultAtEdges);\n this.$element.off('touchstart', '[data-off-canvas-scrollbox]', this._recordScrollable);\n this.$element.off('touchmove', '[data-off-canvas-scrollbox]', this._scrollboxTouchMoved);\n }\n\n if (this.options.trapFocus === true) {\n this.$content.removeAttr('tabindex');\n Keyboard.releaseFocus(this.$element);\n }\n\n /**\n * Fires when the off-canvas menu close transition is done.\n * @event OffCanvas#closed\n */\n this.$element.trigger('closed.zf.offCanvas');\n });\n }\n\n /**\n * Toggles the off-canvas menu open or closed.\n * @function\n * @param {Object} event - Event object passed from listener.\n * @param {jQuery} trigger - element that triggered the off-canvas to open.\n */\n toggle(event, trigger) {\n if (this.$element.hasClass('is-open')) {\n this.close(event, trigger);\n }\n else {\n this.open(event, trigger);\n }\n }\n\n /**\n * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.\n * @function\n * @private\n */\n _handleKeyboard(e) {\n Keyboard.handleKey(e, 'OffCanvas', {\n close: () => {\n this.close();\n this.$lastTrigger.focus();\n return true;\n },\n handled: () => {\n e.preventDefault();\n }\n });\n }\n\n /**\n * Destroys the OffCanvas plugin.\n * @function\n */\n _destroy() {\n this.close();\n this.$element.off('.zf.trigger .zf.offCanvas');\n this.$overlay.off('.zf.offCanvas');\n if (this.onLoadListener) $(window).off(this.onLoadListener);\n }\n}\n\nOffCanvas.defaults = {\n /**\n * Allow the user to click outside of the menu to close it.\n * @option\n * @type {boolean}\n * @default true\n */\n closeOnClick: true,\n\n /**\n * Adds an overlay on top of `[data-off-canvas-content]`.\n * @option\n * @type {boolean}\n * @default true\n */\n contentOverlay: true,\n\n /**\n * Target an off-canvas content container by ID that may be placed anywhere. If null the closest content container will be taken.\n * @option\n * @type {?string}\n * @default null\n */\n contentId: null,\n\n /**\n * Define the off-canvas element is nested in an off-canvas content. This is required when using the contentId option for a nested element.\n * @option\n * @type {boolean}\n * @default null\n */\n nested: null,\n\n /**\n * Enable/disable scrolling of the main content when an off canvas panel is open.\n * @option\n * @type {boolean}\n * @default true\n */\n contentScroll: true,\n\n /**\n * Amount of time the open and close transition requires, including the appropriate milliseconds (`ms`) or seconds (`s`) unit (e.g. `500ms`, `.75s`) If none selected, pulls from body style.\n * @option\n * @type {string}\n * @default null\n */\n transitionTime: null,\n\n /**\n * Type of transition for the OffCanvas menu. Options are 'push', 'detached' or 'slide'.\n * @option\n * @type {string}\n * @default push\n */\n transition: 'push',\n\n /**\n * Force the page to scroll to top or bottom on open.\n * @option\n * @type {?string}\n * @default null\n */\n forceTo: null,\n\n /**\n * Allow the OffCanvas to remain open for certain breakpoints.\n * @option\n * @type {boolean}\n * @default false\n */\n isRevealed: false,\n\n /**\n * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.\n * @option\n * @type {?string}\n * @default null\n */\n revealOn: null,\n\n /**\n * Breakpoint at which the off-canvas gets moved into canvas content and acts as regular page element.\n * @option\n * @type {?string}\n * @default null\n */\n inCanvasOn: null,\n\n /**\n * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.\n * @option\n * @type {boolean}\n * @default true\n */\n autoFocus: true,\n\n /**\n * Class used to force an OffCanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.\n * @option\n * @type {string}\n * @default reveal-for-\n * @todo improve the regex testing for this.\n */\n revealClass: 'reveal-for-',\n\n /**\n * Triggers optional focus trapping when opening an OffCanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.\n * @option\n * @type {boolean}\n * @default false\n */\n trapFocus: false\n}\n\nexport {OffCanvas};\n","import $ from 'jquery';\nimport { 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 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) {\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 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() {\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\"), 10);\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\"), 10);\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 this.initialized = false;\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': 'increaseFast',\n 'SHIFT_ARROW_UP': 'increaseFast',\n 'SHIFT_ARROW_DOWN': 'decreaseFast',\n 'SHIFT_ARROW_LEFT': 'decreaseFast',\n 'HOME': 'min',\n 'END': 'max'\n },\n 'rtl': {\n 'ARROW_LEFT': 'increase',\n 'ARROW_RIGHT': 'decrease',\n 'SHIFT_ARROW_LEFT': 'increaseFast',\n 'SHIFT_ARROW_RIGHT': 'decreaseFast'\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 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 this.initialized = true;\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 = Math.floor(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 //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 if (this.initialized) {\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 * 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 /**\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;\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\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 }\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, previousVal, nextVal;\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 previousVal = val - left;\n nextVal = previousVal + step;\n if (left === 0) {\n return val;\n }\n val = val >= previousVal + div ? nextVal : previousVal;\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(ev) {\n ev.preventDefault();\n _this._handleEvent(ev, curHandle);\n\n }).on('mouseup.zf.slider', function(ev) {\n _this._handleEvent(ev, 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($handle.attr('aria-valuenow')),\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 decreaseFast: function() {\n newValue = oldValue - _this.options.step * 10;\n },\n increaseFast: 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() {\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() {\n _this._eventsHandler(id);\n });\n\n this.$element.on('mutateme.zf.trigger', function () {\n _this._eventsHandler(id);\n });\n\n if(this.$anchor) {\n this.$anchor.on('mutateme.zf.trigger', function () {\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 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({}, '', location.pathname + location.search + anchor);\n } else {\n history.replaceState({}, '', location.pathname + location.search + 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 $targetAnchor = $target\n .removeClass(`${this.options.linkActiveClass}`)\n .find('[role=\"tab\"]')\n .attr({\n 'aria-selected': 'false',\n 'tabindex': -1\n });\n\n $(`#${$targetAnchor.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('min-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('min-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 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 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 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() {\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() {\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 () {\n _this.isActive ? _this.hide() : _this.show();\n });\n }\n\n if (this.options.clickOpen) {\n this.$element.on('mousedown.zf.tooltip', function() {\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() {\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() {\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() {\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 console.warn(`Warning: Problems getting Accordion/Tab options: ${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() {\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() {\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() {\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","arguments","undefined","namespace","str","chars","charsLength","i","Math","floor","random","concat","RegExpEscape","replace","transitionend","$elem","transitions","elem","document","createElement","end","transition","style","setTimeout","triggerHandler","onLoad","handler","didLoad","readyState","eventType","cb","one","window","ignoreMousedisappear","_ref","_ref$ignoreLeaveWindo","ignoreLeaveWindow","_ref$ignoreReappear","ignoreReappear","leaveEventHandler","eLeave","_len","rest","Array","_key","callback","bind","apply","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","_parts","_slicedToArray","bpSize","_parts$","bpModifier","Error","_this","queryIndex","findIndex","q","_getQueryName","nextQuery","_typeof","TypeError","matched","_this2","on","newSize","currentSize","trigger","styleObject","slice","reduce","ret","param","val","decodeURIComponent","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","fns","object","plgs","forEach","foundation","string","Object","keys","err","console","error","reflow","find","addBack","$el","opts","option","opt","map","el","parseValue","er","getFnName","addToJquery","method","$noJS","removeClass","args","prototype","call","plugClass","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","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","off","src","keyCodes","commands","findFocusable","sort","a","b","aTabIndex","parseInt","bTabIndex","parseKey","event","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","firstItem","Burn","Timer","options","nameSpace","remain","isPaused","restart","infinite","pause","Touch","startPosX","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","removeEventListener","onTouchMove","tapEvent","Event","spotSwipe","x","touches","pageX","dx","dir","abs","moveThreshold","timeThreshold","assign","onTouchStart","addEventListener","passive","init","SpotSwipe","_classCallCheck","enabled","documentElement","_createClass","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","_destroy","obj","Abide","_Plugin","_callSuper","_inherits","defaults","isEnabled","formnovalidate","$inputs","merge","$submits","$globalErrors","a11yAttributes","input","addA11yAttributes","addGlobalErrorA11yAttributes","_events","_this3","resetForm","validateForm","getAttribute","submit","validateOn","validateInput","liveValidate","validateOnBlur","_reflow","_validationIsDisabled","enableValidation","disableValidation","requiredCheck","isGood","checked","findFormError","failedValidators","_this4","$error","siblings","formErrorSelector","add","v","findLabel","$label","findRadioLabels","$els","_this5","labels","findCheckboxLabels","_this6","addErrorClasses","$formError","labelErrorClass","formErrorClass","inputErrorClass","addA11yErrorDescribe","$errors","$labels","elemId","label","errorId","a11yErrorLevel","removeRadioErrorClasses","groupName","$formErrors","removeCheckboxErrorClasses","removeErrorClasses","_this7","clearRequire","validator","manageErrorClasses","validateRadio","validateCheckbox","validateText","required","validators","equalTo","goodToGo","message","dependentElements","_this8","acc","checkboxGroupName","initialized","noError","pattern","inputText","valid","patterns","RegExp","$group","_this9","minRequired","matchValidation","_this10","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","showAll","$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","_resize","_show","closeOnClick","$body","ev","contains","_hideAll","_bindHandler","_scrollTop","$scrollTopElement","scrollTopElement","scrollPos","scrollTopOffset","animationDuration","animationEasing","_hide","calcHeight","parentSubMenu","_menuLinkEvents","_setShowSubMenuClasses","_setHideSubMenuClasses","_showMenu","autoFocus","$expandedSubmenus","index","isLastChild","blur","maxHeight","result","unwrap","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","item","array","currentIdx","Positionable","triedPositions","_getDefaultPosition","_getDefaultAlignment","originalPosition","originalAlignment","_reposition","_alignmentsExhausted","_realign","_addTriedPosition","_positionsExhausted","isExhausted","_getVOffset","_getHOffset","_setPosition","$parent","allowOverlap","minOverlap","minCoordinates","overlap","allowBottomOverlap","Dropdown","_Positionable","$id","$anchors","_setCurrentAnchor","parentClass","$currentAnchor","_superPropGet","match","horizontalPosition","hasTouch","ontouchstart","forceFollow","hover","bodyData","whatinput","timeout","hoverDelay","hoverPane","_addBodyHandler","DropdownMenu","subs","verticalClass","rightClass","changed","_isVertical","_isRtl","parClass","handleClickFn","hasSub","hasClicked","clickOpen","stopImmediatePropagation","closeOnClickInside","disableHoverOnTouch","disableHover","autoclose","closingTime","isTab","nextSibling","prevSibling","openSub","closeSub","_removeBodyHandler","isItself","$sibs","oldClass","$parentLi","$toClose","somethingToClose","$activeItem","Equalizer","eqId","$watched","hasNested","isNested","isOn","onResizeMeBound","_onResizeMe","onPostEqualizedBound","_onPostEqualized","imgs","tooSmall","equalizeOn","_checkMQ","_pauseEvents","_killswitch","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","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","_addContentClasses","_fixStickyElements","_","absoluteTopVal","_unfixStickyElements","stickyData","_stopScrolling","_recordScrollable","lastY","pageY","_preventDefaultAtEdges","delta","_canScroll","_scrollboxTouchMoved","allowUp","allowDown","forceTo","scrollTo","canvasFocus","Orbit","_reset","containerClass","$slides","slideClass","$images","initActive","useMUI","_prepareForOrbit","bullets","_loadBullets","autoPlay","geoSync","accessible","$bullets","boxOfBullets","timerDelay","changeSlide","_setWrapperHeight","temp","counter","_setSlideHeight","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","ResponsiveToggle","targetID","$targetMenu","$toggler","animationIn","animationOut","_update","_updateMqHandler","toggleMenu","hideFor","Reveal","cached","mq","fullScreen","_makeOverlay","additionalOverlayClasses","_updatePosition","outerWidth","outerHeight","margin","closeZfTrigger","resizemeZfTrigger","_handleState","_disableScroll","_enableScroll","$activeAnchor","activeElement","multipleOpened","afterAnimation","_addGlobalClasses","focusableElements","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","_removeGlobalClasses","closeOnEsc","finishUp","hideDelay","resetOnClose","urlWithoutHash","title","Slider","inputs","handles","$handle","$input","$fill","vertical","disabled","disabledClass","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_setHandlePos","_pctOfBar","pctOfBar","percent","positionValueFunction","_logTransform","_powTransform","toFixed","_value","baseLog","nonLinearBase","pow","$hndl","isDbl","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","elemDim","pxToMove","movement","decimal","_setValues","isLeftHndl","dim","handlePct","handlePos","initialStart","moveTime","changedDelay","initVal","initialEnd","_handleEvent","direction","eventOffset","barDim","windowScroll","scrollLeft","elemOffset","eventFromBar","barXY","offsetPct","_adjustValue","firstHndlPos","absPosition","secndHndlPos","div","previousVal","nextVal","_eventsForHandle","curHandle","handleChangeEvent","clickSelect","draggable","_$handle","oldValue","newValue","decrease","increase","decreaseFast","increaseFast","invertVertical","frac","num","clickPos","log","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","bottom","stickyOn","newElemWidth","comp","pdngl","pdngr","dynamicHeight","newContainerHeight","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","em","fontSize","Tabs","$tabTitles","linkClass","linkActiveClass","matchHeight","_setHeight","anchorNoHash","selectTab","_collapse","_addKeyHandler","_addClickHandler","_setHeightMqHandler","_handleTabChange","wrapOnKeys","historyHandled","activeCollapse","$oldTab","$tabLink","$targetContent","_collapseTab","panelActiveClass","$targetAnchor","$activeTab","idStr","hashIdStr","panelClass","panel","Toggler","toggler","$trigger","controls","containsId","_toggleClass","_updateARIA","_toggleAnimate","Tooltip","isClick","tipText","template","_buildTemplate","allowHtml","triggerClass","elementClassName","SVGElement","baseVal","tooltipWidth","tooltipHeight","templateClasses","tooltipClass","$template","showOn","fadeIn","fadeInDuration","fadeOutDuration","isFocus","disableForTouch","touchCloseText","tabs","ResponsiveAccordionTabs","_possibleConstructorReturn","storezfData","currentRule","_getAllOptions","allOptions","dummyPlugin","tmpPlugin","keyKey","objObj","_changedZfMediaQueryHandler","_handleMarkup","toSet","fromString","$panels","tabsTitle","tabsPanel","$liHeads","$liHeadsA","display","visibility","$tabsContent","$placeholder","tempValue","_this$currentRule","_this$currentRule2","_this$currentRule3","CoreUtils"],"mappings":"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A;AACxB,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CA3RmB2D,YAAY,EAAA;AA8RlCse,OAAO,CAACztB,QAAQ,GAAG;AACjB;AACF;AACA;AACA;AACA;AACA;AACEyR,EAAAA,UAAU,EAAE,GAAG;AACf;AACF;AACA;AACA;AACA;AACA;AACEid,EAAAA,cAAc,EAAE,GAAG;AACnB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,eAAe,EAAE,GAAG;AACpB;AACF;AACA;AACA;AACA;AACA;AACEhc,EAAAA,YAAY,EAAE,KAAK;AACnB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEkc,EAAAA,eAAe,EAAE,KAAK;AACtB;AACF;AACA;AACA;AACA;AACA;AACER,EAAAA,eAAe,EAAE,EAAE;AACnB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,YAAY,EAAE,SAAS;AACvB;AACF;AACA;AACA;AACA;AACA;AACEP,EAAAA,YAAY,EAAE,SAAS;AACvB;AACF;AACA;AACA;AACA;AACA;AACES,EAAAA,MAAM,EAAE,OAAO;AACf;AACF;AACA;AACA;AACA;AACA;AACEZ,EAAAA,QAAQ,EAAE,EAAE;AACZ;AACF;AACA;AACA;AACA;AACA;AACED,EAAAA,OAAO,EAAE,EAAE;AACXmB,EAAAA,cAAc,EAAE,eAAe;AAC/B;AACF;AACA;AACA;AACA;AACA;AACEvc,EAAAA,SAAS,EAAE,IAAI;AACf;AACF;AACA;AACA;AACA;AACA;AACEjhB,EAAAA,QAAQ,EAAE,MAAM;AAChB;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,SAAS,EAAE,MAAM;AACjB;AACF;AACA;AACA;AACA;AACA;AACA;AACE4e,EAAAA,YAAY,EAAE,KAAK;AACnB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEI,EAAAA,kBAAkB,EAAE,KAAK;AACzB;AACF;AACA;AACA;AACA;AACA;AACE/e,EAAAA,OAAO,EAAE,CAAC;AACV;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,OAAO,EAA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"} \ No newline at end of file diff --git a/dist/js/foundation.d.ts b/dist/js/foundation.d.ts deleted file mode 100644 index 25b6ef1c01..0000000000 --- a/dist/js/foundation.d.ts +++ /dev/null @@ -1,638 +0,0 @@ -// Type definitions for Foundation Sites v6.3.1 -// Project: https://get.foundation/ -// Github: https://github.com/foundation/foundation-sites -// -// Definitions by: Sam Vloeberghs -// Original Definitions: https://github.com/samvloeberghs/foundation-sites-typings - -declare module FoundationSites { - - // https://get.foundation/sites/docs/abide.html#javascript-reference - interface Abide { - enableValidation(): void; - disableValidation(): void; - requiredCheck(element: JQuery): boolean; - findFormError(element: JQuery, failedValidators?: string[]): JQuery; - findLabel(element: JQuery): boolean; - 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; - } - - interface AbideDefaults { - validateOn: string | null; - labelErrorClass: string; - inputErrorClass: string; - formErrorSelector: string; - formErrorClass: string; - a11yAttributes: boolean; - a11yErrorLevel: string; - liveValidate: boolean; - validateOnBlur: boolean; - patterns: IAbidePatterns; - validators: any; // TODO, maybe there is a better solution to describe how this object may look like - } - - interface IAbidePatterns { - alpha?: RegExp; - alpha_numeric?: RegExp; - integer?: RegExp; - number?: RegExp; - card?: RegExp; - cvv?: RegExp; - email ?: RegExp; - url?: RegExp; - domain?: RegExp; - datetime?: RegExp; - date?: RegExp; - time?: RegExp; - dateISO?: RegExp; - month_day_year?: RegExp; - day_month_year?: RegExp; - color?: RegExp; - website?: any; - } - - interface IAbideOptions { - 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; - } - - interface IAccordionOptions { - 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; - 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 { - // 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 { - open(): void; - close(): void; - toggle(): void; - } - - interface IDropdownOptions { - parentClass?: string | null; - hoverDelay?: number; - hover?: boolean; - hoverPane?: boolean; - vOffset?: number; - hOffset?: number; - 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 { - // 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; - } - - // https://get.foundation/sites/docs/equalizer.html#javascript-reference - interface Equalizer { - getHeights(cb: Function): any[]; - getHeightsByRow(cb: Function): any[]; - applyHeight(heights: any[]): void; - applyHeightByRow(groups: any[]): void; - } - - interface IEqualizerOptions { - equalizeOnStack?: boolean; - equalizeByRow?: boolean; - equalizeOn?: string; - } - - // https://get.foundation/sites/docs/interchange.html#javascript-reference - interface Interchange { - replace(path: string): void; - } - - interface IInterchangeOptions { - rules?: any[]; - type?: string; - } - - // https://get.foundation/sites/docs/magellan.html#javascript-reference - interface Magellan { - calcPoints(): void; - scrollToLoc(location: string): void; - reflow(): void; - } - - interface IMagellanOptions { - animationDuration?: number; - animationEasing?: string; - threshold?: number; - activeClass?: string; - deepLinking?: boolean; - updateHistory?: boolean; - offset?: number; - } - - // https://get.foundation/sites/docs/offcanvas.html#javascript-reference - interface OffCanvas { - reveal(isRevealed: boolean): void; - open(event: Event, trigger: JQuery): void; - close(cb?: Function): void; - toggle(event: Event, trigger: JQuery): void; - } - - interface IOffCanvasOptions { - closeOnClick?: boolean; - contentOverlay?: boolean; - contentId?: string | null; - nested?: boolean; - contentScroll?: boolean; - transitionTime?: string; - transition?: string; - forceTo?: string | null; - isRevealed?: boolean; - revealOn?: string | null; - inCanvasOn?: string | null; - autoFocus?: boolean; - revealClass?: string; - trapFocus?: boolean; - } - - // https://get.foundation/sites/docs/orbit.html#javascript-reference - interface Orbit { - geoSync(): void; - changeSlide(isLTR: boolean, chosenSlide?: JQuery, idx?: number): void; - } - - interface IOrbitOptions { - bullets?: boolean; - navButtons?: boolean; - animInFromRight?: string; - animOutToRight?: string; - animInFromLeft?: string; - animOutToLeft?: string; - autoPlay?: boolean; - timerDelay?: number; - infiniteWrap?: boolean; - swipe?: boolean; - pauseOnHover?: boolean; - accessible?: boolean; - containerClass?: string; - slideClass?: string; - boxOfBullets?: string; - nextClass?: string; - prevClass?: string; - 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; - } - - interface IRevealOptions { - animationIn?: string; - animationOut?: string; - showDelay?: number; - hideDelay?: number; - closeOnClick?: boolean; - closeOnEsc?: boolean; - multipleOpened?: boolean; - vOffset?: number | string; - hOffset?: number | string; - fullScreen?: boolean; - overlay?: boolean; - resetOnClose?: boolean; - deepLink?: boolean; - updateHistory?: boolean; - appendTo?: string; - additionalOverlayClasses?: string; - } - - // https://get.foundation/sites/docs/slider.html#javascript-reference - interface Slider { - // No public methods - } - - interface ISliderOptions { - start?: number; - end?: number; - step?: number; - initialStart?: number; - initialEnd?: number; - binding?: boolean; - clickSelect?: boolean; - vertical?: boolean; - draggable?: boolean; - disabled?: boolean; - doubleSided?: boolean; - 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 { - // No public methods - } - - interface IStickyOptions { - container?: string; - stickTo?: string; - anchor?: string; - topAnchor?: string; - btmAnchor?: string; - marginTop?: number; - marginBottom?: number; - 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; - } - - 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; - } - - interface ITogglerOptions { - toggler?: string; - animate?: boolean; - } - - // https://get.foundation/sites/docs/tooltip.html#javascript-reference - interface Tooltip { - show(): void; - hide(): void; - toggle(): void; - } - - interface ITooltipOptions { - hoverDelay?: number; - fadeInDuration?: number; - fadeOutDuration?: number; - disableHover?: boolean; - disableForTouch?: any; - templateClasses?: string; - tooltipClass?: string; - triggerClass?: string; - showOn?: string; - template?: string; - tipText?: string; - touchCloseText?: string; - clickOpen?: boolean; - position?: string; - alignment?: string; - allowOverlap?: boolean; - allowBottomOverlap?: boolean; - vOffset?: number; - hOffset?: number; - tooltipHeight?: number; - tooltipWidth?: number; - allowHtml?: boolean; - } - - // Utilities - // --------- - - 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; - 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: JQuery): Object; - register(componentName: any, cmds: any): void; - trapFocus(element: JQuery): void; - releaseFocus(element: JQuery): void; - } - - interface MediaQuery { - 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 { - animateIn(element: Object, animation: any, cb: Function): void; - animateOut(element: Object, animation: any, cb: Function): void; - } - - interface Move { - // TODO - } - - interface Nest { - Feather(menu: any, type: any): void; - Burn(menu: any, type: any): void; - } - - interface Timer { - start(): void; - restart(): void; - pause(): void; - } - - interface Touch { - setupSpotSwipe(event: Object): void; - setupTouchHandler(event: Object): void; - init(event: Object): void; - } - - interface Triggers { - // TODO :extension on jQuery - } - - interface FoundationSitesStatic { - version: string; - - rtl(): boolean; - plugin(plugin: Object, name: string): void; - registerPlugin(plugin: Object): void; - unregisterPlugin(plugin: Object): void; - reInit(plugins: Array): void; - GetYoDigits(length: number, namespace?: string): string; - reflow(elem: Object, plugins?: Array|string): void; - getFnName(fn: string): 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; - }; - - Abide: { - new(element: JQuery, options?: IAbideOptions): Abide; - defaults: AbideDefaults; - } - Accordion: { - new(element: JQuery, options?: IAccordionOptions): Accordion; - } - AccordionMenu: { - new(element: JQuery, options?: IAccordionMenuOptions): AccordionMenu; - } - Drilldown: { - new(element: JQuery, options?: IDrilldownOptions): Drilldown; - } - Dropdown: { - new(element: JQuery, options?: IDropdownOptions): Dropdown; - } - DropdownMenu: { - new(element: JQuery, options?: IDropdownMenuOptions): DropdownMenu; - } - Equalizer: { - new(element: JQuery, options?: IEqualizerOptions): Equalizer; - } - Interchange: { - new(element: JQuery, options?: IInterchangeOptions): Interchange; - } - Magellan: { - new(element: JQuery, options?: IMagellanOptions): Magellan; - } - OffCanvas: { - new(element: JQuery, options?: IOffCanvasOptions): OffCanvas; - } - 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; - } - Tabs: { - new(element: JQuery, options?: ITabsOptions): Tabs; - } - Toggler: { - new(element: JQuery, options?: ITogglerOptions): Toggler; - } - Tooltip: { - new(element: JQuery, options?: ITooltipOptions): Tooltip; - } - - // utils - Box: Box; - Keyboard: Keyboard; - MediaQuery: MediaQuery; - Motion: Motion; - Move: Move; - Nest: Nest; - Timer: Timer; - Touch: Touch; - Triggers: Triggers; - - } - -} - -interface JQuery { - foundation(method?: string | Array, ...args: any[]): JQuery; -} - -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 deleted file mode 100644 index 4eaca68f26..0000000000 --- a/dist/js/foundation.es6.js +++ /dev/null @@ -1,11099 +0,0 @@ -import $ from 'jquery'; - -// Core Foundation Utilities, utilized in a number of places. - - /** - * Returns a boolean for RTL support - */ -function rtl() { - return $('html').attr('dir') === 'rtl'; -} - -/** - * returns a random base-36 uid with namespacing - * @function - * @param {Number} length - number of random base-36 digits desired. Increase for more random strings. - * @param {String} namespace - name of plugin to be incorporated in uid, optional. - * @default {String} '' - if no plugin name is provided, nothing is appended to the uid. - * @returns {String} - unique id - */ -function GetYoDigits(length = 6, namespace){ - let str = ''; - const chars = '0123456789abcdefghijklmnopqrstuvwxyz'; - const charsLength = chars.length; - for (let i = 0; i < length; i++) { - str += chars[Math.floor(Math.random() * charsLength)]; - } - return namespace ? `${str}-${namespace}` : str; -} - -/** - * Escape a string so it can be used as a regexp pattern - * @function - * @see https://stackoverflow.com/a/9310752/4317384 - * - * @param {String} str - string to escape. - * @returns {String} - escaped string - */ -function RegExpEscape(str){ - return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); -} - -function transitionend($elem){ - var transitions = { - 'transition': 'transitionend', - 'WebkitTransition': 'webkitTransitionEnd', - 'MozTransition': 'transitionend', - 'OTransition': 'otransitionend' - }; - var elem = document.createElement('div'), - end; - - for (let transition in transitions){ - if (typeof elem.style[transition] !== 'undefined'){ - end = transitions[transition]; - } - } - if (end) { - return end; - } else { - setTimeout(function(){ - $elem.triggerHandler('transitionend', [$elem]); - }, 1); - return 'transitionend'; - } -} - -/** - * Return an event type to listen for window load. - * - * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered. - * If `handler` is passed, attach it to the event on `$elem`. - * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself. - * @function - * - * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed. - * @param {Function} [] handler - function to attach to the event. - * @returns {String} - event type that should or will be triggered. - */ -function onLoad($elem, handler) { - const didLoad = document.readyState === 'complete'; - const eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad'; - const cb = () => $elem.triggerHandler(eventType); - - if ($elem) { - if (handler) $elem.one(eventType, handler); - - if (didLoad) - setTimeout(cb); - else - $(window).one('load', cb); - } - - return eventType; -} - -/** - * Retuns an handler for the `mouseleave` that ignore disappeared mouses. - * - * If the mouse "disappeared" from the document (like when going on a browser UI element, See https://git.io/zf-11410), - * the event is ignored. - * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window - * (like by switching to an other window with [Alt]+[Tab]). - * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document - * outside of the element it left. - * - * @function - * - * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch. - * @param {Object} [] options - object of options: - * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows. - * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left. - * @returns {Function} - filtered handler to use to listen on the `mouseleave` event. - */ -function ignoreMousedisappear(handler, { ignoreLeaveWindow = false, ignoreReappear = false } = {}) { - return function leaveEventHandler(eLeave, ...rest) { - const callback = handler.bind(this, eLeave, ...rest); - - // The mouse left: call the given callback if the mouse entered elsewhere - if (eLeave.relatedTarget !== null) { - return callback(); - } - - // Otherwise, check if the mouse actually left the window. - // In firefox if the user switched between windows, the window sill have the focus by the time - // the event is triggered. We have to debounce the event to test this case. - setTimeout(function leaveEventDebouncer() { - if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) { - return callback(); - } - - // Otherwise, wait for the mouse to reeapear outside of the element, - if (!ignoreReappear) { - $(document).one('mouseenter', function reenterEventHandler(eReenter) { - if (!$(eLeave.currentTarget).has(eReenter.target).length) { - // Fill where the mouse finally entered. - eLeave.relatedTarget = eReenter.target; - callback(); - } - }); - } - - }, 0); - }; -} - -var foundation_core_utils = /*#__PURE__*/Object.freeze({ - __proto__: null, - rtl: rtl, - GetYoDigits: GetYoDigits, - RegExpEscape: RegExpEscape, - transitionend: transitionend, - onLoad: onLoad, - ignoreMousedisappear: ignoreMousedisappear -}); - -// Default set of media queries -// const defaultQueries = { -// 'default' : 'only screen', -// landscape : 'only screen and (orientation: landscape)', -// portrait : 'only screen and (orientation: portrait)', -// 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)' -// }; - - -// matchMedia() polyfill - Test a CSS media type/query in JS. -// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license -/* eslint-disable */ -window.matchMedia || (window.matchMedia = (function () { - - // For browsers that support matchMedium api such as IE 9 and webkit - var styleMedia = (window.styleMedia || window.media); - - // For those that don't support matchMedium - if (!styleMedia) { - var style = document.createElement('style'), - script = document.getElementsByTagName('script')[0], - info = null; - - style.type = 'text/css'; - style.id = 'matchmediajs-test'; - - if (!script) { - document.head.appendChild(style); - } else { - script.parentNode.insertBefore(style, script); - } - - // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers - info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle; - - styleMedia = { - matchMedium: function (media) { - var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; - - // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers - if (style.styleSheet) { - style.styleSheet.cssText = text; - } else { - style.textContent = text; - } - - // Test if media query is true or false - return info.width === '1px'; - } - }; - } - - return function(media) { - return { - matches: styleMedia.matchMedium(media || 'all'), - media: media || 'all' - }; - }; -})()); -/* eslint-enable */ - -var MediaQuery = { - queries: [], - - current: '', - - /** - * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher. - * @function - * @private - */ - _init() { - - // make sure the initialization is only done once when calling _init() several times - if (this.isInitialized === true) { - return this; - } else { - this.isInitialized = true; - } - - var self = this; - var $meta = $('meta.foundation-mq'); - if(!$meta.length){ - $('').appendTo(document.head); - } - - var extractedStyles = $('.foundation-mq').css('font-family'); - var namedQueries; - - namedQueries = parseStyleToObject(extractedStyles); - - self.queries = []; // reset - - for (var key in namedQueries) { - if(namedQueries.hasOwnProperty(key)) { - self.queries.push({ - name: key, - value: `only screen and (min-width: ${namedQueries[key]})` - }); - } - } - - this.current = this._getCurrentSize(); - - this._watcher(); - }, - - /** - * Reinitializes the media query helper. - * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization. - * @function - * @private - */ - _reInit() { - this.isInitialized = false; - this._init(); - }, - - /** - * Checks if the screen is at least as wide as a breakpoint. - * @function - * @param {String} size - Name of the breakpoint to check. - * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller. - */ - atLeast(size) { - var query = this.get(size); - - if (query) { - return window.matchMedia(query).matches; - } - - return false; - }, - - /** - * Checks if the screen is within the given breakpoint. - * If smaller than the breakpoint of larger than its upper limit it returns false. - * @function - * @param {String} size - Name of the breakpoint to check. - * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise. - */ - only(size) { - return size === this._getCurrentSize(); - }, - - /** - * Checks if the screen is within a breakpoint or smaller. - * @function - * @param {String} size - Name of the breakpoint to check. - * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger. - */ - upTo(size) { - const nextSize = this.next(size); - - // If the next breakpoint does not match, the screen is smaller than - // the upper limit of this breakpoint. - if (nextSize) { - return !this.atLeast(nextSize); - } - - // If there is no next breakpoint, the "size" breakpoint does not have - // an upper limit and the screen will always be within it or smaller. - return true; - }, - - /** - * Checks if the screen matches to a breakpoint. - * @function - * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method. - * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not. - */ - is(size) { - const parts = size.trim().split(' ').filter(p => !!p.length); - const [bpSize, bpModifier = ''] = parts; - - // Only the breakpont - if (bpModifier === 'only') { - return this.only(bpSize); - } - // At least the breakpoint (included) - if (!bpModifier || bpModifier === 'up') { - return this.atLeast(bpSize); - } - // Up to the breakpoint (included) - if (bpModifier === 'down') { - return this.upTo(bpSize); - } - - throw new Error(` - Invalid breakpoint passed to MediaQuery.is(). - Expected a breakpoint name formatted like " ", got "${size}". - `); - }, - - /** - * Gets the media query of a breakpoint. - * @function - * @param {String} size - Name of the breakpoint to get. - * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist. - */ - get(size) { - for (var i in this.queries) { - if(this.queries.hasOwnProperty(i)) { - var query = this.queries[i]; - if (size === query.name) return query.value; - } - } - - return null; - }, - - /** - * Get the breakpoint following the given breakpoint. - * @function - * @param {String} size - Name of the breakpoint. - * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one. - */ - next(size) { - const queryIndex = this.queries.findIndex((q) => this._getQueryName(q) === size); - if (queryIndex === -1) { - throw new Error(` - Unknown breakpoint "${size}" passed to MediaQuery.next(). - Ensure it is present in your Sass "$breakpoints" setting. - `); - } - - const nextQuery = this.queries[queryIndex + 1]; - return nextQuery ? nextQuery.name : null; - }, - - /** - * Returns the name of the breakpoint related to the given value. - * @function - * @private - * @param {String|Object} value - Breakpoint name or query object. - * @returns {String} Name of the breakpoint. - */ - _getQueryName(value) { - if (typeof value === 'string') - return value; - if (typeof value === 'object') - return value.name; - throw new TypeError(` - Invalid value passed to MediaQuery._getQueryName(). - Expected a breakpoint name (String) or a breakpoint query (Object), got "${value}" (${typeof value}) - `); - }, - - /** - * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one). - * @function - * @private - * @returns {String} Name of the current breakpoint. - */ - _getCurrentSize() { - var matched; - - for (var i = 0; i < this.queries.length; i++) { - var query = this.queries[i]; - - if (window.matchMedia(query.value).matches) { - matched = query; - } - } - - return matched && this._getQueryName(matched); - }, - - /** - * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes. - * @function - * @private - */ - _watcher() { - $(window).on('resize.zf.trigger', () => { - var newSize = this._getCurrentSize(), currentSize = this.current; - - if (newSize !== currentSize) { - // Change the current media query - this.current = newSize; - - // Broadcast the media query change on the window - $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]); - } - }); - } -}; - - - -// Thank you: https://github.com/sindresorhus/query-string -function parseStyleToObject(str) { - var styleObject = {}; - - if (typeof str !== 'string') { - return styleObject; - } - - str = str.trim().slice(1, -1); // browsers re-quote string style values - - if (!str) { - return styleObject; - } - - styleObject = str.split('&').reduce(function(ret, param) { - var parts = param.replace(/\+/g, ' ').split('='); - var key = parts[0]; - var val = parts[1]; - key = decodeURIComponent(key); - - // missing `=` should be `null`: - // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters - val = typeof val === 'undefined' ? null : decodeURIComponent(val); - - if (!ret.hasOwnProperty(key)) { - ret[key] = val; - } else if (Array.isArray(ret[key])) { - ret[key].push(val); - } else { - ret[key] = [ret[key], val]; - } - return ret; - }, {}); - - return styleObject; -} - -var FOUNDATION_VERSION = '6.9.0'; - -// Global Foundation object -// This is attached to the window, or used as a module for AMD/Browserify -var Foundation = { - version: FOUNDATION_VERSION, - - /** - * Stores initialized plugins. - */ - _plugins: {}, - - /** - * Stores generated unique ids for plugin instances - */ - _uuids: [], - - /** - * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing. - * @param {Object} plugin - The constructor of the plugin. - */ - plugin: function(plugin, name) { - // Object key to use when adding to global Foundation object - // Examples: Foundation.Reveal, Foundation.OffCanvas - var className = (name || functionName(plugin)); - // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin - // Examples: data-reveal, data-off-canvas - var attrName = hyphenate$1(className); - - // Add to the Foundation object and the plugins list (for reflowing) - this._plugins[attrName] = this[className] = plugin; - }, - /** - * @function - * Populates the _uuids array with pointers to each individual plugin instance. - * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls. - * Also fires the initialization event for each plugin, consolidating repetitive code. - * @param {Object} plugin - an instance of a plugin, usually `this` in context. - * @param {String} name - the name of the plugin, passed as a camelCased string. - * @fires Plugin#init - */ - registerPlugin: function(plugin, name){ - var pluginName = name ? hyphenate$1(name) : functionName(plugin.constructor).toLowerCase(); - plugin.uuid = GetYoDigits(6, pluginName); - - if(!plugin.$element.attr(`data-${pluginName}`)){ plugin.$element.attr(`data-${pluginName}`, plugin.uuid); } - if(!plugin.$element.data('zfPlugin')){ plugin.$element.data('zfPlugin', plugin); } - /** - * Fires when the plugin has initialized. - * @event Plugin#init - */ - plugin.$element.trigger(`init.zf.${pluginName}`); - - this._uuids.push(plugin.uuid); - - return; - }, - /** - * @function - * Removes the plugins uuid from the _uuids array. - * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute. - * Also fires the destroyed event for the plugin, consolidating repetitive code. - * @param {Object} plugin - an instance of a plugin, usually `this` in context. - * @fires Plugin#destroyed - */ - unregisterPlugin: function(plugin){ - var pluginName = hyphenate$1(functionName(plugin.$element.data('zfPlugin').constructor)); - - this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1); - plugin.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin') - /** - * Fires when the plugin has been destroyed. - * @event Plugin#destroyed - */ - .trigger(`destroyed.zf.${pluginName}`); - for(var prop in plugin){ - if(typeof plugin[prop] === 'function'){ - plugin[prop] = null; //clean up script to prep for garbage collection. - } - } - return; - }, - - /** - * @function - * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc. - * @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'` - * @default If no argument is passed, reflow all currently active plugins. - */ - reInit: function(plugins){ - var isJQ = plugins instanceof $; - try{ - if(isJQ){ - plugins.each(function(){ - $(this).data('zfPlugin')._init(); - }); - }else { - var type = typeof plugins, - _this = this, - fns = { - 'object': function(plgs){ - plgs.forEach(function(p){ - p = hyphenate$1(p); - $('[data-'+ p +']').foundation('_init'); - }); - }, - 'string': function(){ - plugins = hyphenate$1(plugins); - $('[data-'+ plugins +']').foundation('_init'); - }, - 'undefined': function(){ - this.object(Object.keys(_this._plugins)); - } - }; - fns[type](plugins); - } - }catch(err){ - console.error(err); - }finally{ - return plugins; - } - }, - - /** - * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized. - * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object. - * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything. - */ - reflow: function(elem, plugins) { - - // If plugins is undefined, just grab everything - if (typeof plugins === 'undefined') { - plugins = Object.keys(this._plugins); - } - // If plugins is a string, convert it to an array with one item - else if (typeof plugins === 'string') { - plugins = [plugins]; - } - - var _this = this; - - // Iterate through each plugin - $.each(plugins, function(i, name) { - // Get the current plugin - var plugin = _this._plugins[name]; - - // Localize the search to all elements inside elem, as well as elem itself, unless elem === document - var $elem = $(elem).find('[data-'+name+']').addBack('[data-'+name+']').filter(function () { - return typeof $(this).data("zfPlugin") === 'undefined'; - }); - - // For each plugin found, initialize it - $elem.each(function() { - var $el = $(this), - opts = { reflow: true }; - - if($el.attr('data-options')){ - $el.attr('data-options').split(';').forEach(function(option){ - var opt = option.split(':').map(function(el){ return el.trim(); }); - if(opt[0]) opts[opt[0]] = parseValue(opt[1]); - }); - } - try{ - $el.data('zfPlugin', new plugin($(this), opts)); - }catch(er){ - console.error(er); - }finally{ - return; - } - }); - }); - }, - getFnName: functionName, - - addToJquery: function() { - // TODO: consider not making this a jQuery function - // TODO: need way to reflow vs. re-initialize - /** - * The Foundation jQuery method. - * @param {String|Array} method - An action to perform on the current jQuery object. - */ - var foundation = function(method) { - var type = typeof method, - $noJS = $('.no-js'); - - if($noJS.length){ - $noJS.removeClass('no-js'); - } - - if(type === 'undefined'){//needs to initialize the Foundation object, or an individual plugin. - MediaQuery._init(); - Foundation.reflow(this); - }else if(type === 'string'){//an individual method to invoke on a plugin or group of plugins - var args = Array.prototype.slice.call(arguments, 1);//collect all the arguments, if necessary - var plugClass = this.data('zfPlugin');//determine the class of plugin - - 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 { - 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 - throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.'); - } - }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; - }; - $.fn.foundation = foundation; - return $; - } -}; - -Foundation.util = { - /** - * Function for applying a debounce effect to a function call. - * @function - * @param {Function} func - Function to be called at end of timeout. - * @param {Number} delay - Time in ms to delay the call of `func`. - * @returns function - */ - throttle: function (func, delay) { - var timer = null; - - return function () { - var context = this, args = arguments; - - if (timer === null) { - timer = setTimeout(function () { - func.apply(context, args); - timer = null; - }, delay); - } - }; - } -}; - -window.Foundation = Foundation; - -// Polyfill for requestAnimationFrame -(function() { - if (!Date.now || !window.Date.now) - window.Date.now = Date.now = function() { return new Date().getTime(); }; - - var vendors = ['webkit', 'moz']; - for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) { - var vp = vendors[i]; - window.requestAnimationFrame = window[vp+'RequestAnimationFrame']; - window.cancelAnimationFrame = (window[vp+'CancelAnimationFrame'] - || window[vp+'CancelRequestAnimationFrame']); - } - if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) - || !window.requestAnimationFrame || !window.cancelAnimationFrame) { - var lastTime = 0; - window.requestAnimationFrame = function(callback) { - var now = Date.now(); - var nextTime = Math.max(lastTime + 16, now); - return setTimeout(function() { callback(lastTime = nextTime); }, - nextTime - now); - }; - window.cancelAnimationFrame = clearTimeout; - } - /** - * Polyfill for performance.now, required by rAF - */ - if(!window.performance || !window.performance.now){ - window.performance = { - start: Date.now(), - now: function(){ return Date.now() - this.start; } - }; - } -})(); -if (!Function.prototype.bind) { - /* eslint-disable no-extend-native */ - Function.prototype.bind = function(oThis) { - if (typeof this !== 'function') { - // closest thing possible to the ECMAScript 5 - // internal IsCallable function - throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable'); - } - - var aArgs = Array.prototype.slice.call(arguments, 1), - fToBind = this, - fNOP = function() {}, - fBound = function() { - return fToBind.apply(this instanceof fNOP - ? this - : oThis, - aArgs.concat(Array.prototype.slice.call(arguments))); - }; - - if (this.prototype) { - // native functions don't have a prototype - fNOP.prototype = this.prototype; - } - fBound.prototype = new fNOP(); - - return fBound; - }; -} -// Polyfill to get the name of a function in IE9 -function functionName(fn) { - if (typeof Function.prototype.name === 'undefined') { - var funcNameRegex = /function\s([^(]{1,})\(/; - var results = (funcNameRegex).exec((fn).toString()); - return (results && results.length > 1) ? results[1].trim() : ""; - } - else if (typeof fn.prototype === 'undefined') { - return fn.constructor.name; - } - else { - return fn.prototype.constructor.name; - } -} -function parseValue(str){ - if ('true' === str) return true; - else if ('false' === str) return false; - else if (!isNaN(str * 1)) return parseFloat(str); - return str; -} -// Convert PascalCase to kebab-case -// Thank you: http://stackoverflow.com/a/8955580 -function hyphenate$1(str) { - return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); -} - -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. - */ -function ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) { - return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0; -} - -function OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) { - var eleDims = GetDimensions(element), - topOver, bottomOver, leftOver, rightOver; - if (parent) { - var parDims = GetDimensions(parent); - - bottomOver = (parDims.height + parDims.offset.top) - (eleDims.offset.top + eleDims.height); - topOver = eleDims.offset.top - parDims.offset.top; - leftOver = eleDims.offset.left - parDims.offset.left; - rightOver = (parDims.width + parDims.offset.left) - (eleDims.offset.left + eleDims.width); - } - else { - bottomOver = (eleDims.windowDims.height + eleDims.windowDims.offset.top) - (eleDims.offset.top + eleDims.height); - topOver = eleDims.offset.top - eleDims.windowDims.offset.top; - leftOver = eleDims.offset.left - eleDims.windowDims.offset.left; - rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width); - } - - bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0); - topOver = Math.min(topOver, 0); - leftOver = Math.min(leftOver, 0); - rightOver = Math.min(rightOver, 0); - - if (lrOnly) { - return leftOver + rightOver; - } - if (tbOnly) { - return topOver + bottomOver; - } - - // use sum of squares b/c we care about overlap area. - return Math.sqrt((topOver * topOver) + (bottomOver * bottomOver) + (leftOver * leftOver) + (rightOver * rightOver)); -} - -/** - * Uses native methods to return an object of dimension values. - * @function - * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window. - * @returns {Object} - nested object of integer pixel values - * TODO - if element is window, return only those values. - */ -function GetDimensions(elem){ - elem = elem.length ? elem[0] : elem; - - if (elem === window || elem === document) { - throw new Error("I'm sorry, Dave. I'm afraid I can't do that."); - } - - var rect = elem.getBoundingClientRect(), - parRect = elem.parentNode.getBoundingClientRect(), - winRect = document.body.getBoundingClientRect(), - winY = window.pageYOffset, - winX = window.pageXOffset; - - return { - width: rect.width, - height: rect.height, - offset: { - top: rect.top + winY, - left: rect.left + winX - }, - parentDims: { - width: parRect.width, - height: parRect.height, - offset: { - top: parRect.top + winY, - left: parRect.left + winX - } - }, - windowDims: { - width: winRect.width, - height: winRect.height, - offset: { - top: winY, - left: winX - } - } - } -} - -/** - * Returns an object of top and left integer pixel values for dynamically rendered elements, - * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where - * you don't know alignment, but generally from - * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment. - * @function - * @param {jQuery} element - jQuery object for the element being positioned. - * @param {jQuery} anchor - jQuery object for the element's anchor point. - * @param {String} position - a string relating to the desired position of the element, relative to it's anchor - * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element. - * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element. - * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset. - * TODO alter/rewrite to work with `em` values as well/instead of pixels - */ -function GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) { - var $eleDims = GetDimensions(element), - $anchorDims = anchor ? GetDimensions(anchor) : null; - - var topVal, leftVal; - - if ($anchorDims !== null) { - // set position related attribute - switch (position) { - case 'top': - topVal = $anchorDims.offset.top - ($eleDims.height + vOffset); - break; - case 'bottom': - topVal = $anchorDims.offset.top + $anchorDims.height + vOffset; - break; - case 'left': - leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset); - break; - case 'right': - leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset; - break; - } - - // set alignment related attribute - switch (position) { - case 'top': - case 'bottom': - switch (alignment) { - case 'left': - leftVal = $anchorDims.offset.left + hOffset; - break; - case 'right': - leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset; - break; - case 'center': - leftVal = isOverflow ? hOffset : (($anchorDims.offset.left + ($anchorDims.width / 2)) - ($eleDims.width / 2)) + hOffset; - break; - } - break; - case 'right': - case 'left': - switch (alignment) { - case 'bottom': - topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height; - break; - case 'top': - topVal = $anchorDims.offset.top + vOffset; - break; - case 'center': - topVal = ($anchorDims.offset.top + vOffset + ($anchorDims.height / 2)) - ($eleDims.height / 2); - break; - } - break; - } - } - - return {top: topVal, left: leftVal}; -} - -/** - * Runs a callback function when images are fully loaded. - * @param {Object} images - Image(s) to check if loaded. - * @param {Func} callback - Function to execute when image is fully loaded. - */ -function onImagesLoaded(images, callback){ - var unloaded = images.length; - - if (unloaded === 0) { - callback(); - } - - images.each(function(){ - // Check if image is loaded - if (this.complete && typeof this.naturalWidth !== 'undefined') { - singleImageLoaded(); - } - else { - // If the above check failed, simulate loading on detached element. - var image = new Image(); - // Still count image as loaded if it finalizes with an error. - var events = "load.zf.images error.zf.images"; - $(image).one(events, function me(){ - // Unbind the event listeners. We're using 'one' but only one of the two events will have fired. - $(this).off(events, me); - singleImageLoaded(); - }); - image.src = $(this).attr('src'); - } - }); - - function singleImageLoaded() { - unloaded--; - if (unloaded === 0) { - callback(); - } - } -} - -/******************************************* - * * - * This util was created by Marius Olbertz * - * Please thank Marius on GitHub /owlbertz * - * or the web http://www.mariusolbertz.de/ * - * * - ******************************************/ - -const keyCodes = { - 9: 'TAB', - 13: 'ENTER', - 27: 'ESCAPE', - 32: 'SPACE', - 35: 'END', - 36: 'HOME', - 37: 'ARROW_LEFT', - 38: 'ARROW_UP', - 39: 'ARROW_RIGHT', - 40: 'ARROW_DOWN' -}; - -var commands = {}; - -// Functions pulled out to be referenceable from internals -function findFocusable($element) { - if(!$element) {return false; } - 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'), 10), - bTabIndex = parseInt($(b).attr('tabindex'), 10); - // 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; - } - }); -} - -function parseKey(event) { - var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); - - // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events - key = key.replace(/\W+/, ''); - - if (event.shiftKey) key = `SHIFT_${key}`; - if (event.ctrlKey) key = `CTRL_${key}`; - if (event.altKey) key = `ALT_${key}`; - - // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`) - key = key.replace(/_$/, ''); - - return key; -} - -var Keyboard = { - keys: getKeyCodes(keyCodes), - - /** - * Parses the (keyboard) event and returns a String that represents its key - * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE - * @param {Event} event - the event generated by the event handler - * @return String key - String that represents the key pressed - */ - parseKey: parseKey, - - /** - * Handles the given (keyboard) event - * @param {Event} event - the event generated by the event handler - * @param {String} component - Foundation component's name, e.g. Slider or Reveal - * @param {Objects} functions - collection of functions that are to be executed - */ - handleKey(event, component, functions) { - var commandList = commands[component], - keyCode = this.parseKey(event), - cmds, - command, - fn; - - if (!commandList) return console.warn('Component not defined!'); - - // Ignore the event if it was already handled - if (event.zfIsKeyHandled === true) return; - - // This component does not differentiate between ltr and rtl - if (typeof commandList.ltr === 'undefined') { - cmds = commandList; // use plain list - } else { // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa - if (rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl); - - else cmds = $.extend({}, commandList.rtl, commandList.ltr); - } - command = cmds[keyCode]; - - fn = functions[command]; - // Execute the handler if found - if (fn && typeof fn === 'function') { - var returnValue = fn.apply(); - - // Mark the event as "handled" to prevent future handlings - event.zfIsKeyHandled = true; - - // Execute function when event was handled - if (functions.handled || typeof functions.handled === 'function') { - functions.handled(returnValue); - } - } else { - // Execute function when event was not handled - if (functions.unhandled || typeof functions.unhandled === 'function') { - functions.unhandled(); - } - } - }, - - /** - * Finds all focusable elements within the given `$element` - * @param {jQuery} $element - jQuery object to search within - * @return {jQuery} $focusable - all focusable elements within `$element` - */ - - findFocusable: findFocusable, - - /** - * Returns the component name name - * @param {Object} component - Foundation component, e.g. Slider or Reveal - * @return String componentName - */ - - register(componentName, cmds) { - commands[componentName] = cmds; - }, - - - // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context? - // - /** - * Traps the focus in the given element. - * @param {jQuery} $element jQuery object to trap the foucs into. - */ - trapFocus($element) { - var $focusable = findFocusable($element), - $firstFocusable = $focusable.eq(0), - $lastFocusable = $focusable.eq(-1); - - $element.on('keydown.zf.trapfocus', function(event) { - if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') { - event.preventDefault(); - $firstFocusable.focus(); - } - else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') { - event.preventDefault(); - $lastFocusable.focus(); - } - }); - }, - /** - * Releases the trapped focus from the given element. - * @param {jQuery} $element jQuery object to release the focus for. - */ - releaseFocus($element) { - $element.off('keydown.zf.trapfocus'); - } -}; - -/* - * Constants for easier comparing. - * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE - */ -function getKeyCodes(kcs) { - var k = {}; - for (var kc in kcs) { - if (kcs.hasOwnProperty(kc)) k[kcs[kc]] = kcs[kc]; - } - return k; -} - -/** - * Motion module. - * @module foundation.motion - */ - -const initClasses = ['mui-enter', 'mui-leave']; -const activeClasses = ['mui-enter-active', 'mui-leave-active']; - -const Motion = { - animateIn: function(element, animation, cb) { - animate(true, element, animation, cb); - }, - - animateOut: function(element, animation, cb) { - animate(false, element, animation, cb); - } -}; - -function Move(duration, elem, fn){ - var anim, prog, start = null; - - if (duration === 0) { - fn.apply(elem); - elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); - return; - } - - function move(ts){ - if(!start) start = ts; - prog = ts - start; - fn.apply(elem); - - if(prog < duration){ anim = window.requestAnimationFrame(move, elem); } - else { - window.cancelAnimationFrame(anim); - elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]); - } - } - anim = window.requestAnimationFrame(move); -} - -/** - * Animates an element in or out using a CSS transition class. - * @function - * @private - * @param {Boolean} isIn - Defines if the animation is in or out. - * @param {Object} element - jQuery or HTML object to animate. - * @param {String} animation - CSS class to use. - * @param {Function} cb - Callback to run when animation is finished. - */ -function animate(isIn, element, animation, cb) { - element = $(element).eq(0); - - if (!element.length) return; - - var initClass = isIn ? initClasses[0] : initClasses[1]; - var activeClass = isIn ? activeClasses[0] : activeClasses[1]; - - // Set up the animation - reset(); - - element - .addClass(animation) - .css('transition', 'none'); - - requestAnimationFrame(() => { - element.addClass(initClass); - if (isIn) element.show(); - }); - - // Start the animation - requestAnimationFrame(() => { - // will trigger the browser to synchronously calculate the style and layout - // also called reflow or layout thrashing - // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a - element[0].offsetWidth; - element - .css('transition', '') - .addClass(activeClass); - }); - - // Clean up the animation when it finishes - element.one(transitionend(element), finish); - - // Hides the element (for out animations), resets the element, and runs a callback - function finish() { - if (!isIn) element.hide(); - reset(); - if (cb) cb.apply(element); - } - - // Resets transitions and removes motion-specific classes - function reset() { - element[0].style.transitionDuration = 0; - element.removeClass(`${initClass} ${activeClass} ${animation}`); - } -} - -const Nest = { - Feather(menu, type = 'zf') { - menu.attr('role', 'menubar'); - menu.find('a').attr({'role': 'menuitem'}); - - var items = menu.find('li').attr({'role': 'none'}), - subMenuClass = `is-${type}-submenu`, - subItemClass = `${subMenuClass}-item`, - hasSubClass = `is-${type}-submenu-parent`, - applyAria = (type !== 'accordion'); // Accordions handle their own ARIA attriutes. - - items.each(function() { - var $item = $(this), - $sub = $item.children('ul'); - - if ($sub.length) { - $item.addClass(hasSubClass); - if(applyAria) { - const firstItem = $item.children('a:first'); - firstItem.attr({ - 'aria-haspopup': true, - 'aria-label': firstItem.attr('aria-label') || firstItem.text() - }); - // Note: Drilldowns behave differently in how they hide, and so need - // additional attributes. We should look if this possibly over-generalized - // utility (Nest) is appropriate when we rework menus in 6.4 - if(type === 'drilldown') { - $item.attr({'aria-expanded': false}); - } - } - $sub - .addClass(`submenu ${subMenuClass}`) - .attr({ - 'data-submenu': '', - 'role': 'menubar' - }); - if(type === 'drilldown') { - $sub.attr({'aria-hidden': true}); - } - } - - if ($item.parent('[data-submenu]').length) { - $item.addClass(`is-submenu-item ${subItemClass}`); - } - }); - - return; - }, - - Burn(menu, type) { - var //items = menu.find('li'), - subMenuClass = `is-${type}-submenu`, - subItemClass = `${subMenuClass}-item`, - hasSubClass = `is-${type}-submenu-parent`; - - menu - .find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li') - .removeClass(`${subMenuClass} ${subItemClass} ${hasSubClass} is-submenu-item submenu is-active`) - .removeAttr('data-submenu').css('display', ''); - - } -}; - -function Timer(elem, options, cb) { - var _this = this, - duration = options.duration,//options is an object for easily adding features later. - nameSpace = Object.keys(elem.data())[0] || 'timer', - remain = -1, - start, - timer; - - this.isPaused = false; - - this.restart = function() { - remain = -1; - clearTimeout(timer); - this.start(); - }; - - this.start = function() { - this.isPaused = false; - // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. - clearTimeout(timer); - remain = remain <= 0 ? duration : remain; - elem.data('paused', false); - start = Date.now(); - timer = setTimeout(function(){ - if(options.infinite){ - _this.restart();//rerun the timer. - } - if (cb && typeof cb === 'function') { cb(); } - }, remain); - elem.trigger(`timerstart.zf.${nameSpace}`); - }; - - this.pause = function() { - this.isPaused = true; - //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things. - clearTimeout(timer); - elem.data('paused', true); - var end = Date.now(); - remain = remain - (end - start); - elem.trigger(`timerpaused.zf.${nameSpace}`); - }; -} - -//************************************************** - -var Touch = {}; - -var startPosX, - startTime, - elapsedTime, - startEvent, - isMoving = false, - didMoved = false; - -function onTouchEnd(e) { - this.removeEventListener('touchmove', onTouchMove); - this.removeEventListener('touchend', onTouchEnd); - - // If the touch did not move, consider it as a "tap" - if (!didMoved) { - var tapEvent = $.Event('tap', startEvent || e); - $(this).trigger(tapEvent); - } - - startEvent = null; - isMoving = false; - didMoved = false; -} - -function onTouchMove(e) { - if (true === $.spotSwipe.preventDefault) { e.preventDefault(); } - - if(isMoving) { - var x = e.touches[0].pageX; - // var y = e.touches[0].pageY; - var dx = startPosX - x; - // var dy = startPosY - y; - var dir; - didMoved = true; - elapsedTime = new Date().getTime() - startTime; - if(Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) { - dir = dx > 0 ? 'left' : 'right'; - } - // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) { - // dir = dy > 0 ? 'down' : 'up'; - // } - if(dir) { - e.preventDefault(); - onTouchEnd.apply(this, arguments); - $(this) - .trigger($.Event('swipe', Object.assign({}, e)), dir) - .trigger($.Event(`swipe${dir}`, Object.assign({}, e))); - } - } - -} - -function onTouchStart(e) { - - if (e.touches.length === 1) { - startPosX = e.touches[0].pageX; - startEvent = e; - isMoving = true; - didMoved = false; - startTime = new Date().getTime(); - this.addEventListener('touchmove', onTouchMove, { passive : true === $.spotSwipe.preventDefault }); - this.addEventListener('touchend', onTouchEnd, false); - } -} - -function init() { - this.addEventListener && this.addEventListener('touchstart', onTouchStart, { passive : true }); -} - -// function teardown() { -// this.removeEventListener('touchstart', onTouchStart); -// } - -class SpotSwipe { - constructor() { - this.version = '1.0.0'; - this.enabled = 'ontouchstart' in document.documentElement; - this.preventDefault = false; - this.moveThreshold = 75; - this.timeThreshold = 200; - this._init(); - } - - _init() { - $.event.special.swipe = { setup: init }; - $.event.special.tap = { setup: init }; - - $.each(['left', 'up', 'down', 'right'], function () { - $.event.special[`swipe${this}`] = { setup: function(){ - $(this).on('swipe', $.noop); - } }; - }); - } -} - -/**************************************************** - * As far as I can tell, both setupSpotSwipe and * - * setupTouchHandler should be idempotent, * - * because they directly replace functions & * - * values, and do not add event handlers directly. * - ****************************************************/ - -Touch.setupSpotSwipe = function() { - $.spotSwipe = new SpotSwipe($); -}; - -/**************************************************** - * Method for adding pseudo drag events to elements * - ***************************************************/ -Touch.setupTouchHandler = function() { - $.fn.addTouch = function(){ - this.each(function(i, el){ - $(el).bind('touchstart touchmove touchend touchcancel', function(event) { - //we pass the original event object because the jQuery event - //object is normalized to w3c specs and does not provide the TouchList - handleTouch(event); - }); - }); - - var handleTouch = function(event) { - var touches = event.changedTouches, - first = touches[0], - eventTypes = { - touchstart: 'mousedown', - touchmove: 'mousemove', - touchend: 'mouseup' - }, - type = eventTypes[event.type], - simulatedEvent - ; - - if('MouseEvent' in window && typeof window.MouseEvent === 'function') { - simulatedEvent = new window.MouseEvent(type, { - 'bubbles': true, - 'cancelable': true, - 'screenX': first.screenX, - 'screenY': first.screenY, - 'clientX': first.clientX, - 'clientY': first.clientY - }); - } else { - simulatedEvent = document.createEvent('MouseEvent'); - simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0/*left*/, null); - } - first.target.dispatchEvent(simulatedEvent); - }; - }; -}; - -Touch.init = function () { - if(typeof($.spotSwipe) === 'undefined') { - Touch.setupSpotSwipe($); - Touch.setupTouchHandler($); - } -}; - -const MutationObserver = (function () { - var prefixes = ['WebKit', 'Moz', 'O', 'Ms', '']; - for (var i=0; i < prefixes.length; i++) { - if (`${prefixes[i]}MutationObserver` in window) { - return window[`${prefixes[i]}MutationObserver`]; - } - } - return false; -})(); - -const triggers = (el, type) => { - el.data(type).split(' ').forEach(id => { - $(`#${id}`)[ type === 'close' ? 'trigger' : 'triggerHandler'](`${type}.zf.trigger`, [el]); - }); -}; - -var Triggers = { - Listeners: { - Basic: {}, - Global: {} - }, - Initializers: {} -}; - -Triggers.Listeners.Basic = { - openListener: function() { - triggers($(this), 'open'); - }, - closeListener: function() { - let id = $(this).data('close'); - if (id) { - triggers($(this), 'close'); - } - else { - $(this).trigger('close.zf.trigger'); - } - }, - toggleListener: function() { - let id = $(this).data('toggle'); - if (id) { - triggers($(this), 'toggle'); - } else { - $(this).trigger('toggle.zf.trigger'); - } - }, - closeableListener: function(e) { - let animation = $(this).data('closable'); - - // Only close the first closable element. See https://git.io/zf-7833 - e.stopPropagation(); - - if(animation !== ''){ - Motion.animateOut($(this), animation, function() { - $(this).trigger('closed.zf'); - }); - }else { - $(this).fadeOut().trigger('closed.zf'); - } - }, - toggleFocusListener: function() { - let id = $(this).data('toggle-focus'); - $(`#${id}`).triggerHandler('toggle.zf.trigger', [$(this)]); - } -}; - -// Elements with [data-open] will reveal a plugin that supports it when clicked. -Triggers.Initializers.addOpenListener = ($elem) => { - $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener); - $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener); -}; - -// Elements with [data-close] will close a plugin that supports it when clicked. -// If used without a value on [data-close], the event will bubble, allowing it to close a parent component. -Triggers.Initializers.addCloseListener = ($elem) => { - $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener); - $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener); -}; - -// Elements with [data-toggle] will toggle a plugin that supports it when clicked. -Triggers.Initializers.addToggleListener = ($elem) => { - $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener); - $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener); -}; - -// Elements with [data-closable] will respond to close.zf.trigger events. -Triggers.Initializers.addCloseableListener = ($elem) => { - $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener); - $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener); -}; - -// Elements with [data-toggle-focus] will respond to coming in and out of focus -Triggers.Initializers.addToggleFocusListener = ($elem) => { - $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener); - $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener); -}; - - - -// More Global/complex listeners and triggers -Triggers.Listeners.Global = { - resizeListener: function($nodes) { - if(!MutationObserver){//fallback for IE 9 - $nodes.each(function(){ - $(this).triggerHandler('resizeme.zf.trigger'); - }); - } - //trigger all listening elements and signal a resize event - $nodes.attr('data-events', "resize"); - }, - scrollListener: function($nodes) { - if(!MutationObserver){//fallback for IE 9 - $nodes.each(function(){ - $(this).triggerHandler('scrollme.zf.trigger'); - }); - } - //trigger all listening elements and signal a scroll event - $nodes.attr('data-events', "scroll"); - }, - closeMeListener: function(e, pluginId){ - let plugin = e.namespace.split('.')[0]; - let plugins = $(`[data-${plugin}]`).not(`[data-yeti-box="${pluginId}"]`); - - plugins.each(function(){ - let _this = $(this); - _this.triggerHandler('close.zf.trigger', [_this]); - }); - } -}; - -// Global, parses whole document. -Triggers.Initializers.addClosemeListener = function(pluginName) { - var yetiBoxes = $('[data-yeti-box]'), - plugNames = ['dropdown', 'tooltip', 'reveal']; - - if(pluginName){ - if(typeof pluginName === 'string'){ - plugNames.push(pluginName); - }else if(typeof pluginName === 'object' && typeof pluginName[0] === 'string'){ - plugNames = plugNames.concat(pluginName); - }else { - console.error('Plugin names must be strings'); - } - } - if(yetiBoxes.length){ - let listeners = plugNames.map((name) => { - return `closeme.zf.${name}`; - }).join(' '); - - $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener); - } -}; - -function debounceGlobalListener(debounce, trigger, listener) { - let timer, args = Array.prototype.slice.call(arguments, 3); - $(window).on(trigger, function() { - if (timer) { clearTimeout(timer); } - timer = setTimeout(function(){ - listener.apply(null, args); - }, debounce || 10); //default time to emit scroll event - }); -} - -Triggers.Initializers.addResizeListener = function(debounce){ - let $nodes = $('[data-resize]'); - if($nodes.length){ - debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes); - } -}; - -Triggers.Initializers.addScrollListener = function(debounce){ - let $nodes = $('[data-scroll]'); - if($nodes.length){ - debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes); - } -}; - -Triggers.Initializers.addMutationEventsListener = function($elem) { - if(!MutationObserver){ return false; } - let $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); - - //element callback - var listeningElementsMutation = function (mutationRecordsList) { - var $target = $(mutationRecordsList[0].target); - - //trigger the event handler for the element depending on type - switch (mutationRecordsList[0].type) { - case "attributes": - if ($target.attr("data-events") === "scroll" && mutationRecordsList[0].attributeName === "data-events") { - $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]); - } - if ($target.attr("data-events") === "resize" && mutationRecordsList[0].attributeName === "data-events") { - $target.triggerHandler('resizeme.zf.trigger', [$target]); - } - if (mutationRecordsList[0].attributeName === "style") { - $target.closest("[data-mutate]").attr("data-events","mutate"); - $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); - } - break; - - case "childList": - $target.closest("[data-mutate]").attr("data-events","mutate"); - $target.closest("[data-mutate]").triggerHandler('mutateme.zf.trigger', [$target.closest("[data-mutate]")]); - break; - - default: - return false; - //nothing - } - }; - - if ($nodes.length) { - //for each element that needs to listen for resizing, scrolling, or mutation add a single observer - for (var i = 0; i <= $nodes.length - 1; i++) { - var elementObserver = new MutationObserver(listeningElementsMutation); - elementObserver.observe($nodes[i], { attributes: true, childList: true, characterData: false, subtree: true, attributeFilter: ["data-events", "style"] }); - } - } -}; - -Triggers.Initializers.addSimpleListeners = function() { - let $document = $(document); - - Triggers.Initializers.addOpenListener($document); - Triggers.Initializers.addCloseListener($document); - Triggers.Initializers.addToggleListener($document); - Triggers.Initializers.addCloseableListener($document); - Triggers.Initializers.addToggleFocusListener($document); - -}; - -Triggers.Initializers.addGlobalListeners = function() { - let $document = $(document); - Triggers.Initializers.addMutationEventsListener($document); - Triggers.Initializers.addResizeListener(250); - Triggers.Initializers.addScrollListener(); - Triggers.Initializers.addClosemeListener(); -}; - - -Triggers.init = function (__, Foundation) { - onLoad($(window), function () { - if ($.triggersInitialized !== true) { - Triggers.Initializers.addSimpleListeners(); - Triggers.Initializers.addGlobalListeners(); - $.triggersInitialized = true; - } - }); - - if(Foundation) { - Foundation.Triggers = Triggers; - // Legacy included to be backwards compatible for now. - Foundation.IHearYou = Triggers.Initializers.addGlobalListeners; - } -}; - -// Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST -// {function} _setup (replaces previous constructor), -// {function} _destroy (replaces previous destroy) -class Plugin { - - constructor(element, options) { - this._setup(element, options); - var pluginName = getPluginName(this); - this.uuid = GetYoDigits(6, pluginName); - - if(!this.$element.attr(`data-${pluginName}`)){ this.$element.attr(`data-${pluginName}`, this.uuid); } - if(!this.$element.data('zfPlugin')){ this.$element.data('zfPlugin', this); } - /** - * Fires when the plugin has initialized. - * @event Plugin#init - */ - this.$element.trigger(`init.zf.${pluginName}`); - } - - destroy() { - this._destroy(); - var pluginName = getPluginName(this); - this.$element.removeAttr(`data-${pluginName}`).removeData('zfPlugin') - /** - * Fires when the plugin has been destroyed. - * @event Plugin#destroyed - */ - .trigger(`destroyed.zf.${pluginName}`); - for(var prop in this){ - if (this.hasOwnProperty(prop)) { - this[prop] = null; //clean up script to prep for garbage collection. - } - } - } -} - -// Convert PascalCase to kebab-case -// Thank you: http://stackoverflow.com/a/8955580 -function hyphenate(str) { - return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); -} - -function getPluginName(obj) { - return hyphenate(obj.className); -} - -/** - * Abide module. - * @module foundation.abide - */ - -class Abide extends Plugin { - /** - * Creates a new instance of Abide. - * @class - * @name Abide - * @fires Abide#init - * @param {Object} element - jQuery object to add the trigger to. - * @param {Object} options - Overrides to the default plugin settings. - */ - _setup(element, options = {}) { - this.$element = element; - this.options = $.extend(true, {}, Abide.defaults, this.$element.data(), options); - this.isEnabled = true; - this.formnovalidate = null; - - this.className = 'Abide'; // ie9 back compat - this._init(); - } - - /** - * Initializes the Abide plugin and calls functions to get Abide functioning on load. - * @private - */ - _init() { - this.$inputs = $.merge( // Consider as input to validate: - this.$element.find('input').not('[type="submit"]'), // * all input fields expect submit - this.$element.find('textarea, select') // * all textareas and select fields - ); - this.$submits = this.$element.find('[type="submit"]'); - const $globalErrors = this.$element.find('[data-abide-error]'); - - // Add a11y attributes to all fields - if (this.options.a11yAttributes) { - this.$inputs.each((i, input) => this.addA11yAttributes($(input))); - $globalErrors.each((i, error) => this.addGlobalErrorA11yAttributes($(error))); - } - - this._events(); - } - - /** - * Initializes events for Abide. - * @private - */ - _events() { - this.$element.off('.abide') - .on('reset.zf.abide', () => { - this.resetForm(); - }) - .on('submit.zf.abide', () => { - return this.validateForm(); - }); - - this.$submits - .off('click.zf.abide keydown.zf.abide') - .on('click.zf.abide keydown.zf.abide', (e) => { - if (!e.key || (e.key === ' ' || e.key === 'Enter')) { - e.preventDefault(); - this.formnovalidate = e.target.getAttribute('formnovalidate') !== null; - this.$element.submit(); - } - }); - - if (this.options.validateOn === 'fieldChange') { - this.$inputs - .off('change.zf.abide') - .on('change.zf.abide', (e) => { - this.validateInput($(e.target)); - }); - } - - if (this.options.liveValidate) { - this.$inputs - .off('input.zf.abide') - .on('input.zf.abide', (e) => { - this.validateInput($(e.target)); - }); - } - - if (this.options.validateOnBlur) { - this.$inputs - .off('blur.zf.abide') - .on('blur.zf.abide', (e) => { - this.validateInput($(e.target)); - }); - } - } - - /** - * Calls necessary functions to update Abide upon DOM change - * @private - */ - _reflow() { - this._init(); - } - - /** - * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled - * @returns {Boolean} - * @private - */ - _validationIsDisabled() { - if (this.isEnabled === false) { // whole validation disabled - return true; - } else if (typeof this.formnovalidate === 'boolean') { // triggered by $submit - return this.formnovalidate; - } - // triggered by Enter in non-submit input - return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false; - } - - /** - * Enables the whole validation - */ - enableValidation() { - this.isEnabled = true; - } - - /** - * Disables the whole validation - */ - disableValidation() { - this.isEnabled = false; - } - - /** - * Checks whether or not a form element has the required attribute and if it's checked or not - * @param {Object} element - jQuery object to check for required attribute - * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty - */ - requiredCheck($el) { - if (!$el.attr('required')) return true; - - var isGood = true; - - switch ($el[0].type) { - case 'checkbox': - isGood = $el[0].checked; - break; - - case 'select': - case 'select-one': - case 'select-multiple': - var opt = $el.find('option:selected'); - if (!opt.length || !opt.val()) isGood = false; - break; - - default: - if (!$el.val() || !$el.val().length) isGood = false; - } - - return isGood; - } - - /** - * Get: - * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order: - * 1. The element's direct sibling('s). - * 2. The element's parent's children. - * - Element(s) with the attribute `[data-form-error-for]` set with the element's id. - * - * This allows for multiple form errors per input, though if none are found, no form errors will be shown. - * - * @param {Object} $el - jQuery object to use as reference to find the form error selector. - * @param {String[]} [failedValidators] - List of failed validators. - * @returns {Object} jQuery object with the selector. - */ - findFormError($el, failedValidators) { - var id = $el.length ? $el[0].id : ''; - var $error = $el.siblings(this.options.formErrorSelector); - - if (!$error.length) { - $error = $el.parent().find(this.options.formErrorSelector); - } - - if (id) { - $error = $error.add(this.$element.find(`[data-form-error-for="${id}"]`)); - } - - if (!!failedValidators) { - $error = $error.not('[data-form-error-on]'); - - failedValidators.forEach((v) => { - $error = $error.add($el.siblings(`[data-form-error-on="${v}"]`)); - $error = $error.add(this.$element.find(`[data-form-error-for="${id}"][data-form-error-on="${v}"]`)); - }); - } - - return $error; - } - - /** - * Get the first element in this order: - * 2. The
      • Back