import { n as __exportAll } from "./chunk-B-1-B7_t.js";
import { computed, createElementBlock, defineComponent, normalizeClass, openBlock } from "vue";
//#region src/components/compositions/elements/display/HtmlDisplay.vue?vue&type=script&setup=true&lang.ts
var _hoisted_1 = ["innerHTML"];
var HtmlDisplay_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
	__name: "HtmlDisplay",
	props: {
		value: {},
		classList: {}
	},
	setup(__props) {
		/**
		* Props-driven raw HTML display.
		*
		* SECURITY: the caller is responsible for trusting the source of
		* `value`. The wrapping `<div>` provides a styling boundary but does
		* not sanitise the markup. Pair with a server-side sanitiser when
		* accepting user input.
		*/
		const props = __props;
		const content = computed(() => {
			if (props.value === void 0 || props.value === null) return "";
			return String(props.value);
		});
		const rootClass = computed(() => {
			const cl = props.classList;
			if (!cl) return "";
			return Array.isArray(cl) ? cl.join(" ") : cl;
		});
		return (_ctx, _cache) => {
			return openBlock(), createElementBlock("div", {
				class: normalizeClass(["gxp-html-display", rootClass.value]),
				"data-testid": "html-display",
				innerHTML: content.value
			}, null, 10, _hoisted_1);
		};
	}
});
//#endregion
//#region src/components/compositions/elements/display/HtmlDisplay.vue
var HtmlDisplay_exports = /* @__PURE__ */ __exportAll({ default: () => HtmlDisplay_default });
var HtmlDisplay_default = HtmlDisplay_vue_vue_type_script_setup_true_lang_default;
//#endregion
export { HtmlDisplay_exports as n, HtmlDisplay_default as t };

//# sourceMappingURL=HtmlDisplay-P4EDw9bH.js.map