/*!
 * SPDX-License-Identifier: Apache-2.0
 *
 * The OpenSearch Contributors require contributions made to
 * this file be licensed under the Apache-2.0 license or a
 * compatible open source license.
 *
 * Modifications Copyright OpenSearch Contributors. See
 * GitHub history for details.
 */

.ouiLoadingSpinner {
  flex-shrink: 0; // Ensures it never scales down below its intended size
  display: inline-block;
  width: $ouiSizeXL;
  height: $ouiSizeXL;
  border-radius: 50%;
  border: solid calc($ouiSizeXS / 2) $ouiColorLightShade;
  border-color: ouiLoadingSpinnerBorderColors();

  // sass-lint:disable-block mixins-before-declarations
  @include ouiCanAnimate {
    animation: ouiLoadingSpinner .6s infinite linear;
  }
}

.ouiLoadingSpinner--small {
  width: $ouiSizeS;
  height: $ouiSizeS;
  border-width: 1px;
}

.ouiLoadingSpinner--medium {
  width: $ouiSize;
  height: $ouiSize;
  border-width: 1px;
}

.ouiLoadingSpinner--large {
  width: $ouiSizeL;
  height: $ouiSizeL;
}

.ouiLoadingSpinner--xLarge {
  width: $ouiSizeXL;
  height: $ouiSizeXL;
}

@keyframes ouiLoadingSpinner {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(359deg);
  }
}
