/**
 * Parse and return the Map respresentation of a margin property
 * The $margin argument will be parsed with the [s-parse-properties](../core/functions/_s-parse-properties.scss) function.
 *
 * @param 			{List|Number} 			$margin 			The margin property to parse
 * @return 			{Map} 										The map representation
 *
 * @example
 * s-margin-map(10px); // => ( top:10px, right:10px, bottom:10px, left:10px )
 * s-margin-map(10px 20px); // => ( top:10px, right:20px, bottom:10px, left:20px )
 * s-margin-map(5px 10px 15px 20px); // => ( top:5px, right:10px, bottom:15px, left:20px )
 *
 * @author 			Olivier Bossel <olivier.bossel@gmail.com> (https://olivierbossel.com)
 */
@function s-margin-map($margin) {
  @if type-of($margin) == number {
    @return (top: $margin, right: $margin, bottom: $margin, left: $margin);
  } @else if type-of($margin) == list and length($margin) == 2 {
    @return (
      top: nth($margin, 1),
      bottom: nth($margin, 1),
      left: nth($margin, 2),
      right: nth($margin, 2)
    );
  } @else if type-of($margin) == list and length($margin) == 4 {
    @return (
      top: nth($margin, 1),
      right: nth($margin, 2),
      bottom: nth($margin, 3),
      left: nth($margin, 4)
    );
  }
}
