import { defineComponent as y, computed as m, createElementBlock as a, createCommentVNode as l, openBlock as n, createElementVNode as s, Fragment as u, createTextVNode as r, toDisplayString as o } from "vue";
const p = {
  key: 0,
  class: "schema-type"
}, v = ["title"], d = /* @__PURE__ */ y({
  __name: "SchemaHeading",
  props: {
    value: { type: [Object, Boolean] },
    name: {}
  },
  setup(t) {
    const i = m(() => t.value.type ? t.value.type : t.value.enum ? "enum" : "items" in t.value && t.value.items === "object" ? "array" : t.value.properties || t.value.additionalProperties ? "object" : "unknown");
    return (e, c) => typeof e.value == "object" ? (n(), a("span", p, [
      s("span", {
        class: "schema-type-icon",
        title: typeof e.value.type == "string" ? e.value.type : Array.isArray(e.value.type) ? e.value.type.join(" | ") : "unkown type"
      }, [
        e.value.type === "object" ? (n(), a(u, { key: 0 }, [
          r(" {} ")
        ], 64)) : l("", !0),
        e.value.type === "array" ? (n(), a(u, { key: 1 }, [
          r(" [] ")
        ], 64)) : l("", !0),
        e.value.enum ? (n(), a(u, { key: 2 }, [
          r(" enum ")
        ], 64)) : l("", !0)
      ], 8, v),
      e.name ? (n(), a(u, { key: 0 }, [
        r(o(e.name), 1)
      ], 64)) : (n(), a(u, { key: 1 }, [
        r(o(i.value), 1)
      ], 64))
    ])) : l("", !0);
  }
});
export {
  d as default
};
