mirror of
				https://github.com/strapi/strapi.git
				synced 2025-11-04 03:43:34 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
  <div class="sidebar-group" :class="{ first, collapsable }">
 | 
						|
    <p class="sidebar-heading" :class="{ open }" @click="$emit('toggle')">
 | 
						|
      <span>{{ item.title }}</span>
 | 
						|
      <span class="arrow"
 | 
						|
        v-if="collapsable"
 | 
						|
        :class="open ? 'down' : 'right'"></span>
 | 
						|
    </p>
 | 
						|
    <DropdownTransition>
 | 
						|
      <ul class="sidebar-group-items" ref="items" v-if="open || !collapsable">
 | 
						|
        <li v-for="child in item.children">
 | 
						|
          <SidebarLink :item="child" :open="open" :collapsable="collapsable"/>
 | 
						|
        </li>
 | 
						|
      </ul>
 | 
						|
    </DropdownTransition>
 | 
						|
  </div>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
import SidebarLink from './SidebarLink.vue'
 | 
						|
import DropdownTransition from './DropdownTransition.vue'
 | 
						|
 | 
						|
export default {
 | 
						|
  name: 'SidebarGroup',
 | 
						|
  props: ['item', 'first', 'open', 'collapsable'],
 | 
						|
  components: { SidebarLink, DropdownTransition }
 | 
						|
}
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="stylus">
 | 
						|
.sidebar-group
 | 
						|
  &:not(.first)
 | 
						|
    margin-top 1em
 | 
						|
  .sidebar-group
 | 
						|
    padding-left 0.5em
 | 
						|
  &:not(.collapsable)
 | 
						|
    .sidebar-heading
 | 
						|
      cursor auto
 | 
						|
      color inherit
 | 
						|
 | 
						|
.sidebar-heading
 | 
						|
  color #999
 | 
						|
  transition color .15s ease
 | 
						|
  cursor pointer
 | 
						|
  font-size 1.1em
 | 
						|
  font-weight bold
 | 
						|
  // text-transform uppercase
 | 
						|
  padding 0 1.5rem
 | 
						|
  margin-top 0
 | 
						|
  margin-bottom 0.5rem
 | 
						|
  &.open, &:hover
 | 
						|
    color inherit
 | 
						|
  .arrow
 | 
						|
    position relative
 | 
						|
    top -0.12em
 | 
						|
    left 0.5em
 | 
						|
  &:.open .arrow
 | 
						|
    top -0.18em
 | 
						|
 | 
						|
.sidebar-group-items
 | 
						|
  transition height .1s ease-out
 | 
						|
  overflow hidden
 | 
						|
</style>
 |