The first instance in each code block is for approach 1
The second instance in each code block is for approach 2
<custom-button [buttonConfig]="{name:"send", type: "submit", isDisabled: false}"></custom-button>
OR
<custom-button name="send" type="submit" [isDisabled]="false"></custom-button>
@Input() buttonConfig: btnType = {} // can have some default obj
OR
@Input() name: string;
@Input() type: string;
@Input() isDisabled: boolean;
<button [type]="buttonConfig.type" [disabled]="buttonConfig.isDisabled">{{buttonConfig.name}}</button>
OR
<button [type]="type" [disabled]="isDisabled">{{name}}</button>