Breadcrumbs

Extending Fusion Component Example

The easiest way to create new custom components is to extend existing Fusion components. Below is an example of extending the Fusion Text component to create a simple headline.


JavaScript
import { FusionText } from '../../../fusion/slide/text';

class AcmeHeadline extends FusionText {
  static get properties() {
    const {
      'font-size': fontSize,
      'font-weight': fontWeight,
      color,
      ...rest
    } = super.properties;
    return {
      ...rest,
      'font-size': {
        ...fontSize,
        value: '32px',
      },
      'font-weight': {
        ...fontWeight,
        value: '700',
      },
      color: {
        ...color,
        value: 'rgba(227, 146, 80, 1)',
      },
    };
  }

  static get options() {
    return {
      ...super.options,
      componentName: 'acme-headline',
      componentUIName: 'ACME Headline',
      componentCategory: 'text',
      componentDescription: 'Customized headline',
      defaultTemplate: '<p>Headline</p>',
    };
  }
}

export { AcmeHeadline };