UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

66 lines (59 loc) 2.4 kB
"use strict"; 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;