webim-adapter 2.7.4 → 2.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/build/webim-adapter.js +31 -28
- package/build/webim-embed.js +4 -4
- package/build/webim-ssr.js +45 -42
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ npm install webim-adapter
|
|
|
10
10
|
import { WebimPage } from 'webim-adapter';
|
|
11
11
|
|
|
12
12
|
<WebimPage
|
|
13
|
-
apiUrl="https://
|
|
13
|
+
apiUrl="https://webim.app/api" // Web-IM gateway base
|
|
14
14
|
tenant="acme" // tenant slug (X-Tenant header)
|
|
15
15
|
slug="landing" // published page slug
|
|
16
16
|
locale="tr" // optional content locale
|
|
@@ -48,7 +48,7 @@ For plain HTML / WordPress-style sites, `build/webim-embed.js` is a
|
|
|
48
48
|
self-contained bundle (React included). Either drop containers and one tag:
|
|
49
49
|
|
|
50
50
|
```html
|
|
51
|
-
<div data-webim-page data-api="https://
|
|
51
|
+
<div data-webim-page data-api="https://webim.app/api"
|
|
52
52
|
data-tenant="acme" data-slug="landing" data-mode="auto"></div>
|
|
53
53
|
<script src="https://unpkg.com/webim-adapter/build/webim-embed.js"></script>
|
|
54
54
|
```
|
package/build/webim-adapter.js
CHANGED
|
@@ -13850,26 +13850,29 @@ function Kc(e, t, n, r) {
|
|
|
13850
13850
|
}
|
|
13851
13851
|
return !i || !Gc.has(i.type?.resolvedName) ? "" : i.props?.htmlId || fi(i.props?.name) || "";
|
|
13852
13852
|
}
|
|
13853
|
-
var qc = {
|
|
13853
|
+
var qc = "slot-", Jc = {
|
|
13854
13854
|
...Oa,
|
|
13855
13855
|
...Fs,
|
|
13856
13856
|
..._c,
|
|
13857
13857
|
...Ic,
|
|
13858
13858
|
PluginBlock: Hc
|
|
13859
13859
|
};
|
|
13860
|
-
function
|
|
13860
|
+
function Yc(t, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
|
|
13861
13861
|
let o = n[t];
|
|
13862
13862
|
if (!o || o.hidden) return null;
|
|
13863
13863
|
let s = o.type?.resolvedName, c = a?.mapProps ? a.mapProps(o.props ?? {}, s) : o.props ?? {};
|
|
13864
13864
|
if (s === "ComponentInstance") {
|
|
13865
|
-
let
|
|
13866
|
-
if (!
|
|
13867
|
-
let
|
|
13868
|
-
return /* @__PURE__ */ h(e, { children:
|
|
13865
|
+
let s = o.props?.componentId, l = r?.[s];
|
|
13866
|
+
if (!l?.template || i.has(s)) return null;
|
|
13867
|
+
let u = new Set(i).add(s), d = Object.fromEntries(Object.entries(o.linkedNodes ?? {}).filter(([e]) => e.startsWith(qc)).map(([e, t]) => [e.slice(5), Yc(t, n, r, i, a)]));
|
|
13868
|
+
return /* @__PURE__ */ h(e, { children: Yc(l.template.rootId, l.template.nodes, r, u, {
|
|
13869
|
+
...pt(c.values, a),
|
|
13870
|
+
slots: d
|
|
13871
|
+
}) }, t);
|
|
13869
13872
|
}
|
|
13870
|
-
let l =
|
|
13873
|
+
let l = Jc[s];
|
|
13871
13874
|
if (!l) return null;
|
|
13872
|
-
let u = (o.nodes ?? []).map((e) =>
|
|
13875
|
+
let u = c.compSlot?.id, d = u && a?.slots && Object.hasOwn(a.slots, u) ? a.slots[u] : void 0, f = d === void 0 ? (o.nodes ?? []).map((e) => Yc(e, n, r, i, a)).filter(Boolean) : [d].filter(Boolean), p = Object.entries(o.linkedNodes ?? {}), m = p.length ? Object.fromEntries(p.map(([e, t]) => [e, Yc(t, n, r, i, a)])) : void 0, g = /* @__PURE__ */ h(typeof l == "function" ? Wc : l, {
|
|
13873
13876
|
...typeof l == "function" ? {
|
|
13874
13877
|
View: l,
|
|
13875
13878
|
markup: Uc(t, c, a?.skipTarget)
|
|
@@ -13877,31 +13880,31 @@ function Jc(t, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
|
|
|
13877
13880
|
...c,
|
|
13878
13881
|
...s === "CollectionList" ? {
|
|
13879
13882
|
templateId: o.linkedNodes?.card,
|
|
13880
|
-
renderTemplate: o.linkedNodes?.card ? (e) =>
|
|
13883
|
+
renderTemplate: o.linkedNodes?.card ? (e) => Yc(o.linkedNodes.card, n, r, i, {
|
|
13881
13884
|
...a,
|
|
13882
13885
|
mapProps: a?.mapProps ? (t, n) => a.mapProps(e(t, n), n) : e
|
|
13883
13886
|
}) : void 0
|
|
13884
13887
|
} : null,
|
|
13885
13888
|
...s === "FormLabel" ? { htmlFor: Kc(t, c, n, o.parent) } : null,
|
|
13886
|
-
linked:
|
|
13889
|
+
linked: m,
|
|
13887
13890
|
nodeRef: (e) => {
|
|
13888
13891
|
e && (e.setAttribute("data-wb", t), ce(e, c), a?.skipTarget?.id === t && (e.id = c.htmlId || a.skipTarget.htmlId, e.tabIndex = -1), se(e, a?.events === !1 ? [] : c.events));
|
|
13889
13892
|
},
|
|
13890
|
-
children:
|
|
13891
|
-
}, t),
|
|
13893
|
+
children: f.length ? f : void 0
|
|
13894
|
+
}, t), _ = c.when && c.when !== "always" ? /* @__PURE__ */ h(Ra, {
|
|
13892
13895
|
when: c.when,
|
|
13893
|
-
children:
|
|
13894
|
-
}, t) :
|
|
13896
|
+
children: g
|
|
13897
|
+
}, t) : g;
|
|
13895
13898
|
return Array.isArray(c.showWhen?.rules) && c.showWhen.rules.length ? /* @__PURE__ */ h(an, {
|
|
13896
13899
|
showWhen: c.showWhen,
|
|
13897
|
-
children:
|
|
13898
|
-
}, t) :
|
|
13900
|
+
children: _
|
|
13901
|
+
}, t) : _;
|
|
13899
13902
|
}
|
|
13900
13903
|
//#endregion
|
|
13901
13904
|
//#region ../ui/src/components/builder/PageRenderer.jsx
|
|
13902
|
-
var
|
|
13905
|
+
var Xc = (e) => Object.entries(e).map(([e, t]) => `${e}: ${t};`).join(" "), Zc = (e) => `.webim-page[data-webim-mode="light"] { ${Object.entries(Pe(e.light)).map(([e, t]) => `${e}: ${t} !important;`).join(" ")} }
|
|
13903
13906
|
.webim-page[data-webim-mode="dark"] { ${Object.entries(Pe(e.dark)).map(([e, t]) => `${e}: ${t} !important;`).join(" ")} }`;
|
|
13904
|
-
function
|
|
13907
|
+
function Qc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, custom: a, animations: o, tenant: c, apiUrl: u, datasets: d, locale: f, direction: p, settings: _, siteUser: v, param: y }) {
|
|
13905
13908
|
let b = a?.js?.trim(), S = _ && _["site.code"] && typeof _["site.code"] == "object" ? _["site.code"] : null, C = typeof S?.js == "string" ? S.js.trim() : "", T = typeof S?.css == "string" ? S.css.trim() : "";
|
|
13906
13909
|
if (s(() => {
|
|
13907
13910
|
if (!C) return;
|
|
@@ -13919,15 +13922,15 @@ function Zc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
|
|
|
13919
13922
|
minHeight: "100%",
|
|
13920
13923
|
display: "flex",
|
|
13921
13924
|
flexDirection: "column"
|
|
13922
|
-
}, k = at(e, n), A =
|
|
13925
|
+
}, k = at(e, n), A = Yc("ROOT", e, n, void 0, k ? { skipTarget: k } : void 0), j = k ? /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h("style", { children: $e }), /* @__PURE__ */ h("a", {
|
|
13923
13926
|
className: "webim-skip",
|
|
13924
13927
|
href: `#${k.htmlId}`,
|
|
13925
13928
|
children: Xe(f || _?.locales?.default)("skip")
|
|
13926
|
-
})] }) : null, M = l(() => ({ render: (t, r) =>
|
|
13929
|
+
})] }) : null, M = l(() => ({ render: (t, r) => Yc(t, e, n, void 0, { mapProps: r }) }), [e, n]), N = Ce(e, n), P = Se(e, n), F = a?.css?.trim(), I = V(o), L = Ne(t), R = [L.font, L.headingFont].filter((e) => typeof e == "string" && e.trim() && e !== "inherit" && !Ae[e]), z = [.../* @__PURE__ */ new Set([...w(e, n), ...R])].map((e) => /* @__PURE__ */ h("link", {
|
|
13927
13930
|
rel: "stylesheet",
|
|
13928
13931
|
precedence: "default",
|
|
13929
13932
|
href: x(e)
|
|
13930
|
-
}, e)), B =
|
|
13933
|
+
}, e)), B = Zc(L), H = ze(t);
|
|
13931
13934
|
return r === "auto" ? /* @__PURE__ */ h(X.Provider, {
|
|
13932
13935
|
value: {
|
|
13933
13936
|
tenant: c || "",
|
|
@@ -13952,8 +13955,8 @@ function Zc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
|
|
|
13952
13955
|
},
|
|
13953
13956
|
children: [
|
|
13954
13957
|
j,
|
|
13955
|
-
/* @__PURE__ */ h("style", { children: `.webim-page { ${
|
|
13956
|
-
@media (prefers-color-scheme: dark) { .webim-page { ${
|
|
13958
|
+
/* @__PURE__ */ h("style", { children: `.webim-page { ${Xc(Pe(L.light))} }
|
|
13959
|
+
@media (prefers-color-scheme: dark) { .webim-page { ${Xc(Pe(L.dark))} } }` }),
|
|
13957
13960
|
/* @__PURE__ */ h("style", { children: B }),
|
|
13958
13961
|
z,
|
|
13959
13962
|
/* @__PURE__ */ h("style", { children: D }),
|
|
@@ -14012,8 +14015,8 @@ function Zc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
|
|
|
14012
14015
|
}
|
|
14013
14016
|
//#endregion
|
|
14014
14017
|
//#region src/WebimContent.jsx
|
|
14015
|
-
function
|
|
14016
|
-
return e?.blocks?.ROOT ? /* @__PURE__ */ h(
|
|
14018
|
+
function $c({ bundle: e, mode: t = "auto", style: n }) {
|
|
14019
|
+
return e?.blocks?.ROOT ? /* @__PURE__ */ h(Qc, {
|
|
14017
14020
|
blocks: e.blocks,
|
|
14018
14021
|
theme: e.theme,
|
|
14019
14022
|
components: e.components,
|
|
@@ -14032,7 +14035,7 @@ function Qc({ bundle: e, mode: t = "auto", style: n }) {
|
|
|
14032
14035
|
}
|
|
14033
14036
|
//#endregion
|
|
14034
14037
|
//#region src/WebimPage.jsx
|
|
14035
|
-
function
|
|
14038
|
+
function el({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token: a, mode: o = "auto", style: c, fallback: l = null, errorFallback: f = null, onLoad: p, onError: m }) {
|
|
14036
14039
|
let [g, _] = d({ status: "loading" }), v = u({
|
|
14037
14040
|
onLoad: p,
|
|
14038
14041
|
onError: m
|
|
@@ -14069,11 +14072,11 @@ function $c({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token: a, mo
|
|
|
14069
14072
|
r,
|
|
14070
14073
|
i,
|
|
14071
14074
|
a
|
|
14072
|
-
]), g.status === "loading" ? l : g.status === "error" ? typeof f == "function" ? f(g.error) : f : /* @__PURE__ */ h(
|
|
14075
|
+
]), g.status === "loading" ? l : g.status === "error" ? typeof f == "function" ? f(g.error) : f : /* @__PURE__ */ h($c, {
|
|
14073
14076
|
bundle: g.bundle,
|
|
14074
14077
|
mode: o,
|
|
14075
14078
|
style: c
|
|
14076
14079
|
});
|
|
14077
14080
|
}
|
|
14078
14081
|
//#endregion
|
|
14079
|
-
export {
|
|
14082
|
+
export { Qc as PageRenderer, $c as WebimContent, el as WebimPage, qe as fetchPage, Bn as renderRichContent, Ue as resolveTheme };
|
package/build/webim-embed.js
CHANGED
|
@@ -107,8 +107,8 @@ Error generating stack: `+e.message+`
|
|
|
107
107
|
`),waves:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` float t = u_time * 0.5;`,` float y = uv.y * u_scale;`,` float w = sin((uv.x * 6.0) + t) * 0.08 + sin((uv.x * 11.0) - (t * 1.3)) * 0.05;`,` float band = smoothstep(0.0, 1.0, y + w + (u_mouse.y * 0.1));`,` vec3 col = mix(u_a, u_b, band);`,` col += u_c * (0.12 * smoothstep(0.02, 0.0, abs(y + w - 0.5)));`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
|
|
108
108
|
`),plasma:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` vec2 p = (uv - 0.5) * u_scale * 3.0 + u_mouse * 0.3;`,` float t = u_time * 0.2;`,` float n = fbm(p + vec2(fbm(p + t), fbm(p - t)));`,` vec3 col = mix(u_a, u_b, smoothstep(0.25, 0.75, n));`,` col = mix(col, u_c, smoothstep(0.6, 0.95, n));`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
|
|
109
109
|
`),grid:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` vec2 sp = (gl_FragCoord.xy - 0.5 * u_res) / min(u_res.x, u_res.y);`,` float t = u_time * 0.15;`,` vec2 g = sp * (8.0 * u_scale);`,` g.y += t;`,` vec2 f = abs(fract(g) - 0.5);`,` float line = smoothstep(0.48, 0.5, max(f.x, f.y));`,` float glow = 1.0 - smoothstep(0.0, 0.9, length(sp - u_mouse * 0.4));`,` vec3 col = mix(u_a, u_b, line);`,` col += u_c * glow * 0.35;`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
|
|
110
|
-
`)};function oc(e,t){let n=/^#?([0-9a-f]{6})$/i.exec(String(e??``).trim());if(!n)return t;let r=parseInt(n[1],16);return[(r>>16&255)/255,(r>>8&255)/255,(r&255)/255]}function sc(e,t,n){let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS)){let t=e.getShaderInfoLog(r);throw e.deleteShader(r),Error(t||`Shader failed to compile`)}return r}function cc({preset:e,code:t,colorA:n,colorB:r,colorC:i,speed:a,scale:o,height:s,interactive:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),m=(0,l.useRef)(null),h=(0,l.useRef)(null),[g,_]=(0,l.useState)(``);(0,l.useEffect)(()=>()=>{let e=h.current;h.current=null,e?.getExtension(`WEBGL_lose_context`)?.loseContext()},[]);let v=typeof t==`string`&&t.trim()?t:ac[e]??ac.gradient,y=String(n??``),b=String(r??``),x=String(i??``),S=Qs(a,100),C=Math.max(.05,Qs(o,100));return(0,l.useEffect)(()=>{let e=p.current,t=m.current;if(!e||!t)return;let n=h.current??=e.getContext(`webgl`,{antialias:!0,alpha:!0,premultipliedAlpha:!1});if(!n){_(`WebGL is not available in this browser`);return}let r=null;try{let e=sc(n,n.VERTEX_SHADER,rc),t=sc(n,n.FRAGMENT_SHADER,ic+v);if(r=n.createProgram(),n.attachShader(r,e),n.attachShader(r,t),n.linkProgram(r),!n.getProgramParameter(r,n.LINK_STATUS))throw Error(n.getProgramInfoLog(r)||`Link failed`);_(``)}catch(e){_(e?.message||`Shader failed to compile`);return}n.useProgram(r);let i=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,i),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),n.STATIC_DRAW);let a=n.getAttribLocation(r,`p`);n.enableVertexAttribArray(a),n.vertexAttribPointer(a,2,n.FLOAT,!1,0,0);let o=e=>n.getUniformLocation(r,e),s={res:o(`u_res`),time:o(`u_time`),mouse:o(`u_mouse`),a:o(`u_a`),b:o(`u_b`),c:o(`u_c`),scale:o(`u_scale`)},l={x:0,y:0},u=t=>{let n=e.getBoundingClientRect();!n.width||!n.height||(l.x=((t.clientX-n.left)/n.width-.5)*2,l.y=(.5-(t.clientY-n.top)/n.height)*2)};c!==!1&&t.addEventListener(`pointermove`,u);let d=()=>{let r=Js(),i=Math.max(1,Math.round(t.clientWidth*r)),a=Math.max(1,Math.round(t.clientHeight*r));(e.width!==i||e.height!==a)&&(e.width=i,e.height=a,n.viewport(0,0,i,a))},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let g=qs(),w={a:oc(y,[.35,.4,.95]),b:oc(b,[.05,.06,.16]),c:oc(x,[.95,.35,.6])},T={};return T.stop=Ys(t,(t,r)=>{d(),n.uniform2f(s.res,e.width,e.height),n.uniform1f(s.time,(g?0:r)*S),n.uniform2f(s.mouse,l.x,l.y),n.uniform3fv(s.a,w.a),n.uniform3fv(s.b,w.b),n.uniform3fv(s.c,w.c),n.uniform1f(s.scale,C),n.drawArrays(n.TRIANGLES,0,3),g&&T.stop?.()}),()=>{T.stop?.(),f?.disconnect(),t.removeEventListener(`pointermove`,u),n.deleteProgram(r),n.deleteBuffer(i)}},[v,y,b,x,S,C,c]),(0,W.jsxs)(`div`,{ref:e=>{m.current=e,typeof d==`function`&&d(e)},style:{position:`relative`,minHeight:Zs(s,320),overflow:`hidden`,...z(u)},children:[(0,W.jsx)(`canvas`,{ref:p,style:{display:`block`,width:`100%`,height:`100%`,position:`absolute`,inset:0}}),g&&f?(0,W.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:12,background:`rgba(15,23,42,.75)`,...Te,color:`#fecaca`,fontSize:11,whiteSpace:`pre-wrap`,overflow:`auto`},children:g}):null]})}function lc(e,t){let n=new e.Scene,r=new e.BoxGeometry;r.deleteAttribute(`uv`);let i=new e.Mesh(r,new e.MeshBasicMaterial({side:e.BackSide,color:6710886}));i.scale.setScalar(12),n.add(i);let a=(t,i,a,o,s,c,l,u)=>{let d=new e.Mesh(r,new e.MeshBasicMaterial);d.material.color.setHex(t),d.material.color.multiplyScalar(i),d.position.set(a,o,s),d.scale.set(c,l,u),n.add(d)};a(16777215,4,0,6,0,10,.5,10),a(16777215,1.4,-6,1,2,.4,6,6),a(16777215,1,6,1,-2,.4,6,6);let o=new e.PMREMGenerator(t),s=o.fromScene(n,.04);return o.dispose(),r.dispose(),n.traverse(e=>e.material?.dispose?.()),s.texture}var uc=new Map;function dc(e){if(uc.has(e))return uc.get(e);let t=Gs(`loaders/GLTFLoader.js`).then(t=>new Promise((n,r)=>{new t.GLTFLoader().load(e,e=>n(e.scene),void 0,r)})).catch(t=>{throw uc.delete(e),t});return uc.set(e,t),t}function fc(e,t){let n=new e.Box3().setFromObject(t);if(n.isEmpty())return t;let r=n.getSize(new e.Vector3),i=n.getCenter(new e.Vector3),a=Math.max(r.x,r.y,r.z)||1,o=new e.Group;return t.position.sub(i),t.scale.multiplyScalar(1/a),t.position.multiplyScalar(1/a),o.add(t),o}var pc={box:e=>new e.BoxGeometry(1,1,1,1,1,1),sphere:e=>new e.SphereGeometry(.62,48,32),torus:e=>new e.TorusGeometry(.5,.2,24,64),knot:e=>new e.TorusKnotGeometry(.44,.15,128,24),cone:e=>new e.ConeGeometry(.55,1.1,48),cylinder:e=>new e.CylinderGeometry(.45,.45,1.1,48),plane:e=>new e.PlaneGeometry(1.4,1.4),capsule:e=>new e.CapsuleGeometry(.35,.6,8,32)},mc=(e,t)=>Number.isFinite(Number(e))?Number(e):t;function hc({objects:e,background:t,cameraDistance:n,fov:r,autoRotate:i,spinSpeed:a,controls:o,ground:s,height:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),[m,h]=(0,l.useState)(!1),g=Array.isArray(e)?e.filter(e=>e&&typeof e==`object`):[],_=JSON.stringify(g),v=i!==!1&&!qs(),y=o!==!1&&!f;return(0,l.useEffect)(()=>{let e=p.current;if(!e)return;let i=!0,o=null;return Ws().then(c=>{if(!i||!e)return;let l=new c.WebGLRenderer({antialias:!0,alpha:!t});l.setPixelRatio(Js()),l.shadowMap.enabled=s!==!1,l.shadowMap.type=c.PCFSoftShadowMap,l.outputColorSpace=c.SRGBColorSpace,l.toneMapping=c.ACESFilmicToneMapping,l.domElement.style.display=`block`,l.domElement.style.width=`100%`,l.domElement.style.height=`100%`,e.appendChild(l.domElement);let u=new c.Scene;t&&(u.background=new c.Color(t)),u.environment=lc(c,l);let d=new c.PerspectiveCamera(mc(r,45),1,.1,400),f=Xs(d,l.domElement,{distance:mc(n,5),enableZoom:y}),p=new c.DirectionalLight(16777215,2.2);p.position.set(4,7,5),p.castShadow=s!==!1,p.shadow.mapSize.set(1024,1024),p.shadow.camera.near=.5,p.shadow.camera.far=30,u.add(p,new c.AmbientLight(16777215,.35));let m=[],h=new c.Group,_=(e,t)=>{let n=mc(t.scale,1);e.position.set(mc(t.x,0),mc(t.y,0),mc(t.z,0)),e.rotation.set($s(t.rx),$s(t.ry),$s(t.rz)),e.scale.setScalar(n>0?n:1),e.userData.spin=$s(t.spin)};for(let e of g){if(e.shape===`model`){if(!ec(e.src))continue;let t=new c.Group;_(t,e),h.add(t),dc(e.src).then(e=>{if(!i)return;let n=fc(c,e.clone(!0));n.traverse(e=>{e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)}),t.add(n)},()=>{});continue}let t=(pc[e.shape]??pc.box)(c),n=new c.MeshStandardMaterial({color:/^#?[0-9a-f]{6}$/i.test(String(e.color??``))?e.color:`#6366f1`,metalness:Math.min(1,Math.max(0,Qs(e.metalness,10))),roughness:Math.min(1,Math.max(0,Qs(e.roughness,35))),transparent:Qs(e.opacity,100)<1,opacity:Math.min(1,Math.max(0,Qs(e.opacity,100))),flatShading:e.flat===!0,wireframe:e.wireframe===!0,side:e.shape===`plane`?c.DoubleSide:c.FrontSide}),r=new c.Mesh(t,n);_(r,e),r.castShadow=!0,r.receiveShadow=!0,h.add(r),m.push(t,n)}u.add(h);let b=null;if(s!==!1){let e=new c.ShadowMaterial({opacity:.22}),t=new c.PlaneGeometry(60,60);b=new c.Mesh(t,e),b.rotation.x=-Math.PI/2,b.position.y=mc(s===!0?0:s,-.85),b.receiveShadow=!0,u.add(b),m.push(t,e)}let x=()=>{let t=Math.max(1,e.clientWidth),n=Math.max(1,e.clientHeight);l.setSize(t,n,!1),d.aspect=t/n,d.updateProjectionMatrix()},S=typeof ResizeObserver>`u`?null:new ResizeObserver(x);S?.observe(e),x();let C=$s(Number.isFinite(Number(a))?a:20),w=Ys(e,e=>{f.autoSpin(v?C:0,e),f.update();for(let t of h.children)t.userData.spin&&(t.rotation.y+=t.userData.spin*e);l.render(u,d)});o=()=>{w(),S?.disconnect(),f.dispose();for(let e of m)e.dispose?.();u.environment?.dispose?.(),l.dispose(),l.domElement.remove()}},()=>{i&&h(!0)}),()=>{i=!1,o?.()}},[_,t,n,r,v,a,y,s]),m&&f?(0,W.jsx)(tc,{nodeRef:d,style:u,height:c,label:`3D Scene`,note:`The 3D engine could not be loaded. Check the connection and try again.`}):(0,W.jsx)(`div`,{ref:e=>{p.current=e,typeof d==`function`&&d(e)},style:{minHeight:Zs(c,380),height:Zs(c,380),overflow:`hidden`,touchAction:y?`pan-y`:void 0,...z(u)}})}function gc({code:e,height:t,background:n,style:r,nodeRef:i,inert:a}){let o=(0,l.useRef)(null),[s,c]=(0,l.useState)(``);return(0,l.useEffect)(()=>{let t=o.current;if(a||!t||typeof e!=`string`||!e.trim())return;let r=!0,i=null;return Ws().then(a=>{if(!r||!t)return;let o=new a.WebGLRenderer({antialias:!0,alpha:!n});o.setPixelRatio(Js()),o.outputColorSpace=a.SRGBColorSpace,o.domElement.style.display=`block`,o.domElement.style.width=`100%`,o.domElement.style.height=`100%`,t.appendChild(o.domElement);let s=new a.Scene;n&&(s.background=new a.Color(n));let l=new a.PerspectiveCamera(45,1,.1,1e3);l.position.set(0,1.2,4);let u=null;try{u=Function(`ctx`,`"use strict";\n${e}`)({THREE:a,scene:s,camera:l,renderer:o,canvas:o.domElement,host:t})}catch(e){c(e?.message||String(e))}let d=()=>{let e=Math.max(1,t.clientWidth),n=Math.max(1,t.clientHeight);o.setSize(e,n,!1),l.aspect=e/n,l.updateProjectionMatrix()},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let p=!1,m=Ys(t,(e,t)=>{if(!p&&typeof u?.frame==`function`)try{u.frame(e,t)}catch(e){p=!0,c(e?.message||String(e))}o.render(s,l)});i=()=>{m(),f?.disconnect();try{u?.dispose?.()}catch{}o.dispose(),o.domElement.remove()}}),()=>{r=!1,i?.()}},[e,a,n]),a?(0,W.jsx)(tc,{nodeRef:i,style:r,height:t,label:`three.js`,note:typeof e==`string`&&e.trim()?`Custom scene code runs in Preview and on the published page.`:`Open the code editor in the Settings panel to write your scene.`}):(0,W.jsx)(`div`,{ref:e=>{o.current=e,typeof i==`function`&&i(e)},style:{minHeight:Zs(t,380),height:Zs(t,380),overflow:`hidden`,position:`relative`,touchAction:`pan-y`,...z(r)},children:s?(0,W.jsx)(`div`,{style:{position:`absolute`,left:8,top:8,right:8,padding:`6px 8px`,borderRadius:6,background:`rgba(127,29,29,.85)`,...Te,color:`#fee2e2`,fontSize:11},children:s}):null})}var _c={ModelViewerBlock:nc,ShaderBlock:cc,SceneBlock:hc,ThreeCanvasBlock:gc},vc=`2.44.0`,yc=`https://cdn.jsdelivr.net/npm`,bc=`${yc}/@rive-app/canvas@${vc}/+esm`,xc=`${yc}/@rive-app/canvas@${vc}/rive.wasm`,Sc=e=>import(e),Cc=null;function wc(){return typeof window>`u`?new Promise(()=>{}):Cc||(Cc=Sc(bc).then(e=>{let t=e?.default??e;return t?.RuntimeLoader?.setWasmUrl&&t.RuntimeLoader.setWasmUrl(xc),t}).catch(e=>{throw Cc=null,e}),Cc)}var Tc=new Map,Ec={56:`number`,58:`trigger`,59:`boolean`},Dc=new Set;function Oc(e,t){if(!e||!t)return;let n=(Array.isArray(t.artboards)?t.artboards:[]).map(e=>({name:String(e?.name??``),animations:(Array.isArray(e?.animations)?e.animations:[]).map(String),stateMachines:(Array.isArray(e?.stateMachines)?e.stateMachines:[]).map(e=>({name:String(e?.name??``),inputs:(Array.isArray(e?.inputs)?e.inputs:[]).map(e=>({name:String(e?.name??``),type:Ec[e?.type]??`unknown`}))}))}));Tc.set(e,{artboards:n}),Dc.forEach(t=>t(e))}var kc=(e,t)=>Number.isFinite(Number(e))&&Number(e)>0?Number(e):t,Ac=[`contain`,`cover`,`fill`,`fitWidth`,`fitHeight`,`scaleDown`,`none`,`layout`],jc=[`center`,`topLeft`,`topCenter`,`topRight`,`centerLeft`,`centerRight`,`bottomLeft`,`bottomCenter`,`bottomRight`],Mc=()=>typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches,Nc=131;function Pc(e,t,n,r){if(!e||!t||!n)return;let i=[];try{i=e.stateMachineInputs(t)??[]}catch{return}let a=i.find(e=>e?.name===n);a&&(a.type===58?r&&a.fire():a.type===59?a.value=!!r:a.type===56&&(a.value=+!!r))}function Fc({src:e,poster:t,alt:n,height:r,bg:i,artboard:a,mode:o=`stateMachine`,stateMachine:s,animation:c,fit:u=`contain`,alignment:d=`center`,autoplay:f=!0,hoverInput:p,clickInput:m,style:h,nodeRef:g,inert:_}){let v=(0,l.useRef)(null),y=(0,l.useRef)(null),b=(0,l.useRef)(null),x=(0,l.useRef)(``),[S,C]=(0,l.useState)(!1),[w,T]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let t=y.current,n=v.current;if(C(!1),T(!1),!e||!t)return;let r=!0,i=null,l=null,p=null;return wc().then(m=>{if(!r)return;let h=o!==`animation`,g=f!==!1&&!Mc();try{i=new m.Rive({src:e,canvas:t,artboard:a||void 0,stateMachines:h&&s?s:void 0,animations:!h&&c?c:void 0,autoplay:g,layout:new m.Layout({fit:Ac.includes(u)?u:`contain`,alignment:jc.includes(d)?d:`center`}),shouldDisableRiveListeners:!!_,isTouchScrollEnabled:!0,onLoad:()=>{if(!r)return;i.resizeDrawingSurfaceToCanvas();let t=i.contents;if(Oc(e,t),h){let e=((t?.artboards??[]).find(e=>e.name===(a||i.activeArtboard))??t?.artboards?.[0])?.stateMachines?.[0]?.name??``;if(x.current=s||e,!s&&e)try{i.play(e),g||i.pause(e)}catch{}}C(!0)},onLoadError:()=>r&&T(!0)})}catch{T(!0);return}b.current=i,n&&(n.rive=i),i.on(m.EventType.RiveEvent,e=>{let t=e?.data;_||t?.type!==Nc||!t?.url||(t.target===`_self`?window.location.assign(t.url):window.open(t.url,t.target||`_blank`,`noopener`))}),n&&typeof ResizeObserver<`u`&&(l=new ResizeObserver(()=>i?.resizeDrawingSurfaceToCanvas()),l.observe(n)),n&&typeof IntersectionObserver<`u`&&(p=new IntersectionObserver(([e])=>{i&&(e?.isIntersecting?i.startRendering?.():i.stopRendering?.())}),p.observe(n))},()=>r&&T(!0)),()=>{r=!1,l?.disconnect(),p?.disconnect(),n&&n.rive===i&&delete n.rive,b.current=null,x.current=``;try{i?.cleanup()}catch{}}},[e,a,o,s,c,u,d,f,_]);let E=!_&&S,D=(e,t)=>E&&Pc(b.current,x.current,e,t),O={position:`relative`,display:`block`,width:`100%`,height:kc(r,360),backgroundColor:i||`transparent`,overflow:`hidden`,...z(h)};return e?(0,W.jsxs)(`div`,{ref:e=>{v.current=e,typeof g==`function`&&g(e)},style:O,onMouseEnter:p?()=>D(p,!0):void 0,onMouseLeave:p?()=>D(p,!1):void 0,onClick:m?()=>D(m,!0):void 0,children:[(0,W.jsx)(`canvas`,{ref:y,...K(`canvas`),role:`img`,"aria-label":n||`Animation`,style:{position:`absolute`,inset:0,width:`100%`,height:`100%`,display:`block`}}),t&&(!S||w)?(0,W.jsx)(`img`,{...K(`poster`),src:t,alt:n||``,style:{position:`absolute`,inset:0,width:`100%`,height:`100%`,objectFit:`contain`,pointerEvents:`none`}}):null]}):_?(0,W.jsxs)(`div`,{ref:g,style:{...O,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:6,border:`1px dashed rgba(148,163,184,.55)`,borderRadius:10,background:`rgba(148,163,184,.08)`,...Te,color:`rgba(100,116,139,.95)`,fontSize:13,textAlign:`center`,padding:16},children:[(0,W.jsx)(`strong`,{style:{fontSize:14},children:`Rive`}),(0,W.jsx)(`span`,{children:`Pick a .riv file in the Settings panel.`})]}):null}var Ic={RiveBlock:Fc},Lc=new Map;function Rc(e){if(Lc.has(e))return Lc.get(e);let t=URL.createObjectURL(new Blob([e],{type:`text/javascript`})),n=import(t).finally(()=>URL.revokeObjectURL(t));return Lc.set(e,n),n}function zc(e){let t=e&&typeof e==`object`?e.builder_plugins:null,n=t&&typeof t==`object`?t.plugins:null;return n&&typeof n==`object`?n:{}}async function Bc(e,t){let n=await Rc(e);return(Array.isArray(n?.default?.blocks)?n.default.blocks:[]).find(e=>e?.id===t&&typeof e.mount==`function`)??null}var Vc={padding:`10px 12px`,border:`1px dashed rgba(148, 163, 184, 0.5)`,borderRadius:8,fontSize:12,opacity:.6};function Hc({pluginId:e,blockId:t,props:n,style:r,nodeRef:i}){let a=(0,l.useContext)(G),o=zc(a?.settings)[e],s=(0,l.useRef)(null),c=(0,l.useRef)(null),u={tenant:a?.tenant??``,apiUrl:a?.apiUrl??`/api`,locale:a?.locale??``,settings:a?.settings??null},d=(0,l.useRef)(u);d.current=u;let f=JSON.stringify(n??{});return(0,l.useEffect)(()=>{let e=s.current;if(!o?.code||!e)return;let n=!0;return Bc(o.code,t).then(e=>{if(!(!n||!e||!s.current)){c.current=e;try{e.mount(s.current,JSON.parse(f),d.current)}catch{c.current=null}}}).catch(()=>{}),()=>{n=!1;let t=c.current;c.current=null;try{t?.unmount?.(e)}catch{}e&&(e.innerHTML=``)}},[o?.code,t]),(0,l.useEffect)(()=>{let e=c.current,t=s.current;if(!(!e||!t))try{e.update?e.update(t,JSON.parse(f),d.current):(e.unmount?.(t),t.innerHTML=``,e.mount(t,JSON.parse(f),d.current))}catch{}},[f]),o?(0,W.jsx)(`div`,{ref:i,style:z(r),children:(0,W.jsx)(`div`,{ref:s})}):(0,W.jsxs)(`div`,{ref:i,style:{...Vc,...z(r)},children:[`Plugin “`,e,`” is not installed`]})}function Uc(e,t,n){let r={"data-wb":e};t.htmlId&&(r.id=t.htmlId),n&&n.id===e&&(r.id=t.htmlId||n.htmlId,r.tabIndex=-1);let i=V(t.classNames);i.length&&(r[`data-wb-class`]=i.join(` `));for(let e of Array.isArray(t.attributes)?t.attributes:[]){let t=String(e?.name??``).trim();B(t)&&(r[t===`tabindex`?`tabIndex`:t]=e.value??``)}return{attrs:r,classes:i}}function Wc({View:e,markup:t,...n}){let r=e(n);if(!(0,l.isValidElement)(r)||typeof r.type!=`string`)return r;let i=[r.props.className,...t.classes].filter(Boolean).join(` `);return(0,l.cloneElement)(r,{...t.attrs,...i?{className:i}:{}})}var Gc=new Set([`FormInput`,`FormTextarea`,`FormSelect`]);function Kc(e,t,n,r){if(t.forNode===`__none`)return``;let i=t.forNode?n[t.forNode]:null;if(!t.forNode){let t=n[r]?.nodes??[];i=n[t[t.indexOf(e)+1]]??null}return!i||!Gc.has(i.type?.resolvedName)?``:i.props?.htmlId||hi(i.props?.name)||``}var qc={...Aa,...Fs,..._c,...Ic,PluginBlock:Hc};function Jc(e,t,n,r=new Set,i=void 0){let a=t[e];if(!a||a.hidden)return null;let o=a.type?.resolvedName,s=i?.mapProps?i.mapProps(a.props??{},o):a.props??{};if(o===`ComponentInstance`){let t=a.props?.componentId,o=n?.[t];if(!o?.template||r.has(t))return null;let c=new Set(r).add(t);return(0,W.jsx)(l.Fragment,{children:Jc(o.template.rootId,o.template.nodes,n,c,pt(s.values,i))},e)}let c=qc[o];if(!c)return null;let u=(a.nodes??[]).map(e=>Jc(e,t,n,r,i)).filter(Boolean),d=Object.entries(a.linkedNodes??{}),f=d.length?Object.fromEntries(d.map(([e,a])=>[e,Jc(a,t,n,r,i)])):void 0,p=(0,W.jsx)(typeof c==`function`?Wc:c,{...typeof c==`function`?{View:c,markup:Uc(e,s,i?.skipTarget)}:null,...s,...o===`CollectionList`?{templateId:a.linkedNodes?.card,renderTemplate:a.linkedNodes?.card?e=>Jc(a.linkedNodes.card,t,n,r,{...i,mapProps:i?.mapProps?(t,n)=>i.mapProps(e(t,n),n):e}):void 0}:null,...o===`FormLabel`?{htmlFor:Kc(e,s,t,a.parent)}:null,linked:f,nodeRef:t=>{t&&(t.setAttribute(`data-wb`,e),ce(t,s),i?.skipTarget?.id===e&&(t.id=s.htmlId||i.skipTarget.htmlId,t.tabIndex=-1),se(t,i?.events===!1?[]:s.events))},children:u.length?u:void 0},e),m=s.when&&s.when!==`always`?(0,W.jsx)(Ba,{when:s.when,children:p},e):p;return Array.isArray(s.showWhen?.rules)&&s.showWhen.rules.length?(0,W.jsx)(sn,{showWhen:s.showWhen,children:m},e):m}var Yc=e=>Object.entries(e).map(([e,t])=>`${e}: ${t};`).join(` `),Xc=e=>`.webim-page[data-webim-mode="light"] { ${Object.entries(Pe(e.light)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }
|
|
111
|
-
.webim-page[data-webim-mode="dark"] { ${Object.entries(Pe(e.dark)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }`;function
|
|
110
|
+
`)};function oc(e,t){let n=/^#?([0-9a-f]{6})$/i.exec(String(e??``).trim());if(!n)return t;let r=parseInt(n[1],16);return[(r>>16&255)/255,(r>>8&255)/255,(r&255)/255]}function sc(e,t,n){let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS)){let t=e.getShaderInfoLog(r);throw e.deleteShader(r),Error(t||`Shader failed to compile`)}return r}function cc({preset:e,code:t,colorA:n,colorB:r,colorC:i,speed:a,scale:o,height:s,interactive:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),m=(0,l.useRef)(null),h=(0,l.useRef)(null),[g,_]=(0,l.useState)(``);(0,l.useEffect)(()=>()=>{let e=h.current;h.current=null,e?.getExtension(`WEBGL_lose_context`)?.loseContext()},[]);let v=typeof t==`string`&&t.trim()?t:ac[e]??ac.gradient,y=String(n??``),b=String(r??``),x=String(i??``),S=Qs(a,100),C=Math.max(.05,Qs(o,100));return(0,l.useEffect)(()=>{let e=p.current,t=m.current;if(!e||!t)return;let n=h.current??=e.getContext(`webgl`,{antialias:!0,alpha:!0,premultipliedAlpha:!1});if(!n){_(`WebGL is not available in this browser`);return}let r=null;try{let e=sc(n,n.VERTEX_SHADER,rc),t=sc(n,n.FRAGMENT_SHADER,ic+v);if(r=n.createProgram(),n.attachShader(r,e),n.attachShader(r,t),n.linkProgram(r),!n.getProgramParameter(r,n.LINK_STATUS))throw Error(n.getProgramInfoLog(r)||`Link failed`);_(``)}catch(e){_(e?.message||`Shader failed to compile`);return}n.useProgram(r);let i=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,i),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),n.STATIC_DRAW);let a=n.getAttribLocation(r,`p`);n.enableVertexAttribArray(a),n.vertexAttribPointer(a,2,n.FLOAT,!1,0,0);let o=e=>n.getUniformLocation(r,e),s={res:o(`u_res`),time:o(`u_time`),mouse:o(`u_mouse`),a:o(`u_a`),b:o(`u_b`),c:o(`u_c`),scale:o(`u_scale`)},l={x:0,y:0},u=t=>{let n=e.getBoundingClientRect();!n.width||!n.height||(l.x=((t.clientX-n.left)/n.width-.5)*2,l.y=(.5-(t.clientY-n.top)/n.height)*2)};c!==!1&&t.addEventListener(`pointermove`,u);let d=()=>{let r=Js(),i=Math.max(1,Math.round(t.clientWidth*r)),a=Math.max(1,Math.round(t.clientHeight*r));(e.width!==i||e.height!==a)&&(e.width=i,e.height=a,n.viewport(0,0,i,a))},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let g=qs(),w={a:oc(y,[.35,.4,.95]),b:oc(b,[.05,.06,.16]),c:oc(x,[.95,.35,.6])},T={};return T.stop=Ys(t,(t,r)=>{d(),n.uniform2f(s.res,e.width,e.height),n.uniform1f(s.time,(g?0:r)*S),n.uniform2f(s.mouse,l.x,l.y),n.uniform3fv(s.a,w.a),n.uniform3fv(s.b,w.b),n.uniform3fv(s.c,w.c),n.uniform1f(s.scale,C),n.drawArrays(n.TRIANGLES,0,3),g&&T.stop?.()}),()=>{T.stop?.(),f?.disconnect(),t.removeEventListener(`pointermove`,u),n.deleteProgram(r),n.deleteBuffer(i)}},[v,y,b,x,S,C,c]),(0,W.jsxs)(`div`,{ref:e=>{m.current=e,typeof d==`function`&&d(e)},style:{position:`relative`,minHeight:Zs(s,320),overflow:`hidden`,...z(u)},children:[(0,W.jsx)(`canvas`,{ref:p,style:{display:`block`,width:`100%`,height:`100%`,position:`absolute`,inset:0}}),g&&f?(0,W.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:12,background:`rgba(15,23,42,.75)`,...Te,color:`#fecaca`,fontSize:11,whiteSpace:`pre-wrap`,overflow:`auto`},children:g}):null]})}function lc(e,t){let n=new e.Scene,r=new e.BoxGeometry;r.deleteAttribute(`uv`);let i=new e.Mesh(r,new e.MeshBasicMaterial({side:e.BackSide,color:6710886}));i.scale.setScalar(12),n.add(i);let a=(t,i,a,o,s,c,l,u)=>{let d=new e.Mesh(r,new e.MeshBasicMaterial);d.material.color.setHex(t),d.material.color.multiplyScalar(i),d.position.set(a,o,s),d.scale.set(c,l,u),n.add(d)};a(16777215,4,0,6,0,10,.5,10),a(16777215,1.4,-6,1,2,.4,6,6),a(16777215,1,6,1,-2,.4,6,6);let o=new e.PMREMGenerator(t),s=o.fromScene(n,.04);return o.dispose(),r.dispose(),n.traverse(e=>e.material?.dispose?.()),s.texture}var uc=new Map;function dc(e){if(uc.has(e))return uc.get(e);let t=Gs(`loaders/GLTFLoader.js`).then(t=>new Promise((n,r)=>{new t.GLTFLoader().load(e,e=>n(e.scene),void 0,r)})).catch(t=>{throw uc.delete(e),t});return uc.set(e,t),t}function fc(e,t){let n=new e.Box3().setFromObject(t);if(n.isEmpty())return t;let r=n.getSize(new e.Vector3),i=n.getCenter(new e.Vector3),a=Math.max(r.x,r.y,r.z)||1,o=new e.Group;return t.position.sub(i),t.scale.multiplyScalar(1/a),t.position.multiplyScalar(1/a),o.add(t),o}var pc={box:e=>new e.BoxGeometry(1,1,1,1,1,1),sphere:e=>new e.SphereGeometry(.62,48,32),torus:e=>new e.TorusGeometry(.5,.2,24,64),knot:e=>new e.TorusKnotGeometry(.44,.15,128,24),cone:e=>new e.ConeGeometry(.55,1.1,48),cylinder:e=>new e.CylinderGeometry(.45,.45,1.1,48),plane:e=>new e.PlaneGeometry(1.4,1.4),capsule:e=>new e.CapsuleGeometry(.35,.6,8,32)},mc=(e,t)=>Number.isFinite(Number(e))?Number(e):t;function hc({objects:e,background:t,cameraDistance:n,fov:r,autoRotate:i,spinSpeed:a,controls:o,ground:s,height:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),[m,h]=(0,l.useState)(!1),g=Array.isArray(e)?e.filter(e=>e&&typeof e==`object`):[],_=JSON.stringify(g),v=i!==!1&&!qs(),y=o!==!1&&!f;return(0,l.useEffect)(()=>{let e=p.current;if(!e)return;let i=!0,o=null;return Ws().then(c=>{if(!i||!e)return;let l=new c.WebGLRenderer({antialias:!0,alpha:!t});l.setPixelRatio(Js()),l.shadowMap.enabled=s!==!1,l.shadowMap.type=c.PCFSoftShadowMap,l.outputColorSpace=c.SRGBColorSpace,l.toneMapping=c.ACESFilmicToneMapping,l.domElement.style.display=`block`,l.domElement.style.width=`100%`,l.domElement.style.height=`100%`,e.appendChild(l.domElement);let u=new c.Scene;t&&(u.background=new c.Color(t)),u.environment=lc(c,l);let d=new c.PerspectiveCamera(mc(r,45),1,.1,400),f=Xs(d,l.domElement,{distance:mc(n,5),enableZoom:y}),p=new c.DirectionalLight(16777215,2.2);p.position.set(4,7,5),p.castShadow=s!==!1,p.shadow.mapSize.set(1024,1024),p.shadow.camera.near=.5,p.shadow.camera.far=30,u.add(p,new c.AmbientLight(16777215,.35));let m=[],h=new c.Group,_=(e,t)=>{let n=mc(t.scale,1);e.position.set(mc(t.x,0),mc(t.y,0),mc(t.z,0)),e.rotation.set($s(t.rx),$s(t.ry),$s(t.rz)),e.scale.setScalar(n>0?n:1),e.userData.spin=$s(t.spin)};for(let e of g){if(e.shape===`model`){if(!ec(e.src))continue;let t=new c.Group;_(t,e),h.add(t),dc(e.src).then(e=>{if(!i)return;let n=fc(c,e.clone(!0));n.traverse(e=>{e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)}),t.add(n)},()=>{});continue}let t=(pc[e.shape]??pc.box)(c),n=new c.MeshStandardMaterial({color:/^#?[0-9a-f]{6}$/i.test(String(e.color??``))?e.color:`#6366f1`,metalness:Math.min(1,Math.max(0,Qs(e.metalness,10))),roughness:Math.min(1,Math.max(0,Qs(e.roughness,35))),transparent:Qs(e.opacity,100)<1,opacity:Math.min(1,Math.max(0,Qs(e.opacity,100))),flatShading:e.flat===!0,wireframe:e.wireframe===!0,side:e.shape===`plane`?c.DoubleSide:c.FrontSide}),r=new c.Mesh(t,n);_(r,e),r.castShadow=!0,r.receiveShadow=!0,h.add(r),m.push(t,n)}u.add(h);let b=null;if(s!==!1){let e=new c.ShadowMaterial({opacity:.22}),t=new c.PlaneGeometry(60,60);b=new c.Mesh(t,e),b.rotation.x=-Math.PI/2,b.position.y=mc(s===!0?0:s,-.85),b.receiveShadow=!0,u.add(b),m.push(t,e)}let x=()=>{let t=Math.max(1,e.clientWidth),n=Math.max(1,e.clientHeight);l.setSize(t,n,!1),d.aspect=t/n,d.updateProjectionMatrix()},S=typeof ResizeObserver>`u`?null:new ResizeObserver(x);S?.observe(e),x();let C=$s(Number.isFinite(Number(a))?a:20),w=Ys(e,e=>{f.autoSpin(v?C:0,e),f.update();for(let t of h.children)t.userData.spin&&(t.rotation.y+=t.userData.spin*e);l.render(u,d)});o=()=>{w(),S?.disconnect(),f.dispose();for(let e of m)e.dispose?.();u.environment?.dispose?.(),l.dispose(),l.domElement.remove()}},()=>{i&&h(!0)}),()=>{i=!1,o?.()}},[_,t,n,r,v,a,y,s]),m&&f?(0,W.jsx)(tc,{nodeRef:d,style:u,height:c,label:`3D Scene`,note:`The 3D engine could not be loaded. Check the connection and try again.`}):(0,W.jsx)(`div`,{ref:e=>{p.current=e,typeof d==`function`&&d(e)},style:{minHeight:Zs(c,380),height:Zs(c,380),overflow:`hidden`,touchAction:y?`pan-y`:void 0,...z(u)}})}function gc({code:e,height:t,background:n,style:r,nodeRef:i,inert:a}){let o=(0,l.useRef)(null),[s,c]=(0,l.useState)(``);return(0,l.useEffect)(()=>{let t=o.current;if(a||!t||typeof e!=`string`||!e.trim())return;let r=!0,i=null;return Ws().then(a=>{if(!r||!t)return;let o=new a.WebGLRenderer({antialias:!0,alpha:!n});o.setPixelRatio(Js()),o.outputColorSpace=a.SRGBColorSpace,o.domElement.style.display=`block`,o.domElement.style.width=`100%`,o.domElement.style.height=`100%`,t.appendChild(o.domElement);let s=new a.Scene;n&&(s.background=new a.Color(n));let l=new a.PerspectiveCamera(45,1,.1,1e3);l.position.set(0,1.2,4);let u=null;try{u=Function(`ctx`,`"use strict";\n${e}`)({THREE:a,scene:s,camera:l,renderer:o,canvas:o.domElement,host:t})}catch(e){c(e?.message||String(e))}let d=()=>{let e=Math.max(1,t.clientWidth),n=Math.max(1,t.clientHeight);o.setSize(e,n,!1),l.aspect=e/n,l.updateProjectionMatrix()},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let p=!1,m=Ys(t,(e,t)=>{if(!p&&typeof u?.frame==`function`)try{u.frame(e,t)}catch(e){p=!0,c(e?.message||String(e))}o.render(s,l)});i=()=>{m(),f?.disconnect();try{u?.dispose?.()}catch{}o.dispose(),o.domElement.remove()}}),()=>{r=!1,i?.()}},[e,a,n]),a?(0,W.jsx)(tc,{nodeRef:i,style:r,height:t,label:`three.js`,note:typeof e==`string`&&e.trim()?`Custom scene code runs in Preview and on the published page.`:`Open the code editor in the Settings panel to write your scene.`}):(0,W.jsx)(`div`,{ref:e=>{o.current=e,typeof i==`function`&&i(e)},style:{minHeight:Zs(t,380),height:Zs(t,380),overflow:`hidden`,position:`relative`,touchAction:`pan-y`,...z(r)},children:s?(0,W.jsx)(`div`,{style:{position:`absolute`,left:8,top:8,right:8,padding:`6px 8px`,borderRadius:6,background:`rgba(127,29,29,.85)`,...Te,color:`#fee2e2`,fontSize:11},children:s}):null})}var _c={ModelViewerBlock:nc,ShaderBlock:cc,SceneBlock:hc,ThreeCanvasBlock:gc},vc=`2.44.0`,yc=`https://cdn.jsdelivr.net/npm`,bc=`${yc}/@rive-app/canvas@${vc}/+esm`,xc=`${yc}/@rive-app/canvas@${vc}/rive.wasm`,Sc=e=>import(e),Cc=null;function wc(){return typeof window>`u`?new Promise(()=>{}):Cc||(Cc=Sc(bc).then(e=>{let t=e?.default??e;return t?.RuntimeLoader?.setWasmUrl&&t.RuntimeLoader.setWasmUrl(xc),t}).catch(e=>{throw Cc=null,e}),Cc)}var Tc=new Map,Ec={56:`number`,58:`trigger`,59:`boolean`},Dc=new Set;function Oc(e,t){if(!e||!t)return;let n=(Array.isArray(t.artboards)?t.artboards:[]).map(e=>({name:String(e?.name??``),animations:(Array.isArray(e?.animations)?e.animations:[]).map(String),stateMachines:(Array.isArray(e?.stateMachines)?e.stateMachines:[]).map(e=>({name:String(e?.name??``),inputs:(Array.isArray(e?.inputs)?e.inputs:[]).map(e=>({name:String(e?.name??``),type:Ec[e?.type]??`unknown`}))}))}));Tc.set(e,{artboards:n}),Dc.forEach(t=>t(e))}var kc=(e,t)=>Number.isFinite(Number(e))&&Number(e)>0?Number(e):t,Ac=[`contain`,`cover`,`fill`,`fitWidth`,`fitHeight`,`scaleDown`,`none`,`layout`],jc=[`center`,`topLeft`,`topCenter`,`topRight`,`centerLeft`,`centerRight`,`bottomLeft`,`bottomCenter`,`bottomRight`],Mc=()=>typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches,Nc=131;function Pc(e,t,n,r){if(!e||!t||!n)return;let i=[];try{i=e.stateMachineInputs(t)??[]}catch{return}let a=i.find(e=>e?.name===n);a&&(a.type===58?r&&a.fire():a.type===59?a.value=!!r:a.type===56&&(a.value=+!!r))}function Fc({src:e,poster:t,alt:n,height:r,bg:i,artboard:a,mode:o=`stateMachine`,stateMachine:s,animation:c,fit:u=`contain`,alignment:d=`center`,autoplay:f=!0,hoverInput:p,clickInput:m,style:h,nodeRef:g,inert:_}){let v=(0,l.useRef)(null),y=(0,l.useRef)(null),b=(0,l.useRef)(null),x=(0,l.useRef)(``),[S,C]=(0,l.useState)(!1),[w,T]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let t=y.current,n=v.current;if(C(!1),T(!1),!e||!t)return;let r=!0,i=null,l=null,p=null;return wc().then(m=>{if(!r)return;let h=o!==`animation`,g=f!==!1&&!Mc();try{i=new m.Rive({src:e,canvas:t,artboard:a||void 0,stateMachines:h&&s?s:void 0,animations:!h&&c?c:void 0,autoplay:g,layout:new m.Layout({fit:Ac.includes(u)?u:`contain`,alignment:jc.includes(d)?d:`center`}),shouldDisableRiveListeners:!!_,isTouchScrollEnabled:!0,onLoad:()=>{if(!r)return;i.resizeDrawingSurfaceToCanvas();let t=i.contents;if(Oc(e,t),h){let e=((t?.artboards??[]).find(e=>e.name===(a||i.activeArtboard))??t?.artboards?.[0])?.stateMachines?.[0]?.name??``;if(x.current=s||e,!s&&e)try{i.play(e),g||i.pause(e)}catch{}}C(!0)},onLoadError:()=>r&&T(!0)})}catch{T(!0);return}b.current=i,n&&(n.rive=i),i.on(m.EventType.RiveEvent,e=>{let t=e?.data;_||t?.type!==Nc||!t?.url||(t.target===`_self`?window.location.assign(t.url):window.open(t.url,t.target||`_blank`,`noopener`))}),n&&typeof ResizeObserver<`u`&&(l=new ResizeObserver(()=>i?.resizeDrawingSurfaceToCanvas()),l.observe(n)),n&&typeof IntersectionObserver<`u`&&(p=new IntersectionObserver(([e])=>{i&&(e?.isIntersecting?i.startRendering?.():i.stopRendering?.())}),p.observe(n))},()=>r&&T(!0)),()=>{r=!1,l?.disconnect(),p?.disconnect(),n&&n.rive===i&&delete n.rive,b.current=null,x.current=``;try{i?.cleanup()}catch{}}},[e,a,o,s,c,u,d,f,_]);let E=!_&&S,D=(e,t)=>E&&Pc(b.current,x.current,e,t),O={position:`relative`,display:`block`,width:`100%`,height:kc(r,360),backgroundColor:i||`transparent`,overflow:`hidden`,...z(h)};return e?(0,W.jsxs)(`div`,{ref:e=>{v.current=e,typeof g==`function`&&g(e)},style:O,onMouseEnter:p?()=>D(p,!0):void 0,onMouseLeave:p?()=>D(p,!1):void 0,onClick:m?()=>D(m,!0):void 0,children:[(0,W.jsx)(`canvas`,{ref:y,...K(`canvas`),role:`img`,"aria-label":n||`Animation`,style:{position:`absolute`,inset:0,width:`100%`,height:`100%`,display:`block`}}),t&&(!S||w)?(0,W.jsx)(`img`,{...K(`poster`),src:t,alt:n||``,style:{position:`absolute`,inset:0,width:`100%`,height:`100%`,objectFit:`contain`,pointerEvents:`none`}}):null]}):_?(0,W.jsxs)(`div`,{ref:g,style:{...O,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:6,border:`1px dashed rgba(148,163,184,.55)`,borderRadius:10,background:`rgba(148,163,184,.08)`,...Te,color:`rgba(100,116,139,.95)`,fontSize:13,textAlign:`center`,padding:16},children:[(0,W.jsx)(`strong`,{style:{fontSize:14},children:`Rive`}),(0,W.jsx)(`span`,{children:`Pick a .riv file in the Settings panel.`})]}):null}var Ic={RiveBlock:Fc},Lc=new Map;function Rc(e){if(Lc.has(e))return Lc.get(e);let t=URL.createObjectURL(new Blob([e],{type:`text/javascript`})),n=import(t).finally(()=>URL.revokeObjectURL(t));return Lc.set(e,n),n}function zc(e){let t=e&&typeof e==`object`?e.builder_plugins:null,n=t&&typeof t==`object`?t.plugins:null;return n&&typeof n==`object`?n:{}}async function Bc(e,t){let n=await Rc(e);return(Array.isArray(n?.default?.blocks)?n.default.blocks:[]).find(e=>e?.id===t&&typeof e.mount==`function`)??null}var Vc={padding:`10px 12px`,border:`1px dashed rgba(148, 163, 184, 0.5)`,borderRadius:8,fontSize:12,opacity:.6};function Hc({pluginId:e,blockId:t,props:n,style:r,nodeRef:i}){let a=(0,l.useContext)(G),o=zc(a?.settings)[e],s=(0,l.useRef)(null),c=(0,l.useRef)(null),u={tenant:a?.tenant??``,apiUrl:a?.apiUrl??`/api`,locale:a?.locale??``,settings:a?.settings??null},d=(0,l.useRef)(u);d.current=u;let f=JSON.stringify(n??{});return(0,l.useEffect)(()=>{let e=s.current;if(!o?.code||!e)return;let n=!0;return Bc(o.code,t).then(e=>{if(!(!n||!e||!s.current)){c.current=e;try{e.mount(s.current,JSON.parse(f),d.current)}catch{c.current=null}}}).catch(()=>{}),()=>{n=!1;let t=c.current;c.current=null;try{t?.unmount?.(e)}catch{}e&&(e.innerHTML=``)}},[o?.code,t]),(0,l.useEffect)(()=>{let e=c.current,t=s.current;if(!(!e||!t))try{e.update?e.update(t,JSON.parse(f),d.current):(e.unmount?.(t),t.innerHTML=``,e.mount(t,JSON.parse(f),d.current))}catch{}},[f]),o?(0,W.jsx)(`div`,{ref:i,style:z(r),children:(0,W.jsx)(`div`,{ref:s})}):(0,W.jsxs)(`div`,{ref:i,style:{...Vc,...z(r)},children:[`Plugin “`,e,`” is not installed`]})}function Uc(e,t,n){let r={"data-wb":e};t.htmlId&&(r.id=t.htmlId),n&&n.id===e&&(r.id=t.htmlId||n.htmlId,r.tabIndex=-1);let i=V(t.classNames);i.length&&(r[`data-wb-class`]=i.join(` `));for(let e of Array.isArray(t.attributes)?t.attributes:[]){let t=String(e?.name??``).trim();B(t)&&(r[t===`tabindex`?`tabIndex`:t]=e.value??``)}return{attrs:r,classes:i}}function Wc({View:e,markup:t,...n}){let r=e(n);if(!(0,l.isValidElement)(r)||typeof r.type!=`string`)return r;let i=[r.props.className,...t.classes].filter(Boolean).join(` `);return(0,l.cloneElement)(r,{...t.attrs,...i?{className:i}:{}})}var Gc=new Set([`FormInput`,`FormTextarea`,`FormSelect`]);function Kc(e,t,n,r){if(t.forNode===`__none`)return``;let i=t.forNode?n[t.forNode]:null;if(!t.forNode){let t=n[r]?.nodes??[];i=n[t[t.indexOf(e)+1]]??null}return!i||!Gc.has(i.type?.resolvedName)?``:i.props?.htmlId||hi(i.props?.name)||``}var qc=`slot-`,Jc={...Aa,...Fs,..._c,...Ic,PluginBlock:Hc};function Yc(e,t,n,r=new Set,i=void 0){let a=t[e];if(!a||a.hidden)return null;let o=a.type?.resolvedName,s=i?.mapProps?i.mapProps(a.props??{},o):a.props??{};if(o===`ComponentInstance`){let o=a.props?.componentId,c=n?.[o];if(!c?.template||r.has(o))return null;let u=new Set(r).add(o),d=Object.fromEntries(Object.entries(a.linkedNodes??{}).filter(([e])=>e.startsWith(qc)).map(([e,a])=>[e.slice(5),Yc(a,t,n,r,i)]));return(0,W.jsx)(l.Fragment,{children:Yc(c.template.rootId,c.template.nodes,n,u,{...pt(s.values,i),slots:d})},e)}let c=Jc[o];if(!c)return null;let u=s.compSlot?.id,d=u&&i?.slots&&Object.hasOwn(i.slots,u)?i.slots[u]:void 0,f=d===void 0?(a.nodes??[]).map(e=>Yc(e,t,n,r,i)).filter(Boolean):[d].filter(Boolean),p=Object.entries(a.linkedNodes??{}),m=p.length?Object.fromEntries(p.map(([e,a])=>[e,Yc(a,t,n,r,i)])):void 0,h=(0,W.jsx)(typeof c==`function`?Wc:c,{...typeof c==`function`?{View:c,markup:Uc(e,s,i?.skipTarget)}:null,...s,...o===`CollectionList`?{templateId:a.linkedNodes?.card,renderTemplate:a.linkedNodes?.card?e=>Yc(a.linkedNodes.card,t,n,r,{...i,mapProps:i?.mapProps?(t,n)=>i.mapProps(e(t,n),n):e}):void 0}:null,...o===`FormLabel`?{htmlFor:Kc(e,s,t,a.parent)}:null,linked:m,nodeRef:t=>{t&&(t.setAttribute(`data-wb`,e),ce(t,s),i?.skipTarget?.id===e&&(t.id=s.htmlId||i.skipTarget.htmlId,t.tabIndex=-1),se(t,i?.events===!1?[]:s.events))},children:f.length?f:void 0},e),g=s.when&&s.when!==`always`?(0,W.jsx)(Ba,{when:s.when,children:h},e):h;return Array.isArray(s.showWhen?.rules)&&s.showWhen.rules.length?(0,W.jsx)(sn,{showWhen:s.showWhen,children:g},e):g}var Xc=e=>Object.entries(e).map(([e,t])=>`${e}: ${t};`).join(` `),Zc=e=>`.webim-page[data-webim-mode="light"] { ${Object.entries(Pe(e.light)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }
|
|
111
|
+
.webim-page[data-webim-mode="dark"] { ${Object.entries(Pe(e.dark)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }`;function Qc({blocks:e,theme:t,components:n,mode:r=`auto`,style:i,custom:a,animations:o,tenant:s,apiUrl:c,datasets:u,locale:d,direction:f,settings:p,siteUser:m,param:g}){let _=a?.js?.trim(),y=p&&p[`site.code`]&&typeof p[`site.code`]==`object`?p[`site.code`]:null,b=typeof y?.js==`string`?y.js.trim():``,x=typeof y?.css==`string`?y.css.trim():``;if((0,l.useEffect)(()=>{if(!b)return;let e=document.createElement(`script`);return e.text=b,document.body.appendChild(e),()=>e.remove()},[b]),(0,l.useEffect)(()=>{if(!_)return;let e=document.createElement(`script`);return e.text=_,document.body.appendChild(e),()=>e.remove()},[_]),!e?.ROOT)return null;let S={lang:d||void 0,dir:ct(f,d)},C=`.webim-page, .webim-page *, .webim-page *::before, .webim-page *::after { box-sizing: border-box; }
|
|
112
112
|
`+we+`
|
|
113
|
-
`+Qe,w={minHeight:`100%`,display:`flex`,flexDirection:`column`},T=at(e,n),E=
|
|
114
|
-
@media (prefers-color-scheme: dark) { .webim-page { ${
|
|
113
|
+
`+Qe,w={minHeight:`100%`,display:`flex`,flexDirection:`column`},T=at(e,n),E=Yc(`ROOT`,e,n,void 0,T?{skipTarget:T}:void 0),D=T?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`style`,{children:$e}),(0,W.jsx)(`a`,{className:`webim-skip`,href:`#${T.htmlId}`,children:Xe(d||p?.locales?.default)(`skip`)})]}):null,O=(0,l.useMemo)(()=>({render:(t,r)=>Yc(t,e,n,void 0,{mapProps:r})}),[e,n]),k=Ce(e,n),A=Se(e,n),j=a?.css?.trim(),M=F(o),N=Ne(t),P=[N.font,N.headingFont].filter(e=>typeof e==`string`&&e.trim()&&e!==`inherit`&&!Ae[e]),I=[...new Set([...v(e,n),...P])].map(e=>(0,W.jsx)(`link`,{rel:`stylesheet`,precedence:`default`,href:h(e)},e)),L=Zc(N),R=ze(t);return r===`auto`?(0,W.jsx)(G.Provider,{value:{tenant:s||``,apiUrl:c||`/api`,locale:d||``,settings:p??null,param:g||``},children:(0,W.jsx)(za,{initialUser:m,children:(0,W.jsx)(Xt.Provider,{value:u??null,children:(0,W.jsx)(en.Provider,{value:O,children:(0,W.jsxs)(`div`,{...S,className:`webim-page`,style:{...w,...Fe(t),...i},children:[D,(0,W.jsx)(`style`,{children:`.webim-page { ${Xc(Pe(N.light))} }
|
|
114
|
+
@media (prefers-color-scheme: dark) { .webim-page { ${Xc(Pe(N.dark))} } }`}),(0,W.jsx)(`style`,{children:L}),I,(0,W.jsx)(`style`,{children:C}),R&&(0,W.jsx)(`style`,{children:R}),k&&(0,W.jsx)(`style`,{children:k}),A&&(0,W.jsx)(`style`,{children:A}),M&&(0,W.jsx)(`style`,{children:M}),x&&(0,W.jsx)(`style`,{children:x}),j&&(0,W.jsx)(`style`,{children:j}),E]})})})})}):(0,W.jsx)(G.Provider,{value:{tenant:s||``,apiUrl:c||`/api`,locale:d||``,settings:p??null,param:g||``},children:(0,W.jsx)(za,{initialUser:m,children:(0,W.jsx)(Xt.Provider,{value:u??null,children:(0,W.jsx)(en.Provider,{value:O,children:(0,W.jsxs)(`div`,{...S,className:`webim-page`,style:{...w,...He(t,r),...i},children:[D,I,(0,W.jsx)(`style`,{children:L}),(0,W.jsx)(`style`,{children:C}),R&&(0,W.jsx)(`style`,{children:R}),k&&(0,W.jsx)(`style`,{children:k}),A&&(0,W.jsx)(`style`,{children:A}),M&&(0,W.jsx)(`style`,{children:M}),x&&(0,W.jsx)(`style`,{children:x}),j&&(0,W.jsx)(`style`,{children:j}),E]})})})})})}function $c({bundle:e,mode:t=`auto`,style:n}){return e?.blocks?.ROOT?(0,W.jsx)(Qc,{blocks:e.blocks,theme:e.theme,components:e.components,custom:e.custom,animations:e.animations,tenant:e.tenant,apiUrl:e.apiUrl,datasets:e.datasets,locale:e.locale,direction:e.direction,settings:e.settings,param:e.param,mode:We(t,e.scheme),style:n}):null}function el({apiUrl:e,tenant:t,slug:n,locale:r,preview:i,token:a,mode:o=`auto`,style:s,fallback:c=null,errorFallback:u=null,onLoad:d,onError:f}){let[p,m]=(0,l.useState)({status:`loading`}),h=(0,l.useRef)({onLoad:d,onError:f});return h.current={onLoad:d,onError:f},(0,l.useEffect)(()=>{let o=!0;return m({status:`loading`}),qe({apiUrl:e,tenant:t,slug:n,locale:r,preview:i,token:a}).then(e=>{o&&(m({status:`ready`,bundle:e}),h.current.onLoad?.(e))}).catch(e=>{o&&(m({status:`error`,error:e}),h.current.onError?.(e))}),()=>{o=!1}},[e,t,n,r,i,a]),p.status===`loading`?c:p.status===`error`?typeof u==`function`?u(p.error):u:(0,W.jsx)($c,{bundle:p.bundle,mode:o,style:s})}function tl(e,t={}){let n=(0,u.createRoot)(e);return n.render((0,W.jsx)(el,{apiUrl:t.apiUrl||t.api,tenant:t.tenant,slug:t.slug,locale:t.locale||void 0,token:t.token||void 0,mode:t.mode||`auto`,onError:e=>console.error(`[webim-embed]`,t.slug,e)})),n}function nl(e=document){for(let t of e.querySelectorAll(`[data-webim-page]:not([data-webim-mounted])`))t.setAttribute(`data-webim-mounted`,``),tl(t,t.dataset)}var rl=document.currentScript,il=()=>{if(nl(),rl?.dataset.slug){let e=document.createElement(`div`);e.setAttribute(`data-webim-mounted`,``),rl.parentElement&&rl.parentElement!==document.head?rl.insertAdjacentElement(`beforebegin`,e):document.body.appendChild(e),tl(e,rl.dataset)}};document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,il,{once:!0}):il(),window.WebimEmbed={mount:tl,scan:nl}})();
|
package/build/webim-ssr.js
CHANGED
|
@@ -13808,26 +13808,29 @@ function Gc(e, t, n, r) {
|
|
|
13808
13808
|
}
|
|
13809
13809
|
return !i || !Wc.has(i.type?.resolvedName) ? "" : i.props?.htmlId || di(i.props?.name) || "";
|
|
13810
13810
|
}
|
|
13811
|
-
var Kc = {
|
|
13811
|
+
var Kc = "slot-", qc = {
|
|
13812
13812
|
...Da,
|
|
13813
13813
|
...Ps,
|
|
13814
13814
|
...gc,
|
|
13815
13815
|
...Fc,
|
|
13816
13816
|
PluginBlock: Vc
|
|
13817
13817
|
};
|
|
13818
|
-
function
|
|
13818
|
+
function Jc(e, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
|
|
13819
13819
|
let o = n[e];
|
|
13820
13820
|
if (!o || o.hidden) return null;
|
|
13821
13821
|
let s = o.type?.resolvedName, c = a?.mapProps ? a.mapProps(o.props ?? {}, s) : o.props ?? {};
|
|
13822
13822
|
if (s === "ComponentInstance") {
|
|
13823
|
-
let
|
|
13824
|
-
if (!
|
|
13825
|
-
let
|
|
13826
|
-
return /* @__PURE__ */ g(t, { children:
|
|
13823
|
+
let s = o.props?.componentId, l = r?.[s];
|
|
13824
|
+
if (!l?.template || i.has(s)) return null;
|
|
13825
|
+
let u = new Set(i).add(s), d = Object.fromEntries(Object.entries(o.linkedNodes ?? {}).filter(([e]) => e.startsWith(Kc)).map(([e, t]) => [e.slice(5), Jc(t, n, r, i, a)]));
|
|
13826
|
+
return /* @__PURE__ */ g(t, { children: Jc(l.template.rootId, l.template.nodes, r, u, {
|
|
13827
|
+
...ft(c.values, a),
|
|
13828
|
+
slots: d
|
|
13829
|
+
}) }, e);
|
|
13827
13830
|
}
|
|
13828
|
-
let l =
|
|
13831
|
+
let l = qc[s];
|
|
13829
13832
|
if (!l) return null;
|
|
13830
|
-
let u = (o.nodes ?? []).map((e) =>
|
|
13833
|
+
let u = c.compSlot?.id, d = u && a?.slots && Object.hasOwn(a.slots, u) ? a.slots[u] : void 0, f = d === void 0 ? (o.nodes ?? []).map((e) => Jc(e, n, r, i, a)).filter(Boolean) : [d].filter(Boolean), p = Object.entries(o.linkedNodes ?? {}), m = p.length ? Object.fromEntries(p.map(([e, t]) => [e, Jc(t, n, r, i, a)])) : void 0, h = /* @__PURE__ */ g(typeof l == "function" ? Uc : l, {
|
|
13831
13834
|
...typeof l == "function" ? {
|
|
13832
13835
|
View: l,
|
|
13833
13836
|
markup: Hc(e, c, a?.skipTarget)
|
|
@@ -13835,31 +13838,31 @@ function qc(e, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
|
|
|
13835
13838
|
...c,
|
|
13836
13839
|
...s === "CollectionList" ? {
|
|
13837
13840
|
templateId: o.linkedNodes?.card,
|
|
13838
|
-
renderTemplate: o.linkedNodes?.card ? (e) =>
|
|
13841
|
+
renderTemplate: o.linkedNodes?.card ? (e) => Jc(o.linkedNodes.card, n, r, i, {
|
|
13839
13842
|
...a,
|
|
13840
13843
|
mapProps: a?.mapProps ? (t, n) => a.mapProps(e(t, n), n) : e
|
|
13841
13844
|
}) : void 0
|
|
13842
13845
|
} : null,
|
|
13843
13846
|
...s === "FormLabel" ? { htmlFor: Gc(e, c, n, o.parent) } : null,
|
|
13844
|
-
linked:
|
|
13847
|
+
linked: m,
|
|
13845
13848
|
nodeRef: (t) => {
|
|
13846
13849
|
t && (t.setAttribute("data-wb", e), fe(t, c), a?.skipTarget?.id === e && (t.id = c.htmlId || a.skipTarget.htmlId, t.tabIndex = -1), de(t, a?.events === !1 ? [] : c.events));
|
|
13847
13850
|
},
|
|
13848
|
-
children:
|
|
13849
|
-
}, e),
|
|
13851
|
+
children: f.length ? f : void 0
|
|
13852
|
+
}, e), _ = c.when && c.when !== "always" ? /* @__PURE__ */ g(La, {
|
|
13850
13853
|
when: c.when,
|
|
13851
|
-
children:
|
|
13852
|
-
}, e) :
|
|
13854
|
+
children: h
|
|
13855
|
+
}, e) : h;
|
|
13853
13856
|
return Array.isArray(c.showWhen?.rules) && c.showWhen.rules.length ? /* @__PURE__ */ g(rn, {
|
|
13854
13857
|
showWhen: c.showWhen,
|
|
13855
|
-
children:
|
|
13856
|
-
}, e) :
|
|
13858
|
+
children: _
|
|
13859
|
+
}, e) : _;
|
|
13857
13860
|
}
|
|
13858
13861
|
//#endregion
|
|
13859
13862
|
//#region ../ui/src/components/builder/PageRenderer.jsx
|
|
13860
|
-
var
|
|
13863
|
+
var Yc = (e) => Object.entries(e).map(([e, t]) => `${e}: ${t};`).join(" "), Xc = (e) => `.webim-page[data-webim-mode="light"] { ${Object.entries(Re(e.light)).map(([e, t]) => `${e}: ${t} !important;`).join(" ")} }
|
|
13861
13864
|
.webim-page[data-webim-mode="dark"] { ${Object.entries(Re(e.dark)).map(([e, t]) => `${e}: ${t} !important;`).join(" ")} }`;
|
|
13862
|
-
function
|
|
13865
|
+
function Zc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, custom: a, animations: o, tenant: s, apiUrl: l, datasets: d, locale: f, direction: p, settings: m, siteUser: v, param: y }) {
|
|
13863
13866
|
let x = a?.js?.trim(), S = m && m["site.code"] && typeof m["site.code"] == "object" ? m["site.code"] : null, C = typeof S?.js == "string" ? S.js.trim() : "", w = typeof S?.css == "string" ? S.css.trim() : "";
|
|
13864
13867
|
if (c(() => {
|
|
13865
13868
|
if (!C) return;
|
|
@@ -13877,15 +13880,15 @@ function Xc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
|
|
|
13877
13880
|
minHeight: "100%",
|
|
13878
13881
|
display: "flex",
|
|
13879
13882
|
flexDirection: "column"
|
|
13880
|
-
}, A = st(e, n), j =
|
|
13883
|
+
}, A = st(e, n), j = Jc("ROOT", e, n, void 0, A ? { skipTarget: A } : void 0), M = A ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g("style", { children: tt }), /* @__PURE__ */ g("a", {
|
|
13881
13884
|
className: "webim-skip",
|
|
13882
13885
|
href: `#${A.htmlId}`,
|
|
13883
13886
|
children: Qe(f || m?.locales?.default)("skip")
|
|
13884
|
-
})] }) : null, N = u(() => ({ render: (t, r) =>
|
|
13887
|
+
})] }) : null, N = u(() => ({ render: (t, r) => Jc(t, e, n, void 0, { mapProps: r }) }), [e, n]), P = Ee(e, n), F = Te(e, n), I = a?.css?.trim(), L = G(o), R = Le(t), z = [R.font, R.headingFont].filter((e) => typeof e == "string" && e.trim() && e !== "inherit" && !Pe[e]), B = [.../* @__PURE__ */ new Set([...O(e, n), ...z])].map((e) => /* @__PURE__ */ g("link", {
|
|
13885
13888
|
rel: "stylesheet",
|
|
13886
13889
|
precedence: "default",
|
|
13887
13890
|
href: T(e)
|
|
13888
|
-
}, e)), V =
|
|
13891
|
+
}, e)), V = Xc(R), H = Ue(t);
|
|
13889
13892
|
return r === "auto" ? /* @__PURE__ */ g(X.Provider, {
|
|
13890
13893
|
value: {
|
|
13891
13894
|
tenant: s || "",
|
|
@@ -13910,8 +13913,8 @@ function Xc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
|
|
|
13910
13913
|
},
|
|
13911
13914
|
children: [
|
|
13912
13915
|
M,
|
|
13913
|
-
/* @__PURE__ */ g("style", { children: `.webim-page { ${
|
|
13914
|
-
@media (prefers-color-scheme: dark) { .webim-page { ${
|
|
13916
|
+
/* @__PURE__ */ g("style", { children: `.webim-page { ${Yc(Re(R.light))} }
|
|
13917
|
+
@media (prefers-color-scheme: dark) { .webim-page { ${Yc(Re(R.dark))} } }` }),
|
|
13915
13918
|
/* @__PURE__ */ g("style", { children: V }),
|
|
13916
13919
|
B,
|
|
13917
13920
|
/* @__PURE__ */ g("style", { children: D }),
|
|
@@ -13970,8 +13973,8 @@ function Xc({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
|
|
|
13970
13973
|
}
|
|
13971
13974
|
//#endregion
|
|
13972
13975
|
//#region src/WebimContent.jsx
|
|
13973
|
-
function
|
|
13974
|
-
return e?.blocks?.ROOT ? /* @__PURE__ */ g(
|
|
13976
|
+
function Qc({ bundle: e, mode: t = "auto", style: n }) {
|
|
13977
|
+
return e?.blocks?.ROOT ? /* @__PURE__ */ g(Zc, {
|
|
13975
13978
|
blocks: e.blocks,
|
|
13976
13979
|
theme: e.theme,
|
|
13977
13980
|
components: e.components,
|
|
@@ -13990,24 +13993,24 @@ function Zc({ bundle: e, mode: t = "auto", style: n }) {
|
|
|
13990
13993
|
}
|
|
13991
13994
|
//#endregion
|
|
13992
13995
|
//#region src/fetchPage.js
|
|
13993
|
-
var
|
|
13996
|
+
var $c = async (e) => {
|
|
13994
13997
|
let t = await e.json().catch(() => null);
|
|
13995
13998
|
if (!e.ok || t?.success === !1) throw Error(t?.error?.message || `Request failed (${e.status})`);
|
|
13996
13999
|
return t?.payload ?? t;
|
|
13997
14000
|
};
|
|
13998
|
-
async function
|
|
14001
|
+
async function el({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token: a, page: o, fetch: s }) {
|
|
13999
14002
|
if (!e) throw Error("fetchPage: apiUrl is required");
|
|
14000
14003
|
if (!n) throw Error("fetchPage: slug is required");
|
|
14001
14004
|
let c = s ?? fetch, l = e.replace(/\/$/, ""), u = {
|
|
14002
14005
|
...t ? { "x-tenant": t } : {},
|
|
14003
14006
|
...a ? { authorization: `Bearer ${a}` } : {}
|
|
14004
|
-
}, [d, f] = await Promise.all([c(`${l}/render/${encodeURIComponent(n)}${i ? `?preview=${encodeURIComponent(i)}` : ""}`, { headers: u }).then(
|
|
14007
|
+
}, [d, f] = await Promise.all([c(`${l}/render/${encodeURIComponent(n)}${i ? `?preview=${encodeURIComponent(i)}` : ""}`, { headers: u }).then($c), c(`${l}/settings/public`, { headers: u }).then($c)]), p = Ye({
|
|
14005
14008
|
page: d,
|
|
14006
14009
|
settings: f,
|
|
14007
14010
|
tenant: t,
|
|
14008
14011
|
apiUrl: l,
|
|
14009
14012
|
locale: r
|
|
14010
|
-
}), m = [...new Set(
|
|
14013
|
+
}), m = [...new Set(tl(p.blocks, p.components).map((e) => e?.type?.resolvedName === "CollectionList" ? e.props?.collection : [
|
|
14011
14014
|
"TableBlock",
|
|
14012
14015
|
"OrgChartBlock",
|
|
14013
14016
|
"NavbarBlock",
|
|
@@ -14017,7 +14020,7 @@ async function $c({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token:
|
|
|
14017
14020
|
"LogoCarousel"
|
|
14018
14021
|
].includes(e?.type?.resolvedName) ? e.props?.source : null).filter(Boolean))];
|
|
14019
14022
|
if (m.length) {
|
|
14020
|
-
let e = (e) => e.startsWith("api:") ? `${l}/data/${encodeURIComponent(e.slice(4))}` : `${l}/dynamic/${encodeURIComponent(e)}?all=1${r ? `&locale=${encodeURIComponent(r)}` : ""}`, t = await Promise.all(m.map((t) => c(e(t), { headers: u }).then(
|
|
14023
|
+
let e = (e) => e.startsWith("api:") ? `${l}/data/${encodeURIComponent(e.slice(4))}` : `${l}/dynamic/${encodeURIComponent(e)}?all=1${r ? `&locale=${encodeURIComponent(r)}` : ""}`, t = await Promise.all(m.map((t) => c(e(t), { headers: u }).then($c).then((e) => {
|
|
14021
14024
|
let n = Array.isArray(e) ? e : Array.isArray(e?.data) ? e.data : [], r = Number(e?.total?.filtered ?? e?.total?.all ?? n.length);
|
|
14022
14025
|
return [[t, n], [`${t}:total`, Number.isFinite(r) ? r : n.length]];
|
|
14023
14026
|
}).catch(() => [[t, []]])));
|
|
@@ -14029,7 +14032,7 @@ async function $c({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token:
|
|
|
14029
14032
|
__page: Math.floor(h)
|
|
14030
14033
|
}), p;
|
|
14031
14034
|
}
|
|
14032
|
-
function
|
|
14035
|
+
function tl(e, t) {
|
|
14033
14036
|
let n = [], r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
14034
14037
|
Object.values(e ?? {}).forEach((e) => {
|
|
14035
14038
|
n.push(e);
|
|
@@ -14041,41 +14044,41 @@ function el(e, t) {
|
|
|
14041
14044
|
}
|
|
14042
14045
|
//#endregion
|
|
14043
14046
|
//#region src/ssr.jsx
|
|
14044
|
-
var
|
|
14047
|
+
var nl = (e) => String(e ?? "").replace(/[&<>"]/g, (e) => ({
|
|
14045
14048
|
"&": "&",
|
|
14046
14049
|
"<": "<",
|
|
14047
14050
|
">": ">",
|
|
14048
14051
|
"\"": """
|
|
14049
14052
|
})[e]);
|
|
14050
|
-
function
|
|
14051
|
-
return e(/* @__PURE__ */ g(
|
|
14053
|
+
function rl(t, { mode: n = "auto", style: r } = {}) {
|
|
14054
|
+
return e(/* @__PURE__ */ g(Qc, {
|
|
14052
14055
|
bundle: t,
|
|
14053
14056
|
mode: n,
|
|
14054
14057
|
style: r
|
|
14055
14058
|
}));
|
|
14056
14059
|
}
|
|
14057
|
-
function
|
|
14060
|
+
function il(e, { mode: t = "auto", lang: n } = {}) {
|
|
14058
14061
|
let r = e.seo ?? {}, i = n || e.locale || "en", a = b(e.direction, i), o = Xe(e) || "Page", s = e.custom?.js?.trim(), c = e.settings?.["site.code"], l = typeof c?.js == "string" ? c.js.trim() : "", u = (e) => `<script>${e.replaceAll("<\/script", "<\\/script")}<\/script>`, d = [
|
|
14059
14062
|
"<meta charset=\"utf-8\"/>",
|
|
14060
14063
|
"<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>",
|
|
14061
|
-
`<title>${
|
|
14062
|
-
r.description && `<meta name="description" content="${
|
|
14063
|
-
`<meta property="og:title" content="${
|
|
14064
|
-
r.image && `<meta property="og:image" content="${
|
|
14064
|
+
`<title>${nl(o)}</title>`,
|
|
14065
|
+
r.description && `<meta name="description" content="${nl(r.description)}"/>`,
|
|
14066
|
+
`<meta property="og:title" content="${nl(o)}"/>`,
|
|
14067
|
+
r.image && `<meta property="og:image" content="${nl(r.image)}"/>`,
|
|
14065
14068
|
r.noindex && "<meta name=\"robots\" content=\"noindex\"/>",
|
|
14066
14069
|
"<style>html,body{margin:0;height:100%}</style>"
|
|
14067
14070
|
].filter(Boolean).join("\n");
|
|
14068
14071
|
return `<!doctype html>
|
|
14069
|
-
<html lang="${
|
|
14072
|
+
<html lang="${nl(i)}"${a ? ` dir="${a}"` : ""}>
|
|
14070
14073
|
<head>
|
|
14071
14074
|
${d}
|
|
14072
14075
|
</head>
|
|
14073
14076
|
<body>
|
|
14074
|
-
${
|
|
14077
|
+
${rl(e, { mode: t })}
|
|
14075
14078
|
${l ? u(l) : ""}
|
|
14076
14079
|
${s ? u(s) : ""}
|
|
14077
14080
|
</body>
|
|
14078
14081
|
</html>`;
|
|
14079
14082
|
}
|
|
14080
14083
|
//#endregion
|
|
14081
|
-
export { Ye as assembleBundle, Xe as documentTitle,
|
|
14084
|
+
export { Ye as assembleBundle, Xe as documentTitle, el as fetchPage, rl as renderBundleHtml, il as renderPageDocument };
|