@use 'sass:map';
@use 'variables' as *;

$utilities: map.merge(
  (
    'margin': (
      property: margin,
      class: m,
      values: map.merge($spacers, (auto: auto))
    ),
    'margin-x': (
      property: margin-left margin-right,
      class: m-x,
      values: map.merge($spacers, (auto: auto))
    ),
    'margin-y': (
      property: margin-top margin-bottom,
      class: m-y,
      values: map.merge($spacers, (auto: auto))
    ),
    'margin-top': (
      property: margin-top,
      class: m-t,
      values: map.merge($spacers, (auto: auto))
    ),
    'margin-right': (
      property: margin-right,
      class: m-r,
      values: map.merge($spacers, (auto: auto))
    ),
    'margin-bottom': (
      property: margin-bottom,
      class: m-b,
      values: map.merge($spacers, (auto: auto))
    ),
    'margin-left': (
      property: margin-left,
      class: m-l,
      values: map.merge($spacers, (auto: auto))
    ),
    'negative-margin': (
      property: margin,
      class: m,
      values: $negative-spacers
    ),
    'negative-margin-x': (
      property: margin-left margin-right,
      class: m-x,
      values: $negative-spacers
    ),
    'negative-margin-y': (
      property: margin-top margin-bottom,
      class: m-y,
      values: $negative-spacers
    ),
    'negative-margin-top': (
      property: margin-top,
      class: m-t,
      values: $negative-spacers
    ),
    'negative-margin-right': (
      property: margin-right,
      class: m-r,
      values: $negative-spacers
    ),
    'negative-margin-bottom': (
      property: margin-bottom,
      class: m-b,
      values: $negative-spacers
    ),
    'negative-margin-left': (
      property: margin-left,
      class: m-l,
      values: $negative-spacers
    ),
    'padding': (
      property: padding,
      class: p,
      values: $spacers
    ),
    'padding-x': (
      property: padding-left padding-right,
      class: p-x,
      values: $spacers
    ),
    'padding-y': (
      property: padding-top padding-bottom,
      class: p-y,
      values: $spacers
    ),
    'padding-top': (
      property: padding-top,
      class: p-t,
      values: $spacers
    ),
    'padding-right': (
      property: padding-right,
      class: p-r,
      values: $spacers
    ),
    'padding-bottom': (
      property: padding-bottom,
      class: p-b,
      values: $spacers
    ),
    'padding-left': (
      property: padding-left,
      class: p-l,
      values: $spacers
    )
  ),
  $utilities
);
