@use 'mixins/mixins' as *;
@use 'mixins/var' as *;
@use 'common/var' as *;


:root,
:host {
  --xzx-nav-bar-height: 48px;
  --xzx-nav-bar-padding: 8px 12px;
  --xzx-nav-bar-background: var(--xzx-color-white);
  --xzx-nav-bar-arrow-size: 24px;
  --xzx-nav-bar-icon-color: var(--xzx-color-primary);
  --xzx-nav-bar-text-color: var(--xzx-text-gray-1);
  --xzx-nav-bar-title-font-size: var(--xzx-text-md);
  --xzx-nav-bar-title-text-color: var(--xzx-text-gray-1);
  --xzx-nav-bar-z-index: 1;
  --xzx-nav-bar-disabled-opacity: 0.5;
}

@include b(nav-bar) {
  position: relative;
  z-index: var(--xzx-nav-bar-z-index);
  line-height: var(--xzx-line-height-lg);
  text-align: center;
  background-color: var(--xzx-nav-bar-background);
  user-select: none;

  @include m(fixed) {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
  }

  @include m(safe-area-inset-top) {
    padding-top: constant(safe-area-inset-top);
    padding-top: env(safe-area-inset-top);
  }

  .#{$namespace}-icon {
    //color: var(--xzx-nav-bar-icon-color);
  }

  @include e(content) {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--xzx-nav-bar-height);
    padding: var(--xzx-nav-bar-padding);
    box-sizing: border-box;
  }

  @include e(arrow) {
    margin-right: var(--xzx-padding-base);
    font-size: var(--xzx-nav-bar-arrow-size);
    display: flex;
  }

  @include e(title) {
    max-width: 60%;
    margin: 0 auto;
    color: var(--xzx-nav-bar-title-text-color);
    font-weight: var(--xzx-font-bold);
    font-size: var(--xzx-nav-bar-title-font-size);
  }

  .#{$namespace}-nav-bar__left,
  .#{$namespace}-nav-bar__right {
    position: absolute;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    padding: 0 var(--xzx-padding-sm);
    font-size: var(--xzx-text-base);

    &--disabled {
      cursor: not-allowed;
      opacity: var(--xzx-nav-bar-disabled-opacity);
    }
  }

  @include e(left) {
    left: 0;
  }

  @include e(right) {
    right: 0;
  }

  @include e(text) {
    color: var(--xzx-nav-bar-text-color);
  }
}
