UCI
<div class="menu-tab__wrapper">
    <div class="menu-tab" role="tablist">

        <div class="menu-tab-scroller">

            <div class="menu-tab-scroller__scroll menu-tab-scroller__scroll--fixed ">

                <div class="menu-tab-scroller__scroll-content">

                    <button class="menu-tab-button menu-tab-item active      " role="tab" aria-selected="true" tabindex="0" id="tab-1">
                        <span class="menu-tab__content">
                            <span class="menu-tab__text-label"> <span class="caption-call-to-action">Fija</span>
                            </span>
                        </span>
                        <span class="menu-tab-indicator menu-tab-indicator">
                            <span class="menu-tab-indicator__content menu-tab-indicator__content--underline"></span>
                        </span>
                        <span class="menu-tab__ripple mdc-ripple-upgraded"></span>
                    </button>
                    <button class="menu-tab-button menu-tab-item       " role="tab" aria-selected="true" tabindex="0" id="tab-2">
                        <span class="menu-tab__content">
                            <span class="menu-tab__text-label"> <span class="caption-call-to-action">Mixta</span>
                            </span>
                        </span>
                        <span class="menu-tab-indicator menu-tab-indicator">
                            <span class="menu-tab-indicator__content menu-tab-indicator__content--underline"></span>
                        </span>
                        <span class="menu-tab__ripple mdc-ripple-upgraded"></span>
                    </button>
                    <button class="menu-tab-button menu-tab-item inactive      " role="tab" aria-selected="true" tabindex="0" id="tab-3">
                        <span class="menu-tab__content">
                            <span class="menu-tab__text-label"> <span class="caption-call-to-action">Variable</span>
                            </span>
                        </span>
                        <span class="menu-tab-indicator menu-tab-indicator">
                            <span class="menu-tab-indicator__content menu-tab-indicator__content--underline"></span>
                        </span>
                        <span class="menu-tab__ripple mdc-ripple-upgraded"></span>
                    </button>
                </div>

            </div>

        </div>
    </div>
    <!--content menu-tab-->
</div>
{{#if isNoSplitter}}
<div class="menu-tab__wrapper">
    <div class="menu-tab{{#if isCard}} isCard{{/if}}{{#if isFixedInScroll}} fixedOnScroll{{/if}}" role="tablist" {{#if
        hasID}}id="{{idComponent}}" {{/if}}>

        {{#if isSwiper}}
        <div class="swiper-navigation">
            <div class="swiper-button-prev">
                {{ render '@icon--16-chevron-left' }}
            </div>
        </div>
        {{/if}}
        <div class="menu-tab-scroller">

            <div
                class="menu-tab-scroller__scroll menu-tab-scroller__scroll--{{type}} {{#if isSwiper}} swiper-container{{/if}}{{#if isSwiperVariant}} swiper-container{{/if}}">

                <div
                    class="menu-tab-scroller__scroll-content{{#if isFixed}} row{{/if}}{{#if isSwiper}} swiper-wrapper{{/if}}{{#if isSwiperVariant}} swiper-wrapper{{/if}}">


                    {{#each menuTab}}
                    {{#if isCard}}
                    <button
                        class="menu-tab-button col-xs-6 col-ms-6 col-sm-6 col-lg-6 col{{#if isSwiper}} swiper-slide{{/if}}{{#if isSwiperVariant}} swiper-slide{{/if}}">
                        {{> '@card-contact' card}}
                    </button>
                    {{else}}
                    <button
                        class="menu-tab-button menu-tab-item {{state}} {{#if isFixed}} col-xs-4{{/if}}  {{#if isSwiper}} swiper-slide{{/if}}  {{#if isSwiperVariant}} swiper-slide{{/if}} "
                        role="tab" aria-selected="true" tabindex="0" id="{{idItem}}">
                        <span class="menu-tab__content">
                            {{#if hasIcon}}
                            <i class="menu-tab__content--icon" aria-hidden="true">
                                {{> '@icon' iconTab}}
                            </i>
                            {{/if}}
                            <span class="menu-tab__text-label">{{> '@caption' labelCta}}</span>
                        </span>
                        <span class="menu-tab-indicator menu-tab-indicator">
                            <span class="menu-tab-indicator__content menu-tab-indicator__content--underline"></span>
                        </span>
                        <span class="menu-tab__ripple mdc-ripple-upgraded"></span>
                    </button>
                    {{/if}}
                    {{/each}}
                </div>

            </div>

        </div>
        {{#if isSwiperVariant}}
        <div class="swiper-navigation">
            <div class="swiper-button-prev">
                {{ render '@icon--16-arrow-left' }}
            </div>
        </div>
        {{/if}}
        {{#if isSwiperVariant}}
        <div class="swiper-navigation">
            <div class="swiper-button-next">
                {{ render '@icon--16-arrow-right' }}
            </div>
        </div>
        {{/if}}
        {{#if isSwiper}}
        <div class="swiper-navigation">
            <div class="swiper-button-next">
                {{ render '@icon--16-chevron-right' }}
            </div>
        </div>
        {{/if}}
    </div>
    <!--content menu-tab-->
    {{#if hasMenuTabContent}}
    <div class="menu-tab-content" id="">
        {{#each menuTabContent}}
        <!-- EJEMPLO. NO SE INTEGRA. (CA)-->
        <div class="menu-tab-content__item {{state}}" role="{{content}}">
            {{#if isFixedInScroll}}
            {{ render '@columns-form--full-width-component-and-steps' }} 
            {{else}}
            {{ render '@columns-form--full-width-component' }} 
            {{/if}} 
            {{example}}
        </div>
        {{/each}}
    </div>
    {{/if}}
</div>
{{else}}
{{#extend '@splitter' splitter }}
{{#content 'content-first-column'}}
<div class="menu-tab__wrapper">
    <div class="menu-tab{{#if isCard}} isCard{{/if}}{{#if isFixedInScroll}} fixedOnScroll{{/if}}" role="tablist" {{#if
        hasID}}id="{{idComponent}}" {{/if}}>

        {{#if isSwiper}}
        <div class="swiper-navigation">
            <div class="swiper-button-prev">
                {{ render '@icon--16-chevron-left' }}
            </div>
        </div>
        {{/if}}
        <div class="menu-tab-scroller">

            <div
                class="menu-tab-scroller__scroll menu-tab-scroller__scroll--{{type}} {{#if isSwiper}} swiper-container{{/if}}">

                <div
                    class="menu-tab-scroller__scroll-content{{#if isFixed}} row{{/if}}{{#if isSwiper}} swiper-wrapper{{/if}}">


                    {{#each menuTab}}
                    {{#if isCard}}
                    <button
                        class="menu-tab-button col-xs-6 col-ms-6 col-sm-6 col-lg-6 col{{#if isSwiper}} swiper-slide{{/if}}">
                        {{> '@card-contact' card}}
                    </button>
                    {{else}}
                    <button
                        class="menu-tab-button menu-tab-item {{state}} {{#if isFixed}} col-xs-4{{/if}} {{#if isSwiper}} swiper-slide{{/if}}"
                        role="tab" aria-selected="true" tabindex="0" id="{{idItem}}">
                        <span class="menu-tab__content">
                            {{#if hasIcon}}
                            <i class="menu-tab__content--icon" aria-hidden="true">
                                {{> '@icon' iconTab}}
                            </i>
                            {{/if}}
                            <span class="menu-tab__text-label">{{> '@caption' labelCta}}</span>
                        </span>
                        <span class="menu-tab-indicator menu-tab-indicator">
                            <span class="menu-tab-indicator__content menu-tab-indicator__content--underline"></span>
                        </span>
                        <span class="menu-tab__ripple mdc-ripple-upgraded"></span>
                    </button>
                    {{/if}}
                    {{/each}}
                </div>

            </div>

        </div>
        {{#if isSwiper}}
        <div class="swiper-navigation">
            <div class="swiper-button-next">
                {{ render '@icon--16-chevron-right' }}
            </div>
        </div>
        {{/if}}
    </div>
    <!--content menu-tab-->
    <div class="menu-tab-content" id="">
        {{#each menuTabContent}}
        <!-- EJEMPLO. NO SE INTEGRA. (CA)-->
        <div class="menu-tab-content__item {{state}}" role="{{content}}">
            {{#if isFixedInScroll}}
            {{ render '@columns-form--full-width-component-and-steps' }} 
            {{else}}
            {{ render '@columns-form--full-width-component' }} 
            {{/if}} 
            {{example}}
        </div>
        {{/each}}
    </div>
</div>
{{/content}}
{{/extend}}
{{/if}}
{
  "splitter": {
    "oneColumn": true,
    "bgColorWhite": true,
    "paddingTopLarge": true,
    "paddingBottomLarge": true
  },
  "type": "fixed",
  "menuTab": [
    {
      "idItem": "tab-1",
      "hasIcon": false,
      "state": "active",
      "labelCta": {
        "type": "-call-to-action",
        "text": "Fija"
      }
    },
    {
      "idItem": "tab-2",
      "hasIcon": false,
      "state": "",
      "labelCta": {
        "type": "-call-to-action",
        "text": "Mixta"
      }
    },
    {
      "idItem": "tab-3",
      "hasIcon": false,
      "state": "inactive",
      "labelCta": {
        "type": "-call-to-action",
        "text": "Variable"
      }
    }
  ],
  "menuTabContent": [
    {
      "state": "active",
      "content": "content1",
      "example": "texto contenedor 1"
    },
    {
      "content": "content2",
      "example": "texto contenedor 2"
    },
    {
      "content": "content3",
      "example": "texto contenedor 3"
    }
  ],
  "isNoSplitter": true,
  "hasMenuTabContent": false
}
  • Content:
    .menu-tab {
      width: 100%;
      height: 50px;
      display: flex;
      gap: 8px;
    
      @media (--viewport-ms-max) {
        &.fixedOnScroll {
          background-color: var(--color-white);
          position: -webkit-sticky;
          position: sticky;
          top: var(--header-height, 0);
          z-index: 2;
        }
      }
    
      &-item {
        color: #191919;
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        height: 50px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        margin: 0;
        padding: 0 32px;
        border: none;
        outline: none;
        background: none;
        text-align: center;
        white-space: nowrap;
        cursor: pointer;
        -webkit-appearance: none;
        z-index: 1;
        width: auto;
        border-bottom: 1px solid var(--color-gray-80);
    
        .icon {
          fill: var(--color-gray-80);
        }
    
        &.active {
          border-bottom: 1px solid var(--color-secondary-brand);
          color: var(--color-secondary-brand);
    
          .menu-tab-indicator {
            border-bottom: 1px solid var(--color-secondary-brand);
            color: var(--color-secondary-brand);
          }
    
          .icon {
            fill: var(--color-secondary-brand);
          }
        }
    
        &--disabled {
          border-bottom: 1px solid var(--color-gray-40);
          color: var(--color-gray-40);
          pointer-events: none;
    
          .menu-tab-indicator {
            border-bottom: 1px solid var(--color-gray-40);
            color: var(--color-gray-40);
          }
    
          .icon {
            fill: var(--color-gray-40);
          }
        }
      }
    
      &__content {
        display: flex;
        justify-content: center;
        align-items: center;
    
        &--underline {
          border-color: var(--color-text-primary);
          border-top-width: 0;
          align-self: flex-end;
          box-sizing: border-box;
          width: 100%;
          border-top-style: solid;
        }
    
        &--icon {
          color: var(--color-primary);
          display: flex;
          justify-content: center;
          align-items: center;
          margin-right: 8px;
        }
    
      }
    
      &-indicator {
        display: flex;
        position: absolute;
        top: 0;
        left: 0;
        justify-content: center;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 1;
        border-bottom: 1px solid #191919;
    
        &--active {
          border-bottom: 1px solid #e4002b;
          color: #e4002b;
        }
    
        &--disabled {
          border-bottom: 1px solid #cdcdcd;
          color: #cdcdcd;
          pointer-events: none;
        }
      }
    
      &-scroller {
        overflow: hidden;
        width: 100%;
    
        &__scroll {
          display: flex;
    
          &-content {
            position: relative;
            display: flex;
            -webkit-transform: none;
            transform: none;
            will-change: transform;
            flex: 1 0 auto;
            @media (min-width: 1023px) and (max-width: 1078px){
              flex:auto;/*para evitar un bug a 1024*/
            }
            align-items: center;
            height: 50px;
            gap: 8px;
          }
    
          &--hug {
            &-start {
              .menu-tab-scroller__scroll-content {
                justify-content: flex-start;
              }
            }
    
            &-center {
              .menu-tab-scroller__scroll-content {
                justify-content: center;
              }
            }
          }
    
          &--fixed {
            overflow: hidden;
            @media (--viewport-ms-max) {
              width: calc(100% + 60px);
              padding: 0 30px;
              margin: 0 -30px;
              background-color: var(--color-white);
            }
            @media (--viewport-xs-max) {
              width: calc(100% + 40px);
              padding: 0 20px;
              margin: 0 -20px;
            }
    
            .menu-tab-scroller__scroll-content {
              justify-content: flex-start;
              flex-flow: nowrap;
            }
    
            .menu-tab-item {
              min-width: 90px;
              flex: 1 0 auto;
              width: auto;
            }
    
            &.swiper-container {
              overflow: visible;
    
              &+.swiper-navigation {
                padding: 17px 0;
                display: flex;
                margin-left: auto;
                margin-right: auto;
                padding: 0;
                justify-content: space-between;
                align-items: center;
    
                .swiper-button-prev,
                .swiper-container-rtl .swiper-button-next {
                  background: var(--color-white);
                }
    
                .swiper-button-next,
                .swiper-container-rtl .swiper-button-prev {
                  background: var(--color-white);
                }
              }
            }
    
            .swiper-wrapper {
              margin-left: 0;
              margin-right: 0;
            }
          }
        }
      }
    
      &-content {
        &__item {
          display: none;
          flex-flow: column;
          width: 100%;
    
          &.active {
            display: flex;
          }
        }  
        .splitter {
          .container {
            margin: 0;
            padding: 0;
    
            .splitter__wrapper {
              margin: 0;
              padding: 0;
              background: none;
            }
          }
        }
      }
    
      /* Swiper Variation*/
      .swiper {
        &-pagination {
          margin: 0 50px;
    
          &-bullet {
            width: 10px;
            height: 10px;
            margin-left: 5px;
            margin-right: 5px;
          }
    
          &-bullet-active {
            background: var(--color-accent);
          }
        }
    
        &-pagination,
        &-button-prev,
        &-button-next {
          position: relative;
    
          &::after {
            display: none;
          }
    
          .icon {
            height: 20px;
            width: 28px;
            fill: var(--color-accent);
          }
        }
    
        &-button-next,
        &-button-prev {
          top: 0;
          width: 50px;
          height: 50px;
          margin-top: 0;
          left: 0;
    
          &.swiper-button-disabled,
          &.swiper-button-disabled {
            display: none;
          }
        }
      }
    
      &.isCard {
        height: auto;
    
        .menu-tab-scroller__scroll-content {
          height: auto;
          grid-gap: 0;
    
          button {
            height: 100%;
    
            .card-contact {
              width: 100%;
              border: 1px solid var(--color-text-primary);
              padding: 40px 48px;
    
              &.inactive {
                border: solid 1px var(--color-border);
              }
            }
          }
    
          @media (--viewport-ms-max) {
            gap: 16px;
            flex-direction: column;
            flex: auto;
    
            button {
              flex-basis: fit-content;
              max-width: 100%;
              width: 100%;
    
              .card-contact {
                height: auto;
    
                .card-contact__title {
                  span {
                    display: none;
                  }
    
                  .title-m {
                    font: 16px/24px 'Jornada Sans Medium';
                  }
                }
              }
            }
          }
        }
    
        @media (--viewport-ms-max) {
          &.fixedOnScroll {
            .menu-tab-scroller {
              overflow: visible;
            }
    
            .menu-tab-scroller__scroll--fixed {
              overflow: visible;
            }
    
            .menu-tab-scroller__scroll-content {
              overflow-x: scroll;
              scrollbar-width: none;
    
              @media (--viewport-sm-max) {
                gap: 0;
                flex-direction: row;
                flex: auto;
    
                button {
                  /*flex-basis: fit-content;
                            max-width: initial;
                            width: initial;*/
                  max-width: 100%;
                  width: 100%;
                  flex: auto;
    
                  .card-contact {
                    height: auto;
                    padding: 16px;
    
                    .card-contact__content {
                      display: flex;
                      align-items: center;
                      justify-content: center;
                      gap: 16px;
    
                      .card-contact__link {
                        display: none;
                      }
    
                      .card-contact__pic {
                        margin-bottom: 0;
                      }
    
                      .card-contact__title {
                        margin-bottom: 0;
    
                        span {
                          display: none;
                        }
    
                        .title-m {
                          font: 16px 'Jornada Sans Medium';
                          line-height: 0;
                          padding-top: 3px;
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  • URL: /components/raw/menu-tab/menu-tab.css
  • Filesystem Path: src/02-molecules/menu-tab/menu-tab.css
  • Size: 8.2 KB

No notes defined.