@floegence/floe-webapp-core 0.71.0 → 0.72.0

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.
@@ -0,0 +1,9 @@
1
+ import { type JSX } from 'solid-js';
2
+ import { type ViewportSnapshot } from '../../viewport';
3
+ export interface AppViewportProps {
4
+ children: JSX.Element;
5
+ class?: string;
6
+ onViewportChange?: (viewport: ViewportSnapshot) => void;
7
+ }
8
+ /** A stable document-level host that follows browser chrome and the soft keyboard. */
9
+ export declare function AppViewport(props: AppViewportProps): JSX.Element;
@@ -0,0 +1,31 @@
1
+ import { insert as f, effect as u, className as c, setAttribute as m, style as p, template as s, use as w } from "solid-js/web";
2
+ import { createSignal as h, onMount as y, onCleanup as V, untrack as b } from "solid-js";
3
+ import { viewportStyle as g, observeViewport as k } from "../../viewport.js";
4
+ var x = /* @__PURE__ */ s("<div data-floe-app-viewport style=position:fixed;inset:0;overflow:hidden;min-height:0>");
5
+ function D(r) {
6
+ const [i, d] = h();
7
+ let n;
8
+ return y(() => {
9
+ const e = n?.ownerDocument.defaultView;
10
+ e && V(k(e, (o) => {
11
+ d(o), b(() => r.onViewportChange?.(o));
12
+ }));
13
+ }), (() => {
14
+ var e = x(), o = n;
15
+ return typeof o == "function" ? w(o, e) : n = e, f(e, () => r.children), u((t) => {
16
+ var a = r.class, v = i()?.keyboardOpen || void 0, l = {
17
+ ...i() ? g(i()) : {
18
+ height: "100dvh"
19
+ }
20
+ };
21
+ return a !== t.e && c(e, t.e = a), v !== t.t && m(e, "data-keyboard-open", t.t = v), t.a = p(e, l, t.a), t;
22
+ }, {
23
+ e: void 0,
24
+ t: void 0,
25
+ a: void 0
26
+ }), e;
27
+ })();
28
+ }
29
+ export {
30
+ D as AppViewport
31
+ };
@@ -1,217 +1,231 @@
1
- import { createComponent as p, Portal as ce, use as ee, insert as le, effect as ue, setAttribute as V, className as te, style as de, memo as fe, template as me } from "solid-js/web";
2
- import { createSignal as x, createEffect as G, untrack as U, onCleanup as _, Show as he } from "solid-js";
3
- import { cn as ne } from "../../utils/cn.js";
4
- var ve = /* @__PURE__ */ me("<section role=region data-floe-bottom-bar-companion=true><div data-floe-bottom-bar-companion-content=true>");
5
- const we = 544, be = 544, ge = 12, q = {
1
+ import { createComponent as ne, Portal as de, use as oe, insert as fe, effect as me, setAttribute as R, className as ie, style as he, memo as ve, template as we } from "solid-js/web";
2
+ import { createSignal as V, createEffect as J, untrack as X, onCleanup as K, Show as be } from "solid-js";
3
+ import { readViewportSnapshot as _, observeViewport as ge } from "../../viewport.js";
4
+ import { cn as re } from "../../utils/cn.js";
5
+ var Ce = /* @__PURE__ */ we("<section role=region data-floe-bottom-bar-companion=true><div data-floe-bottom-bar-companion-content=true>");
6
+ const ye = 544, Fe = 544, Ae = 12, G = {
6
7
  top: "--floe-bottom-bar-companion-safe-area-top",
7
8
  right: "--floe-bottom-bar-companion-safe-area-right",
8
9
  bottom: "--floe-bottom-bar-companion-safe-area-bottom",
9
10
  left: "--floe-bottom-bar-companion-safe-area-left"
10
11
  };
11
- function X(e, a) {
12
+ function j(e, r) {
12
13
  const l = Number(e);
13
- return Number.isFinite(l) && l > 0 ? l : a;
14
+ return Number.isFinite(l) && l > 0 ? l : r;
14
15
  }
15
- function Ce(e, a) {
16
+ function De(e, r) {
16
17
  const l = Number(e);
17
- return Number.isFinite(l) && l >= 0 ? l : a;
18
+ return Number.isFinite(l) && l >= 0 ? l : r;
18
19
  }
19
- function oe(e) {
20
+ function se(e) {
20
21
  if (!e?.isConnected) return null;
21
- const a = e.getBoundingClientRect();
22
- return !Number.isFinite(a.left) || !Number.isFinite(a.top) || a.width <= 0 || a.height <= 0 ? null : {
23
- left: a.left,
24
- top: a.top,
25
- width: a.width,
26
- height: a.height
22
+ const r = e.getBoundingClientRect();
23
+ return !Number.isFinite(r.left) || !Number.isFinite(r.top) || r.width <= 0 || r.height <= 0 ? null : {
24
+ left: r.left,
25
+ top: r.top,
26
+ width: r.width,
27
+ height: r.height
27
28
  };
28
29
  }
29
- function k(e, a) {
30
+ function U(e, r) {
30
31
  const l = e.ownerDocument.defaultView;
31
32
  if (!l) return 0;
32
- const m = Number.parseFloat(l.getComputedStyle(e).getPropertyValue(a));
33
- return Number.isFinite(m) && m > 0 ? m : 0;
33
+ const d = Number.parseFloat(l.getComputedStyle(e).getPropertyValue(r));
34
+ return Number.isFinite(d) && d > 0 ? d : 0;
34
35
  }
35
- function Fe(e) {
36
+ function xe(e) {
36
37
  return {
37
- top: k(e, q.top),
38
- right: k(e, q.right),
39
- bottom: k(e, q.bottom),
40
- left: k(e, q.left)
38
+ top: U(e, G.top),
39
+ right: U(e, G.right),
40
+ bottom: U(e, G.bottom),
41
+ left: U(e, G.left)
41
42
  };
42
43
  }
43
- function ye(e, a, l, m, R, F) {
44
- const E = a.ownerDocument.defaultView, f = E?.visualViewport, A = f?.offsetLeft ?? 0, z = f?.offsetTop ?? 0, N = f?.width ?? E?.innerWidth ?? e.left + e.width, H = f?.height ?? E?.innerHeight ?? e.top + e.height, P = Fe(a), b = A + P.left + F, h = A + N - P.right - F, v = z + P.top + F, g = z + H - P.bottom, w = Math.max(0, h - b), C = Math.min(l, m, w), L = e.left + (e.width - C) / 2, M = Math.max(b, Math.min(L, h - C)), D = Math.min(e.top + e.height, g), S = Math.max(e.height, D - v), B = Math.min(R, S);
44
+ function Ee(e, r, l, d, L, y) {
45
+ const F = r.ownerDocument.defaultView, m = F ? _(F).visible : null, A = m?.left ?? 0, k = m?.top ?? 0, N = m?.width ?? e.left + e.width, O = m?.height ?? e.top + e.height, E = xe(r), g = A + E.left + y, h = A + N - E.right - y, v = k + E.top + y, C = k + O - (F && _(F).keyboardOpen ? 0 : E.bottom), w = Math.max(0, h - g), b = Math.min(l, d, w), P = e.left + (e.width - b) / 2, M = Math.max(g, Math.min(P, h - b)), D = Math.min(e.top + e.height, C), S = Math.max(e.height, D - v), q = Math.min(L, S);
45
46
  return {
46
47
  left: M,
47
- top: D - B,
48
- width: C,
49
- height: B
48
+ top: D - q,
49
+ width: b,
50
+ height: q
50
51
  };
51
52
  }
52
- function Ee(e, a) {
53
- return !!(e && e.left === a.left && e.top === a.top && e.width === a.width && e.height === a.height);
53
+ function ae(e, r) {
54
+ return !!(e && e.left === r.left && e.top === r.top && e.width === r.width && e.height === r.height);
54
55
  }
55
- function Ae(e) {
56
- return e ? {
57
- left: `${e.left}px`,
58
- top: `${e.top}px`,
56
+ function Pe(e, r) {
57
+ if (!e) return {};
58
+ const l = r?.ownerDocument.defaultView, d = l ? _(l).fixedOffset : {
59
+ left: 0,
60
+ top: 0
61
+ };
62
+ return {
63
+ left: `${e.left + d.left}px`,
64
+ top: `${e.top + d.top}px`,
59
65
  width: `${e.width}px`,
60
66
  height: `${e.height}px`
61
- } : {};
67
+ };
62
68
  }
63
- function Me(e) {
64
- const [a, l] = x(null), [m, R] = x(!1), [F, E] = x(!1), [f, A] = x(null), [z, N] = x(null), [H, P] = x("collapsed");
65
- let b = null, h = 0, v = 0, g = null, w = null, C = null, L = !1, M = !1;
66
- const D = (i) => {
67
- H() !== i && (P(i), e.onPhaseChange?.(i));
68
- }, S = () => a()?.ownerDocument.defaultView ?? e.anchor?.ownerDocument.defaultView ?? null, B = () => S()?.matchMedia?.("(prefers-reduced-motion: reduce)").matches ?? !1, K = (i) => {
69
- const t = e.mount, r = e.anchor, n = !!(t?.isConnected && i && r?.ownerDocument === t.ownerDocument);
70
- n && l(t);
71
- const c = a();
69
+ function Ne(e) {
70
+ const [r, l] = V(null), [d, L] = V(!1), [y, F] = V(!1), [m, A] = V(null), [k, N] = V(null), [O, E] = V("collapsed");
71
+ let g = null, h = 0, v = 0, C = null, w = null, b = null, P = !1, M = !1;
72
+ const D = (o) => {
73
+ O() !== o && (E(o), e.onPhaseChange?.(o));
74
+ }, S = () => r()?.ownerDocument.defaultView ?? e.anchor?.ownerDocument.defaultView ?? null, q = () => S()?.matchMedia?.("(prefers-reduced-motion: reduce)").matches ?? !1, Q = (o) => {
75
+ const n = e.mount, i = e.anchor, t = !!(n?.isConnected && o && i?.ownerDocument === n.ownerDocument);
76
+ t && l(n);
77
+ const c = r();
72
78
  if (c) {
73
- R(c.isConnected);
74
- const o = !!(n && c === t);
75
- return E(o), {
79
+ L(c.isConnected);
80
+ const s = !!(t && c === n);
81
+ return F(s), {
76
82
  mount: c,
77
- ready: o
83
+ ready: s
78
84
  };
79
85
  }
80
- return R(!1), E(!1), {
86
+ return L(!1), F(!1), {
81
87
  mount: null,
82
88
  ready: !1
83
89
  };
84
- }, ie = (i) => {
85
- const t = oe(e.anchor);
86
- t && N(t);
90
+ }, Y = (o) => {
91
+ const n = se(e.anchor);
92
+ n && N(n);
87
93
  const {
88
- mount: r,
89
- ready: n
90
- } = K(t), c = t ?? z();
91
- return !c || !r || !n ? null : i ? ye(c, r, X(e.expandedWidth, c.width), X(e.maxWidth, we), X(e.maxHeight, be), Ce(e.viewportPadding, ge)) : c;
92
- }, j = () => {
93
- h && g && g.cancelAnimationFrame(h), v && w && w.cancelAnimationFrame(v), h = 0, v = 0, g = null, w = null, C = null;
94
- }, J = (i, t) => {
95
- const r = ie(i);
96
- if (!r) return;
97
- const n = f(), c = i ? "expanded" : "collapsed";
98
- if (!t || B() || Ee(n, r)) {
99
- A(r), C = null, D(c);
94
+ mount: i,
95
+ ready: t
96
+ } = Q(n), c = n ?? k();
97
+ return !c || !i || !t ? null : o ? Ee(c, i, j(e.expandedWidth, c.width), j(e.maxWidth, ye), j(e.maxHeight, Fe), De(e.viewportPadding, Ae)) : c;
98
+ }, Z = () => {
99
+ h && C && C.cancelAnimationFrame(h), v && w && w.cancelAnimationFrame(v), h = 0, v = 0, C = null, w = null, b = null;
100
+ }, $ = (o, n) => {
101
+ const i = Y(o);
102
+ if (!i) return;
103
+ const t = m(), c = o ? "expanded" : "collapsed";
104
+ if (!n && ae(t, i) && b) return;
105
+ if (!n || q() || ae(t, i)) {
106
+ A(i), b = null, D(c);
100
107
  return;
101
108
  }
102
- C = ["height", "width", "top", "left"].find((u) => n?.[u] !== r[u]) ?? null, D(i ? "expanding" : "collapsing");
103
- const o = S();
104
- if (!o) {
105
- A(r), D(c);
109
+ b = ["height", "width", "top", "left"].find((f) => t?.[f] !== i[f]) ?? null, D(o ? "expanding" : "collapsing");
110
+ const s = S();
111
+ if (!s) {
112
+ A(i), D(c);
106
113
  return;
107
114
  }
108
- v = o.requestAnimationFrame(() => {
109
- v = 0, w = null, A(r);
110
- }), w = o;
111
- }, Q = (i, t) => {
112
- const r = S();
113
- if (!r) {
114
- J(t, i);
115
+ v = s.requestAnimationFrame(() => {
116
+ v = 0, w = null, A(Y(o) ?? i);
117
+ }), w = s;
118
+ }, p = (o, n) => {
119
+ if (!o && (h || v)) return;
120
+ const i = S();
121
+ if (!i) {
122
+ $(n, o);
115
123
  return;
116
124
  }
117
- h && g && g.cancelAnimationFrame(h), v && w && w.cancelAnimationFrame(v), v = 0, w = null, h = r.requestAnimationFrame(() => {
118
- h = 0, g = null, U(() => J(t, i));
119
- }), g = r;
125
+ h && C && C.cancelAnimationFrame(h), v && w && w.cancelAnimationFrame(v), v = 0, w = null, h = i.requestAnimationFrame(() => {
126
+ h = 0, C = null, X(() => $(n, o));
127
+ }), C = i;
120
128
  };
121
- G(() => {
122
- const i = e.retained, t = e.visible, r = e.open;
123
- if (e.anchor, e.mount, e.expandedWidth, e.maxWidth, e.maxHeight, e.viewportPadding, !i) {
124
- j(), l(null), R(!1), E(!1), A(null), N(null), b = null, e.surfaceRef?.(null), e.contentHostRef?.(null), L = !1, M = r;
129
+ J(() => {
130
+ const o = e.retained, n = e.visible, i = e.open;
131
+ if (e.anchor, e.mount, e.expandedWidth, e.maxWidth, e.maxHeight, e.viewportPadding, !o) {
132
+ Z(), l(null), L(!1), F(!1), A(null), N(null), g = null, e.surfaceRef?.(null), e.contentHostRef?.(null), P = !1, M = i;
125
133
  return;
126
134
  }
127
- const n = oe(e.anchor);
128
- if (n && N(n), K(n), !t) {
129
- L = !1, M = r;
135
+ const t = se(e.anchor);
136
+ if (t && N(t), Q(t), !n) {
137
+ P = !1, M = i;
130
138
  return;
131
139
  }
132
- const c = !L, o = M !== r;
133
- L = !0, M = r, Q(!c && o, r);
134
- }), G(() => {
140
+ const c = !P, s = M !== i;
141
+ P = !0, M = i, p(!c && s, i);
142
+ }), J(() => {
135
143
  if (!e.retained) return;
136
- const i = e.anchor, t = a(), r = e.mount, n = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set();
137
- for (const s of [i, t, r]) {
138
- if (!s) continue;
139
- n.add(s.ownerDocument);
140
- const d = s.ownerDocument.defaultView;
141
- d && c.add(d);
144
+ const o = e.anchor, n = r(), i = e.mount, t = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set();
145
+ for (const a of [o, n, i]) {
146
+ if (!a) continue;
147
+ t.add(a.ownerDocument);
148
+ const u = a.ownerDocument.defaultView;
149
+ u && c.add(u);
142
150
  }
143
- if (c.size === 0 || n.size === 0) return;
144
- const o = () => Q(!1, U(() => e.open)), u = [];
145
- for (const s of /* @__PURE__ */ new Set([i, t, r])) {
146
- const d = s?.ownerDocument.defaultView;
147
- if (!s || !d || typeof d.ResizeObserver != "function") continue;
148
- const y = new d.ResizeObserver(o);
149
- y.observe(s), u.push(y);
151
+ if (c.size === 0 || t.size === 0) return;
152
+ const s = () => p(!1, X(() => e.open)), f = [];
153
+ for (const a of /* @__PURE__ */ new Set([o, n, i])) {
154
+ const u = a?.ownerDocument.defaultView;
155
+ if (!a || !u || typeof u.ResizeObserver != "function") continue;
156
+ const x = new u.ResizeObserver(s);
157
+ x.observe(a), f.push(x);
150
158
  }
151
- let T = i?.isConnected ?? !1, W = t?.isConnected ?? !1, I = r?.isConnected ?? !1;
152
- const O = [];
153
- for (const s of n) {
154
- const d = s.defaultView;
155
- if (!d || typeof d.MutationObserver != "function" || !s.documentElement) continue;
156
- const y = new d.MutationObserver(() => {
157
- const Y = i?.isConnected ?? !1, Z = t?.isConnected ?? !1, $ = r?.isConnected ?? !1;
158
- T === Y && W === Z && I === $ || (T = Y, W = Z, I = $, U(o));
159
+ let H = o?.isConnected ?? !1, I = n?.isConnected ?? !1, T = i?.isConnected ?? !1;
160
+ const W = [];
161
+ for (const a of t) {
162
+ const u = a.defaultView;
163
+ if (!u || typeof u.MutationObserver != "function" || !a.documentElement) continue;
164
+ const x = new u.MutationObserver(() => {
165
+ const B = o?.isConnected ?? !1, ee = n?.isConnected ?? !1, te = i?.isConnected ?? !1;
166
+ H === B && I === ee && T === te || (H = B, I = ee, T = te, X(s));
159
167
  });
160
- y.observe(s.documentElement, {
168
+ x.observe(a.documentElement, {
161
169
  childList: !0,
162
170
  subtree: !0
163
- }), O.push(y);
171
+ }), W.push(x);
164
172
  }
165
- for (const s of c)
166
- s.addEventListener("resize", o), s.visualViewport?.addEventListener("resize", o), s.visualViewport?.addEventListener("scroll", o);
167
- _(() => {
168
- for (const s of u) s.disconnect();
169
- for (const s of O) s.disconnect();
170
- for (const s of c)
171
- s.removeEventListener("resize", o), s.visualViewport?.removeEventListener("resize", o), s.visualViewport?.removeEventListener("scroll", o);
173
+ const z = [...c].map((a) => {
174
+ let u = JSON.stringify(_(a));
175
+ return ge(a, (x) => {
176
+ const B = JSON.stringify(x);
177
+ B !== u && (u = B, s());
178
+ });
179
+ });
180
+ for (const a of t) a.addEventListener("scroll", s, !0);
181
+ K(() => {
182
+ for (const a of f) a.disconnect();
183
+ for (const a of W) a.disconnect();
184
+ for (const a of z) a();
185
+ for (const a of t) a.removeEventListener("scroll", s, !0);
172
186
  });
173
- }), G(() => {
174
- if (!e.retained || !e.visible || !e.open || !m() || !F() || !f()) return;
175
- const t = a()?.ownerDocument;
176
- if (!t) return;
177
- const r = (o) => {
178
- const u = typeof o.composedPath == "function" ? o.composedPath() : [];
179
- return b && u.includes(b) || e.anchor && u.includes(e.anchor) ? !0 : e.isOwnedInteraction?.(o) ?? !1;
180
- }, n = (o) => {
181
- r(o) || e.onDismiss?.("outside-pointer");
182
- }, c = (o) => {
183
- if (o.key !== "Escape" || o.defaultPrevented || o.isComposing || o.keyCode === 229) return;
184
- const u = t.activeElement;
185
- !b?.contains(u) && !e.isOwnedInteraction?.(o) || (o.preventDefault(), e.onDismiss?.("escape"));
187
+ }), J(() => {
188
+ if (!e.retained || !e.visible || !e.open || !d() || !y() || !m()) return;
189
+ const n = r()?.ownerDocument;
190
+ if (!n) return;
191
+ const i = (s) => {
192
+ const f = typeof s.composedPath == "function" ? s.composedPath() : [];
193
+ return g && f.includes(g) || e.anchor && f.includes(e.anchor) ? !0 : e.isOwnedInteraction?.(s) ?? !1;
194
+ }, t = (s) => {
195
+ i(s) || e.onDismiss?.("outside-pointer");
196
+ }, c = (s) => {
197
+ if (s.key !== "Escape" || s.defaultPrevented || s.isComposing || s.keyCode === 229) return;
198
+ const f = n.activeElement;
199
+ !g?.contains(f) && !e.isOwnedInteraction?.(s) || (s.preventDefault(), e.onDismiss?.("escape"));
186
200
  };
187
- t.addEventListener("pointerdown", n, !0), t.addEventListener("keydown", c), _(() => {
188
- t.removeEventListener("pointerdown", n, !0), t.removeEventListener("keydown", c);
201
+ n.addEventListener("pointerdown", t, !0), n.addEventListener("keydown", c), K(() => {
202
+ n.removeEventListener("pointerdown", t, !0), n.removeEventListener("keydown", c);
189
203
  });
190
- }), _(() => {
191
- j(), e.surfaceRef?.(null), e.contentHostRef?.(null);
204
+ }), K(() => {
205
+ Z(), e.surfaceRef?.(null), e.contentHostRef?.(null);
192
206
  });
193
- const re = (i) => {
194
- b = i, e.surfaceRef?.(i);
195
- }, ae = (i) => {
196
- e.contentHostRef?.(i);
197
- }, se = (i) => {
198
- if (i.target !== b || i.propertyName !== C) return;
199
- const t = e.open ? "expanding" : "collapsing";
200
- H() === t && (C = null, D(e.open ? "expanded" : "collapsed"));
207
+ const ce = (o) => {
208
+ g = o, e.surfaceRef?.(o);
209
+ }, le = (o) => {
210
+ e.contentHostRef?.(o);
211
+ }, ue = (o) => {
212
+ if (o.target !== g || o.propertyName !== b) return;
213
+ const n = e.open ? "expanding" : "collapsing";
214
+ O() === n && (b = null, D(e.open ? "expanded" : "collapsed"));
201
215
  };
202
- return p(he, {
216
+ return ne(be, {
203
217
  get when() {
204
- return fe(() => !!e.retained)() && a();
218
+ return ve(() => !!e.retained)() && r();
205
219
  },
206
- children: (i) => p(ce, {
220
+ children: (o) => ne(de, {
207
221
  get mount() {
208
- return i();
222
+ return o();
209
223
  },
210
224
  get children() {
211
- var t = ve(), r = t.firstChild;
212
- return t.addEventListener("transitionend", se), ee((n) => re(n), t), ee((n) => ae(n), r), le(r, () => e.children), ue((n) => {
213
- var c = e.id, o = e.label, u = !e.visible || !m() || !F() || !f() ? "true" : void 0, T = !e.visible || !m() || !F() || !f(), W = ne("floe-bottom-bar-companion", e.class), I = H(), O = e.visible && m() && F() ? "visible" : "hidden", s = f() ? "true" : "false", d = Ae(f()), y = ne("floe-bottom-bar-companion__content", e.contentClass);
214
- return c !== n.e && V(t, "id", n.e = c), o !== n.t && V(t, "aria-label", n.t = o), u !== n.a && V(t, "aria-hidden", n.a = u), T !== n.o && (t.inert = n.o = T), W !== n.i && te(t, n.i = W), I !== n.n && V(t, "data-companion-phase", n.n = I), O !== n.s && V(t, "data-companion-visibility", n.s = O), s !== n.h && V(t, "data-companion-frame-ready", n.h = s), n.r = de(t, d, n.r), y !== n.d && te(r, n.d = y), n;
225
+ var n = Ce(), i = n.firstChild;
226
+ return n.addEventListener("transitionend", ue), oe((t) => ce(t), n), oe((t) => le(t), i), fe(i, () => e.children), me((t) => {
227
+ var c = e.id, s = e.label, f = !e.visible || !d() || !y() || !m() ? "true" : void 0, H = !e.visible || !d() || !y() || !m(), I = re("floe-bottom-bar-companion", e.class), T = O(), W = e.visible && d() && y() ? "visible" : "hidden", z = m() ? "true" : "false", a = Pe(m(), r()), u = re("floe-bottom-bar-companion__content", e.contentClass);
228
+ return c !== t.e && R(n, "id", t.e = c), s !== t.t && R(n, "aria-label", t.t = s), f !== t.a && R(n, "aria-hidden", t.a = f), H !== t.o && (n.inert = t.o = H), I !== t.i && ie(n, t.i = I), T !== t.n && R(n, "data-companion-phase", t.n = T), W !== t.s && R(n, "data-companion-visibility", t.s = W), z !== t.h && R(n, "data-companion-frame-ready", t.h = z), t.r = he(n, a, t.r), u !== t.d && ie(i, t.d = u), t;
215
229
  }, {
216
230
  e: void 0,
217
231
  t: void 0,
@@ -223,11 +237,11 @@ function Me(e) {
223
237
  h: void 0,
224
238
  r: void 0,
225
239
  d: void 0
226
- }), t;
240
+ }), n;
227
241
  }
228
242
  })
229
243
  });
230
244
  }
231
245
  export {
232
- Me as BottomBarCompanion
246
+ Ne as BottomBarCompanion
233
247
  };
@@ -10,6 +10,7 @@ export interface MobileTabBarItem {
10
10
  onClick?: () => void;
11
11
  }
12
12
  export interface MobileTabBarProps {
13
+ hidden?: boolean;
13
14
  items: MobileTabBarItem[];
14
15
  activeId: string;
15
16
  onSelect: (id: string) => void;