Étendre/remplacement d'un style de réutilisables angular2 composant

En supposant que nous voulons utiliser un composant à partir d'une bibliothèque dans angular2 (exemple de material2). Le composant d'annotation ressemble à ceci:

@Component({
  moduleId: module.id,
  selector: 'md-input',
  templateUrl: 'input.html',
  styleUrls: ['input.css'],
  providers: [MD_INPUT_CONTROL_VALUE_ACCESSOR],
  host: {'(click)' : 'focus()'}
})

Ce composant est livré avec un "défaut" de la feuille de style, l'entrée".css". Si nous utilisons cette composante dans notre application, nous avons susceptibles de vouloir remplacer/étendre certains du style, sans avoir à les copier et à manipuler le composant lui-même. Comment faire cela?

Solution Possible 1: Définir l'Encapsulation de "ViewEncapsulation.Aucun":

Ce n'est pas vraiment une solution, juste une solution de contournement.

Possible Solution 2: Utilisation de "::de l'ombre" ou "/deep/" dans le CSS:

Fonctionne aussi, mais sa obsolète selon WebComponent spec.

Possible Solution 3: Utiliser le CSS et remplacer le composant CSS:

Fonctionne aussi, mais il viole le shadow DOM concept.

Possible Solution 4: Remplacer directement dans le modèle de composant parent:

Exemple:

<my-cmp [font-size]="100"></my-cmp>

N'est pas vraiment adapté si nous faisons beaucoup de raisons.

Possible Solution 5: Remplacer ou étendre le "@Composante" définition avec un supplément de feuille de style en quelque sorte:

Cela semble être la seule solution correcte (au moins pour moi). Mais je n'ai aucune idée de comment faire cela...

Tous les conseils sur ce point? Peut-être que j'ai quelque chose de mal...
Merci.