236 lines
5.5 KiB
SCSS
236 lines
5.5 KiB
SCSS
// Accordions
|
|
// *******************************************************************************
|
|
|
|
@each $color, $value in $theme-colors {
|
|
@if $color != primary {
|
|
// Mixins of different Advance Styling
|
|
@include template-accordion-header-variant('.accordion-header-#{$color}', $value);
|
|
}
|
|
}
|
|
// arrow left
|
|
|
|
.accordion-arrow-left {
|
|
.accordion-button.collapsed:focus {
|
|
box-shadow: none;
|
|
}
|
|
|
|
.accordion-item {
|
|
border: 0;
|
|
&.active {
|
|
box-shadow: none !important;
|
|
}
|
|
}
|
|
.accordion-button {
|
|
padding: var(--#{$prefix}accordion-btn-padding-y) 0;
|
|
// Accordion icon
|
|
&::after {
|
|
content: '';
|
|
display: none;
|
|
}
|
|
&:not(.collapsed) {
|
|
color: var(--#{$prefix}accordion-active-color);
|
|
background-color: var(--#{$prefix}accordion-active-bg);
|
|
box-shadow: none; // stylelint-disable-line function-disallowed-list
|
|
|
|
&::before {
|
|
background-image: var(--#{$prefix}accordion-btn-active-icon);
|
|
transform: var(--#{$prefix}accordion-btn-icon-transform);
|
|
}
|
|
&::after {
|
|
background-image: none;
|
|
transform: none;
|
|
}
|
|
}
|
|
&::before {
|
|
flex-shrink: 0;
|
|
width: var(--#{$prefix}accordion-btn-icon-width);
|
|
height: var(--#{$prefix}accordion-btn-icon-width);
|
|
margin-left: 0;
|
|
margin-right: 1.1rem;
|
|
content: '';
|
|
background-image: var(--#{$prefix}accordion-btn-icon);
|
|
background-repeat: no-repeat;
|
|
background-size: var(--#{$prefix}accordion-btn-icon-width);
|
|
@include transition(var(--#{$prefix}accordion-btn-icon-transition));
|
|
}
|
|
}
|
|
}
|
|
|
|
// Accordion Popout Variant
|
|
.accordion-popout {
|
|
.accordion-item {
|
|
transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
&:not(.active) {
|
|
margin-left: 1rem;
|
|
margin-right: 1rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.accordion-header + .accordion-collapse .accordion-body {
|
|
padding-top: 0;
|
|
padding-left: $accordion-padding-x;
|
|
}
|
|
|
|
.accordion:not(.accordion-custom-button):not(.accordion-arrow-left) {
|
|
// accordion without icon
|
|
&.accordion-without-arrow {
|
|
.accordion-button::after {
|
|
background-image: none !important;
|
|
}
|
|
}
|
|
.accordion-item {
|
|
box-shadow: $box-shadow-xs;
|
|
border: 0;
|
|
&.active {
|
|
box-shadow: $box-shadow;
|
|
& .accordion-button:not(.collapsed) {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
&:not(:first-child) {
|
|
margin-top: $spacer * 0.5;
|
|
}
|
|
&:last-child {
|
|
margin-bottom: $spacer * 0.5;
|
|
}
|
|
}
|
|
}
|
|
|
|
.accordion-header {
|
|
line-height: $line-height-base;
|
|
}
|
|
|
|
// Accordion border radius
|
|
.accordion-button {
|
|
padding-right: $accordion-body-padding-x;
|
|
font-weight: inherit;
|
|
@include border-top-radius($accordion-border-radius);
|
|
&.collapsed {
|
|
@include border-radius($accordion-border-radius);
|
|
}
|
|
&:not(.collapsed) {
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
|
|
// Default card styles of accordion
|
|
.accordion > .card.accordion-item {
|
|
border-radius: $accordion-border-radius !important;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
// Accordion custom button
|
|
|
|
.accordion-custom-button {
|
|
.accordion-item {
|
|
transition: $accordion-transition;
|
|
transition-property: margin-top, margin-bottom, border-radius, border;
|
|
box-shadow: none;
|
|
border: $accordion-border-width solid $accordion-border-color;
|
|
&:not(:last-child) {
|
|
border-bottom: 0;
|
|
}
|
|
&:not(.active):not(:first-child) {
|
|
.accordion-header {
|
|
border: none;
|
|
}
|
|
}
|
|
.accordion-button {
|
|
border-color: $accordion-border-color;
|
|
}
|
|
&.active {
|
|
margin: 0;
|
|
box-shadow: none;
|
|
.accordion-header .accordion-button {
|
|
border-bottom: $accordion-border-width solid $accordion-border-color;
|
|
}
|
|
& + .accordion-item {
|
|
@include border-top-radius(0);
|
|
}
|
|
&:not(:first-child) {
|
|
@include border-top-radius(0);
|
|
}
|
|
&:not(:last-child) {
|
|
@include border-bottom-radius(0);
|
|
}
|
|
}
|
|
.accordion-body {
|
|
padding-top: $accordion-body-padding-x;
|
|
}
|
|
&.previous-active {
|
|
@include border-bottom-radius(0);
|
|
}
|
|
}
|
|
|
|
.accordion-button {
|
|
border-radius: 0;
|
|
background-color: #fafafa;
|
|
&:not(.collapsed) {
|
|
&::after {
|
|
background-image: escape-svg($accordion-custom-button-active-icon);
|
|
transform: rotate(-180deg);
|
|
}
|
|
}
|
|
// Accordion icon
|
|
&::after {
|
|
background-image: escape-svg($accordion-custom-button-icon);
|
|
}
|
|
}
|
|
|
|
&:focus {
|
|
z-index: 3;
|
|
border-color: $border-color;
|
|
outline: 0;
|
|
box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
|
|
}
|
|
}
|
|
|
|
// RTL
|
|
// *******************************************************************************
|
|
|
|
@include rtl-only {
|
|
.accordion-arrow-left {
|
|
.accordion-button {
|
|
&::before {
|
|
margin-left: 1.1rem;
|
|
margin-right: 0;
|
|
transform: rotate(90deg);
|
|
}
|
|
// !- For RTL accordion icon rotation in other templates
|
|
&:not(.collapsed)::before {
|
|
transform: rotate(0deg);
|
|
}
|
|
}
|
|
}
|
|
.accordion-button {
|
|
text-align: right;
|
|
&::after {
|
|
margin-left: 0;
|
|
margin-right: auto;
|
|
}
|
|
}
|
|
.accordion-custom-button {
|
|
.accordion-button:not(.collapsed)::after {
|
|
transform: rotate(180deg);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Dark style
|
|
// *******************************************************************************
|
|
|
|
@include dark-layout-only {
|
|
.accordion-custom-button {
|
|
.accordion-button {
|
|
background-color: #313246;
|
|
}
|
|
}
|
|
.accordion:not(.accordion-custom-button):not(.accordion-arrow-left) .accordion-item {
|
|
box-shadow: $box-shadow-xs;
|
|
&.active {
|
|
box-shadow: $box-shadow;
|
|
}
|
|
}
|
|
}
|