@use 'sass:map';
@use '../variables';

@mixin spacing-utilities($suffix: '') {
  @each $sp-name, $sp-value in variables.$spacing {
    .m-#{$sp-name}#{$suffix} {
      margin: $sp-value !important;
    }
    .mt-#{$sp-name}#{$suffix} {
      margin-block-start: $sp-value !important;
    }
    .mr-#{$sp-name}#{$suffix} {
      margin-inline-end: $sp-value !important;
    }
    .mb-#{$sp-name}#{$suffix} {
      margin-block-end: $sp-value !important;
    }
    .ml-#{$sp-name}#{$suffix} {
      margin-inline-start: $sp-value !important;
    }
    .mx-#{$sp-name}#{$suffix} {
      margin-inline: $sp-value !important;
    }
    .my-#{$sp-name}#{$suffix} {
      margin-block: $sp-value !important;
    }

    .p-#{$sp-name}#{$suffix} {
      padding: $sp-value !important;
    }
    .pt-#{$sp-name}#{$suffix} {
      padding-block-start: $sp-value !important;
    }
    .pr-#{$sp-name}#{$suffix} {
      padding-inline-end: $sp-value !important;
    }
    .pb-#{$sp-name}#{$suffix} {
      padding-block-end: $sp-value !important;
    }
    .pl-#{$sp-name}#{$suffix} {
      padding-inline-start: $sp-value !important;
    }
    .px-#{$sp-name}#{$suffix} {
      padding-inline: $sp-value !important;
    }
    .py-#{$sp-name}#{$suffix} {
      padding-block: $sp-value !important;
    }
  }
}
