From c0ee2a1a85c36f4089a2e8a6ca25c93c1357141d Mon Sep 17 00:00:00 2001 From: Zoran Date: Fri, 26 Feb 2016 16:50:15 -0500 Subject: [PATCH 1/4] update assets for foundation-6.2 release --- bower.json | 4 +- lib/foundation/rails/version.rb | 2 +- vendor/assets/js/foundation.abide.js | 438 ++++++----- vendor/assets/js/foundation.accordion.js | 102 +-- vendor/assets/js/foundation.accordionMenu.js | 81 +- vendor/assets/js/foundation.core.js | 18 +- vendor/assets/js/foundation.drilldown.js | 124 +-- vendor/assets/js/foundation.dropdown.js | 188 ++--- vendor/assets/js/foundation.dropdownMenu.js | 262 +++---- vendor/assets/js/foundation.equalizer.js | 133 ++-- vendor/assets/js/foundation.interchange.js | 89 ++- vendor/assets/js/foundation.magellan.js | 163 ++-- vendor/assets/js/foundation.offcanvas.js | 633 ++++++++-------- vendor/assets/js/foundation.orbit.js | 716 +++++++++--------- vendor/assets/js/foundation.responsiveMenu.js | 68 +- .../assets/js/foundation.responsiveToggle.js | 170 +++-- vendor/assets/js/foundation.reveal.js | 558 +++++++------- vendor/assets/js/foundation.slider.js | 419 +++++----- vendor/assets/js/foundation.sticky.js | 343 +++++---- vendor/assets/js/foundation.tabs.js | 256 ++++--- vendor/assets/js/foundation.toggler.js | 71 +- vendor/assets/js/foundation.tooltip.js | 315 ++++---- vendor/assets/js/foundation.util.box.js | 346 +++++---- vendor/assets/js/foundation.util.keyboard.js | 108 +-- .../assets/js/foundation.util.mediaQuery.js | 92 +-- vendor/assets/js/foundation.util.motion.js | 106 +-- vendor/assets/js/foundation.util.nest.js | 139 ++-- .../js/foundation.util.timerAndImageLoader.js | 148 ++-- vendor/assets/js/foundation.util.touch.js | 4 +- vendor/assets/js/foundation.util.triggers.js | 437 +++++------ vendor/assets/scss/_global.scss | 55 +- vendor/assets/scss/components/_badge.scss | 2 +- .../assets/scss/components/_button-group.scss | 103 ++- vendor/assets/scss/components/_button.scss | 16 +- vendor/assets/scss/components/_callout.scss | 4 +- vendor/assets/scss/components/_drilldown.scss | 4 + .../scss/components/_dropdown-menu.scss | 158 ++-- vendor/assets/scss/components/_flex.scss | 28 + vendor/assets/scss/components/_label.scss | 2 +- .../assets/scss/components/_media-object.scss | 44 +- vendor/assets/scss/components/_menu-icon.scss | 9 + vendor/assets/scss/components/_menu.scss | 156 +++- .../assets/scss/components/_off-canvas.scss | 1 + .../assets/scss/components/_pagination.scss | 6 +- .../assets/scss/components/_progress-bar.scss | 26 +- vendor/assets/scss/components/_reveal.scss | 18 +- vendor/assets/scss/components/_slider.scss | 38 +- vendor/assets/scss/components/_table.scss | 8 + vendor/assets/scss/components/_tabs.scss | 15 +- vendor/assets/scss/components/_title-bar.scss | 37 +- vendor/assets/scss/components/_tooltip.scss | 4 - vendor/assets/scss/components/_top-bar.scss | 114 ++- .../assets/scss/components/_visibility.scss | 2 +- vendor/assets/scss/forms/_checkbox.scss | 2 +- vendor/assets/scss/forms/_error.scss | 12 +- vendor/assets/scss/forms/_forms.scss | 3 + vendor/assets/scss/forms/_help-text.scss | 2 +- vendor/assets/scss/forms/_input-group.scss | 53 +- vendor/assets/scss/forms/_meter.scss | 109 +++ vendor/assets/scss/forms/_progress.scss | 85 +++ vendor/assets/scss/forms/_range.scss | 144 ++++ vendor/assets/scss/forms/_select.scss | 2 +- vendor/assets/scss/forms/_text.scss | 11 +- vendor/assets/scss/foundation.scss | 21 +- vendor/assets/scss/grid/_classes.scss | 23 +- vendor/assets/scss/grid/_column.scss | 24 +- vendor/assets/scss/grid/_flex-grid.scss | 134 ++-- vendor/assets/scss/grid/_grid.scss | 32 +- vendor/assets/scss/grid/_layout.scss | 18 + vendor/assets/scss/grid/_row.scss | 26 +- vendor/assets/scss/settings/_settings.scss | 111 +-- vendor/assets/scss/typography/_base.scss | 4 + vendor/assets/scss/typography/_print.scss | 14 +- vendor/assets/scss/util/_breakpoint.scss | 56 +- vendor/assets/scss/util/_color.scss | 19 + vendor/assets/scss/util/_flex.scss | 68 ++ vendor/assets/scss/util/_mixins.scss | 20 +- vendor/assets/scss/util/_util.scss | 6 +- vendor/assets/scss/util/_value.scss | 37 +- 79 files changed, 4781 insertions(+), 3638 deletions(-) create mode 100644 vendor/assets/scss/components/_flex.scss create mode 100644 vendor/assets/scss/components/_menu-icon.scss create mode 100644 vendor/assets/scss/forms/_meter.scss create mode 100644 vendor/assets/scss/forms/_progress.scss create mode 100644 vendor/assets/scss/forms/_range.scss create mode 100644 vendor/assets/scss/util/_flex.scss diff --git a/bower.json b/bower.json index 33ed5abe..108e7ee1 100644 --- a/bower.json +++ b/bower.json @@ -1,8 +1,8 @@ { "name": "foundation-rails", - "version": "6.1.2.0", + "version": "6.2.0.0", "dependencies": { - "foundation-sites": "6.1.2", + "foundation-sites": "6.2.0", "motion-ui": "1.2.0" } } diff --git a/lib/foundation/rails/version.rb b/lib/foundation/rails/version.rb index 6e6e5e4f..7ba1eee9 100644 --- a/lib/foundation/rails/version.rb +++ b/lib/foundation/rails/version.rb @@ -1,5 +1,5 @@ module Foundation module Rails - VERSION = "6.1.2.1" + VERSION = "6.2.0.0" end end diff --git a/vendor/assets/js/foundation.abide.js b/vendor/assets/js/foundation.abide.js index 8f70d8cf..cc481b48 100644 --- a/vendor/assets/js/foundation.abide.js +++ b/vendor/assets/js/foundation.abide.js @@ -1,6 +1,13 @@ -!function(Foundation, $) { - 'use strict'; +'use strict'; +!function($) { + +/** + * Abide module. + * @module foundation.abide + */ + +class Abide { /** * Creates a new instance of Abide. * @class @@ -8,7 +15,7 @@ * @param {Object} element - jQuery object to add the trigger to. * @param {Object} options - Overrides to the default plugin settings. */ - function Abide(element, options) { + constructor(element, options = {}) { this.$element = element; this.options = $.extend({}, Abide.defaults, this.$element.data(), options); @@ -17,151 +24,65 @@ Foundation.registerPlugin(this, 'Abide'); } - /** - * Default settings for plugin - */ - Abide.defaults = { - /** - * The default event to validate inputs. Checkboxes and radios validate immediately. - * Remove or change this value for manual validation. - * @option - * @example 'fieldChange' - */ - validateOn: 'fieldChange', - /** - * Class to be applied to input labels on failed validation. - * @option - * @example 'is-invalid-label' - */ - labelErrorClass: 'is-invalid-label', - /** - * Class to be applied to inputs on failed validation. - * @option - * @example 'is-invalid-input' - */ - inputErrorClass: 'is-invalid-input', - /** - * Class selector to use to target Form Errors for show/hide. - * @option - * @example '.form-error' - */ - formErrorSelector: '.form-error', - /** - * Class added to Form Errors on failed validation. - * @option - * @example 'is-visible' - */ - formErrorClass: 'is-visible', - /** - * Set to true to validate text inputs on any value change. - * @option - * @example false - */ - liveValidate: false, - - patterns: { - alpha : /^[a-zA-Z]+$/, - alpha_numeric : /^[a-zA-Z0-9]+$/, - integer : /^[-+]?\d+$/, - number : /^[-+]?\d*(?:[\.\,]\d+)?$/, - - // amex, visa, diners - card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/, - cvv : /^([0-9]){3,4}$/, - - // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address - email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/, - - url : /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/, - // abc.de - domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/, - - datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/, - // YYYY-MM-DD - date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/, - // HH:MM:SS - time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/, - dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/, - // MM/DD/YYYY - month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/, - // DD/MM/YYYY - day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/, - - // #FFF or #FFFFFF - color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/ - }, - /** - * Optional validation functions to be used. `equalTo` being the only default included function. - * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments: - * el : The jQuery element to validate. - * required : Boolean value of the required attribute be present or not. - * parent : The direct parent of the input. - * @option - */ - validators: { - equalTo: function (el, required, parent) { - return $('#' + el.attr('data-equalto')).val() === el.val(); - } - } - }; - - /** * Initializes the Abide plugin and calls functions to get Abide functioning on load. * @private */ - Abide.prototype._init = function(){ + _init() { this.$inputs = this.$element.find('input, textarea, select').not('[data-abide-ignore]'); this._events(); - }; + } /** * Initializes events for Abide. * @private */ - Abide.prototype._events = function() { - var _this = this; - + _events() { this.$element.off('.abide') - .on('reset.zf.abide', function(e){ - _this.resetForm(); - }) - .on('submit.zf.abide', function(e){ - return _this.validateForm(); + .on('reset.zf.abide', () => { + this.resetForm(); + }) + .on('submit.zf.abide', () => { + return this.validateForm(); + }); + + if (this.options.validateOn === 'fieldChange') { + this.$inputs + .off('change.zf.abide') + .on('change.zf.abide', (e) => { + this.validateInput($(e.target)); }); - - if(this.options.validateOn === 'fieldChange'){ - this.$inputs.off('change.zf.abide') - .on('change.zf.abide', function(e){ - _this.validateInput($(this)); - }); } - if(this.options.liveValidate){ - this.$inputs.off('input.zf.abide') - .on('input.zf.abide', function(e){ - _this.validateInput($(this)); - }); + if (this.options.liveValidate) { + this.$inputs + .off('input.zf.abide') + .on('input.zf.abide', (e) => { + this.validateInput($(e.target)); + }); } - }, + } + /** * Calls necessary functions to update Abide upon DOM change * @private */ - Abide.prototype._reflow = function() { + _reflow() { this._init(); - }; + } + /** * 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 */ - Abide.prototype.requiredCheck = function($el) { - if(!$el.attr('required')) return true; + requiredCheck($el) { + if (!$el.attr('required')) return true; + var isGood = true; - switch ($el[0].type) { + switch ($el[0].type) { case 'checkbox': case 'radio': isGood = $el[0].checked; @@ -171,14 +92,16 @@ case 'select-one': case 'select-multiple': var opt = $el.find('option:selected'); - if(!opt.length || !opt.val()) isGood = false; + if (!opt.length || !opt.val()) isGood = false; break; default: if(!$el.val() || !$el.val().length) isGood = false; } + return isGood; - }; + } + /** * Based on $el, get the first element with selector in this order: * 1. The element's direct sibling('s). @@ -189,13 +112,16 @@ * @param {Object} $el - jQuery object to use as reference to find the form error selector. * @returns {Object} jQuery object with the selector. */ - Abide.prototype.findFormError = function($el){ + findFormError($el) { var $error = $el.siblings(this.options.formErrorSelector); - if(!$error.length){ + + if (!$error.length) { $error = $el.parent().find(this.options.formErrorSelector); } + return $error; - }; + } + /** * Get the first element in this order: * 2. The