import { extend } from '../vue'; import { SLOT_NAME_DEFAULT } from '../constants/slots'; import { hasNormalizedSlot as _hasNormalizedSlot, normalizeSlot as _normalizeSlot } from '../utils/normalize-slot'; import { concat } from '../utils/array'; // @vue/component export var normalizeSlotMixin = extend({ methods: { // Returns `true` if the either a `$scopedSlot` or `$slot` exists with the specified name // `name` can be a string name or an array of names hasNormalizedSlot: function hasNormalizedSlot() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT; var scopedSlots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.$scopedSlots; var slots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$slots; return _hasNormalizedSlot(name, scopedSlots, slots); }, // Returns an array of rendered VNodes if slot found, otherwise `undefined` // `name` can be a string name or an array of names normalizeSlot: function normalizeSlot() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : SLOT_NAME_DEFAULT; var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var scopedSlots = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.$scopedSlots; var slots = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.$slots; var vNodes = _normalizeSlot(name, scope, scopedSlots, slots); return vNodes ? concat(vNodes) : vNodes; } } });