import {
type RawSlots,
type StaticSlots,
- slotsProxyHandlers,
+ dynamicSlotsProxyHandlers,
} from './componentSlots'
export { currentInstance } from '@vue/runtime-dom'
}
// init slots
- this.slots = rawSlots ? new Proxy(rawSlots, slotsProxyHandlers) : EMPTY_OBJ
+ this.slots = rawSlots
+ ? rawSlots.$
+ ? new Proxy(rawSlots, dynamicSlotsProxyHandlers)
+ : rawSlots
+ : EMPTY_OBJ
if (__DEV__) {
// validate props
export type DynamicSlot = { name: string; fn: Slot }
export type DynamicSlotFn = () => DynamicSlot | DynamicSlot[]
-export const slotsProxyHandlers: ProxyHandler<RawSlots> = {
+export const dynamicSlotsProxyHandlers: ProxyHandler<RawSlots> = {
get: getSlot,
has: (target, key: string) => !!getSlot(target, key),
getOwnPropertyDescriptor(target, key: string) {