import { useForwardExpose } from "../shared/useForwardExpose.js"; import { useId } from "../shared/useId.js"; import { Primitive } from "../Primitive/Primitive.js"; import { injectFieldRootContext } from "./FieldRoot.js"; import { createBlock, defineComponent, mergeProps, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, unref, withCtx } from "vue"; //#region src/Field/FieldDescription.vue?vue&type=script&setup=true&lang.ts var FieldDescription_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ __name: "FieldDescription", props: { id: { type: String, required: false }, asChild: { type: Boolean, required: false }, as: { type: null, required: false, default: "p" } }, setup(__props) { const props = __props; const fieldContext = injectFieldRootContext(); useForwardExpose(); const descriptionId = ref(useId(props.id)); let unregister; onMounted(() => { unregister = fieldContext.registerDescription(descriptionId.value); }); onBeforeUnmount(() => unregister?.()); return (_ctx, _cache) => { return openBlock(), createBlock(unref(Primitive), mergeProps(unref(fieldContext).dataAttributes.value, { id: descriptionId.value, as: __props.as, "as-child": __props.asChild }), { default: withCtx(() => [renderSlot(_ctx.$slots, "default")]), _: 3 }, 16, [ "id", "as", "as-child" ]); }; } }); //#endregion //#region src/Field/FieldDescription.vue var FieldDescription_default = FieldDescription_vue_vue_type_script_setup_true_lang_default; //#endregion export { FieldDescription_default }; //# sourceMappingURL=FieldDescription.js.map