File Manager

Current Directory: /home/astoriaah/www/templates/yootheme/vendor/assets/uikit/src/js/core
Viewing File: /home/astoriaah/www/templates/yootheme/vendor/assets/uikit/src/js/core/leader.js
import Class from '../mixin/class'; import {attr, getCssVar, toggleClass, unwrap, wrapInner} from 'uikit-util'; export default { mixins: [Class], props: { fill: String, media: 'media' }, data: { fill: '', media: false, clsWrapper: 'uk-leader-fill', clsHide: 'uk-leader-hide', attrFill: 'data-fill' }, computed: { fill({fill}) { return fill || getCssVar('leader-fill'); } }, connected() { [this.wrapper] = wrapInner(this.$el, `<span class="${this.clsWrapper}">`); }, disconnected() { unwrap(this.wrapper.childNodes); }, update: [ { read({changed, width}) { const prev = width; width = Math.floor(this.$el.offsetWidth / 2); return { width, changed: changed || prev !== width, hide: this.media && !window.matchMedia(this.media).matches }; }, write(data) { toggleClass(this.wrapper, this.clsHide, data.hide); if (data.changed) { data.changed = false; attr(this.wrapper, this.attrFill, new Array(data.width).join(this.fill)); } }, events: ['load', 'resize'] } ] };