UNPKG

@bloomreach/vue-sdk

Version:

Bloomreach SPA SDK for Vue

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