material-sass 4.0.0.alpha5 → 4.0.0.alpha6

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/material/addons-materialise/textarea-autosize.js +7 -5
  3. data/app/assets/javascripts/material/addons-materialise/wave.js +11 -8
  4. data/app/assets/javascripts/material/src/floating-label.js +5 -5
  5. data/app/assets/javascripts/material/src/navdrawer.js +7 -7
  6. data/app/assets/javascripts/material/src/tab-switch.js +15 -18
  7. data/app/assets/javascripts/material/src/util.js +1 -1
  8. data/app/assets/javascripts/material.js +24 -27
  9. data/app/assets/stylesheets/material/_mixins.scss +2 -0
  10. data/app/assets/stylesheets/material/_utilities.scss +3 -0
  11. data/app/assets/stylesheets/material/_variables.scss +24 -2
  12. data/app/assets/stylesheets/material/base/_base.scss +5 -482
  13. data/app/assets/stylesheets/material/base/_grid.scss +11 -0
  14. data/app/assets/stylesheets/material/base/_normalize.scss +253 -0
  15. data/app/assets/stylesheets/material/base/_reboot.scss +239 -0
  16. data/app/assets/stylesheets/material/base/_typography.scss +0 -10
  17. data/app/assets/stylesheets/material/bootstrap/_alert.scss +0 -1
  18. data/app/assets/stylesheets/material/bootstrap/_breadcrumb.scss +15 -10
  19. data/app/assets/stylesheets/material/bootstrap/_button-group.scss +21 -42
  20. data/app/assets/stylesheets/material/bootstrap/_carousel.scss +81 -126
  21. data/app/assets/stylesheets/material/bootstrap/_close.scss +1 -4
  22. data/app/assets/stylesheets/material/bootstrap/_custom-form.scss +14 -16
  23. data/app/assets/stylesheets/material/bootstrap/_form.scss +95 -52
  24. data/app/assets/stylesheets/material/bootstrap/_media.scss +6 -67
  25. data/app/assets/stylesheets/material/bootstrap/_nav.scss +23 -45
  26. data/app/assets/stylesheets/material/bootstrap/_pagination.scss +4 -14
  27. data/app/assets/stylesheets/material/bootstrap/_popover.scss +7 -5
  28. data/app/assets/stylesheets/material/bootstrap/_responsive-embed.scss +18 -5
  29. data/app/assets/stylesheets/material/bootstrap/{_animation.scss → _transition.scss} +11 -2
  30. data/app/assets/stylesheets/material/material/_card.scss +185 -123
  31. data/app/assets/stylesheets/material/material/_chip.scss +12 -12
  32. data/app/assets/stylesheets/material/material/_data-table.scss +0 -2
  33. data/app/assets/stylesheets/material/material/_dialog.scss +23 -17
  34. data/app/assets/stylesheets/material/material/_expansion-panel.scss +42 -183
  35. data/app/assets/stylesheets/material/material/_menu.scss +19 -4
  36. data/app/assets/stylesheets/material/material/_navdrawer.scss +16 -12
  37. data/app/assets/stylesheets/material/material/_progress-circular.scss +2 -2
  38. data/app/assets/stylesheets/material/material/_progress.scss +68 -92
  39. data/app/assets/stylesheets/material/material/_selection-control.scss +11 -28
  40. data/app/assets/stylesheets/material/material/_tab.scss +52 -117
  41. data/app/assets/stylesheets/material/material/_text-field-floating-label.scss +9 -4
  42. data/app/assets/stylesheets/material/material/_text-field-input-group.scss +37 -35
  43. data/app/assets/stylesheets/material/material/_text-field.scss +41 -32
  44. data/app/assets/stylesheets/material/material/_toolbar.scss +192 -306
  45. data/app/assets/stylesheets/material/material/_tooltip.scss +19 -20
  46. data/app/assets/stylesheets/material/material.scss +2 -2
  47. data/app/assets/stylesheets/material/mixins/_border-radius.scss +9 -19
  48. data/app/assets/stylesheets/material/mixins/_breakpoint.scss +11 -3
  49. data/app/assets/stylesheets/material/mixins/_form.scss +15 -30
  50. data/app/assets/stylesheets/material/mixins/_grid-framework.scss +58 -0
  51. data/app/assets/stylesheets/material/mixins/_grid.scss +6 -78
  52. data/app/assets/stylesheets/material/mixins/_transform.scss +9 -0
  53. data/app/assets/stylesheets/material/utilities/_border.scss +31 -5
  54. data/app/assets/stylesheets/material/utilities/_display.scss +37 -8
  55. data/app/assets/stylesheets/material/utilities/_flex.scss +140 -0
  56. data/app/assets/stylesheets/material/utilities/_float.scss +5 -3
  57. data/app/assets/stylesheets/material/utilities/_position.scss +24 -0
  58. data/app/assets/stylesheets/material/utilities/_sizing.scss +16 -0
  59. data/app/assets/stylesheets/material/utilities/_spacing.scss +56 -46
  60. data/app/assets/stylesheets/material/utilities/_text.scss +5 -3
  61. data/app/assets/stylesheets/material/variables/_grid.scss +16 -10
  62. data/app/assets/stylesheets/material/variables/_spacer.scss +22 -3
  63. data/app/assets/stylesheets/material/variables/_typography.scss +2 -0
  64. data/app/assets/stylesheets/material/variables/_variable-bootstrap.scss +24 -17
  65. data/app/assets/stylesheets/material/variables/_variable-material.scss +47 -52
  66. data/lib/material-sass/version.rb +1 -1
  67. metadata +9 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ea9b6487d68485c36b034314a9222086fa7fffc
4
- data.tar.gz: baf020d3d9ede3fa8a1591fe3c3a798f16761c41
3
+ metadata.gz: d483594d537c65aeea1110897d892f0981aef89d
4
+ data.tar.gz: aab7bcb622b9da788abc30d3c30f2f3fd6e57484
5
5
  SHA512:
6
- metadata.gz: 6e810ba05f48528258c8f0bb972c5213a2538c368f68ff25eb28d5811a97c3a610b6a2c7b0ed001493510457a357baeca31e717114d6ff410e99b75c9aee1f7e
7
- data.tar.gz: c93998e1e0f85747b7683d0f8896a4df2dd0fbfc50da7b7bd44b33a9957e81a05089194fe255fded5f075befda9eb4aaece1f4b289e03da599efee5501140f95
6
+ metadata.gz: 3ebdfba8dc36d70472d7a866846292b8166fb9801786caec13d67fbe2a76428688bc96ed2ce367d2f93eb1d827cc1aad34aeb2f97fbb0a1772ba808566b74d31
7
+ data.tar.gz: 2cef81b3b926fb783a3bf0a64cf8b664a436c6b83e3a3b1d0f10fc7670217e0496a31c84c71f9ddc338bec89eca8bcc77988bb23ff106ab98ba982adce666bb0
@@ -2,8 +2,10 @@
2
2
  * activate textarea-autosize for material
3
3
  * requires textarea-autosize.js
4
4
  */
5
- $(function () {
6
- if ($('.textarea-autosize').length && (typeof $.fn.textareaAutoSize !== 'undefined')) {
7
- $('.textarea-autosize').textareaAutoSize();
8
- };
9
- });
5
+ (function($){
6
+ $(function () {
7
+ if ($('.textarea-autosize').length && (typeof $.fn.textareaAutoSize !== 'undefined')) {
8
+ $('.textarea-autosize').textareaAutoSize();
9
+ };
10
+ });
11
+ })(jQuery);
@@ -2,11 +2,14 @@
2
2
  * activate waves for material
3
3
  * requires waves.js
4
4
  */
5
- $(function () {
6
- if ($('.waves-attach').length && (typeof Waves !== 'undefined')) {
7
- Waves.attach('.waves-attach');
8
- Waves.init({
9
- duration: 300
10
- });
11
- };
12
- });
5
+ (function($){
6
+ $(function () {
7
+ if ($('.waves-attach').length && (typeof Waves !== 'undefined')) {
8
+ Waves.attach('.waves-attach');
9
+ Waves.init({
10
+ duration: 300
11
+ });
12
+ };
13
+ });
14
+ })(jQuery);
15
+
@@ -5,11 +5,11 @@
5
5
  */
6
6
  const FloatingLabel = (($) => {
7
7
  // constants >>>
8
- const DATA_API_KEY = '.data-api';
9
- const DATA_KEY = 'md.floatinglabel';
10
- const EVENT_KEY = `.${DATA_KEY}`;
11
- const NAME = 'floatinglabel';
12
- const NO_CONFLICT = $.fn[NAME];
8
+ const DATA_API_KEY = '.data-api';
9
+ const DATA_KEY = 'md.floatinglabel';
10
+ const EVENT_KEY = `.${DATA_KEY}`;
11
+ const NAME = 'floatinglabel';
12
+ const NO_CONFLICT = $.fn[NAME];
13
13
 
14
14
  const ClassName = {
15
15
  IS_FOCUSED : 'is-focused',
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * navigation drawer
3
- * based on bootstrap's (v4.0.0-alpha.5) modal.js
3
+ * based on bootstrap's (v4.0.0-alpha.6) modal.js
4
4
  */
5
5
  const NavDrawer = (($) => {
6
6
  // constants >>>
@@ -14,8 +14,8 @@ const NavDrawer = (($) => {
14
14
 
15
15
  const ClassName = {
16
16
  BACKDROP : 'navdrawer-backdrop',
17
- IN : 'in',
18
- OPEN : 'navdrawer-open'
17
+ OPEN : 'navdrawer-open',
18
+ SHOW : 'show'
19
19
  };
20
20
 
21
21
  const Default = {
@@ -83,7 +83,7 @@ const NavDrawer = (($) => {
83
83
 
84
84
  $(this._element)
85
85
  .off(Event.CLICK_DISMISS)
86
- .removeClass(ClassName.IN);
86
+ .removeClass(ClassName.SHOW);
87
87
 
88
88
  if (Util.supportsTransitionEnd()) {
89
89
  $(this._element)
@@ -204,7 +204,7 @@ const NavDrawer = (($) => {
204
204
  Util.reflow(this._backdrop);
205
205
  }
206
206
 
207
- $(this._backdrop).addClass(ClassName.IN);
207
+ $(this._backdrop).addClass(ClassName.SHOW);
208
208
 
209
209
  if (!callback) {
210
210
  return;
@@ -219,7 +219,7 @@ const NavDrawer = (($) => {
219
219
  .one(Util.TRANSITION_END, callback)
220
220
  .emulateTransitionEnd(TRANSITION_DURATION_BACKDROP);
221
221
  } else if (this._backdrop && !this._isShown) {
222
- $(this._backdrop).removeClass(ClassName.IN);
222
+ $(this._backdrop).removeClass(ClassName.SHOW);
223
223
 
224
224
  let callbackRemove = () => {
225
225
  this._removeBackdrop();
@@ -255,7 +255,7 @@ const NavDrawer = (($) => {
255
255
  Util.reflow(this._element);
256
256
  }
257
257
 
258
- $(this._element).addClass(ClassName.IN);
258
+ $(this._element).addClass(ClassName.SHOW);
259
259
  this._enforceFocus();
260
260
 
261
261
  let shownEvent = $.Event(Event.SHOWN, {
@@ -1,21 +1,20 @@
1
1
  /*!
2
2
  * tab indicator animation
3
- * requires bootstrap's (v4.0.0-alpha.5) tab.js
3
+ * requires bootstrap's (v4.0.0-alpha.6) tab.js
4
4
  */
5
5
  const TabSwitch = (($) => {
6
6
  // constants >>>
7
7
  const DATA_KEY = 'md.tabswitch';
8
8
  const NAME = 'tabswitch';
9
9
  const NO_CONFLICT = $.fn[NAME];
10
- const TRANSITION_DURATION = 450;
10
+ const TRANSITION_DURATION = 300;
11
11
 
12
12
  const ClassName = {
13
13
  ANIMATE : 'animate',
14
- IN : 'in',
15
14
  INDICATOR : 'nav-tabs-indicator',
16
15
  MATERIAL : 'nav-tabs-material',
17
- REVERSE : 'reverse',
18
- SCROLLABLE : 'nav-tabs-scrollable'
16
+ SCROLLABLE : 'nav-tabs-scrollable',
17
+ SHOW : 'show'
19
18
  };
20
19
 
21
20
  const Event = {
@@ -24,7 +23,8 @@ const TabSwitch = (($) => {
24
23
 
25
24
  const Selector = {
26
25
  DATA_TOGGLE : '.nav-tabs [data-toggle="tab"]',
27
- TAB_NAV : '.nav-tabs'
26
+ NAV : '.nav-tabs',
27
+ NAV_ITEM : '.nav-item'
28
28
  };
29
29
  // <<< constants
30
30
 
@@ -45,30 +45,26 @@ const TabSwitch = (($) => {
45
45
  this._createIndicator();
46
46
  }
47
47
 
48
- let elLeft = $(element).offset().left;
49
- let elWidth = $(element).outerWidth();
48
+ let elLeft = $(element).closest(Selector.NAV_ITEM).offset().left;
49
+ let elWidth = $(element).closest(Selector.NAV_ITEM).outerWidth();
50
50
  let navLeft = $(this._nav).offset().left;
51
51
  let navScrollLeft = $(this._nav).scrollLeft();
52
52
  let navWidth = $(this._nav).outerWidth();
53
53
 
54
54
  if (relatedTarget !== undefined) {
55
- let relatedLeft = $(relatedTarget).offset().left;
56
- let relatedWidth = $(relatedTarget).outerWidth();
55
+ let relatedLeft = $(relatedTarget).closest(Selector.NAV_ITEM).offset().left;
56
+ let relatedWidth = $(relatedTarget).closest(Selector.NAV_ITEM).outerWidth();
57
57
 
58
58
  $(this._navindicator).css({
59
59
  left : ((relatedLeft + navScrollLeft) - navLeft),
60
60
  right : (navWidth - ((relatedLeft + navScrollLeft) - navLeft + relatedWidth))
61
61
  });
62
62
 
63
- $(this._navindicator).addClass(ClassName.IN);
63
+ $(this._navindicator).addClass(ClassName.SHOW);
64
64
  Util.reflow(this._navindicator);
65
65
 
66
66
  if (supportsTransition) {
67
- $(this._navindicator).addClass(ClassName.ANIMATE);
68
-
69
- if (relatedLeft > elLeft) {
70
- $(this._navindicator).addClass(ClassName.REVERSE);
71
- }
67
+ $(this._nav).addClass(ClassName.ANIMATE);
72
68
  }
73
69
  }
74
70
 
@@ -78,7 +74,8 @@ const TabSwitch = (($) => {
78
74
  });
79
75
 
80
76
  let complete = () => {
81
- $(this._navindicator).removeClass(ClassName.ANIMATE).removeClass(ClassName.IN).removeClass(ClassName.REVERSE);
77
+ $(this._nav).removeClass(ClassName.ANIMATE);
78
+ $(this._navindicator).removeClass(ClassName.SHOW);
82
79
  }
83
80
 
84
81
  if (!supportsTransition) {
@@ -103,7 +100,7 @@ const TabSwitch = (($) => {
103
100
 
104
101
  static _jQueryInterface(relatedTarget) {
105
102
  return this.each(function () {
106
- let nav = $(this).closest(Selector.TAB_NAV)[0];
103
+ let nav = $(this).closest(Selector.NAV)[0];
107
104
 
108
105
  if (!nav) {
109
106
  return;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * global util js
3
- * based on bootstrap's (v4.0.0-alpha.5) util.js
3
+ * based on bootstrap's (v4.0.0-alpha.6) util.js
4
4
  */
5
5
  const Util = (($) => {
6
6
  let transition = false;
@@ -121,7 +121,7 @@ var FloatingLabel = function ($) {
121
121
 
122
122
  /*!
123
123
  * navigation drawer
124
- * based on bootstrap's (v4.0.0-alpha.5) modal.js
124
+ * based on bootstrap's (v4.0.0-alpha.6) modal.js
125
125
  */
126
126
  var NavDrawer = function ($) {
127
127
  // constants >>>
@@ -135,8 +135,8 @@ var NavDrawer = function ($) {
135
135
 
136
136
  var ClassName = {
137
137
  BACKDROP: 'navdrawer-backdrop',
138
- IN: 'in',
139
- OPEN: 'navdrawer-open'
138
+ OPEN: 'navdrawer-open',
139
+ SHOW: 'show'
140
140
  };
141
141
 
142
142
  var Default = {
@@ -205,7 +205,7 @@ var NavDrawer = function ($) {
205
205
  $(document).off(Event.FOCUSIN);
206
206
  $(this._content).off(Event.MOUSEDOWN_DISMISS);
207
207
 
208
- $(this._element).off(Event.CLICK_DISMISS).removeClass(ClassName.IN);
208
+ $(this._element).off(Event.CLICK_DISMISS).removeClass(ClassName.SHOW);
209
209
 
210
210
  if (Util.supportsTransitionEnd()) {
211
211
  $(this._element).one(Util.TRANSITION_END, $.proxy(this._hideNavdrawer, this, hideClassName)).emulateTransitionEnd(TRANSITION_DURATION);
@@ -333,7 +333,7 @@ var NavDrawer = function ($) {
333
333
  Util.reflow(this._backdrop);
334
334
  }
335
335
 
336
- $(this._backdrop).addClass(ClassName.IN);
336
+ $(this._backdrop).addClass(ClassName.SHOW);
337
337
 
338
338
  if (!callback) {
339
339
  return;
@@ -346,7 +346,7 @@ var NavDrawer = function ($) {
346
346
 
347
347
  $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(TRANSITION_DURATION_BACKDROP);
348
348
  } else if (this._backdrop && !this._isShown) {
349
- $(this._backdrop).removeClass(ClassName.IN);
349
+ $(this._backdrop).removeClass(ClassName.SHOW);
350
350
 
351
351
  var callbackRemove = function callbackRemove() {
352
352
  _this5._removeBackdrop();
@@ -382,7 +382,7 @@ var NavDrawer = function ($) {
382
382
  Util.reflow(this._element);
383
383
  }
384
384
 
385
- $(this._element).addClass(ClassName.IN);
385
+ $(this._element).addClass(ClassName.SHOW);
386
386
  this._enforceFocus();
387
387
 
388
388
  var shownEvent = $.Event(Event.SHOWN, {
@@ -476,22 +476,21 @@ var NavDrawer = function ($) {
476
476
 
477
477
  /*!
478
478
  * tab indicator animation
479
- * requires bootstrap's (v4.0.0-alpha.5) tab.js
479
+ * requires bootstrap's (v4.0.0-alpha.6) tab.js
480
480
  */
481
481
  var TabSwitch = function ($) {
482
482
  // constants >>>
483
483
  var DATA_KEY = 'md.tabswitch';
484
484
  var NAME = 'tabswitch';
485
485
  var NO_CONFLICT = $.fn[NAME];
486
- var TRANSITION_DURATION = 450;
486
+ var TRANSITION_DURATION = 300;
487
487
 
488
488
  var ClassName = {
489
489
  ANIMATE: 'animate',
490
- IN: 'in',
491
490
  INDICATOR: 'nav-tabs-indicator',
492
491
  MATERIAL: 'nav-tabs-material',
493
- REVERSE: 'reverse',
494
- SCROLLABLE: 'nav-tabs-scrollable'
492
+ SCROLLABLE: 'nav-tabs-scrollable',
493
+ SHOW: 'show'
495
494
  };
496
495
 
497
496
  var Event = {
@@ -500,7 +499,8 @@ var TabSwitch = function ($) {
500
499
 
501
500
  var Selector = {
502
501
  DATA_TOGGLE: '.nav-tabs [data-toggle="tab"]',
503
- TAB_NAV: '.nav-tabs'
502
+ NAV: '.nav-tabs',
503
+ NAV_ITEM: '.nav-item'
504
504
  };
505
505
  // <<< constants
506
506
 
@@ -527,30 +527,26 @@ var TabSwitch = function ($) {
527
527
  this._createIndicator();
528
528
  }
529
529
 
530
- var elLeft = $(element).offset().left;
531
- var elWidth = $(element).outerWidth();
530
+ var elLeft = $(element).closest(Selector.NAV_ITEM).offset().left;
531
+ var elWidth = $(element).closest(Selector.NAV_ITEM).outerWidth();
532
532
  var navLeft = $(this._nav).offset().left;
533
533
  var navScrollLeft = $(this._nav).scrollLeft();
534
534
  var navWidth = $(this._nav).outerWidth();
535
535
 
536
536
  if (relatedTarget !== undefined) {
537
- var relatedLeft = $(relatedTarget).offset().left;
538
- var relatedWidth = $(relatedTarget).outerWidth();
537
+ var relatedLeft = $(relatedTarget).closest(Selector.NAV_ITEM).offset().left;
538
+ var relatedWidth = $(relatedTarget).closest(Selector.NAV_ITEM).outerWidth();
539
539
 
540
540
  $(this._navindicator).css({
541
541
  left: relatedLeft + navScrollLeft - navLeft,
542
542
  right: navWidth - (relatedLeft + navScrollLeft - navLeft + relatedWidth)
543
543
  });
544
544
 
545
- $(this._navindicator).addClass(ClassName.IN);
545
+ $(this._navindicator).addClass(ClassName.SHOW);
546
546
  Util.reflow(this._navindicator);
547
547
 
548
548
  if (supportsTransition) {
549
- $(this._navindicator).addClass(ClassName.ANIMATE);
550
-
551
- if (relatedLeft > elLeft) {
552
- $(this._navindicator).addClass(ClassName.REVERSE);
553
- }
549
+ $(this._nav).addClass(ClassName.ANIMATE);
554
550
  }
555
551
  }
556
552
 
@@ -560,7 +556,8 @@ var TabSwitch = function ($) {
560
556
  });
561
557
 
562
558
  var complete = function complete() {
563
- $(_this8._navindicator).removeClass(ClassName.ANIMATE).removeClass(ClassName.IN).removeClass(ClassName.REVERSE);
559
+ $(_this8._nav).removeClass(ClassName.ANIMATE);
560
+ $(_this8._navindicator).removeClass(ClassName.SHOW);
564
561
  };
565
562
 
566
563
  if (!supportsTransition) {
@@ -583,7 +580,7 @@ var TabSwitch = function ($) {
583
580
  key: '_jQueryInterface',
584
581
  value: function _jQueryInterface(relatedTarget) {
585
582
  return this.each(function () {
586
- var nav = $(this).closest(Selector.TAB_NAV)[0];
583
+ var nav = $(this).closest(Selector.NAV)[0];
587
584
 
588
585
  if (!nav) {
589
586
  return;
@@ -620,7 +617,7 @@ var TabSwitch = function ($) {
620
617
 
621
618
  /*!
622
619
  * global util js
623
- * based on bootstrap's (v4.0.0-alpha.5) util.js
620
+ * based on bootstrap's (v4.0.0-alpha.6) util.js
624
621
  */
625
622
  var Util = function ($) {
626
623
  var transition = false;
@@ -712,7 +709,7 @@ var Util = function ($) {
712
709
  },
713
710
  getUID: function getUID(prefix) {
714
711
  do {
715
- prefix += ~~(Math.random() * 1000000);
712
+ prefix += ~ ~(Math.random() * 1000000);
716
713
  } while (document.getElementById(prefix));
717
714
  return prefix;
718
715
  },
@@ -4,6 +4,7 @@
4
4
  @import "mixins/clearfix";
5
5
  @import "mixins/form";
6
6
  @import "mixins/grid";
7
+ @import "mixins/grid-framework";
7
8
  @import "mixins/hex-to-rgba";
8
9
  @import "mixins/hover";
9
10
  @import "mixins/image";
@@ -17,5 +18,6 @@
17
18
  @import "mixins/text-emphasis";
18
19
  @import "mixins/text-hide";
19
20
  @import "mixins/text-truncate";
21
+ @import "mixins/transform";
20
22
  @import "mixins/transition";
21
23
  @import "mixins/typography";
@@ -4,8 +4,11 @@
4
4
  @import "utilities/background";
5
5
  @import "utilities/clearfix";
6
6
  @import "utilities/display";
7
+ @import "utilities/flex";
7
8
  @import "utilities/float";
9
+ @import "utilities/position";
8
10
  @import "utilities/screenreader";
11
+ @import "utilities/sizing";
9
12
  @import "utilities/spacing";
10
13
  @import "utilities/text";
11
14
  @import "utilities/visibility";
@@ -4,10 +4,11 @@
4
4
 
5
5
  @each $key, $num in $map {
6
6
  @if $prev-num == null {
7
+ // do nothing
7
8
  } @else if not comparable($num, $prev-num) {
8
- @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
9
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}'!";
9
10
  } @else if $num <= $prev-num {
10
- @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
11
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}'!";
11
12
  }
12
13
 
13
14
  $prev-key: $key;
@@ -15,6 +16,27 @@
15
16
  }
16
17
  }
17
18
 
19
+ @mixin _assert-starts-at-zero($map) {
20
+ $first-value: nth(map-values($map), 1);
21
+
22
+ @if $first-value != 0 {
23
+ @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
24
+ }
25
+ }
26
+
27
+ // sass option
28
+ $enable-grid-classes: true !default;
29
+ $enable-hover-media-query: false !default;
30
+ $enable-print-styles: true !default;
31
+
32
+ // the following bootstrap options are not supported in material
33
+ // this is because these features are required by material design guidelines
34
+
35
+ // $enable-gradients: true !default;
36
+ // $enable-rounded: true !default;
37
+ // $enable-shadows: true !default;
38
+ // $enable-transitions: true !default;
39
+
18
40
  @import "variables/animation";
19
41
  @import "variables/colour";
20
42
  @import "variables/elevation-shadow";