@use "./config";

@mixin base {
  position: relative;
  display: inline-flex;
  width: config.$avatar-size;
  height: config.$avatar-size;
  flex-shrink: 0;
  vertical-align: top;
  border-radius: 50%;
}

@mixin image {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

@mixin image-with-decoration {
  -webkit-mask-image: radial-gradient(
    circle at calc(100% - #{config.$badge-anchor-x}) #{config.$badge-anchor-y},
    transparent #{config.$badge-cutout-radius},
    black calc(#{config.$badge-cutout-radius} + 1px)
  );
  mask-image: radial-gradient(
    circle at calc(100% - #{config.$badge-anchor-x}) #{config.$badge-anchor-y},
    transparent #{config.$badge-cutout-radius},
    black calc(#{config.$badge-cutout-radius} + 1px)
  );
}

@mixin icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: config.$badge-size;
  height: config.$badge-size;
  background-color: transparent;
  color: var(--color-icon-default);
  line-height: 1;
}

@mixin badge {
  position: absolute;
  top: config.$badge-top;
  right: config.$badge-right;
  z-index: 1;
  width: config.$badge-size;
  height: config.$badge-size;
}
