@xplortech/xhb-embed 0.2.2 → 0.2.4

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/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ All notable changes to `@xplortech/xhb-embed` are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/).
7
7
 
8
+ ## [0.2.4] - 2026-10-01
9
+
10
+ ### Fixed
11
+
12
+ - **Condition select options remain selectable.** Fixed an issue where
13
+ option clicks were lost due to a second Stencil runtime. Selects now use
14
+ Apollo Vue to ensure options are consistently clickable.
15
+
16
+ - **Catalog requests retry independently.** When fetching condition
17
+ categories and options, a failed request now retries only that specific
18
+ call rather than repeating both requests. Successful responses are cached
19
+ and reused while the failed request is retried.
20
+
21
+ ## [0.2.3] - 2026-09-28
22
+
23
+ ### Fixed
24
+
25
+ - **`vue` is no longer a runtime dependency of `@xplortech/xhb-embed`.**
26
+ The published bundle already inlines the Vue runtime. Listing `vue` under
27
+ `dependencies` made every host install `@vue/compiler-*` and
28
+ `@babel/parser` as well. `vue` is now a devDependency, used only to build
29
+ the custom element.
30
+
8
31
  ## [0.2.0] - 2026-09-21
9
32
 
10
33
  ### Added
@@ -0,0 +1,6 @@
1
+ async function n() {
2
+ return { html: "" };
3
+ }
4
+ export {
5
+ n as renderToString
6
+ };
@@ -0,0 +1,341 @@
1
+ import { c as k, a as w, s as S, b as V, i as m, N as g, d as v, e as d, F as x, S as H, C as M, f as O, T as P, g as p, m as z, h as F, j as b, k as L, l as U, n as W, o as j, p as D, q as G, r as I, t as K, u as q, v as J, w as Q, x as X, y as Y, z as Z, A as ee } from "./index-DUsLLSS9.js";
2
+ const re = /* @__PURE__ */ U(
3
+ ",key,ref,innerHTML,textContent,ref_key,ref_for"
4
+ );
5
+ function te(e, r) {
6
+ let t = "";
7
+ for (let s in e) {
8
+ if (re(s) || L(s) || r === "textarea" && s === "value" || // force as property (not rendered in SSR)
9
+ s.startsWith("."))
10
+ continue;
11
+ const n = e[s];
12
+ s.startsWith("^") && (s = s.slice(1)), s === "class" ? t += ` class="${ne(n)}"` : s === "style" ? t += ` style="${oe(n)}"` : s === "className" ? n != null && (t += ` class="${p(String(n))}"`) : t += se(s, n, r);
13
+ }
14
+ return t;
15
+ }
16
+ function se(e, r, t) {
17
+ if (!G(r))
18
+ return "";
19
+ const s = t && (t.indexOf("-") > 0 || I(t)) ? e : K[e] || e.toLowerCase();
20
+ return q(s) ? J(r) ? ` ${s}` : "" : Q(s) ? r === "" ? ` ${s}` : ` ${s}="${p(r)}"` : (console.warn(
21
+ `[@vue/server-renderer] Skipped rendering unsafe attribute name: ${s}`
22
+ ), "");
23
+ }
24
+ function ne(e) {
25
+ return p(W(e));
26
+ }
27
+ function oe(e) {
28
+ if (!e)
29
+ return "";
30
+ if (d(e))
31
+ return p(e);
32
+ const r = j(ie(e));
33
+ return p(D(r));
34
+ }
35
+ function ie(e) {
36
+ if (!b(e) && X(e)) {
37
+ const r = {};
38
+ for (const t in e)
39
+ t.startsWith(":--") ? r[t.slice(1)] = Y(e[t]) : r[t] = e[t];
40
+ return r;
41
+ }
42
+ return e;
43
+ }
44
+ function le(e, r, t, s, n) {
45
+ e("<!--teleport start-->");
46
+ const o = n.appContext.provides[S], i = o.__teleportBuffers || (o.__teleportBuffers = {}), l = i[t] || (i[t] = []), u = l.length;
47
+ let f;
48
+ if (s)
49
+ r(e), f = "<!--teleport start anchor--><!--teleport anchor-->";
50
+ else {
51
+ const { getBuffer: c, push: a } = B();
52
+ a("<!--teleport start anchor-->"), r(a), a("<!--teleport anchor-->"), f = c();
53
+ }
54
+ l.splice(u, 0, f), e("<!--teleport end-->");
55
+ }
56
+ {
57
+ const e = Z(), r = (t, s) => {
58
+ let n;
59
+ return (n = e[t]) || (n = e[t] = []), n.push(s), (o) => {
60
+ n.length > 1 ? n.forEach((i) => i(o)) : n[0](o);
61
+ };
62
+ };
63
+ r(
64
+ "__VUE_INSTANCE_SETTERS__",
65
+ (t) => t
66
+ ), r(
67
+ "__VUE_SSR_SETTERS__",
68
+ (t) => t
69
+ );
70
+ }
71
+ function ae(e, r) {
72
+ throw new Error(
73
+ "On-the-fly template compilation is not supported in the ESM build of @vue/server-renderer. All templates must be pre-compiled into render functions."
74
+ );
75
+ }
76
+ const {
77
+ createComponentInstance: fe,
78
+ setCurrentRenderingInstance: C,
79
+ setupComponent: ce,
80
+ renderComponentRoot: R,
81
+ normalizeVNode: ue
82
+ } = V;
83
+ function pe(e) {
84
+ let r;
85
+ if (e.__watcherHandles) {
86
+ for (const t of e.__watcherHandles)
87
+ try {
88
+ t();
89
+ } catch (s) {
90
+ r === void 0 && (r = s);
91
+ }
92
+ e.__watcherHandles.length = 0;
93
+ }
94
+ if (e.__instanceScopes) {
95
+ for (const t of e.__instanceScopes)
96
+ try {
97
+ t.stop();
98
+ } catch (s) {
99
+ r === void 0 && (r = s);
100
+ }
101
+ e.__instanceScopes.length = 0;
102
+ }
103
+ if (r !== void 0)
104
+ throw r;
105
+ }
106
+ function B() {
107
+ let e = !1;
108
+ const r = [];
109
+ return {
110
+ getBuffer() {
111
+ return r;
112
+ },
113
+ push(t) {
114
+ const s = d(t);
115
+ if (e && s) {
116
+ r[r.length - 1] += t;
117
+ return;
118
+ }
119
+ r.push(t), e = s, (m(t) || b(t) && t.hasAsync) && (r.hasAsync = !0);
120
+ }
121
+ };
122
+ }
123
+ function $(e, r = null, t) {
124
+ const s = e.component = fe(
125
+ e,
126
+ r,
127
+ null
128
+ ), n = s.appContext.provides[S];
129
+ n && (n.__instanceScopes || (n.__instanceScopes = [])).push(
130
+ s.scope
131
+ );
132
+ const o = ce(
133
+ s,
134
+ !0
135
+ /* isSSR */
136
+ ), i = m(o);
137
+ let l = s.sp;
138
+ return i || l ? Promise.resolve(o).then(() => {
139
+ if (i && (l = s.sp), l)
140
+ return Promise.all(
141
+ l.map((f) => f.call(s.proxy))
142
+ );
143
+ }).catch(g).then(() => A(s, t)) : A(s, t);
144
+ }
145
+ function A(e, r) {
146
+ const t = e.type, { getBuffer: s, push: n } = B();
147
+ if (v(t)) {
148
+ let o = R(e);
149
+ if (!t.props)
150
+ for (const i in e.attrs)
151
+ i.startsWith("data-v-") && ((o.props || (o.props = {}))[i] = "");
152
+ y(n, e.subTree = o, e, r);
153
+ } else {
154
+ (!e.render || e.render === g) && !e.ssrRender && !t.ssrRender && d(t.template) && (t.ssrRender = ae(t.template));
155
+ const o = e.ssrRender || t.ssrRender;
156
+ if (o) {
157
+ let i = e.inheritAttrs !== !1 ? e.attrs : void 0, l = !1, u = e;
158
+ for (; ; ) {
159
+ const c = u.vnode.scopeId;
160
+ c && (l || (i = { ...i }, l = !0), i[c] = "");
161
+ const a = u.parent;
162
+ if (a && a.subTree && a.subTree === u.vnode)
163
+ u = a;
164
+ else
165
+ break;
166
+ }
167
+ if (r) {
168
+ l || (i = { ...i });
169
+ const c = r.trim().split(" ");
170
+ for (let a = 0; a < c.length; a++)
171
+ i[c[a]] = "";
172
+ }
173
+ const f = C(e);
174
+ try {
175
+ o(
176
+ e.proxy,
177
+ n,
178
+ e,
179
+ i,
180
+ // compiler-optimized bindings
181
+ e.props,
182
+ e.setupState,
183
+ e.data,
184
+ e.ctx
185
+ );
186
+ } finally {
187
+ C(f);
188
+ }
189
+ } else e.render && e.render !== g ? y(
190
+ n,
191
+ e.subTree = R(e),
192
+ e,
193
+ r
194
+ ) : (t.name || t.__file, n("<!---->"));
195
+ }
196
+ return s();
197
+ }
198
+ function y(e, r, t, s) {
199
+ const { type: n, shapeFlag: o, children: i, dirs: l, props: u } = r;
200
+ switch (l && (r.props = _e(r, u, l)), n) {
201
+ case P:
202
+ e(p(i));
203
+ break;
204
+ case M:
205
+ e(
206
+ i ? `<!--${O(i)}-->` : "<!---->"
207
+ );
208
+ break;
209
+ case H:
210
+ e(i);
211
+ break;
212
+ case x:
213
+ r.slotScopeIds && (s = (s ? s + " " : "") + r.slotScopeIds.join(" ")), e("<!--[-->"), T(
214
+ e,
215
+ i,
216
+ t,
217
+ s
218
+ ), e("<!--]-->");
219
+ break;
220
+ default:
221
+ o & 1 ? de(e, r, t, s) : o & 6 ? e($(r, t, s)) : o & 64 ? he(e, r, t, s) : o & 128 && y(e, r.ssContent, t, s);
222
+ }
223
+ }
224
+ function T(e, r, t, s) {
225
+ for (let n = 0; n < r.length; n++)
226
+ y(e, ue(r[n]), t, s);
227
+ }
228
+ function de(e, r, t, s) {
229
+ const n = r.type;
230
+ let { props: o, children: i, shapeFlag: l, scopeId: u } = r, f = `<${n}`;
231
+ o && (f += te(o, n)), u && (f += ` ${u}`);
232
+ let c = t, a = r;
233
+ for (; c && a === c.subTree; )
234
+ a = c.vnode, a.scopeId && (f += ` ${a.scopeId}`), c = c.parent;
235
+ if (s && (f += ` ${s}`), e(f + ">"), !F(n)) {
236
+ let _ = !1;
237
+ o && (o.innerHTML ? (_ = !0, e(o.innerHTML)) : o.textContent ? (_ = !0, e(p(o.textContent))) : n === "textarea" && o.value && (_ = !0, e(p(o.value)))), _ || (l & 8 ? e(p(i)) : l & 16 && T(
238
+ e,
239
+ i,
240
+ t,
241
+ s
242
+ )), e(`</${n}>`);
243
+ }
244
+ }
245
+ function _e(e, r, t) {
246
+ const s = [];
247
+ for (let n = 0; n < t.length; n++) {
248
+ const o = t[n], {
249
+ dir: { getSSRProps: i }
250
+ } = o;
251
+ if (i) {
252
+ const l = i(o, e);
253
+ l && s.push(l);
254
+ }
255
+ }
256
+ return z(r || {}, ...s);
257
+ }
258
+ function he(e, r, t, s) {
259
+ const n = r.props && r.props.to, o = r.props && r.props.disabled;
260
+ if (!n)
261
+ return [];
262
+ if (!d(n))
263
+ return [];
264
+ le(
265
+ e,
266
+ (i) => {
267
+ T(
268
+ i,
269
+ r.children,
270
+ t,
271
+ s
272
+ );
273
+ },
274
+ n,
275
+ o || o === "",
276
+ t
277
+ );
278
+ }
279
+ const { isVNode: me } = V;
280
+ function h(e, r, t) {
281
+ if (!e.hasAsync)
282
+ return r + E(e);
283
+ let s = r;
284
+ for (let n = t; n < e.length; n += 1) {
285
+ const o = e[n];
286
+ if (d(o)) {
287
+ s += o;
288
+ continue;
289
+ }
290
+ if (m(o))
291
+ return o.then((l) => (e[n] = l, h(e, s, n)));
292
+ const i = h(o, s, 0);
293
+ if (m(i))
294
+ return i.then((l) => (e[n] = l, h(e, "", n)));
295
+ s = i;
296
+ }
297
+ return s;
298
+ }
299
+ function N(e) {
300
+ return h(e, "", 0);
301
+ }
302
+ function E(e) {
303
+ let r = "";
304
+ for (let t = 0; t < e.length; t++) {
305
+ let s = e[t];
306
+ d(s) ? r += s : r += E(s);
307
+ }
308
+ return r;
309
+ }
310
+ async function ye(e, r = {}) {
311
+ if (me(e))
312
+ return ye(k({ render: () => e }), r);
313
+ const t = w(e._component, e._props);
314
+ t.appContext = e._context, e.provide(S, r);
315
+ try {
316
+ const s = await $(t), n = await N(s);
317
+ return await ge(r), n;
318
+ } finally {
319
+ pe(r);
320
+ }
321
+ }
322
+ async function ge(e) {
323
+ if (e.__teleportBuffers) {
324
+ e.teleports = e.teleports || {};
325
+ for (const r in e.__teleportBuffers)
326
+ e.teleports[r] = await N(
327
+ await Promise.all([e.__teleportBuffers[r]])
328
+ );
329
+ }
330
+ }
331
+ ee();
332
+ export {
333
+ ye as renderToString,
334
+ J as ssrIncludeBooleanAttr,
335
+ te as ssrRenderAttrs,
336
+ ne as ssrRenderClass,
337
+ se as ssrRenderDynamicAttr,
338
+ oe as ssrRenderStyle,
339
+ le as ssrRenderTeleport,
340
+ y as ssrRenderVNode
341
+ };