Newer
Older
import {Component, ComponentInterface, Prop, h} from '@stencil/core';
@Component({
tag: 'hy-cta-liftup-image-text',
styleUrl: 'cta-liftup-image-text.scss',
})
export class CtaLiftupImageText implements ComponentInterface {
Ekaterina Kondareva
committed
@Prop() imageRight: boolean = false;
@Prop() imageUrl: string = null;
Ekaterina Kondareva
committed
@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;
@Prop() standaloneUrl2?: string;
@Prop() standaloneUrlTitle2?: string;
@Prop() standaloneUrlAriaLabel2?: string;
@Prop() standaloneUrlIsExternal2: boolean = false;
'hy-cta-liftup-image-text',
this.imageRight ? 'hy-cta-liftup-image-text--right-image' : null
].join(' ');
Ekaterina Kondareva
committed
const contentClassAttributes = [
'hy-cta-liftup-image-text__text-container',
this.imageRight
? 'hy-cta-liftup-image-text__text-container--left'
: 'hy-cta-liftup-image-text__text-container--right'
].join(' ');
'hy-cta-liftup-image-text__image-container',
'hy-cta-liftup-image-text__image-container--right'
].join(' ');
const imageLeftClassAttributes = ['hy-cta-liftup-image-text__image-container'].join(' ');
const imageLeft = !this.imageRight;
Ekaterina Kondareva
committed
const aspectRatioWidth = 4;
const aspectRatioHeight = 3;
<div class={classAttributes}>
Ekaterina Kondareva
committed
<hy-image
image-url={this.imageUrl}
image-alt={this.imageAlt}
aspect-ratio-width={aspectRatioWidth}
aspect-ratio-height={aspectRatioHeight}
<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>
{this.mainUrl && (
<div class="hy-cta-liftup-image-text__text-container__link">
Ekaterina Kondareva
committed
<hy-cta-link-button
link-content={this.mainUrlTitle}
Ekaterina Kondareva
committed
sc-label={this.mainUrlAriaLabel}
Ekaterina Kondareva
committed
url={this.mainUrl}
is-external={this.mainUrlIsExternal}
/>
<div class="hy-cta-liftup-image-text__text-container__standalonelink">
Ekaterina Kondareva
committed
<hy-standalone-link
link-content={this.standaloneUrlTitle}
Ekaterina Kondareva
committed
sc-label={this.standaloneUrlAriaLabel}
Ekaterina Kondareva
committed
url={this.standaloneUrl}
is-external={this.standaloneUrlIsExternal}
/>
)}
{this.standaloneUrl2 && (
<div class="hy-cta-liftup-image-text__text-container__standalonelink">
Ekaterina Kondareva
committed
<hy-standalone-link
link-content={this.standaloneUrlTitle2}
Ekaterina Kondareva
committed
sc-label={this.standaloneUrlAriaLabel2}
Ekaterina Kondareva
committed
url={this.standaloneUrl2}
is-external={this.standaloneUrlIsExternal2}
/>
Ekaterina Kondareva
committed
<hy-image
image-url={this.imageUrl}
image-alt={this.imageAlt}
aspect-ratio-width={aspectRatioWidth}
aspect-ratio-height={aspectRatioHeight}