Skip to content
Snippets Groups Projects
cta-liftup-image-text.tsx 2.22 KiB
Newer Older
  • Learn to ignore specific revisions
  • import { Component, ComponentInterface, Prop, h } from '@stencil/core';
    
    
    @Component({
      tag: 'hy-cta-liftup-image-text',
      styleUrl: 'cta-liftup-image-text.scss',
      shadow: true,
    })
    export class CtaLiftupImageText implements ComponentInterface {
    
        @Prop() imageRight: boolean = false;
        @Prop() imageUrl: string = null;
        @Prop() imageAlt: string = "";
        @Prop() textTitle?: string;
        @Prop() textDescription: string = null;
        @Prop() mainUrl?: string;
        @Prop() mainUrlTitle?: string;
        @Prop() mainUrlAriaLabel?: string;
        @Prop() mainUrlIsExternal: boolean = false;
        @Prop() standaloneUrl?: string;
        @Prop() standaloneUrlTitle?: string;
        @Prop() standaloneUrlAriaLabel?: string;
        @Prop() standaloneUrlIsExternal: boolean = false;
    
        const classAttributes = ["hy-cta-liftup-image-text"].join(" ");
        const contentClassAttributes = ["hy-cta-liftup-image-text__text-container"].join(" ");
    
        const imageLeft = !this.imageRight;
    
    
          <div class={classAttributes}>
            { imageLeft &&
              <div class="hy-cta-liftup-image-text__image-container">
                <img aria-hidden="true" src={this.imageUrl} alt={this.imageAlt} />
              </div>
            }
            <div class={contentClassAttributes}>
              <div class="hy-cta-liftup-image-text__text-container__title">{ this.textTitle }</div>
              <div class="hy-cta-liftup-image-text__text-container__description">{ this.textDescription }</div>
              <hy-cta-link-button link-content={this.mainUrlTitle}
                                  aria-label={this.mainUrlAriaLabel}
                                  url={this.mainUrl}
                                  is-external={this.mainUrlIsExternal}
              />
              {this.standaloneUrl &&
                <hy-standalone-link
                    link-content={this.standaloneUrlTitle}
                    aria-label={this.standaloneUrlAriaLabel}
                    url={this.standaloneUrl}
                    is-external={this.standaloneUrlIsExternal}
                />
              }
            </div>
            { this.imageRight &&
              <div class="hy-cta-liftup-image-text__image-container">
                <img aria-hidden="true" src={this.imageUrl} alt={this.imageAlt} />
              </div>
            }
          </div>