@import './var.less';

:root {
  --rv-divider-margin: @divider-margin;
  --rv-divider-text-color: @divider-text-color;
  --rv-divider-font-size: @divider-font-size;
  --rv-divider-line-height: @divider-line-height;
  --rv-divider-border-color: @divider-border-color;
  --rv-divider-content-padding: @divider-content-padding;
  --rv-divider-content-left-width: @divider-content-left-width;
  --rv-divider-content-right-width: @divider-content-right-width;
}

.@{rv-prefix}-divider {
  display: flex;
  align-items: center;
  margin: var(--rv-divider-margin);
  color: var(--rv-divider-text-color);
  font-size: var(--rv-divider-font-size);
  line-height: var(--rv-divider-line-height);
  border-color: var(--rv-divider-border-color);
  border-style: solid;
  border-width: 0;

  &::before,
  &::after {
    display: block;
    flex: 1;
    box-sizing: border-box;
    height: 1px;
    border-color: inherit;
    border-style: inherit;
    border-width: var(--rv-border-width-base) 0 0;
  }

  &::before {
    content: '';
  }

  &--vertical {
    position: relative;
    top: -0.06em;
    display: inline-block;
    height: 0.9em;
    vertical-align: middle;
    border-top: 0;
    margin: 0;
    border-left-width: var(--rv-border-width-base);

    &::before,
    &::after {
      content: none;
    }
  }

  &--hairline {
    &::before,
    &::after {
      transform: scaleY(0.5);
    }
  }

  &--dashed {
    border-style: dashed;
  }

  &--content-center,
  &--content-left,
  &--content-right {
    &::before {
      margin-right: var(--rv-divider-content-padding);
    }

    &::after {
      margin-left: var(--rv-divider-content-padding);
      content: '';
    }
  }

  &--content-left {
    &::before {
      max-width: var(--rv-divider-content-left-width);
    }
  }

  &--content-right {
    &::after {
      max-width: var(--rv-divider-content-right-width);
    }
  }
}
