foundation-rails 6.3.0.0 → 6.3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +1 -1
  4. data/LICENSE.txt +1 -1
  5. data/Rakefile +1 -1
  6. data/bower.json +2 -2
  7. data/lib/foundation/rails/version.rb +1 -1
  8. data/lib/generators/foundation/templates/_settings.scss +0 -1
  9. data/vendor/assets/js/foundation.abide.js.es6 +26 -13
  10. data/vendor/assets/js/foundation.accordion.js.es6 +94 -5
  11. data/vendor/assets/js/foundation.accordionMenu.js.es6 +4 -2
  12. data/vendor/assets/js/foundation.core.js.es6 +1 -1
  13. data/vendor/assets/js/foundation.drilldown.js.es6 +44 -21
  14. data/vendor/assets/js/foundation.dropdown.js.es6 +26 -12
  15. data/vendor/assets/js/foundation.dropdownMenu.js.es6 +24 -13
  16. data/vendor/assets/js/foundation.equalizer.js.es6 +6 -3
  17. data/vendor/assets/js/foundation.interchange.js.es6 +5 -1
  18. data/vendor/assets/js/foundation.magellan.js.es6 +14 -7
  19. data/vendor/assets/js/foundation.offcanvas.js.es6 +70 -15
  20. data/vendor/assets/js/foundation.orbit.js.es6 +36 -18
  21. data/vendor/assets/js/foundation.responsiveMenu.js.es6 +0 -3
  22. data/vendor/assets/js/foundation.responsiveToggle.js.es6 +12 -16
  23. data/vendor/assets/js/foundation.reveal.js.es6 +39 -19
  24. data/vendor/assets/js/foundation.slider.js.es6 +37 -19
  25. data/vendor/assets/js/foundation.sticky.js.es6 +61 -25
  26. data/vendor/assets/js/foundation.tabs.js.es6 +74 -46
  27. data/vendor/assets/js/foundation.toggler.js.es6 +2 -1
  28. data/vendor/assets/js/foundation.tooltip.js.es6 +30 -15
  29. data/vendor/assets/js/foundation.util.timerAndImageLoader.js.es6 +1 -1
  30. data/vendor/assets/js/foundation.util.triggers.js.es6 +0 -47
  31. data/vendor/assets/scss/_global.scss +6 -0
  32. data/vendor/assets/scss/components/_accordion.scss +1 -1
  33. data/vendor/assets/scss/components/_breadcrumbs.scss +5 -2
  34. data/vendor/assets/scss/components/_button-group.scss +18 -8
  35. data/vendor/assets/scss/components/_button.scss +46 -8
  36. data/vendor/assets/scss/components/_card.scss +1 -1
  37. data/vendor/assets/scss/components/_flex.scss +6 -0
  38. data/vendor/assets/scss/components/_menu.scss +30 -3
  39. data/vendor/assets/scss/components/_responsive-embed.scss +6 -2
  40. data/vendor/assets/scss/components/_reveal.scss +2 -2
  41. data/vendor/assets/scss/foundation.scss +3 -3
  42. data/vendor/assets/scss/grid/_classes.scss +6 -2
  43. data/vendor/assets/scss/grid/_column.scss +1 -1
  44. data/vendor/assets/scss/grid/_flex-grid.scss +22 -2
  45. data/vendor/assets/scss/grid/_grid.scss +4 -0
  46. data/vendor/assets/scss/settings/_settings.scss +0 -1
  47. data/vendor/assets/scss/typography/_base.scss +1 -1
  48. data/vendor/assets/scss/typography/_print.scss +5 -0
  49. data/vendor/assets/scss/util/_direction.scss +31 -0
  50. data/vendor/assets/scss/util/_math.scss +1 -1
  51. data/vendor/assets/scss/util/_typography.scss +26 -0
  52. data/vendor/assets/scss/util/_util.scss +2 -0
  53. data/vendor/assets/scss/util/_value.scss +20 -0
  54. metadata +5 -3
@@ -391,110 +391,128 @@ Orbit.defaults = {
391
391
  /**
392
392
  * Tells the JS to look for and loadBullets.
393
393
  * @option
394
- * @example true
394
+ * @type {boolean}
395
+ * @default true
395
396
  */
396
397
  bullets: true,
397
398
  /**
398
399
  * Tells the JS to apply event listeners to nav buttons
399
400
  * @option
400
- * @example true
401
+ * @type {boolean}
402
+ * @default true
401
403
  */
402
404
  navButtons: true,
403
405
  /**
404
406
  * motion-ui animation class to apply
405
407
  * @option
406
- * @example 'slide-in-right'
408
+ * @type {string}
409
+ * @default 'slide-in-right'
407
410
  */
408
411
  animInFromRight: 'slide-in-right',
409
412
  /**
410
413
  * motion-ui animation class to apply
411
414
  * @option
412
- * @example 'slide-out-right'
415
+ * @type {string}
416
+ * @default 'slide-out-right'
413
417
  */
414
418
  animOutToRight: 'slide-out-right',
415
419
  /**
416
420
  * motion-ui animation class to apply
417
421
  * @option
418
- * @example 'slide-in-left'
422
+ * @type {string}
423
+ * @default 'slide-in-left'
419
424
  *
420
425
  */
421
426
  animInFromLeft: 'slide-in-left',
422
427
  /**
423
428
  * motion-ui animation class to apply
424
429
  * @option
425
- * @example 'slide-out-left'
430
+ * @type {string}
431
+ * @default 'slide-out-left'
426
432
  */
427
433
  animOutToLeft: 'slide-out-left',
428
434
  /**
429
435
  * Allows Orbit to automatically animate on page load.
430
436
  * @option
431
- * @example true
437
+ * @type {boolean}
438
+ * @default true
432
439
  */
433
440
  autoPlay: true,
434
441
  /**
435
442
  * Amount of time, in ms, between slide transitions
436
443
  * @option
437
- * @example 5000
444
+ * @type {number}
445
+ * @default 5000
438
446
  */
439
447
  timerDelay: 5000,
440
448
  /**
441
449
  * Allows Orbit to infinitely loop through the slides
442
450
  * @option
443
- * @example true
451
+ * @type {boolean}
452
+ * @default true
444
453
  */
445
454
  infiniteWrap: true,
446
455
  /**
447
456
  * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library
448
457
  * @option
449
- * @example true
458
+ * @type {boolean}
459
+ * @default true
450
460
  */
451
461
  swipe: true,
452
462
  /**
453
463
  * Allows the timing function to pause animation on hover.
454
464
  * @option
455
- * @example true
465
+ * @type {boolean}
466
+ * @default true
456
467
  */
457
468
  pauseOnHover: true,
458
469
  /**
459
470
  * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys
460
471
  * @option
461
- * @example true
472
+ * @type {boolean}
473
+ * @default true
462
474
  */
463
475
  accessible: true,
464
476
  /**
465
477
  * Class applied to the container of Orbit
466
478
  * @option
467
- * @example 'orbit-container'
479
+ * @type {string}
480
+ * @default 'orbit-container'
468
481
  */
469
482
  containerClass: 'orbit-container',
470
483
  /**
471
484
  * Class applied to individual slides.
472
485
  * @option
473
- * @example 'orbit-slide'
486
+ * @type {string}
487
+ * @default 'orbit-slide'
474
488
  */
475
489
  slideClass: 'orbit-slide',
476
490
  /**
477
491
  * Class applied to the bullet container. You're welcome.
478
492
  * @option
479
- * @example 'orbit-bullets'
493
+ * @type {string}
494
+ * @default 'orbit-bullets'
480
495
  */
481
496
  boxOfBullets: 'orbit-bullets',
482
497
  /**
483
498
  * Class applied to the `next` navigation button.
484
499
  * @option
485
- * @example 'orbit-next'
500
+ * @type {string}
501
+ * @default 'orbit-next'
486
502
  */
487
503
  nextClass: 'orbit-next',
488
504
  /**
489
505
  * Class applied to the `previous` navigation button.
490
506
  * @option
491
- * @example 'orbit-previous'
507
+ * @type {string}
508
+ * @default 'orbit-previous'
492
509
  */
493
510
  prevClass: 'orbit-previous',
494
511
  /**
495
512
  * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.
496
513
  * @option
497
- * @example true
514
+ * @type {boolean}
515
+ * @default true
498
516
  */
499
517
  useMUI: true
500
518
  };
@@ -7,9 +7,6 @@
7
7
  * @module foundation.responsiveMenu
8
8
  * @requires foundation.util.triggers
9
9
  * @requires foundation.util.mediaQuery
10
- * @requires foundation.util.accordionMenu
11
- * @requires foundation.util.drilldown
12
- * @requires foundation.util.dropdown-menu
13
10
  */
14
11
 
15
12
  class ResponsiveMenu {
@@ -38,7 +38,10 @@ class ResponsiveToggle {
38
38
  }
39
39
 
40
40
  this.$targetMenu = $(`#${targetID}`);
41
- this.$toggler = this.$element.find('[data-toggle]');
41
+ this.$toggler = this.$element.find('[data-toggle]').filter(function() {
42
+ var target = $(this).data('toggle');
43
+ return (target === targetID || target === "");
44
+ });
42
45
  this.options = $.extend({}, this.options, this.$targetMenu.data());
43
46
 
44
47
  // If they were set, parse the animation classes
@@ -93,23 +96,19 @@ class ResponsiveToggle {
93
96
  */
94
97
  toggleMenu() {
95
98
  if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
99
+ /**
100
+ * Fires when the element attached to the tab bar toggles.
101
+ * @event ResponsiveToggle#toggled
102
+ */
96
103
  if(this.options.animate) {
97
104
  if (this.$targetMenu.is(':hidden')) {
98
105
  Foundation.Motion.animateIn(this.$targetMenu, this.animationIn, () => {
99
- /**
100
- * Fires when the element attached to the tab bar toggles.
101
- * @event ResponsiveToggle#toggled
102
- */
103
106
  this.$element.trigger('toggled.zf.responsiveToggle');
104
107
  this.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');
105
108
  });
106
109
  }
107
110
  else {
108
111
  Foundation.Motion.animateOut(this.$targetMenu, this.animationOut, () => {
109
- /**
110
- * Fires when the element attached to the tab bar toggles.
111
- * @event ResponsiveToggle#toggled
112
- */
113
112
  this.$element.trigger('toggled.zf.responsiveToggle');
114
113
  });
115
114
  }
@@ -117,11 +116,6 @@ class ResponsiveToggle {
117
116
  else {
118
117
  this.$targetMenu.toggle(0);
119
118
  this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');
120
-
121
- /**
122
- * Fires when the element attached to the tab bar toggles.
123
- * @event ResponsiveToggle#toggled
124
- */
125
119
  this.$element.trigger('toggled.zf.responsiveToggle');
126
120
  }
127
121
  }
@@ -141,14 +135,16 @@ ResponsiveToggle.defaults = {
141
135
  /**
142
136
  * The breakpoint after which the menu is always shown, and the tab bar is hidden.
143
137
  * @option
144
- * @example 'medium'
138
+ * @type {string}
139
+ * @default 'medium'
145
140
  */
146
141
  hideFor: 'medium',
147
142
 
148
143
  /**
149
144
  * To decide if the toggle should be animated or not.
150
145
  * @option
151
- * @example false
146
+ * @type {boolean}
147
+ * @default false
152
148
  */
153
149
  animate: false
154
150
  };
@@ -379,14 +379,15 @@ class Reveal {
379
379
  }
380
380
  // jQuery method of hiding
381
381
  else {
382
+
383
+ this.$element.hide(this.options.hideDelay);
384
+
382
385
  if (this.options.overlay) {
383
386
  this.$overlay.hide(0, finishUp);
384
387
  }
385
388
  else {
386
389
  finishUp();
387
390
  }
388
-
389
- this.$element.hide(this.options.hideDelay);
390
391
  }
391
392
 
392
393
  // Conditionals to remove extra event listeners added on open
@@ -402,14 +403,18 @@ class Reveal {
402
403
 
403
404
  function finishUp() {
404
405
  if (_this.isMobile) {
405
- $('html, body').removeClass('is-reveal-open');
406
+ if ($('.reveal:visible').length === 0) {
407
+ $('html, body').removeClass('is-reveal-open');
408
+ }
406
409
  if(_this.originalScrollPos) {
407
410
  $('body').scrollTop(_this.originalScrollPos);
408
411
  _this.originalScrollPos = null;
409
412
  }
410
413
  }
411
414
  else {
412
- $('body').removeClass('is-reveal-open');
415
+ if ($('.reveal:visible').length === 0) {
416
+ $('body').removeClass('is-reveal-open');
417
+ }
413
418
  }
414
419
 
415
420
 
@@ -475,91 +480,106 @@ Reveal.defaults = {
475
480
  /**
476
481
  * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
477
482
  * @option
478
- * @example 'slide-in-left'
483
+ * @type {string}
484
+ * @default ''
479
485
  */
480
486
  animationIn: '',
481
487
  /**
482
488
  * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
483
489
  * @option
484
- * @example 'slide-out-right'
490
+ * @type {string}
491
+ * @default ''
485
492
  */
486
493
  animationOut: '',
487
494
  /**
488
495
  * Time, in ms, to delay the opening of a modal after a click if no animation used.
489
496
  * @option
490
- * @example 10
497
+ * @type {number}
498
+ * @default 0
491
499
  */
492
500
  showDelay: 0,
493
501
  /**
494
502
  * Time, in ms, to delay the closing of a modal after a click if no animation used.
495
503
  * @option
496
- * @example 10
504
+ * @type {number}
505
+ * @default 0
497
506
  */
498
507
  hideDelay: 0,
499
508
  /**
500
509
  * Allows a click on the body/overlay to close the modal.
501
510
  * @option
502
- * @example true
511
+ * @type {boolean}
512
+ * @default true
503
513
  */
504
514
  closeOnClick: true,
505
515
  /**
506
516
  * Allows the modal to close if the user presses the `ESCAPE` key.
507
517
  * @option
508
- * @example true
518
+ * @type {boolean}
519
+ * @default true
509
520
  */
510
521
  closeOnEsc: true,
511
522
  /**
512
523
  * If true, allows multiple modals to be displayed at once.
513
524
  * @option
514
- * @example false
525
+ * @type {boolean}
526
+ * @default false
515
527
  */
516
528
  multipleOpened: false,
517
529
  /**
518
530
  * Distance, in pixels, the modal should push down from the top of the screen.
519
531
  * @option
520
- * @example auto
532
+ * @type {number|string}
533
+ * @default auto
521
534
  */
522
535
  vOffset: 'auto',
523
536
  /**
524
537
  * Distance, in pixels, the modal should push in from the side of the screen.
525
538
  * @option
526
- * @example auto
539
+ * @type {number|string}
540
+ * @default auto
527
541
  */
528
542
  hOffset: 'auto',
529
543
  /**
530
544
  * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
531
545
  * @option
532
- * @example false
546
+ * @type {boolean}
547
+ * @default false
533
548
  */
534
549
  fullScreen: false,
535
550
  /**
536
551
  * Percentage of screen height the modal should push up from the bottom of the view.
537
552
  * @option
538
- * @example 10
553
+ * @type {number}
554
+ * @default 10
539
555
  */
540
556
  btmOffsetPct: 10,
541
557
  /**
542
558
  * Allows the modal to generate an overlay div, which will cover the view when modal opens.
543
559
  * @option
544
- * @example true
560
+ * @type {boolean}
561
+ * @default true
545
562
  */
546
563
  overlay: true,
547
564
  /**
548
565
  * 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.
549
566
  * @option
550
- * @example false
567
+ * @type {boolean}
568
+ * @default false
551
569
  */
552
570
  resetOnClose: false,
553
571
  /**
554
572
  * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.
555
573
  * @option
556
- * @example false
574
+ * @type {boolean}
575
+ * @default false
557
576
  */
558
577
  deepLink: false,
559
578
  /**
560
579
  * Allows the modal to append to custom div.
561
580
  * @option
562
- * @example false
581
+ * @type {string}
582
+ * @default "body"
563
583
  */
564
584
  appendTo: "body"
565
585
 
@@ -547,67 +547,78 @@ Slider.defaults = {
547
547
  /**
548
548
  * Minimum value for the slider scale.
549
549
  * @option
550
- * @example 0
550
+ * @type {number}
551
+ * @default 0
551
552
  */
552
553
  start: 0,
553
554
  /**
554
555
  * Maximum value for the slider scale.
555
556
  * @option
556
- * @example 100
557
+ * @type {number}
558
+ * @default 100
557
559
  */
558
560
  end: 100,
559
561
  /**
560
562
  * Minimum value change per change event.
561
563
  * @option
562
- * @example 1
564
+ * @type {number}
565
+ * @default 1
563
566
  */
564
567
  step: 1,
565
568
  /**
566
569
  * Value at which the handle/input *(left handle/first input)* should be set to on initialization.
567
570
  * @option
568
- * @example 0
571
+ * @type {number}
572
+ * @default 0
569
573
  */
570
574
  initialStart: 0,
571
575
  /**
572
576
  * Value at which the right handle/second input should be set to on initialization.
573
577
  * @option
574
- * @example 100
578
+ * @type {number}
579
+ * @default 100
575
580
  */
576
581
  initialEnd: 100,
577
582
  /**
578
583
  * Allows the input to be located outside the container and visible. Set to by the JS
579
584
  * @option
580
- * @example false
585
+ * @type {boolean}
586
+ * @default false
581
587
  */
582
588
  binding: false,
583
589
  /**
584
590
  * Allows the user to click/tap on the slider bar to select a value.
585
591
  * @option
586
- * @example true
592
+ * @type {boolean}
593
+ * @default true
587
594
  */
588
595
  clickSelect: true,
589
596
  /**
590
597
  * Set to true and use the `vertical` class to change alignment to vertical.
591
598
  * @option
592
- * @example false
599
+ * @type {boolean}
600
+ * @default false
593
601
  */
594
602
  vertical: false,
595
603
  /**
596
604
  * Allows the user to drag the slider handle(s) to select a value.
597
605
  * @option
598
- * @example true
606
+ * @type {boolean}
607
+ * @default true
599
608
  */
600
609
  draggable: true,
601
610
  /**
602
611
  * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.
603
612
  * @option
604
- * @example false
613
+ * @type {boolean}
614
+ * @default false
605
615
  */
606
616
  disabled: false,
607
617
  /**
608
618
  * Allows the use of two handles. Double checked by the JS. Changes some logic handling.
609
619
  * @option
610
- * @example false
620
+ * @type {boolean}
621
+ * @default false
611
622
  */
612
623
  doubleSided: false,
613
624
  /**
@@ -617,7 +628,8 @@ Slider.defaults = {
617
628
  /**
618
629
  * Number of decimal places the plugin should go to for floating point precision.
619
630
  * @option
620
- * @example 2
631
+ * @type {number}
632
+ * @default 2
621
633
  */
622
634
  decimal: 2,
623
635
  /**
@@ -627,37 +639,43 @@ Slider.defaults = {
627
639
  /**
628
640
  * 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.
629
641
  * @option
630
- * @example 200
642
+ * @type {number}
643
+ * @default 200
631
644
  */
632
645
  moveTime: 200,//update this if changing the transition time in the sass
633
646
  /**
634
647
  * Class applied to disabled sliders.
635
648
  * @option
636
- * @example 'disabled'
649
+ * @type {string}
650
+ * @default 'disabled'
637
651
  */
638
652
  disabledClass: 'disabled',
639
653
  /**
640
654
  * Will invert the default layout for a vertical<span data-tooltip title="who would do this???"> </span>slider.
641
655
  * @option
642
- * @example false
656
+ * @type {boolean}
657
+ * @default false
643
658
  */
644
659
  invertVertical: false,
645
660
  /**
646
661
  * Milliseconds before the `changed.zf-slider` event is triggered after value change.
647
662
  * @option
648
- * @example 500
663
+ * @type {number}
664
+ * @default 500
649
665
  */
650
666
  changedDelay: 500,
651
667
  /**
652
668
  * Basevalue for non-linear sliders
653
669
  * @option
654
- * @example 5
670
+ * @type {number}
671
+ * @default 5
655
672
  */
656
673
  nonLinearBase: 5,
657
674
  /**
658
- * Basevalue for non-linear sliders, possible values are: 'linear', 'pow' & 'log'. Pow and Log use the nonLinearBase setting.
675
+ * Basevalue for non-linear sliders, possible values are: `'linear'`, `'pow'` & `'log'`. Pow and Log use the nonLinearBase setting.
659
676
  * @option
660
- * @example 'linear'
677
+ * @type {string}
678
+ * @default 'linear'
661
679
  */
662
680
  positionValueFunction: 'linear',
663
681
  };