/* === Picker === */
@import './picker-vars.less';

.picker {
  width: 100%;
  height: var(--f7-picker-height);
  &.picker-inline {
    height: var(--f7-picker-inline-height);
  }
  .popover & {
    height: var(--f7-picker-popover-height);
  }
  @media (orientation: landscape) and (max-height: 415px) {
    &:not(.picker-inline) {
      height: var(--f7-picker-landscape-height);
    }
  }
  &.sheet-modal {
    background: var(--f7-picker-sheet-bg-color, var(--f7-sheet-bg-color));
  }
}
.picker-popover {
  width: var(--f7-picker-popover-width);
  .toolbar {
    .hairline-remove(top);
    background: none;
    border-radius: var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0;
  }
  .toolbar + .picker-columns {
    height: calc(100% - var(--f7-toolbar-height));
  }
}
.picker-columns {
  display: flex;
  overflow: hidden;
  justify-content: center;
  padding: 0;
  text-align: right;
  height: 100%;
  position: relative;
  -webkit-mask-box-image: linear-gradient(
    to top,
    transparent,
    transparent 5%,
    white 20%,
    white 80%,
    transparent 95%,
    transparent
  );
  font-size: var(--f7-picker-column-font-size);
}
.picker-column {
  position: relative;
  max-height: 100%;
  &.picker-column-first:before,
  &.picker-column-last:after {
    height: 100%;
    width: 100vw;
    position: absolute;
    content: '';
    top: 0;
  }
  &.picker-column-first:before {
    .ltr({
      right: 100%;
    });
    .rtl({
      left: 100%;
    });
  }
  &.picker-column-last:after {
    .ltr({
      left: 100%;
    });
    .rtl({
      right: 100%;
    });
  }
  &.picker-column-left {
    text-align: left;
  }
  &.picker-column-center {
    text-align: center;
  }
  &.picker-column-right {
    text-align: right;
  }
  &.picker-column-divider {
    display: flex;
    align-items: center;
    color: var(--f7-picker-divider-text-color);
  }
}
.picker-items {
  overflow: auto;
  scrollbar-width: none;
  scroll-snap-type: y mandatory;
  height: 100%;
  box-sizing: border-box;
  padding: var(--f7-picker-scroll-padding, 0px) 0px;
  &::-webkit-scrollbar {
    display: none;
    opacity: 0;
  }
}
.picker-item {
  height: var(--f7-picker-item-height);
  line-height: var(--f7-picker-item-height);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  left: 0;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  color: var(--f7-picker-item-text-color);
  cursor: pointer;
  scroll-snap-align: center;
  span {
    padding: 0 10px;
  }
  &.picker-item-far {
    pointer-events: none;
  }
  &.picker-item-selected {
    color: var(--f7-picker-item-selected-text-color);
    transform: translate3d(0, 0, 0) rotateX(0deg);
  }
  .picker-column-free-mode & {
    scroll-snap-align: none;
  }
}
.picker-center-highlight {
  height: var(--f7-picker-item-height);
  box-sizing: border-box;
  position: absolute;
  left: 16px;
  right: 16px;
  top: 50%;
  margin-top: calc(-1 * var(--f7-picker-item-height) / 2);
  pointer-events: none;
  background-color: var(--f7-picker-item-selected-bg-color);
  border-radius: 8px;
  .popover & {
    left: 8px;
    right: 8px;
  }
}
.picker-3d {
  .picker-columns {
    overflow: hidden;
  }
  .picker-column,
  .picker-items,
  .picker-item {
    transform-style: preserve-3d;
  }
  .picker-column {
    overflow: visible;
  }
  .picker-item {
    perspective: 1200px;
    overflow: visible;

    > span {
      backface-visibility: hidden;
      display: block;
      transform-style: preserve-3d;
      position: relative;
      overflow: hidden;
      text-overflow: ellipsis;
      box-sizing: border-box;
      max-width: 100%;
      transform-origin: center center -100px;
    }
  }
}

.if-ios-theme({
  @import './picker-ios.less';
});
.if-md-theme({
  @import './picker-md.less';
});
.if-aurora-theme({
  @import './picker-aurora.less';
});
