foundation-rails 6.3.0.0 → 6.3.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
  };