Skip to content
Snippets Groups Projects
hy-banner.tsx 1.7 KiB
Newer Older
  • Learn to ignore specific revisions
  • import {Component, Element, Prop, h, Host} from '@stencil/core';
    
    Ekaterina Kondareva's avatar
    Ekaterina Kondareva committed
    import {CtaLinkButtonVariants} from '../../utils/utils';
    
    @Component({
      tag: 'hy-banner',
      styleUrl: 'hy-banner.scss',
    
    Ekaterina Kondareva's avatar
    Ekaterina Kondareva committed
    })
    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';
          }
        }
      }
    
    Ekaterina Kondareva's avatar
    Ekaterina Kondareva committed
    
      render() {
    
        const hyBannerClass = ['hy-banner', this.headerstyle].join(' ');
    
    Ekaterina Kondareva's avatar
    Ekaterina Kondareva committed
        const hyBannerWrapperClass = ['hy-banner__info-container'].join(' ');
        const variant = CtaLinkButtonVariants.onBlueBkgd;
    
        return (
    
            <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>
    
    Tuukka Turu's avatar
    Tuukka Turu committed
                  {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>
                  )}
    
            <hy-box pb="3, 5, 6" />
          </Host>