UNPKG

winbox-ui-next

Version:

We Design Vue 2.0: A Vue.js 3 UI Library

81 lines (80 loc) 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports[Symbol.toStringTag] = "Module"; var vue = require("vue"); var createInjectionKey = require("../_utils/vue/create-injection-key.js"); require("../_utils/vue/wrapper.js"); require("../_utils/cssr/index.js"); require("../_utils/composable/use-adjusted-to.js"); require("vueuc"); require("../_utils/composable/use-lock-html-scroll.js"); require("../_utils/composable/use-is-composing.js"); const formItemInjectionKey = createInjectionKey.createInjectionKey("n-form-item"); function useFormItem(props, { defaultSize = "default", mergedSize, mergedDisabled } = {}) { const NFormItem = vue.inject(formItemInjectionKey, null); vue.provide(formItemInjectionKey, null); const mergedSizeRef = vue.computed(mergedSize ? () => mergedSize(NFormItem) : () => { const { size } = props; if (size) return size; if (NFormItem) { const { mergedSize: mergedSize2 } = NFormItem; if (mergedSize2.value !== void 0) { return mergedSize2.value; } } return defaultSize; }); const mergedDisabledRef = vue.computed(mergedDisabled ? () => mergedDisabled(NFormItem) : () => { const { disabled } = props; if (disabled !== void 0) { return disabled; } if (NFormItem) { return NFormItem.disabled.value; } return false; }); const mergedStatusRef = vue.computed(() => { const { status } = props; if (status) return status; return NFormItem == null ? void 0 : NFormItem.mergedValidationStatus.value; }); vue.onBeforeUnmount(() => { if (NFormItem) { NFormItem.restoreValidation(); } }); return { mergedSizeRef, mergedDisabledRef, mergedStatusRef, nTriggerFormBlur() { if (NFormItem) { NFormItem.handleContentBlur(); } }, nTriggerFormChange() { if (NFormItem) { NFormItem.handleContentChange(); } }, nTriggerFormFocus() { if (NFormItem) { NFormItem.handleContentFocus(); } }, nTriggerFormInput() { if (NFormItem) { NFormItem.handleContentInput(); } } }; } exports["default"] = useFormItem; exports.formItemInjectionKey = formItemInjectionKey;