@use 'sass:list';
@use './mixins';
@use './tokens' as castor;

// ...$types: 'class' | 'raw';
@mixin theme($name, $types...) {
  $class: list.index($types, 'class');
  $raw: list.index($types, 'raw');

  $selector: if($class, '.castor-theme--#{$name}', null);

  @include mixins.wrap-if($selector) {
    @if not $raw {
      @include castor.tokens();
    }

    @content;

    @media (prefers-reduced-motion) {
      --ods-transition-duration: 0s;
    }
  }
}
