UNPKG

uikit

Version:

UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.

55 lines (39 loc) 1.26 kB
import Class from '../mixin/class'; import Slideshow from '../mixin/slideshow'; import Animations from './internal/slideshow-animations'; import SliderReactive from '../mixin/slider-reactive'; import {boxModelAdjust, css} from 'uikit-util'; export default { mixins: [Class, Slideshow, SliderReactive], props: { ratio: String, minHeight: Number, maxHeight: Number }, data: { ratio: '16:9', minHeight: false, maxHeight: false, selList: '.uk-slideshow-items', attrItem: 'uk-slideshow-item', selNav: '.uk-slideshow-nav', Animations }, update: { read() { let [width, height] = this.ratio.split(':').map(Number); height = height * this.list.offsetWidth / width || 0; if (this.minHeight) { height = Math.max(this.minHeight, height); } if (this.maxHeight) { height = Math.min(this.maxHeight, height); } return {height: height - boxModelAdjust(this.list, 'height', 'content-box')}; }, write({height}) { height > 0 && css(this.list, 'minHeight', height); }, events: ['resize'] } };