UNPKG

framework7-vue

Version:

Build full featured iOS & Android apps using Framework7 & Vue

53 lines 2.07 kB
import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"; const _hoisted_1 = ["data-sortable-move-elements"]; function render(_ctx, _cache) { return _openBlock(), _createElementBlock("div", { class: _normalizeClass(_ctx.classes), "data-sortable-move-elements": typeof _ctx.sortableMoveElements !== 'undefined' ? _ctx.sortableMoveElements.toString() : undefined }, [_createElementVNode("ul", null, [_renderSlot(_ctx.$slots, "default")])], 10, _hoisted_1); } import { computed, provide, inject } from 'vue'; import { classNames } from '../shared/utils.js'; import { colorClasses, colorProps } from '../shared/mixins.js'; export default { name: 'f7-list-group', render, props: { mediaList: Boolean, simpleList: Boolean, sortable: Boolean, sortableOpposite: Boolean, sortableTapHold: Boolean, sortableMoveElements: { type: Boolean, default: undefined }, ...colorProps }, setup(props) { const ListContextParent = inject('ListContext', { value: { listIsMedia: props.mediaList, listIsSimple: props.simpleList, listIsSortable: props.sortable, listIsSortableOpposite: props.sortableOpposite } }); const ListContext = computed(() => ({ listIsMedia: props.mediaList || ListContextParent.value.listIsMedia, listIsSimple: props.simpleList || ListContextParent.value.listIsSimple, listIsSortable: props.sortable || ListContextParent.value.listIsSortable, listIsSortableOpposite: props.sortableOpposite || ListContextParent.value.listIsSortableOpposite })); provide('ListContext', ListContext); const classes = computed(() => classNames('list-group', { 'media-list': props.mediaList, sortable: props.sortable, 'sortable-tap-hold': props.sortableTapHold, 'sortable-opposite': props.sortableOpposite }, colorClasses(props))); return { classes }; } };