@use 'def.scss';
@use 'theme.scss';

.#{def.$iconfont-css-prefix} {
  display: inline-block;
  color: theme.$icon-color;
  font-style: normal;
  line-height: 0;
  text-align: center;
  text-transform: none;
  vertical-align: -0.125em; // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  >* {
    line-height: 1;
  }

  svg {
    display: inline-block;
  }

  &::before {
    display: none; // dont display old icon.
  }

  & &-icon {
    display: block;
  }

  // https://github.com/ant-design/ant-design/issues/33703
  &>& {
    line-height: 0;
    vertical-align: 0;
  }

  &[tabindex] {
    cursor: pointer;
  }
}

.#{def.$iconfont-css-prefix}-spin,
.#{def.$iconfont-css-prefix}-spin::before {
  display: inline-block;
  animation: loadingCircle 1s infinite linear;
}