UNPKG

@bloomreach/vue-sdk

Version:

Bloomreach SPA SDK for Vue

395 lines (394 loc) 11.9 kB
import { defineComponent as d, toRef as K, ref as E, watch as U, getCurrentInstance as q, onMounted as x, onUpdated as z, onBeforeUnmount as J, onBeforeUpdate as W, openBlock as s, createElementBlock as k, Fragment as T, createCommentVNode as B, renderSlot as f, normalizeProps as F, guardReactiveProps as G, inject as g, computed as v, h as Y, useSlots as H, useAttrs as X, unref as n, createBlock as m, withCtx as _, resolveDynamicComponent as I, toDisplayString as Z, onUnmounted as ee, toRaw as R, toRefs as Q, provide as S, resolveComponent as te, renderList as b, onServerPrefetch as ne } from "vue"; import { TYPE_CONTAINER_INLINE as oe, TYPE_CONTAINER_NO_MARKUP as ae, TYPE_CONTAINER_ORDERED_LIST as ue, TYPE_CONTAINER_UNORDERED_LIST as le, TYPE_CONTAINER_ITEM_UNDEFINED as j, isContainerItem as se, isContainer as re, isComponent as ce, TYPE_MANAGE_CONTENT_BUTTON as pe, TYPE_MANAGE_MENU_BUTTON as me, initialize as L } from "@bloomreach/spa-sdk"; const $ = /* @__PURE__ */ d({ __name: "BrMeta", props: { meta: {} }, setup(p) { const u = p, e = K(() => u.meta); let l; const o = E(), c = E(), a = () => { var t, r; !((t = o.value) != null && t.nextSibling) || !c.value || (l = (r = e.value) == null ? void 0 : r.render(o.value.nextSibling, c.value)); }; return U(e, () => { var t, r; return (r = (t = q()) == null ? void 0 : t.proxy) == null ? void 0 : r.$forceUpdate(); }, { deep: !1 }), x(() => a()), z(() => a()), J(() => l == null ? void 0 : l()), W(() => l == null ? void 0 : l()), (t, r) => (s(), k(T, null, [ e.value && e.value.length > 0 ? (s(), k("span", { key: 0, style: { display: "none" }, ref_key: "head", ref: o }, null, 512)) : B("", !0), f(t.$slots, "default", F(G(t.$attrs))), e.value && e.value.length > 0 ? (s(), k("span", { key: 1, style: { display: "none" }, ref_key: "tail", ref: c }, null, 512)) : B("", !0) ], 64)); } }), N = Symbol("page$"), M = Symbol("mapping$"), P = Symbol("component$"); function O(p, u) { const e = g(N), l = v(() => { var c; return (c = e == null ? void 0 : e.value) == null ? void 0 : c.isPreview(); }), o = () => { var i; const t = H().default()[0].children, r = (i = t == null ? void 0 : t[0]) == null ? void 0 : i.children; return r == null ? void 0 : r.map((y) => Y( u, { class: { "hst-container-item": l } }, [y] )); }; return () => Y( p, { class: { "hst-container": l } }, o() ); } const ie = d({ setup() { return O("div", "div"); } }), _e = d({ setup() { return O("div", "span"); } }), de = /* @__PURE__ */ d({ __name: "BrContainerNoMarkup", setup(p) { const u = X(); return (e, l) => f(e.$slots, "default", F(G(n(u)))); } }), ge = d({ setup() { return O("ol", "li"); } }), ve = d({ setup() { return O("ul", "li"); } }), fe = /* @__PURE__ */ d({ __name: "BrNodeContainer", setup(p) { const u = g(N), e = g(P), l = g(M), o = v(() => { var a; return (a = e == null ? void 0 : e.value) == null ? void 0 : a.getType(); }), c = v(() => { var a; return (a = e == null ? void 0 : e.value) == null ? void 0 : a.getMeta(); }); return (a, t) => { var r; return s(), m($, { meta: c.value, key: (r = n(e)) == null ? void 0 : r.getId() }, { default: _(() => [ o.value && o.value in n(l) ? (s(), m(I(n(l)[o.value]), { key: 0, component: n(e), page: n(u) }, { default: _(() => [ f(a.$slots, "default") ]), _: 3 }, 8, ["component", "page"])) : o.value === n(oe) ? (s(), m(_e, { key: 1, component: n(e), page: n(u) }, { default: _(() => [ f(a.$slots, "default") ]), _: 3 }, 8, ["component", "page"])) : o.value === n(ae) ? (s(), m(de, { key: 2, component: n(e), page: n(u) }, { default: _(() => [ f(a.$slots, "default") ]), _: 3 }, 8, ["component", "page"])) : o.value === n(ue) ? (s(), m(ge, { key: 3, component: n(e), page: n(u) }, { default: _(() => [ f(a.$slots, "default") ]), _: 3 }, 8, ["component", "page"])) : o.value === n(le) ? (s(), m(ve, { key: 4, component: n(e), page: n(u) }, { default: _(() => [ f(a.$slots, "default") ]), _: 3 }, 8, ["component", "page"])) : (s(), m(ie, { key: 5, component: n(e), page: n(u) }, { default: _(() => [ f(a.$slots, "default") ]), _: 3 }, 8, ["component", "page"])) ]), _: 3 }, 8, ["meta"]); }; } }), ye = /* @__PURE__ */ d({ __name: "BrContainerItemUndefined", props: { component: {} }, setup(p) { const u = p, e = v(() => u.component.getType()); return (l, o) => (s(), k("div", null, Z(`Component "${e.value}" is not defined.`), 1)); } }), ke = /* @__PURE__ */ d({ __name: "BrNodeContainerItem", setup(p) { const u = g(N), e = g(M), l = g(P), o = v(() => l.value.getType()); let c; function a(y) { const C = Object.create(Object.getPrototypeOf(y)); return Object.assign(C, y); } const t = E(l.value), r = v(() => t.value.getMeta()), i = () => { t.value = a(l.value); const y = R(u.value); y == null || y.sync(); }; return ee(() => c == null ? void 0 : c()), U( l, () => { c == null || c(), c = l.value.on("update", i); }, { immediate: !0, deep: !0 } ), (y, C) => (s(), m($, { meta: r.value, key: t.value.getId() }, { default: _(() => [ o.value && o.value in n(e) ? (s(), m(I(n(e)[o.value]), { key: 0, component: t.value, page: n(u) }, null, 8, ["component", "page"])) : n(j) in n(e) ? (s(), m(I(n(e)[n(j)]), { key: 1, component: t.value, page: n(u) }, null, 8, ["component", "page"])) : t.value ? (s(), m(ye, { key: 2, component: t.value }, null, 8, ["component"])) : B("", !0) ]), _: 1 }, 8, ["meta"])); } }); function Ne(p = "default") { var e, l; const u = H(); return !!((l = (e = u[p]) == null ? void 0 : e.call(u)[0].children) != null && l.length); } const V = /* @__PURE__ */ d({ __name: "BrNodeComponent", props: { component: {} }, setup(p) { const u = p, { component: e } = Q(u), l = g(N), o = g(M), c = Ne(), a = v(() => { var i; return (i = e == null ? void 0 : e.value) == null ? void 0 : i.getChildren(); }), t = v(() => { var i; return (i = e == null ? void 0 : e.value) == null ? void 0 : i.getMeta(); }), r = v(() => { var i; return (i = e == null ? void 0 : e.value) == null ? void 0 : i.getName(); }); return S(P, e), (i, y) => { var A, w, D; const C = te("br-node-component", !0); return n(c) ? (s(), m($, { meta: t.value, key: (A = n(e)) == null ? void 0 : A.getId() }, { default: _(() => [ f(i.$slots, "default") ]), _: 3 }, 8, ["meta"])) : (s(), k(T, { key: 1 }, [ n(se)(n(e)) ? (s(), m(ke, { key: 0 })) : n(re)(n(e)) ? (s(), m(fe, { key: 1 }, { default: _(() => [ (s(!0), k(T, null, b(a.value, (h) => (s(), m(C, { key: h.getId(), component: h }, null, 8, ["component"]))), 128)) ]), _: 1 })) : r.value && r.value in n(o) ? (s(), m($, { meta: t.value, key: (w = n(e)) == null ? void 0 : w.getId() }, { default: _(() => [ (s(), m(I(n(o)[r.value]), { component: n(e), page: n(l) }, null, 8, ["component", "page"])) ]), _: 1 }, 8, ["meta"])) : (s(), m($, { meta: t.value, key: (D = n(e)) == null ? void 0 : D.getId() }, { default: _(() => [ (s(!0), k(T, null, b(a.value, (h) => (s(), m(C, { key: h.getId(), component: h }, null, 8, ["component"]))), 128)) ]), _: 1 }, 8, ["meta"])) ], 64)); }; } }), $e = /* @__PURE__ */ d({ __name: "BrComponent", props: { component: {} }, setup(p) { const u = p; function e(a, t) { if (ce(t)) return [t]; if (!a) return []; if (!t) return a.getChildren(); const r = a.getComponent(...t.split("/")); return r ? [r] : []; } const l = g(N), o = g(P), c = v(() => e(o == null ? void 0 : o.value, u.component)); return (a, t) => (s(!0), k(T, null, b(c.value, (r) => (s(), m(V, { component: r }, { default: _(() => [ f(a.$slots, "default", { component: r, page: n(l) }) ]), _: 2 }, 1032, ["component"]))), 256)); } }), Be = /* @__PURE__ */ d({ __name: "BrManageContentButton", props: { content: {}, documentTemplateQuery: {}, folderTemplateQuery: {}, path: {}, parameter: {}, pickerConfiguration: {}, pickerEnableUpload: { type: Boolean }, pickerInitialPath: {}, pickerRemembersLastVisited: { type: Boolean }, pickerRootPath: {}, pickerSelectableNodeTypes: {}, relative: { type: Boolean }, root: {} }, setup(p) { const u = p, e = g(N), l = v(() => { var o; return (o = e == null ? void 0 : e.value) == null ? void 0 : o.getButton(pe, u); }); return (o, c) => { var a; return n(e) && ((a = n(e)) != null && a.isPreview()) ? (s(), m($, { key: 0, meta: l.value }, null, 8, ["meta"])) : B("", !0); }; } }), Ce = /* @__PURE__ */ d({ __name: "BrManageMenuButton", props: { menu: {} }, setup(p) { const u = p, e = g(N), l = v(() => { var o; return (o = e == null ? void 0 : e.value) == null ? void 0 : o.getButton(me, u.menu); }); return (o, c) => n(e) && n(e).isPreview() ? (s(), m($, { key: 0, meta: l.value }, null, 8, ["meta"])) : B("", !0); } }), he = /* @__PURE__ */ d({ __name: "BrPage", props: { page: {}, configuration: {}, mapping: {} }, setup(p) { const u = p, { configuration: e, mapping: l } = Q(u), o = E(), c = v(() => { var t; return (t = o.value) == null ? void 0 : t.getComponent(); }); let a = null; return S(N, o), S(M, l), U(e, async (t, r) => { if (!r && u.page) { o.value = L(t, u.page); return; } a = L(t), o.value = await a, a = null; }, { deep: !0, immediate: !0 }), x(() => { const t = R(o.value); t == null || t.sync(); }), z(() => { const t = R(o.value); t == null || t.sync(); }), ne(async () => await a), (t, r) => o.value || n(e).NBRMode ? (s(), m(V, { key: 0, component: c.value }, { default: _(() => [ f(t.$slots, "default", { component: c.value, page: o.value }) ]), _: 3 }, 8, ["component"])) : B("", !0); } }), Ie = { install(p) { p.component("br-component", $e), p.component("br-manage-content-button", Be), p.component("br-manage-menu-button", Ce), p.component("br-page", he); } }; export { $e as BrComponent, Be as BrManageContentButton, Ce as BrManageMenuButton, he as BrPage, Ie as BrSdk }; //# sourceMappingURL=index.js.map