UNPKG

vuestic-ui

Version:
36 lines (35 loc) 1.34 kB
import { getCurrentInstance, computed, shallowReadonly } from "vue"; import { o as omit } from "../../utils/omit.mjs"; import { c as createProps } from "./createProps.mjs"; import { c as createAttrs } from "./createAttrs.mjs"; import { c as createSlots } from "./createSlots.mjs"; import { u as useComponentConfigProps } from "../component-config/utils/use-component-config-props.mjs"; const createSetupFn = (component) => { return (originalProps, ctx) => { var _a; const instance = getCurrentInstance(); const propsFromConfig = useComponentConfigProps(component, originalProps); const attrsFromConfig = computed(() => { return omit(propsFromConfig.value, Object.keys(originalProps)); }); const props = createProps(instance, propsFromConfig); const attrs = createAttrs(instance, attrsFromConfig); const slots = createSlots(instance, propsFromConfig); instance.props = props; instance.attrs = attrs; instance.slots = slots; const setupState = (_a = component.setup) == null ? void 0 : _a.call(component, shallowReadonly(props), { ...ctx, attrs, slots }); if (typeof setupState === "object" && !instance.exposed) { ctx.expose(setupState); } return setupState; }; }; export { createSetupFn as c }; //# sourceMappingURL=createSetupFn.mjs.map