Something went wrong on our end
-
Ekaterina Kondareva authoredEkaterina Kondareva authored
hy-banner.tsx 1.70 KiB
import {Component, Element, Prop, h, Host} from '@stencil/core';
import {CtaLinkButtonVariants} from '../../utils/utils';
@Component({
tag: 'hy-banner',
styleUrl: 'hy-banner.scss',
shadow: false,
})
export class HyBanner {
@Prop() textTitle?: string;
@Prop() textDescription: string = null;
@Prop() url?: string;
@Prop() scLabel?: string;
@Prop() urlTitle?: string;
@Prop() headerstyle: string = 'common';
@Element() el: HTMLElement;
componentDidLoad() {
let hyMainDiv = this.el.closest('.hy-main');
if (hyMainDiv) {
if (!hyMainDiv.classList.contains('with-sidebar')) {
this.headerstyle = 'large';
}
}
}
render() {
const hyBannerClass = ['hy-banner', this.headerstyle].join(' ');
const hyBannerWrapperClass = ['hy-banner__info-container'].join(' ');
const variant = CtaLinkButtonVariants.onBlueBkgd;
return (
<Host>
<hy-box pt="4" />
<div class={hyBannerClass}>
<hy-main-content-wrapper>
<div class={hyBannerWrapperClass}>
<div class="hy-banner__info-container__title">{this.textTitle}</div>
<div class="hy-banner__info-container__description">{this.textDescription}</div>
{this.url && (
<div class="hy-banner__info-container__link">
<hy-cta-button
link-content={this.urlTitle}
sc-label={this.scLabel}
url={this.url}
is-external="false"
variant={variant}
/>
</div>
)}
</div>
</hy-main-content-wrapper>
</div>
<hy-box pb="3, 5, 6" />
</Host>
);
}
}