@bloomreach/vue-sdk
Version:
Bloomreach SPA SDK for Vue
395 lines (394 loc) • 11.9 kB
JavaScript
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