import { n as __exportAll } from "./chunk-B-1-B7_t.js";
import { n as Badge_default } from "./badge-BbQrSqE-.js";
import { o as CardContent_default, s as Card_default } from "./card-X74FuL7B.js";
import { t as FieldFrame_default } from "./field-frame-DhCOWcMP.js";
import { createBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, openBlock, unref, useModel, withCtx } from "vue";
import { Construction } from "@lucide/vue";
//#region src/components/compositions/elements/editor/ImageEditor.vue?vue&type=script&setup=true&lang.ts
var ImageEditor_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
	__name: "ImageEditor",
	props: /* @__PURE__ */ mergeModels({
		modelValue: {},
		id: {},
		name: {},
		label: {},
		hideLabel: { type: Boolean },
		required: { type: Boolean },
		disabled: { type: Boolean },
		helpText: {},
		errors: { default: () => [] }
	}, {
		"modelValue": {},
		"modelModifiers": {}
	}),
	emits: ["update:modelValue"],
	setup(__props) {
		/**
		* Props-driven stub for `editor/image-editor`.
		*
		* Placeholder until the canvas-based crop / annotate editor lands.
		* Reserves the `modelValue` slot so a saved value (data URL or asset
		* reference) round-trips even though there's no real UI yet.
		*
		*   <ImageEditor label="Banner" />
		*/
		useModel(__props, "modelValue");
		return (_ctx, _cache) => {
			return openBlock(), createBlock(unref(FieldFrame_default), {
				label: __props.label,
				required: __props.required,
				"hide-label": __props.hideLabel,
				for: __props.id,
				"help-text": __props.helpText,
				errors: __props.errors,
				"data-testid": "image-editor"
			}, {
				default: withCtx(() => [createVNode(unref(Card_default), {
					class: "border-dashed",
					"data-element-name": __props.name ?? void 0,
					"data-stub": "editor/image-editor"
				}, {
					default: withCtx(() => [createVNode(unref(CardContent_default), { class: "flex items-center gap-3 py-6 text-sm text-muted-foreground" }, {
						default: withCtx(() => [
							createVNode(unref(Construction), { class: "h-5 w-5" }),
							_cache[1] || (_cache[1] = createElementVNode("span", null, "Image editor — coming soon", -1)),
							createVNode(unref(Badge_default), {
								variant: "outline",
								class: "ml-auto font-mono text-[10px]"
							}, {
								default: withCtx(() => [..._cache[0] || (_cache[0] = [createTextVNode(" editor/image-editor ", -1)])]),
								_: 1
							})
						]),
						_: 1
					})]),
					_: 1
				}, 8, ["data-element-name"])]),
				_: 1
			}, 8, [
				"label",
				"required",
				"hide-label",
				"for",
				"help-text",
				"errors"
			]);
		};
	}
});
//#endregion
//#region src/components/compositions/elements/editor/ImageEditor.vue
var ImageEditor_exports = /* @__PURE__ */ __exportAll({ default: () => ImageEditor_default });
var ImageEditor_default = ImageEditor_vue_vue_type_script_setup_true_lang_default;
//#endregion
export { ImageEditor_exports as n, ImageEditor_default as t };

//# sourceMappingURL=ImageEditor-C-T_ZrX3.js.map