import e from "../PlDropdown/PlDropdown.js";
import "../PlDropdown/index.js";
import { computed as t, createBlock as n, createSlots as r, defineComponent as i, mergeProps as a, openBlock as o, renderSlot as s, unref as c, useSlots as l, withCtx as u } from "vue";
var d = /* @__PURE__ */ i({
	name: "PlDropdownRef",
	props: {
		modelValue: {},
		label: { default: "" },
		options: { default: void 0 },
		helper: { default: void 0 },
		loadingOptionsHelper: { default: void 0 },
		error: { default: void 0 },
		placeholder: { default: "..." },
		missingValueLabel: { default: "Upstream value removed" },
		clearable: {
			type: Boolean,
			default: !1
		},
		required: {
			type: Boolean,
			default: !1
		},
		disabled: {
			type: Boolean,
			default: !1
		},
		optionSize: { default: "small" }
	},
	emits: ["update:modelValue"],
	setup(i) {
		let d = l(), f = i, p = t(() => f.options?.map((e) => "ref" in e ? {
			label: e.label,
			value: e.ref,
			group: e.group
		} : e));
		return (t, l) => (o(), n(c(e), a(f, {
			options: p.value,
			"loading-options-helper": i.loadingOptionsHelper,
			"arrow-icon-large": i.disabled ? "link-disabled" : "link",
			"onUpdate:modelValue": l[0] ||= (e) => t.$emit("update:modelValue", e)
		}), r({ _: 2 }, [c(d).tooltip ? {
			name: "tooltip",
			fn: u(() => [s(t.$slots, "tooltip")]),
			key: "0"
		} : void 0]), 1040, [
			"options",
			"loading-options-helper",
			"arrow-icon-large"
		]));
	}
});
//#endregion
export { d as default };

//# sourceMappingURL=PlDropdownRef.vue2.js.map