foundation-rails 6.6.2.0 → 6.9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +2 -0
  4. data/Appraisals +4 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +198 -145
  7. data/bower.json +3 -3
  8. data/foundation-rails.gemspec +4 -4
  9. data/gemfiles/rails_7.1.gemfile +10 -0
  10. data/gemfiles/rails_7.1.gemfile.lock +261 -0
  11. data/lib/foundation/rails/version.rb +1 -1
  12. data/lib/generators/foundation/templates/_settings.scss +32 -28
  13. data/vendor/assets/js/foundation.cjs.js +1996 -3162
  14. data/vendor/assets/js/foundation.cjs.js.map +1 -1
  15. data/vendor/assets/js/foundation.es6.js +385 -292
  16. data/vendor/assets/js/foundation.es6.js.map +1 -1
  17. data/vendor/assets/js/foundation.esm.js +1663 -2832
  18. data/vendor/assets/js/foundation.esm.js.map +1 -1
  19. data/vendor/assets/js/foundation.js +2440 -3870
  20. data/vendor/assets/js/foundation.js.map +1 -1
  21. data/vendor/assets/js/foundation.min.js +1 -1
  22. data/vendor/assets/js/foundation.min.js.map +1 -1
  23. data/vendor/assets/js/plugins/foundation.abide.js +238 -344
  24. data/vendor/assets/js/plugins/foundation.abide.js.map +1 -1
  25. data/vendor/assets/js/plugins/foundation.abide.min.js +1 -1
  26. data/vendor/assets/js/plugins/foundation.abide.min.js.map +1 -1
  27. data/vendor/assets/js/plugins/foundation.accordion.js +197 -275
  28. data/vendor/assets/js/plugins/foundation.accordion.js.map +1 -1
  29. data/vendor/assets/js/plugins/foundation.accordion.min.js +1 -1
  30. data/vendor/assets/js/plugins/foundation.accordion.min.js.map +1 -1
  31. data/vendor/assets/js/plugins/foundation.accordionMenu.js +174 -260
  32. data/vendor/assets/js/plugins/foundation.accordionMenu.js.map +1 -1
  33. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js +1 -1
  34. data/vendor/assets/js/plugins/foundation.accordionMenu.min.js.map +1 -1
  35. data/vendor/assets/js/plugins/foundation.core.js +308 -447
  36. data/vendor/assets/js/plugins/foundation.core.js.map +1 -1
  37. data/vendor/assets/js/plugins/foundation.core.min.js +1 -1
  38. data/vendor/assets/js/plugins/foundation.core.min.js.map +1 -1
  39. data/vendor/assets/js/plugins/foundation.drilldown.js +258 -358
  40. data/vendor/assets/js/plugins/foundation.drilldown.js.map +1 -1
  41. data/vendor/assets/js/plugins/foundation.drilldown.min.js +1 -1
  42. data/vendor/assets/js/plugins/foundation.drilldown.min.js.map +1 -1
  43. data/vendor/assets/js/plugins/foundation.dropdown.js +289 -457
  44. data/vendor/assets/js/plugins/foundation.dropdown.js.map +1 -1
  45. data/vendor/assets/js/plugins/foundation.dropdown.min.js +1 -1
  46. data/vendor/assets/js/plugins/foundation.dropdown.min.js.map +1 -1
  47. data/vendor/assets/js/plugins/foundation.dropdownMenu.js +246 -346
  48. data/vendor/assets/js/plugins/foundation.dropdownMenu.js.map +1 -1
  49. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js +1 -1
  50. data/vendor/assets/js/plugins/foundation.dropdownMenu.min.js.map +1 -1
  51. data/vendor/assets/js/plugins/foundation.equalizer.js +178 -261
  52. data/vendor/assets/js/plugins/foundation.equalizer.js.map +1 -1
  53. data/vendor/assets/js/plugins/foundation.equalizer.min.js +1 -1
  54. data/vendor/assets/js/plugins/foundation.equalizer.min.js.map +1 -1
  55. data/vendor/assets/js/plugins/foundation.interchange.js +227 -326
  56. data/vendor/assets/js/plugins/foundation.interchange.js.map +1 -1
  57. data/vendor/assets/js/plugins/foundation.interchange.min.js +1 -1
  58. data/vendor/assets/js/plugins/foundation.interchange.min.js.map +1 -1
  59. data/vendor/assets/js/plugins/foundation.magellan.js +225 -336
  60. data/vendor/assets/js/plugins/foundation.magellan.js.map +1 -1
  61. data/vendor/assets/js/plugins/foundation.magellan.min.js +1 -1
  62. data/vendor/assets/js/plugins/foundation.magellan.min.js.map +1 -1
  63. data/vendor/assets/js/plugins/foundation.offcanvas.js +326 -471
  64. data/vendor/assets/js/plugins/foundation.offcanvas.js.map +1 -1
  65. data/vendor/assets/js/plugins/foundation.offcanvas.min.js +1 -1
  66. data/vendor/assets/js/plugins/foundation.offcanvas.min.js.map +1 -1
  67. data/vendor/assets/js/plugins/foundation.orbit.js +244 -347
  68. data/vendor/assets/js/plugins/foundation.orbit.js.map +1 -1
  69. data/vendor/assets/js/plugins/foundation.orbit.min.js +1 -1
  70. data/vendor/assets/js/plugins/foundation.orbit.min.js.map +1 -1
  71. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js +203 -278
  72. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.js.map +1 -1
  73. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js +1 -1
  74. data/vendor/assets/js/plugins/foundation.responsiveAccordionTabs.min.js.map +1 -1
  75. data/vendor/assets/js/plugins/foundation.responsiveMenu.js +205 -255
  76. data/vendor/assets/js/plugins/foundation.responsiveMenu.js.map +1 -1
  77. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js +1 -1
  78. data/vendor/assets/js/plugins/foundation.responsiveMenu.min.js.map +1 -1
  79. data/vendor/assets/js/plugins/foundation.responsiveToggle.js +170 -226
  80. data/vendor/assets/js/plugins/foundation.responsiveToggle.js.map +1 -1
  81. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js +1 -1
  82. data/vendor/assets/js/plugins/foundation.responsiveToggle.min.js.map +1 -1
  83. data/vendor/assets/js/plugins/foundation.reveal.js +284 -444
  84. data/vendor/assets/js/plugins/foundation.reveal.js.map +1 -1
  85. data/vendor/assets/js/plugins/foundation.reveal.min.js +1 -1
  86. data/vendor/assets/js/plugins/foundation.reveal.min.js.map +1 -1
  87. data/vendor/assets/js/plugins/foundation.slider.js +322 -483
  88. data/vendor/assets/js/plugins/foundation.slider.js.map +1 -1
  89. data/vendor/assets/js/plugins/foundation.slider.min.js +1 -1
  90. data/vendor/assets/js/plugins/foundation.slider.min.js.map +1 -1
  91. data/vendor/assets/js/plugins/foundation.smoothScroll.js +138 -188
  92. data/vendor/assets/js/plugins/foundation.smoothScroll.js.map +1 -1
  93. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js +1 -1
  94. data/vendor/assets/js/plugins/foundation.smoothScroll.min.js.map +1 -1
  95. data/vendor/assets/js/plugins/foundation.sticky.js +253 -394
  96. data/vendor/assets/js/plugins/foundation.sticky.js.map +1 -1
  97. data/vendor/assets/js/plugins/foundation.sticky.min.js +1 -1
  98. data/vendor/assets/js/plugins/foundation.sticky.min.js.map +1 -1
  99. data/vendor/assets/js/plugins/foundation.tabs.js +228 -317
  100. data/vendor/assets/js/plugins/foundation.tabs.js.map +1 -1
  101. data/vendor/assets/js/plugins/foundation.tabs.min.js +1 -1
  102. data/vendor/assets/js/plugins/foundation.tabs.min.js.map +1 -1
  103. data/vendor/assets/js/plugins/foundation.toggler.js +207 -294
  104. data/vendor/assets/js/plugins/foundation.toggler.js.map +1 -1
  105. data/vendor/assets/js/plugins/foundation.toggler.min.js +1 -1
  106. data/vendor/assets/js/plugins/foundation.toggler.min.js.map +1 -1
  107. data/vendor/assets/js/plugins/foundation.tooltip.js +275 -434
  108. data/vendor/assets/js/plugins/foundation.tooltip.js.map +1 -1
  109. data/vendor/assets/js/plugins/foundation.tooltip.min.js +1 -1
  110. data/vendor/assets/js/plugins/foundation.tooltip.min.js.map +1 -1
  111. data/vendor/assets/js/plugins/foundation.util.box.js +130 -186
  112. data/vendor/assets/js/plugins/foundation.util.box.js.map +1 -1
  113. data/vendor/assets/js/plugins/foundation.util.box.min.js +1 -1
  114. data/vendor/assets/js/plugins/foundation.util.box.min.js.map +1 -1
  115. data/vendor/assets/js/plugins/foundation.util.imageLoader.js +110 -150
  116. data/vendor/assets/js/plugins/foundation.util.imageLoader.js.map +1 -1
  117. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js +1 -1
  118. data/vendor/assets/js/plugins/foundation.util.imageLoader.min.js.map +1 -1
  119. data/vendor/assets/js/plugins/foundation.util.keyboard.js +157 -172
  120. data/vendor/assets/js/plugins/foundation.util.keyboard.js.map +1 -1
  121. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js +1 -1
  122. data/vendor/assets/js/plugins/foundation.util.keyboard.min.js.map +1 -1
  123. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js +167 -233
  124. data/vendor/assets/js/plugins/foundation.util.mediaQuery.js.map +1 -1
  125. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js +1 -1
  126. data/vendor/assets/js/plugins/foundation.util.mediaQuery.min.js.map +1 -1
  127. data/vendor/assets/js/plugins/foundation.util.motion.js +123 -161
  128. data/vendor/assets/js/plugins/foundation.util.motion.js.map +1 -1
  129. data/vendor/assets/js/plugins/foundation.util.motion.min.js +1 -1
  130. data/vendor/assets/js/plugins/foundation.util.motion.min.js.map +1 -1
  131. data/vendor/assets/js/plugins/foundation.util.nest.js +123 -160
  132. data/vendor/assets/js/plugins/foundation.util.nest.js.map +1 -1
  133. data/vendor/assets/js/plugins/foundation.util.nest.min.js +1 -1
  134. data/vendor/assets/js/plugins/foundation.util.nest.min.js.map +1 -1
  135. data/vendor/assets/js/plugins/foundation.util.timer.js +116 -171
  136. data/vendor/assets/js/plugins/foundation.util.timer.js.map +1 -1
  137. data/vendor/assets/js/plugins/foundation.util.timer.min.js +1 -1
  138. data/vendor/assets/js/plugins/foundation.util.timer.min.js.map +1 -1
  139. data/vendor/assets/js/plugins/foundation.util.touch.js +172 -228
  140. data/vendor/assets/js/plugins/foundation.util.touch.js.map +1 -1
  141. data/vendor/assets/js/plugins/foundation.util.touch.min.js +1 -1
  142. data/vendor/assets/js/plugins/foundation.util.touch.min.js.map +1 -1
  143. data/vendor/assets/js/plugins/foundation.util.triggers.js +158 -222
  144. data/vendor/assets/js/plugins/foundation.util.triggers.js.map +1 -1
  145. data/vendor/assets/js/plugins/foundation.util.triggers.min.js +1 -1
  146. data/vendor/assets/js/plugins/foundation.util.triggers.min.js.map +1 -1
  147. data/vendor/assets/scss/_global.scss +18 -5
  148. data/vendor/assets/scss/components/_accordion-menu.scss +2 -2
  149. data/vendor/assets/scss/components/_badge.scss +1 -1
  150. data/vendor/assets/scss/components/_breadcrumbs.scss +2 -1
  151. data/vendor/assets/scss/components/_button-group.scss +13 -8
  152. data/vendor/assets/scss/components/_button.scss +13 -13
  153. data/vendor/assets/scss/components/_callout.scss +2 -2
  154. data/vendor/assets/scss/components/_close-button.scss +5 -4
  155. data/vendor/assets/scss/components/_dropdown-menu.scss +1 -1
  156. data/vendor/assets/scss/components/_label.scss +1 -1
  157. data/vendor/assets/scss/components/_menu.scss +54 -19
  158. data/vendor/assets/scss/components/_off-canvas.scss +18 -16
  159. data/vendor/assets/scss/components/_orbit.scss +3 -3
  160. data/vendor/assets/scss/components/_pagination.scss +1 -1
  161. data/vendor/assets/scss/components/_progress-bar.scss +1 -1
  162. data/vendor/assets/scss/components/_responsive-embed.scss +1 -1
  163. data/vendor/assets/scss/components/_reveal.scss +8 -3
  164. data/vendor/assets/scss/components/_slider.scss +5 -2
  165. data/vendor/assets/scss/components/_switch.scss +25 -2
  166. data/vendor/assets/scss/components/_table.scss +8 -7
  167. data/vendor/assets/scss/components/_tabs.scss +2 -2
  168. data/vendor/assets/scss/components/_top-bar.scss +7 -5
  169. data/vendor/assets/scss/components/_visibility.scss +45 -2
  170. data/vendor/assets/scss/forms/_label.scss +2 -1
  171. data/vendor/assets/scss/forms/_progress.scss +1 -1
  172. data/vendor/assets/scss/forms/_range.scss +1 -1
  173. data/vendor/assets/scss/forms/_select.scss +5 -4
  174. data/vendor/assets/scss/forms/_text.scss +2 -2
  175. data/vendor/assets/scss/foundation.scss +1 -1
  176. data/vendor/assets/scss/grid/_classes.scss +1 -1
  177. data/vendor/assets/scss/grid/_column.scss +3 -2
  178. data/vendor/assets/scss/grid/_flex-grid.scss +7 -6
  179. data/vendor/assets/scss/grid/_gutter.scss +1 -1
  180. data/vendor/assets/scss/grid/_layout.scss +5 -5
  181. data/vendor/assets/scss/grid/_position.scss +4 -4
  182. data/vendor/assets/scss/grid/_row.scss +1 -1
  183. data/vendor/assets/scss/motion-ui/util/_animation.scss +1 -1
  184. data/vendor/assets/scss/motion-ui/util/_series.scss +1 -1
  185. data/vendor/assets/scss/motion-ui/util/_unit.scss +54 -1
  186. data/vendor/assets/scss/prototype/_border-none.scss +1 -1
  187. data/vendor/assets/scss/prototype/_font-styling.scss +2 -2
  188. data/vendor/assets/scss/prototype/_overflow.scss +9 -0
  189. data/vendor/assets/scss/prototype/_rotate.scss +7 -5
  190. data/vendor/assets/scss/prototype/_separator.scss +5 -5
  191. data/vendor/assets/scss/prototype/_shadow.scss +1 -2
  192. data/vendor/assets/scss/prototype/_spacing.scss +33 -33
  193. data/vendor/assets/scss/prototype/_text-transformation.scss +3 -3
  194. data/vendor/assets/scss/settings/_settings.scss +32 -28
  195. data/vendor/assets/scss/typography/_base.scss +6 -6
  196. data/vendor/assets/scss/typography/_helpers.scss +10 -2
  197. data/vendor/assets/scss/typography/_print.scss +2 -2
  198. data/vendor/assets/scss/util/_breakpoint.scss +21 -18
  199. data/vendor/assets/scss/util/_color.scss +20 -8
  200. data/vendor/assets/scss/util/_direction.scss +1 -1
  201. data/vendor/assets/scss/util/_flex.scss +1 -1
  202. data/vendor/assets/scss/util/_math.scss +61 -9
  203. data/vendor/assets/scss/util/_mixins.scss +18 -14
  204. data/vendor/assets/scss/util/_selector.scss +1 -15
  205. data/vendor/assets/scss/util/_typography.scss +6 -6
  206. data/vendor/assets/scss/util/_unit.scss +14 -8
  207. data/vendor/assets/scss/util/_value.scss +3 -18
  208. data/vendor/assets/scss/vendor/normalize.scss +19 -2
  209. data/vendor/assets/scss/xy-grid/_cell.scss +16 -5
  210. data/vendor/assets/scss/xy-grid/_classes.scss +8 -8
  211. data/vendor/assets/scss/xy-grid/_frame.scss +12 -0
  212. data/vendor/assets/scss/xy-grid/_grid.scss +2 -2
  213. data/vendor/assets/scss/xy-grid/_gutters.scss +2 -2
  214. data/vendor/assets/scss/xy-grid/_layout.scss +1 -1
  215. data/vendor/assets/scss/xy-grid/_position.scss +12 -7
  216. data/vendor/assets/scss/xy-grid/_xy-grid.scss +2 -2
  217. metadata +21 -19
@@ -58,8 +58,9 @@
58
58
  // 53. Title Bar
59
59
  // 54. Tooltip
60
60
  // 55. Top Bar
61
- // 56. Xy Grid
61
+ // 57. Xy Grid
62
62
 
63
+ @use "sass:color";
63
64
  @import 'util/util';
64
65
 
65
66
  // 1. Global
@@ -69,11 +70,11 @@ $global-font-size: 100%;
69
70
  $global-width: rem-calc(1200);
70
71
  $global-lineheight: 1.5;
71
72
  $foundation-palette: (
72
- primary: #1779ba,
73
- secondary: #767676,
74
- success: #3adb76,
75
- warning: #ffae00,
76
- alert: #cc4b37,
73
+ "primary": #1779ba,
74
+ "secondary": #767676,
75
+ "success": #3adb76,
76
+ "warning": #ffae00,
77
+ "alert": #cc4b37,
77
78
  );
78
79
  $light-gray: #e6e6e6;
79
80
  $medium-gray: #cacaca;
@@ -83,6 +84,7 @@ $white: #fefefe;
83
84
  $body-background: $white;
84
85
  $body-font-color: $black;
85
86
  $body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;
87
+ $body-safe-padding: false;
86
88
  $body-antialiased: true;
87
89
  $global-margin: 1rem;
88
90
  $global-padding: 1rem;
@@ -105,19 +107,20 @@ $print-hrefs: true;
105
107
  // 2. Breakpoints
106
108
  // --------------
107
109
 
110
+ $-zf-size: null;
108
111
  $breakpoints: (
109
- small: 0,
110
- medium: 640px,
111
- large: 1024px,
112
- xlarge: 1200px,
113
- xxlarge: 1440px,
112
+ "small": 0,
113
+ "medium": 640px,
114
+ "large": 1024px,
115
+ "xlarge": 1200px,
116
+ "xxlarge": 1440px,
114
117
  );
115
118
  $breakpoints-hidpi: (
116
- hidpi-1: 1,
117
- hidpi-1-5: 1.5,
118
- hidpi-2: 2,
119
- retina: 2,
120
- hidpi-3: 3
119
+ "hidpi-1": 1,
120
+ "hidpi-1-5": 1.5,
121
+ "hidpi-2": 2,
122
+ "retina": 2,
123
+ "hidpi-3": 3
121
124
  );
122
125
  $print-breakpoint: large;
123
126
  $breakpoint-classes: (small medium large);
@@ -461,7 +464,7 @@ $input-background-focus: $white;
461
464
  $input-background-disabled: $light-gray;
462
465
  $input-border: 1px solid $medium-gray;
463
466
  $input-border-focus: 1px solid $dark-gray;
464
- $input-padding: $form-spacing / 2;
467
+ $input-padding: $form-spacing * 0.5;
465
468
  $input-shadow: inset 0 1px 2px rgba($black, 0.1);
466
469
  $input-shadow-focus: 0 0 5px $medium-gray;
467
470
  $input-cursor-disabled: not-allowed;
@@ -691,8 +694,7 @@ $prototype-separator-margin-top: $global-margin;
691
694
  // --------------------
692
695
 
693
696
  $prototype-shadow-breakpoints: $global-prototype-breakpoints;
694
- $prototype-box-shadow: 0 2px 5px 0 rgba(0,0,0,.16),
695
- 0 2px 10px 0 rgba(0,0,0,.12);
697
+ $prototype-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
696
698
 
697
699
  // 41. Prototype Sizing
698
700
  // --------------------
@@ -780,7 +782,9 @@ $slider-radius: $global-radius;
780
782
  // ----------
781
783
 
782
784
  $switch-background: $medium-gray;
785
+ $switch-background-focus: scale-color($switch-background, $lightness: -10%);
783
786
  $switch-background-active: $primary-color;
787
+ $switch-background-active-focus: scale-color($switch-background-active, $lightness: -15%);
784
788
  $switch-height: 2rem;
785
789
  $switch-height-tiny: 1.5rem;
786
790
  $switch-height-small: 1.75rem;
@@ -791,7 +795,7 @@ $switch-paddle-background: $white;
791
795
  $switch-paddle-offset: 0.25rem;
792
796
  $switch-paddle-radius: $global-radius;
793
797
  $switch-paddle-transition: all 0.25s ease-out;
794
- $switch-opacity-disabled: .5;
798
+ $switch-opacity-disabled: 0.5;
795
799
  $switch-cursor-disabled: not-allowed;
796
800
 
797
801
  // 50. Table
@@ -802,15 +806,15 @@ $table-color-scale: 5%;
802
806
  $table-border: 1px solid smart-scale($table-background, $table-color-scale);
803
807
  $table-padding: rem-calc(8 10 10);
804
808
  $table-hover-scale: 2%;
805
- $table-row-hover: darken($table-background, $table-hover-scale);
806
- $table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale);
809
+ $table-row-hover: color.adjust($table-background, $lightness: -$table-hover-scale);
810
+ $table-row-stripe-hover: color.adjust($table-background, $lightness: -($table-color-scale + $table-hover-scale));
807
811
  $table-is-striped: true;
808
812
  $table-striped-background: smart-scale($table-background, $table-color-scale);
809
813
  $table-stripe: even;
810
- $table-head-background: smart-scale($table-background, $table-color-scale / 2);
811
- $table-head-row-hover: darken($table-head-background, $table-hover-scale);
814
+ $table-head-background: smart-scale($table-background, $table-color-scale * 0.5);
815
+ $table-head-row-hover: color.adjust($table-head-background, $lightness: -$table-hover-scale);
812
816
  $table-foot-background: smart-scale($table-background, $table-color-scale);
813
- $table-foot-row-hover: darken($table-foot-background, $table-hover-scale);
817
+ $table-foot-row-hover: color.adjust($table-foot-background, $lightness: -$table-hover-scale);
814
818
  $table-head-font-color: $body-font-color;
815
819
  $table-foot-font-color: $body-font-color;
816
820
  $show-header-for-stacked: false;
@@ -878,15 +882,15 @@ $topbar-title-spacing: 0.5rem 1rem 0.5rem 0;
878
882
  $topbar-input-width: 200px;
879
883
  $topbar-unstack-breakpoint: medium;
880
884
 
881
- // 56. Xy Grid
885
+ // 57. Xy Grid
882
886
  // -----------
883
887
 
884
888
  $xy-grid: true;
885
889
  $grid-container: $global-width;
886
890
  $grid-columns: 12;
887
891
  $grid-margin-gutters: (
888
- small: 20px,
889
- medium: 30px
892
+ "small": 20px,
893
+ "medium": 30px
890
894
  );
891
895
  $grid-padding-gutters: $grid-margin-gutters;
892
896
  $grid-container-padding: $grid-padding-gutters;
@@ -73,7 +73,7 @@ $header-styles: (
73
73
 
74
74
  // $header-styles map is built from $header-sizes in order to ensure downward compatibility
75
75
  // when $header-sizes is depreciated, $header-styles needs to get !default values like settings.scss
76
- @function build_from_header-sizes($header-sizes) {
76
+ @function build-from-header-sizes($header-sizes) {
77
77
  @warn 'Note, that $header-sizes has been replaced with $header-styles. $header-sizes still works, but it is going to be depreciated.';
78
78
  $header-styles: ();
79
79
  @each $size, $headers in $header-sizes {
@@ -88,7 +88,7 @@ $header-styles: (
88
88
 
89
89
  // If it exists $headers-sizes is used to build $header-styles. See the documentation.
90
90
  @if variable-exists(header-sizes) {
91
- $header-styles: build_from_header-sizes($header-sizes);
91
+ $header-styles: build-from-header-sizes($header-sizes);
92
92
  }
93
93
 
94
94
  /// Text rendering method of headers.
@@ -117,7 +117,7 @@ $paragraph-text-rendering: optimizeLegibility !default;
117
117
 
118
118
  /// Use the `.code-inline` component as default for `<code>` elements.
119
119
  /// @type Boolean
120
- $enable-code-inline: true;
120
+ $enable-code-inline: true !default;
121
121
 
122
122
  /// Default color for links.
123
123
  /// @type Color
@@ -197,7 +197,7 @@ $blockquote-border: 1px solid $medium-gray !default;
197
197
 
198
198
  /// Use the `.cite-block` component as default for `<cite>` elements.
199
199
  /// @type Boolean
200
- $enable-cite-block: true;
200
+ $enable-cite-block: true !default;
201
201
 
202
202
  /// Font family for `<kbd>` elements.
203
203
  /// @type String | List
@@ -434,7 +434,7 @@ $abbr-underline: 1px dotted $black !default;
434
434
  cite {
435
435
  // Extending a class is not recommended.
436
436
  // TODO: Break the typography-base/typography-helpers separation
437
- @extend .cite-block;
437
+ @extend %cite-block;
438
438
  }
439
439
  }
440
440
 
@@ -453,7 +453,7 @@ $abbr-underline: 1px dotted $black !default;
453
453
  // Code
454
454
  @if ($enable-code-inline == true) {
455
455
  code {
456
- @extend .code-inline;
456
+ @extend %code-inline;
457
457
  }
458
458
  }
459
459
 
@@ -164,15 +164,23 @@ $code-block-margin-bottom: 1.5rem !default;
164
164
  }
165
165
  }
166
166
 
167
- .cite-block {
167
+ %cite-block {
168
168
  @include cite-block;
169
169
  }
170
170
 
171
- .code-inline {
171
+ .cite-block {
172
+ @extend %cite-block;
173
+ }
174
+
175
+ %code-inline {
172
176
  @include code-style;
173
177
  @include code-inline;
174
178
  }
175
179
 
180
+ .code-inline {
181
+ @extend %code-inline;
182
+ }
183
+
176
184
  .code-block {
177
185
  @include code-style;
178
186
  @include code-block;
@@ -24,11 +24,11 @@ $print-hrefs: true !default;
24
24
  @if $print-transparent-backgrounds {
25
25
  background: transparent !important;
26
26
  color: black !important; // Black prints faster: h5bp.com/s
27
- color-adjust: economy;
27
+ print-color-adjust: economy;
28
28
  }
29
29
  // Otherwise, prevent any economy by the browser.
30
30
  @else {
31
- color-adjust: exact;
31
+ print-color-adjust: exact;
32
32
  }
33
33
 
34
34
  box-shadow: none !important;
@@ -6,25 +6,28 @@
6
6
  /// @group breakpoints
7
7
  ////
8
8
 
9
+ /// Patch to fix issue #12080
10
+ $-zf-size: null;
11
+
9
12
  /// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.
10
13
  /// @type Map
11
14
  $breakpoints: (
12
- small: 0,
13
- medium: 640px,
14
- large: 1024px,
15
- xlarge: 1200px,
16
- xxlarge: 1440px,
15
+ "small": 0,
16
+ "medium": 640px,
17
+ "large": 1024px,
18
+ "xlarge": 1200px,
19
+ "xxlarge": 1440px,
17
20
  ) !default;
18
21
 
19
22
  /// A list of named HiDPI breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries for resolutions.
20
23
  /// Values must represent the device pixels / web pixels ration and be unitless or in DPPX.
21
24
  /// @type Map
22
25
  $breakpoints-hidpi: (
23
- hidpi-1: 1,
24
- hidpi-1-5: 1.5,
25
- hidpi-2: 2,
26
- retina: 2,
27
- hidpi-3: 3
26
+ "hidpi-1": 1,
27
+ "hidpi-1-5": 1.5,
28
+ "hidpi-2": 2,
29
+ "retina": 2,
30
+ "hidpi-3": 3
28
31
  ) !default;
29
32
 
30
33
  /// The largest named breakpoint in which to include print as a media type
@@ -113,7 +116,7 @@ $breakpoint-classes: (small medium large) !default;
113
116
  // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).
114
117
  // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.
115
118
  // See https://github.com/foundation/foundation-sites/issues/11313
116
- $bp-max: if($hidpi, $bp-next - (1/$std-web-dpi), -zf-bp-to-em($bp-next) - 0.00125);
119
+ $bp-max: if($hidpi, $bp-next - divide(1, $std-web-dpi), -zf-bp-to-em($bp-next) - 0.00125);
117
120
  }
118
121
  }
119
122
 
@@ -244,15 +247,15 @@ $breakpoint-classes: (small medium large) !default;
244
247
  /// @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`.
245
248
  @function -zf-map-next-number($map, $number) {
246
249
 
247
- $next_number: null;
250
+ $next-number: null;
248
251
 
249
252
  @each $k, $v in $map {
250
- @if type-of($v) == 'number' and $v > $number and ($next_number == null or $v < $next_number) {
251
- $next_number: $v;
253
+ @if type-of($v) == 'number' and $v > $number and ($next-number == null or $v < $next-number) {
254
+ $next-number: $v;
252
255
  }
253
256
  }
254
257
 
255
- @return $next_number;
258
+ @return $next-number;
256
259
  }
257
260
 
258
261
  /// Return a list of our named breakpoints less than $key. Useful for dealing with
@@ -264,13 +267,13 @@ $breakpoint-classes: (small medium large) !default;
264
267
  /// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero
265
268
  @function -zf-breakpoints-less-than($key) {
266
269
  $list: ();
267
- $found_key: false;
270
+ $found-key: false;
268
271
 
269
272
  @each $name in $-zf-breakpoints-keys {
270
273
  @if ($name == $key) {
271
- $found_key: true;
274
+ $found-key: true;
272
275
  }
273
- @if not $found_key {
276
+ @if not $found-key {
274
277
  $list: append($list, $name);
275
278
  }
276
279
  }
@@ -2,10 +2,18 @@
2
2
  // https://get.foundation
3
3
  // Licensed under MIT Open Source
4
4
 
5
+ @use "sass:color";
5
6
  @import 'math';
6
7
 
7
8
  $contrast-warnings: true !default;
8
9
 
10
+ /// Patch to fix issue #12080
11
+ $primary-color: null !default;
12
+ $secondary-color: null !default;
13
+ $warning-color: null !default;
14
+ $alert-color: null !default;
15
+ $success-color: null !default;
16
+
9
17
  ////
10
18
  /// @group functions
11
19
  ////
@@ -18,14 +26,18 @@ $contrast-warnings: true !default;
18
26
  @function color-luminance($color) {
19
27
  // Adapted from: https://github.com/LeaVerou/contrast-ratio/blob/gh-pages/color.js
20
28
  // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef
21
- $rgba: red($color), green($color), blue($color);
29
+ $red : round(color.channel($color, "red", $space: rgb));
30
+ $green : round(color.channel($color, "green", $space: rgb));
31
+ $blue : round(color.channel($color, "blue", $space: rgb));
32
+
33
+ $rgba: $red, $green, $blue;
22
34
  $rgba2: ();
23
35
 
24
36
  @for $i from 1 through 3 {
25
37
  $rgb: nth($rgba, $i);
26
- $rgb: $rgb / 255;
38
+ $rgb: divide($rgb, 255);
27
39
 
28
- $rgb: if($rgb < 0.03928, $rgb / 12.92, pow(($rgb + 0.055) / 1.055, 2.4));
40
+ $rgb: if($rgb < 0.03928, divide($rgb, 12.92), pow(divide($rgb + 0.055, 1.055), 2.4));
29
41
 
30
42
  $rgba2: append($rgba2, $rgb);
31
43
  }
@@ -44,13 +56,13 @@ $contrast-warnings: true !default;
44
56
  // Formula: http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef
45
57
  $luminance1: color-luminance($color1) + 0.05;
46
58
  $luminance2: color-luminance($color2) + 0.05;
47
- $ratio: $luminance1 / $luminance2;
59
+ $ratio: divide($luminance1, $luminance2);
48
60
 
49
61
  @if $luminance2 > $luminance1 {
50
- $ratio: 1 / $ratio;
62
+ $ratio: divide(1, $ratio);
51
63
  }
52
64
 
53
- $ratio: round($ratio * 10) / 10;
65
+ $ratio: round($ratio * 10) * 0.1;
54
66
 
55
67
  @return $ratio;
56
68
  }
@@ -75,7 +87,7 @@ $contrast-warnings: true !default;
75
87
  }
76
88
 
77
89
  @if ($contrast-warnings and $contrast < 3) {
78
- @warn "Contrast ratio of #{$best} on #{$base} is pretty bad, just #{$contrast}";
90
+ @warn 'Contrast ratio of #{$best} on #{$base} is pretty bad, just #{$contrast}';
79
91
  }
80
92
 
81
93
  @return $best;
@@ -89,7 +101,7 @@ $contrast-warnings: true !default;
89
101
  ///
90
102
  /// @returns {Color} A scaled color.
91
103
  @function smart-scale($color, $scale: 5%, $threshold: 40%) {
92
- @if lightness($color) > $threshold {
104
+ @if color.channel($color, "lightness", $space: hsl) > $threshold {
93
105
  $scale: -$scale;
94
106
  }
95
107
  @return scale-color($color, $lightness: $scale);
@@ -23,7 +23,7 @@
23
23
 
24
24
  // Calculate the opposite place in a circle, with a starting index of 1
25
25
  $length: length($dirs);
26
- $demi: $length / 2;
26
+ $demi: $length * 0.5;
27
27
  $opposite-place: (($place + $demi - 1) % $length) + 1;
28
28
 
29
29
  @return nth($dirs, $opposite-place);
@@ -1,4 +1,4 @@
1
- @function -zf-flex-justify($text-direction){
1
+ @function -zf-flex-justify($text-direction) {
2
2
  $-zf-flex-justify: (
3
3
  'left': if($text-direction == rtl, flex-end, flex-start),
4
4
  'right': if($text-direction == rtl, flex-start, flex-end),
@@ -2,6 +2,8 @@
2
2
  // https://get.foundation
3
3
  // Licensed under MIT Open Source
4
4
 
5
+ @use "sass:math";
6
+
5
7
  ////
6
8
  /// @group functions
7
9
  ////
@@ -18,7 +20,7 @@
18
20
  @return gcd($b, $a % $b);
19
21
  }
20
22
  @else {
21
- @return abs($a);
23
+ @return math.abs($a);
22
24
  }
23
25
  }
24
26
 
@@ -30,10 +32,10 @@
30
32
  /// @returns {Number} The product of the exponentiation.
31
33
  @function pow($base, $exponent, $prec: 16) {
32
34
  @if (floor($exponent) != $exponent) {
33
- $prec2 : pow(10, $prec);
35
+ $prec2: pow(10, $prec);
34
36
  $exponent: round($exponent * $prec2);
35
37
  $denominator: gcd($exponent, $prec2);
36
- @return nth-root(pow($base, $exponent / $denominator), $prec2 / $denominator, $prec);
38
+ @return nth-root(pow($base, divide($exponent, $denominator)), divide($prec2, $denominator), $prec);
37
39
  }
38
40
 
39
41
  $value: $base;
@@ -44,7 +46,7 @@
44
46
  }
45
47
  @else if $exponent < 1 {
46
48
  @for $i from 0 through -$exponent {
47
- $value: $value / $base;
49
+ $value: divide($value, $base);
48
50
  }
49
51
  }
50
52
 
@@ -56,7 +58,7 @@
56
58
  $x: 1;
57
59
 
58
60
  @for $i from 0 through $prec {
59
- $x: 1 / $n * (($n - 1) * $x + ($num / pow($x, $n - 1)));
61
+ $x: divide(1, $n) * (($n - 1) * $x + divide($num, pow($x, $n - 1)));
60
62
  }
61
63
 
62
64
  @return $x;
@@ -68,7 +70,7 @@
68
70
  @function ratio-to-percentage($ratio) {
69
71
  $w: nth($ratio, 1);
70
72
  $h: nth($ratio, 3);
71
- @return $h / $w * 100%;
73
+ @return divide($h, $w) * 100%;
72
74
  }
73
75
 
74
76
  /// Parse the given `$fraction` to numerators and denumerators.
@@ -98,8 +100,8 @@
98
100
  @else if type-of($fraction) == 'list' {
99
101
  // "50 of 100", "50/100"...
100
102
  @if length($fraction) == 3
101
- and type-of(nth($fraction, 1) == 'number')
102
- and type-of(nth($fraction, 3) == 'number') {
103
+ and type-of(nth($fraction, 1) == 'number')
104
+ and type-of(nth($fraction, 3) == 'number') {
103
105
  @return (nth($fraction, 1), nth($fraction, 3));
104
106
  }
105
107
  }
@@ -143,5 +145,55 @@
143
145
  }
144
146
  }
145
147
 
146
- @return percentage($parsed-nominator / $parsed-denominator);
148
+ @return percentage(divide($parsed-nominator, $parsed-denominator));
149
+ }
150
+
151
+ /// Divide the given `$divident` by the given `$divisor`.
152
+ ///
153
+ /// @param {Number} $divident - The divident.
154
+ /// @param {Number} $divisor - The divisor.
155
+ /// @param {Number} $precision - The precision decimals for the division.
156
+ ///
157
+ /// @return {Number} The product of the division.
158
+ @function divide($dividend, $divisor, $precision: 12) {
159
+ $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
160
+ $dividend: math.abs($dividend);
161
+ $divisor: math.abs($divisor);
162
+ @if $dividend == 0 {
163
+ @return 0;
164
+ }
165
+ @if $divisor == 0 {
166
+ @error 'Cannot divide by 0';
167
+ }
168
+ $remainder: $dividend;
169
+ $result: 0;
170
+ $factor: 10;
171
+ @while ($remainder > 0 and $precision >= 0) {
172
+ $quotient: 0;
173
+ @while ($remainder >= $divisor) {
174
+ $remainder: $remainder - $divisor;
175
+ $quotient: $quotient + 1;
176
+ }
177
+ $result: $result * 10 + $quotient;
178
+ $factor: $factor * 0.1;
179
+ $remainder: $remainder * 10;
180
+ $precision: $precision - 1;
181
+ @if ($precision < 0 and $remainder >= $divisor * 5) {
182
+ $result: $result + 1;
183
+ }
184
+ }
185
+ $result: $result * $factor * $sign;
186
+ $dividend-unit: unit($dividend);
187
+ $divisor-unit: unit($divisor);
188
+ $unit-map: (
189
+ 'px': 1px,
190
+ 'rem': 1rem,
191
+ 'em': 1em,
192
+ '%': 1%
193
+ );
194
+ @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
195
+ $result: $result * map-get($unit-map, $dividend-unit);
196
+ }
197
+
198
+ @return $result;
147
199
  }
@@ -6,6 +6,11 @@
6
6
  /// @group functions
7
7
  ////
8
8
 
9
+ @use "sass:color";
10
+
11
+ // Patch to fix issue #12080
12
+ $-zf-bp-value: null;
13
+
9
14
  /// Creates an inner box-shadow for only one side
10
15
  ///
11
16
  /// @param {Keyword} $side - Side the shadow is supposed to appear. Can be `top`, `left`, `right` or `bottom`.
@@ -44,28 +49,25 @@
44
49
  width: 0;
45
50
  height: 0;
46
51
 
47
- border: inset $triangle-size;
52
+ border-style: solid;
53
+ border-width: $triangle-size;
48
54
 
49
55
  content: '';
50
56
 
51
57
  @if ($triangle-direction == down) {
52
58
  border-bottom-width: 0;
53
- border-top-style: solid;
54
59
  border-color: $triangle-color transparent transparent;
55
60
  }
56
61
  @if ($triangle-direction == up) {
57
62
  border-top-width: 0;
58
- border-bottom-style: solid;
59
63
  border-color: transparent transparent $triangle-color;
60
64
  }
61
65
  @if ($triangle-direction == right) {
62
66
  border-right-width: 0;
63
- border-left-style: solid;
64
67
  border-color: transparent transparent transparent $triangle-color;
65
68
  }
66
69
  @if ($triangle-direction == left) {
67
70
  border-left-width: 0;
68
- border-right-style: solid;
69
71
  border-color: transparent $triangle-color transparent transparent;
70
72
  }
71
73
  }
@@ -91,7 +93,7 @@
91
93
  $hover-shadow: ();
92
94
 
93
95
  // Spacing between bars is calculated based on the total height of the icon and the weight of each bar
94
- $spacing: ($height - ($weight * $bars)) / ($bars - 1);
96
+ $spacing: divide($height - ($weight * $bars), $bars - 1);
95
97
 
96
98
  @if unit($spacing) == 'px' {
97
99
  $spacing: floor($spacing);
@@ -146,12 +148,15 @@
146
148
  ///
147
149
  /// @param {Color} $color [$black] - Color to use for the triangle.
148
150
  @mixin background-triangle($color: $black) {
149
- $rgb: 'rgb%28#{round(red($color))}, #{round(green($color))}, #{round(blue($color))}%29';
151
+ $red : round(color.channel($color, "red", $space: rgb));
152
+ $green : round(color.channel($color, "green", $space: rgb));
153
+ $blue : round(color.channel($color, "blue", $space: rgb));
154
+ $rgb : 'rgb%28#{$red}, #{$green}, #{$blue}%29';
150
155
 
151
- background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #{$rgb}'></polygon></svg>");
156
+ background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: #{$rgb}"></polygon></svg>');
152
157
 
153
- @media screen and (min-width:0\0) {
154
- @if lightness($color) < 60% {
158
+ @media screen and (min-width: 0\0) {
159
+ @if color.channel($color, "lightness", $space: hsl) < 60% {
155
160
  // White triangle
156
161
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==');
157
162
  }
@@ -192,7 +197,7 @@
192
197
  @for $i from 2 through $max {
193
198
  &:nth-last-child(#{$i}):first-child,
194
199
  &:nth-last-child(#{$i}):first-child ~ #{$elem} {
195
- width: percentage(1 / $i);
200
+ width: percentage(divide(1, $i));
196
201
  }
197
202
  }
198
203
  }
@@ -219,7 +224,7 @@
219
224
  height: 1px #{$important};
220
225
  padding: 0 #{$important};
221
226
  overflow: hidden #{$important};
222
- clip: rect(0,0,0,0) #{$important};
227
+ clip: rect(0, 0, 0, 0) #{$important};
223
228
  white-space: nowrap #{$important};
224
229
  border: 0 #{$important};
225
230
  }
@@ -323,8 +328,7 @@
323
328
  }
324
329
  $-zf-size: $bp !global;
325
330
 
326
- @if ($media-queries == true
327
- or ($media-queries == 'for-lists' and $-breakpoints-is-a-list)) {
331
+ @if ($media-queries == true or ($media-queries == 'for-lists' and $-breakpoints-is-a-list)) {
328
332
  @include breakpoint($bp) {
329
333
  @content;
330
334
  }
@@ -13,21 +13,7 @@
13
13
  @function text-inputs($types: (), $modifier: '') {
14
14
  $return: ();
15
15
 
16
- $all-types:
17
- text
18
- password
19
- date
20
- datetime
21
- datetime-local
22
- month
23
- week
24
- email
25
- number
26
- search
27
- tel
28
- time
29
- url
30
- color;
16
+ $all-types: text password date datetime datetime-local month week email number search tel time url color;
31
17
 
32
18
  @if not has-value($types) {
33
19
  $types: $all-types;
@@ -7,12 +7,12 @@
7
7
  ////
8
8
 
9
9
  $-zf-font-stack: (
10
- 'georgia': (Georgia, "URW Bookman L", serif),
11
- 'helvetica': (Helvetica, Arial, "Nimbus Sans L", sans-serif),
12
- 'lucida-grande': ("Lucida Grande", "Lucida Sans Unicode", "Bitstream Vera Sans", sans-serif),
13
- 'monospace': ("Courier New", Courier, "Nimbus Sans L", monospace),
14
- 'system': (-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Helvetica Neue", Helvetica, Arial, sans-serif),
15
- 'verdana': (Verdana, Geneva, "DejaVu Sans", sans-serif),
10
+ 'georgia': (Georgia, 'URW Bookman L', serif),
11
+ 'helvetica': (Helvetica, Arial, 'Nimbus Sans L', sans-serif),
12
+ 'lucida-grande': ('Lucida Grande', 'Lucida Sans Unicode', 'Bitstream Vera Sans', sans-serif),
13
+ 'monospace': ('Courier New', Courier, 'Nimbus Sans L', monospace),
14
+ 'system': (-apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif),
15
+ 'verdana': (Verdana, Geneva, 'DejaVu Sans', sans-serif),
16
16
  );
17
17
 
18
18
  /// Return a font stack list from a map. Equivalent to `map-safe-get($name, $-zf-font-stack)`.