<template>
  <span 
    class="ctrl-pano-c fun-ctrl strengthen-right strengthen-top strengthen-bottom"
    v-if="custom.viewMode !== 'full' && custom.showLeftCtrlPano" 
    @click="custom.showLeftPano = !custom.showLeftPano"
    :class="{ active: custom.showLeftPano }">
    <ui-icon type="extend" class="icon"></ui-icon>
  </span>
  <div class="left-pano strengthen">
    <slot></slot>
  </div>
</template>

<script lang="ts" setup>
import { custom } from '@/env'
</script>

<style lang="scss" scoped>
.left-pano {
  position: absolute;
  width: var(--left-pano-width);
  background: rgba(27,27,28,0.8);
  top: calc(var(--editor-head-height) + var(--header-top));
  left: var(--left-pano-left);
  bottom: var(--editor-menu-bottom);
  z-index: 1000;
  backdrop-filter: blur(4px);
  overflow-y: auto;
  transition: all .3s ease;
}

.ctrl-pano-c {
  position: absolute;
  left: calc(var(--left-pano-left) + var(--left-pano-width));
  width: 20px;
  height: 80px;
  background: rgba(26, 26, 26, 0.8);
  border-radius: 0 6px 6px 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  cursor: pointer;
  transition: inset .3s ease, color .3s ease;

  &:hover {
    color: rgba(255, 255, 255, 1);
  }

  &:active {
    color: var(--colors-primary-base);
  }

  .icon {
    display: inline-block;
    transition: transform .3s ease;
    transform: rotate(0)
  }
  &.active {
    .icon {
      transform: rotate(180deg);
    }
  }
}
</style>