import { Kn as ref, Mn as effectScope, U as computed, Vn as onScopeDispose, Zn as toRaw, gn as watch } from "./vue.runtime.esm-bundler-BvoXUmaf.js"; import { X as toKebabCase, s as getCurrentInstance } from "./defineComponent-DB6xIcDy.js"; //#region node_modules/vuetify/lib/composables/toggleScope.js function useToggleScope(source, fn) { let scope; function start() { scope = effectScope(); scope.run(() => fn.length ? fn(() => { scope?.stop(); start(); }) : fn()); } watch(source, (active) => { if (active && !scope) start(); else if (!active) { scope?.stop(); scope = void 0; } }, { immediate: true }); onScopeDispose(() => { scope?.stop(); }); } //#endregion //#region node_modules/vuetify/lib/composables/proxiedModel.js function useProxiedModel(props, prop, defaultValue, transformIn = (v) => v, transformOut = (v) => v) { const vm = getCurrentInstance("useProxiedModel"); const internal = ref(props[prop] !== void 0 ? props[prop] : defaultValue); const kebabProp = toKebabCase(prop); const isControlled = kebabProp !== prop ? computed(() => { props[prop]; return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`))); }) : computed(() => { props[prop]; return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`)); }); useToggleScope(() => !isControlled.value, () => { watch(() => props[prop], (val) => { internal.value = val; }); }); const model = computed({ get() { const externalValue = props[prop]; return transformIn(isControlled.value ? externalValue : internal.value); }, set(internalValue) { const newValue = transformOut(internalValue); const value = toRaw(isControlled.value ? props[prop] : internal.value); if (value === newValue || transformIn(value) === internalValue) return; internal.value = newValue; vm?.emit(`update:${prop}`, newValue); } }); Object.defineProperty(model, "externalValue", { get: () => isControlled.value ? props[prop] : internal.value }); return model; } //#endregion export { useToggleScope as n, useProxiedModel as t }; //# sourceMappingURL=proxiedModel-DSlSIQ0y.js.map