UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

216 lines (210 loc) 6.32 kB
/* === Accordion === */ @import './accordion-vars.less'; :root { --f7-accordion-chevron-icon-down: 'chevron_down'; --f7-accordion-chevron-icon-up: 'chevron_up'; } .accordion-item-toggle { cursor: pointer; } .list.accordion-list .accordion-item-toggle { transition-duration: 300ms; position: relative; overflow: hidden; &.active-state { transition-duration: 300ms; background-color: var(--f7-list-link-pressed-bg-color); > .item-inner { .hairline-color(bottom, transparent); } } .item-inner { transition-duration: 300ms; transition-property: background-color; &:after { transition-duration: 300ms; } } .ripple-wave { z-index: 0; } } .accordion-item { .item-link .item-inner:after { transition-duration: 300ms; } .list, .block { margin-top: 0; margin-bottom: 0; } .block { > h1, > h2, > h3, > h4, > p { &:first-child { margin-top: 10px; } &:last-child { margin-bottom: 10px; } } } } .accordion-item-opened { .accordion-item-toggle .item-inner, > .item-link .item-inner { .hairline-color(bottom, transparent); } } .list li.accordion-item ul { .ltr({ padding-left: 0; }); .rtl({ padding-right: 0; }); } .accordion-item-content { position: relative; overflow: hidden; height: 0; font-size: 14px; transition-duration: 300ms; .accordion-item-opened > & { height: auto; } html.device-android-4 & { transform: none; } } .list .accordion-item-toggle .item-inner { &:before { .core-icons-font(); position: absolute; top: 50%; font-size: var(--f7-list-chevron-icon-font-size); color: var(--f7-list-chevron-icon-color); pointer-events: none; .ltr({ right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right)); }); .rtl({ left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left)); }); } } .list:not(.accordion-opposite) .accordion-item-toggle .item-inner { .ltr({ padding-right: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right)); }); .rtl({ padding-left: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left)); }); } .accordion-opposite { .accordion-item-toggle.item-link .item-inner, .accordion-item-toggle .item-inner, .accordion-item > .item-link > .item-inner, .accordion-item > .item-link > .item-content > .item-inner { .ltr({ padding-right: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-right)); }); .rtl({ padding-left: calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left)); }); } .accordion-item > .item-link > .item-title-row { padding-right: 0; } .accordion-item-toggle.item-link .item-inner, .accordion-item-toggle .item-inner, .accordion-item > .item-link > .item-inner, .accordion-item > .item-link > .item-content > .item-inner, .accordion-item > .item-link .item-title-row { &:before { display: none; } } .accordion-item-toggle > .item-content, .accordion-item-toggle.item-content, .accordion-item > .item-content, .accordion-item > .item-link > .item-content, &.links-list .accordion-item > a { position: relative; .ltr({ padding-left: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left)); }); .rtl({ padding-right: calc(var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left)); }); &:before { .core-icons-font(); position: absolute; top: 50%; font-size: var(--f7-list-chevron-icon-font-size); color: var(--f7-list-chevron-icon-color); pointer-events: none; content: var(--f7-accordion-chevron-icon-down); width: 14px; height: 8px; margin-top: -4px; line-height: 8px; transform: translateX(-50%); .ltr({ left: calc((var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal)) / 2 + var(--f7-safe-area-left)); }); .rtl({ right: calc((var(--f7-list-chevron-icon-area) + var(--f7-list-item-padding-horizontal)) / 2 + var(--f7-safe-area-right)); }); } } } .list .accordion-item-toggle.active-state { background-color: var(--f7-list-link-pressed-bg-color); } .list .accordion-item-toggle .item-inner, .list:not(.media-list) .accordion-item:not(.media-item) .accordion-item-toggle .item-inner, .list:not(.media-list) .accordion-item:not(.media-item) > .item-link .item-inner, .media-list .accordion-item .accordion-item-toggle .item-title-row, .media-list .accordion-item > .item-link .item-title-row, .accordion-item.media-item .accordion-item-toggle .item-title-row, .accordion-item.media-item > .item-link .item-title-row, .links-list .accordion-item > a { &:before { content: var(--f7-accordion-chevron-icon-down); width: 14px; height: 8px; margin-top: -4px; line-height: 8px; } } .list .accordion-item-toggle.accordion-item-opened .item-inner, .list:not(.media-list) .accordion-item-opened:not(.media-item) .accordion-item-toggle .item-inner, .list:not(.media-list) .accordion-item-opened:not(.media-item) > .item-link .item-inner, .media-list .accordion-item-opened .accordion-item-toggle .item-title-row, .media-list .accordion-item-opened > .item-link .item-title-row, .accordion-item-opened.media-item .accordion-item-toggle .item-title-row, .accordion-item-opened.media-item > .item-link .item-title-row, .links-list .accordion-item-opened > a, .accordion-opposite .accordion-item-opened .accordion-item-toggle > .item-content, .accordion-opposite .accordion-item-opened .accordion-item-toggle.item-content, .accordion-opposite .accordion-item-opened > .item-content, .accordion-opposite .accordion-item-opened > .item-link > .item-content, .accordion-opposite &.links-list .accordion-item-opened > a { &:before { content: var(--f7-accordion-chevron-icon-up); width: 14px; height: 8px; margin-top: -4px; line-height: 8px; } } .if-ios-theme({ @import './accordion-ios.less'; }); .if-md-theme({ @import './accordion-md.less'; });