zmp-vue
Version:
Build full featured iOS & Android apps using ZMP & Vue
66 lines (59 loc) • 2.4 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _vue = require("vue");
var _utils = require("../shared/utils");
var _mixins = require("../shared/mixins");
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); }
function render(_ctx, _cache) {
return (0, _vue.openBlock)(), (0, _vue.createBlock)("div", {
class: _ctx.classes,
"data-sortable-move-elements": typeof _ctx.sortableMoveElements !== 'undefined' ? _ctx.sortableMoveElements.toString() : undefined
}, [(0, _vue.createVNode)("ul", null, [(0, _vue.renderSlot)(_ctx.$slots, "default")])], 10, ["data-sortable-move-elements"]);
}
var _default = {
name: 'zmp-list-group',
render: render,
props: _extends({
mediaList: Boolean,
simpleList: Boolean,
sortable: Boolean,
sortableOpposite: Boolean,
sortableTapHold: Boolean,
sortableMoveElements: {
type: Boolean,
default: undefined
}
}, _mixins.colorProps),
setup: function setup(props) {
var ListContextParent = (0, _vue.inject)('ListContext', {
value: {
listIsMedia: props.mediaList,
listIsSimple: props.simpleList,
listIsSortable: props.sortable,
listIsSortableOpposite: props.sortableOpposite
}
});
var ListContext = (0, _vue.computed)(function () {
return {
listIsMedia: props.mediaList || ListContextParent.value.listIsMedia,
listIsSimple: props.simpleList || ListContextParent.value.listIsSimple,
listIsSortable: props.sortable || ListContextParent.value.listIsSortable,
listIsSortableOpposite: props.sortableOpposite || ListContextParent.value.listIsSortableOpposite
};
});
(0, _vue.provide)('ListContext', ListContext);
var classes = (0, _vue.computed)(function () {
return (0, _utils.classNames)('list-group', {
'media-list': props.mediaList,
sortable: props.sortable,
'sortable-tap-hold': props.sortableTapHold,
'sortable-opposite': props.sortableOpposite
}, (0, _mixins.colorClasses)(props));
});
return {
classes: classes
};
}
};
exports.default = _default;