////
/// Tile Module
/// @group tile
////

@use 'src/module/color';
@use 'src/module/elevation';
@use 'src/module/disabled';

@mixin _tile-scheme($legacy: false) {
  #{ns(tile)} {
    @include color.background(default grey, (legacy: $legacy));

    &:not(&--no-border):not(&--shadow) {
      @include color.background-image((border default grey) (border default grey) (border default grey) (border default grey), (legacy: $legacy));
    }

    &--grey {
      @include color.background(contrast grey, (legacy:$legacy));
    }

    &--shadow {
      @include elevation.elevate(raised, (legacy: $legacy));
    }

    &--shadow#{&}--grey {
      @include color.background(contrast-raised grey, (legacy:$legacy));
    }

    &--no-background {
      @include color.transparent-background((legacy:$legacy, hover: true));
    }

    &__title {
      @include color.text(title grey, (legacy: $legacy));
      @include disabled.selector((can-be-link: true), (legacy: $legacy, text: true, background: true));

      @include before {
        @include color.background-image((border plain grey), (legacy: $legacy));
      }

      a,
      button {
        @include color.text(action-high blue-france, (legacy: $legacy));

        @include before {
          @include color.background-image((border active blue-france), (legacy: $legacy));
        }
      }

      a:not([href]),
      button:disabled {
        @include disabled.colors((legacy: $legacy, text: true));

        @include before {
          @include color.background-image((border disabled grey), (legacy: $legacy));
        }
      }
    }
  }
}
