diff --git a/examples/angular-cli/src/stories/inheritance/__snapshots__/inheritance.stories.storyshot b/examples/angular-cli/src/stories/inheritance/__snapshots__/inheritance.stories.storyshot
new file mode 100644
index 00000000000..41a24f5258e
--- /dev/null
+++ b/examples/angular-cli/src/stories/inheritance/__snapshots__/inheritance.stories.storyshot
@@ -0,0 +1 @@
+ this is label
diff --git a/examples/angular-cli/src/stories/inheritance/base-button.component.ts b/examples/angular-cli/src/stories/inheritance/base-button.component.ts
new file mode 100644
index 00000000000..c50445dbd29
--- /dev/null
+++ b/examples/angular-cli/src/stories/inheritance/base-button.component.ts
@@ -0,0 +1,11 @@
+import { Component, Input } from '@angular/core';
+
+@Component({
+ selector: `storybook-base-button`,
+ template: `
+
+ `,
+})
+export class BaseButtonComponent {
+ @Input() label: string;
+}
diff --git a/examples/angular-cli/src/stories/inheritance/icon-button.component.ts b/examples/angular-cli/src/stories/inheritance/icon-button.component.ts
new file mode 100644
index 00000000000..7207072e5cc
--- /dev/null
+++ b/examples/angular-cli/src/stories/inheritance/icon-button.component.ts
@@ -0,0 +1,12 @@
+import { Component, Input } from '@angular/core';
+import { BaseButtonComponent } from './base-button.component';
+
+@Component({
+ selector: `storybook-icon-button`,
+ template: `
+
+ `,
+})
+export class IconButtonComponent extends BaseButtonComponent {
+ @Input() icon: string;
+}
diff --git a/examples/angular-cli/src/stories/inheritance/inheritance.stories.ts b/examples/angular-cli/src/stories/inheritance/inheritance.stories.ts
new file mode 100644
index 00000000000..23cd031a3a0
--- /dev/null
+++ b/examples/angular-cli/src/stories/inheritance/inheritance.stories.ts
@@ -0,0 +1,18 @@
+import { storiesOf } from '@storybook/angular';
+import { IconButtonComponent } from './icon-button.component';
+import { BaseButtonComponent } from './base-button.component';
+
+storiesOf('Inheritance', module)
+ .add('icon button', () => ({
+ component: IconButtonComponent,
+ props: {
+ icon: 'this is icon',
+ label: 'this is label',
+ },
+ }))
+ .add('base button', () => ({
+ component: BaseButtonComponent,
+ props: {
+ label: 'this is label',
+ },
+ }));