|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- // Styles
- import "../../../src/components/VFooter/VFooter.sass"; // Mixins
-
- import Applicationable from '../../mixins/applicationable';
- import VSheet from '../VSheet/VSheet';
- import SSRBootable from '../../mixins/ssr-bootable'; // Utilities
-
- import mixins from '../../util/mixins';
- import { convertToUnit } from '../../util/helpers';
- /* @vue/component */
-
- export default mixins(VSheet, Applicationable('footer', ['height', 'inset']), SSRBootable).extend({
- name: 'v-footer',
- props: {
- height: {
- default: 'auto',
- type: [Number, String]
- },
- inset: Boolean,
- padless: Boolean,
- tile: {
- type: Boolean,
- default: true
- }
- },
- computed: {
- applicationProperty() {
- return this.inset ? 'insetFooter' : 'footer';
- },
-
- classes() {
- return { ...VSheet.options.computed.classes.call(this),
- 'v-footer--absolute': this.absolute,
- 'v-footer--fixed': !this.absolute && (this.app || this.fixed),
- 'v-footer--padless': this.padless,
- 'v-footer--inset': this.inset
- };
- },
-
- computedBottom() {
- if (!this.isPositioned) return undefined;
- return this.app ? this.$vuetify.application.bottom : 0;
- },
-
- computedLeft() {
- if (!this.isPositioned) return undefined;
- return this.app && this.inset ? this.$vuetify.application.left : 0;
- },
-
- computedRight() {
- if (!this.isPositioned) return undefined;
- return this.app && this.inset ? this.$vuetify.application.right : 0;
- },
-
- isPositioned() {
- return Boolean(this.absolute || this.fixed || this.app);
- },
-
- styles() {
- const height = parseInt(this.height);
- return { ...VSheet.options.computed.styles.call(this),
- height: isNaN(height) ? height : convertToUnit(height),
- left: convertToUnit(this.computedLeft),
- right: convertToUnit(this.computedRight),
- bottom: convertToUnit(this.computedBottom)
- };
- }
-
- },
- methods: {
- updateApplication() {
- const height = parseInt(this.height);
- return isNaN(height) ? this.$el ? this.$el.clientHeight : 0 : height;
- }
-
- },
-
- render(h) {
- const data = this.setBackgroundColor(this.color, {
- staticClass: 'v-footer',
- class: this.classes,
- style: this.styles
- });
- return h('footer', data, this.$slots.default);
- }
-
- });
- //# sourceMappingURL=VFooter.js.map
|