@import "theme/vars.less"; .app_sidebar { position: relative; display: flex; flex-direction: column; left: 0; top: 0; z-index: 1000; overflow: hidden; width: @app_sidebar_collapsed_width; min-width: @app_sidebar_width; height: 100vh; padding: 10px 0; transition: all 150ms ease-in-out; background-color: var(--sidebar-background-color); border-radius: 0 @app_sidebar_borderRadius @app_sidebar_borderRadius 0; border: 1px solid var(--sidebar-background-color); &.floating { position: absolute; } &.collapsed { width: 80px; min-width: 80px; .app_sidebar_menu_wrapper { .ant-menu { .ant-menu-item:not(.user_avatar) { .ant-menu-title-content { animation: disappear 0.3s ease-out forwards; } } } } } &.hidden { flex: 0 !important; min-width: 0 !important; background-color: transparent !important; width: 0 !important; } &.elevated { box-shadow: 0 0 5px 4px rgba(0, 0, 0, 0.1) !important; } .app_sidebar_header { display: flex; flex-direction: column; height: 17%; padding: 10px 0; .app_sidebar_header_logo { display: flex; align-items: center; justify-content: center; img { user-select: none; --webkit-user-select: none; width: 80%; max-height: 80px; } &.collapsed { img { max-width: 40px; } } } } .app_sidebar_menu_wrapper { height: 65%; width: 100%; overflow: overlay; overflow-x: hidden; display: flex; flex-direction: column; align-items: center; transition: all 150ms ease-in-out; &.bottom { position: absolute; bottom: 0; left: 0; height: fit-content; padding-bottom: 30px; } .ant-menu { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; transition: all 150ms ease-in-out; .ant-menu-item { display: flex; align-items: center; justify-content: center; width: 90%; padding: 0 10px !important; margin: 5px 0 !important; transition: all 150ms ease-in-out; .ant-menu-title-content { flex: 1; text-overflow: clip; } &.user_avatar { .ant-menu-title-content { display: inline-flex; align-items: center; justify-content: center; width: fit-content; } margin: 0; padding: 0; } svg { width: fit-content; margin: 0 !important; height: 16px; } } } } } @keyframes disappear { 0% { opacity: 1; width: 100%; } 95% { opacity: 0; width: 0px; margin: 0; } 100% { opacity: 0; width: 0px; margin: 0; flex: 0; } }