UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

83 lines (80 loc) 2.85 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import { renderSlot as _renderSlot, openBlock as _openBlock, createBlock as _createBlock } from "vue"; function render(_ctx, _cache) { return _openBlock(), _createBlock("div", { ref: "elRef", class: _ctx.classes }, [_renderSlot(_ctx.$slots, "default")], 2); } import { ref, computed } from 'vue'; import { classNames } from '../shared/utils'; import { colorClasses, colorProps } from '../shared/mixins'; import { useTab } from '../shared/use-tab'; export default { name: 'zmp-block', render: render, props: _extends({ inset: Boolean, xsmallInset: Boolean, smallInset: Boolean, mediumInset: Boolean, largeInset: Boolean, xlargeInset: Boolean, strong: Boolean, tabs: Boolean, tab: Boolean, tabActive: Boolean, accordionList: Boolean, accordionOpposite: Boolean, noHairlines: Boolean, noHairlinesMd: Boolean, noHairlinesIos: Boolean, noHairlinesAurora: Boolean }, colorProps), emits: ['tab:hide', 'tab:show'], setup: function setup(props, _ref) { var emit = _ref.emit; var elRef = ref(null); useTab(elRef, emit); var classes = computed(function () { var inset = props.inset, xsmallInset = props.xsmallInset, smallInset = props.smallInset, mediumInset = props.mediumInset, largeInset = props.largeInset, xlargeInset = props.xlargeInset, strong = props.strong, accordionList = props.accordionList, accordionOpposite = props.accordionOpposite, tabs = props.tabs, tab = props.tab, tabActive = props.tabActive, noHairlines = props.noHairlines, noHairlinesMd = props.noHairlinesMd, noHairlinesIos = props.noHairlinesIos, noHairlinesAurora = props.noHairlinesAurora; return classNames('block', { inset: inset, 'xsmall-inset': xsmallInset, 'small-inset': smallInset, 'medium-inset': mediumInset, 'large-inset': largeInset, 'xlarge-inset': xlargeInset, 'block-strong': strong, 'accordion-list': accordionList, 'accordion-opposite': accordionOpposite, tabs: tabs, tab: tab, 'tab-active': tabActive, 'no-hairlines': noHairlines, 'no-hairlines-md': noHairlinesMd, 'no-hairlines-ios': noHairlinesIos, 'no-hairlines-aurora': noHairlinesAurora }, colorClasses(props)); }); return { elRef: elRef, classes: classes }; } };