@use 'styles/helpers.scss' as *;

$scope: 'radio-button';

$themes: (
  'light': (
    'background': rgba(color('light', 'base-white'), 0.05),
    'focus-shadow': rgba(color('light', 'primary-fill-4'), 0.3),
    'disabled-background': rgba(color('light', 'base-black'), 0.05),
    'disabled-border': rgba(color('light', 'base-black'), 0.3),
    'error-background': rgba(color('light', 'semantic-error-fill-2'), 0.05),
    'error-border': color('light', 'semantic-error-fill-2'),
    'unchecked-border': rgba(color('light', 'base-black'), 0.3),
    'unchecked-hover-border': rgba(color('light', 'base-black'), 0.5),
    'checked-border': color('light', 'primary-fill-4'),
    'checked-hover-border': color('light', 'primary-fill-3'),
    'checked-disabled-fill': rgba(color('light', 'base-black'), 0.3),
  ),
  'dark': (
    'background': 'transparent',
    'focus-shadow': rgba(color('dark', 'primary-fill-3'), 0.3),
    'disabled-background': 'transparent',
    'disabled-border': rgba(color('dark', 'base-white'), 0.1),
    'error-background': 'transparent',
    'error-border': color('dark', 'semantic-error-fill-1'),
    'unchecked-border': rgba(color('dark', 'base-white'), 0.2),
    'unchecked-hover-border': rgba(color('dark', 'base-white'), 0.5),
    'checked-border': color('dark', 'accent-primary-fill-1'),
    'checked-hover-border': color('dark', 'accent-primary-fill-3'),
    'checked-disabled-fill': rgba(color('dark', 'base-white'), 0.5),
  ),
);

@mixin radio-button-theme-modifiers() {
  @include theme-modifiers($scope, $themes);
}

@function radio-button-theme-color($name) {
  @return theme-color($scope, $name);
}
