From f2f3db6302657fc99c11f5e9ce323615f182bf07 Mon Sep 17 00:00:00 2001 From: Will H McMahan Date: Thu, 9 Feb 2017 10:47:14 -0500 Subject: [PATCH] Inherit undefined media grid properties from global neat-grid https://github.com/thoughtbot/neat/issues/532 --- core/_neat.scss | 1 + core/neat/functions/_neat-merge-defaults.scss | 23 +++++++++++++++++++ .../functions/_retrieve-neat-settings.scss | 10 +------- core/neat/mixins/_grid-media.scss | 2 +- 4 files changed, 26 insertions(+), 10 deletions(-) create mode 100644 core/neat/functions/_neat-merge-defaults.scss diff --git a/core/_neat.scss b/core/_neat.scss index bce8f29e..08e86a4e 100644 --- a/core/_neat.scss +++ b/core/_neat.scss @@ -11,6 +11,7 @@ @import "neat/functions/neat-column-width"; @import "neat/functions/neat-column-ratio"; @import "neat/functions/neat-float-direction"; +@import "neat/functions/neat-merge-defaults"; @import "neat/functions/neat-opposite-direction"; @import "neat/functions/neat-parse-columns"; @import "neat/functions/neat-parse-media"; diff --git a/core/neat/functions/_neat-merge-defaults.scss b/core/neat/functions/_neat-merge-defaults.scss new file mode 100644 index 00000000..a4ac2a8e --- /dev/null +++ b/core/neat/functions/_neat-merge-defaults.scss @@ -0,0 +1,23 @@ +@charset "UTF-8"; +/// Apply Neat's default properties to undefined values within a map. +/// +/// @argument {map} $grid +/// +/// @return {map} +/// +/// @example scss +/// _retrieve-neat-setting($neat-grid) +/// +/// @access private + +@function _neat-merge-defaults($grid) { + $_merged-grid: map-merge(( + columns: 12, + gutter: 20px, + media: null, + color: rgba(#00d4ff, 0.25), + direction: ltr, + ), $grid); + + @return $_merged-grid; +} diff --git a/core/neat/functions/_retrieve-neat-settings.scss b/core/neat/functions/_retrieve-neat-settings.scss index ef7ce368..e1db68d8 100644 --- a/core/neat/functions/_retrieve-neat-settings.scss +++ b/core/neat/functions/_retrieve-neat-settings.scss @@ -14,14 +14,6 @@ /// @access private @function _retrieve-neat-setting($grid, $setting) { - $_neat-grid-defaults: map-merge(( - columns: 12, - gutter: 20px, - media: null, - color: rgba(#00d4ff, 0.25), - direction: ltr, - ), $neat-grid); - - $_grid-settings: map-merge($_neat-grid-defaults, $grid); + $_grid-settings: map-merge(_neat-merge-defaults($neat-grid), $grid); @return map-get($_grid-settings, $setting); } diff --git a/core/neat/mixins/_grid-media.scss b/core/neat/mixins/_grid-media.scss index 47d1b68e..d4eaa68c 100644 --- a/core/neat/mixins/_grid-media.scss +++ b/core/neat/mixins/_grid-media.scss @@ -50,7 +50,7 @@ @media #{$_query} { $_default-neat-grid: $neat-grid; - $neat-grid: $grid !global; + $neat-grid: map-merge($neat-grid, $grid) !global; @content; $neat-grid: $_default-neat-grid !global; }