@use '../custom-properties';
@use '../theme';

.simple {
  @include theme.property(width, 'calc(x - y)', $replace: (x: 100%, y: 20px));
}

.var {
  $first: custom-properties.create(--m-foo, 16px);
  $second: custom-properties.create(--m-bar, 8px);
  @include theme.property(
    width,
    'calc(first + second)',
    $replace: (first: $first, second: $second)
  );

  @include theme.property(
    height,
    'calc(first + second + first + second)',
    $replace: (first: $first, second: $second)
  );
}

.multiple {
  @include theme.property(width, 'calc(x + x + x)', $replace: (x: 8px));
}

.list {
  @include theme.property(padding, 0 value, $replace: (value: 16px));
}

.replace-nulls {
  // Entire block should be dropped. This should not be emitted.
  @include theme.property(padding, a b, $replace: (a: 16px, b: null));
}
