12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { inject, ref, computed, onMounted, watch, toRef, onUnmounted } from 'vue';
- import '../../tokens/index.mjs';
- import { useId } from '../use-id/index.mjs';
- import { formContextKey, formItemContextKey } from '../../tokens/form.mjs';
- const useFormItem = () => {
- const form = inject(formContextKey, void 0);
- const formItem = inject(formItemContextKey, void 0);
- return {
- form,
- formItem
- };
- };
- const useFormItemInputId = (props, {
- formItemContext,
- disableIdGeneration,
- disableIdManagement
- }) => {
- if (!disableIdGeneration) {
- disableIdGeneration = ref(false);
- }
- if (!disableIdManagement) {
- disableIdManagement = ref(false);
- }
- const inputId = ref();
- let idUnwatch = void 0;
- const isLabeledByFormItem = computed(() => {
- var _a;
- return !!(!props.label && formItemContext && formItemContext.inputIds && ((_a = formItemContext.inputIds) == null ? void 0 : _a.length) <= 1);
- });
- onMounted(() => {
- idUnwatch = watch([toRef(props, "id"), disableIdGeneration], ([id, disableIdGeneration2]) => {
- const newId = id != null ? id : !disableIdGeneration2 ? useId().value : void 0;
- if (newId !== inputId.value) {
- if (formItemContext == null ? void 0 : formItemContext.removeInputId) {
- inputId.value && formItemContext.removeInputId(inputId.value);
- if (!(disableIdManagement == null ? void 0 : disableIdManagement.value) && !disableIdGeneration2 && newId) {
- formItemContext.addInputId(newId);
- }
- }
- inputId.value = newId;
- }
- }, { immediate: true });
- });
- onUnmounted(() => {
- idUnwatch && idUnwatch();
- if (formItemContext == null ? void 0 : formItemContext.removeInputId) {
- inputId.value && formItemContext.removeInputId(inputId.value);
- }
- });
- return {
- isLabeledByFormItem,
- inputId
- };
- };
- export { useFormItem, useFormItemInputId };
- //# sourceMappingURL=index.mjs.map
|