@blumjs/router
Advanced tools
Comparing version 6.12.0 to 7.0.0
@@ -6,3 +6,3 @@ import { Routes } from "./types"; | ||
changeState(routes: BlumRouterEventMap["changestate"]): void; | ||
fireChangeStateEvent(): void; | ||
dispatchChangeStateEvent(): void; | ||
addEventListener<K extends keyof BlumRouterEventMap>(type: K, callback: (payload: BlumRouterEventMap[K]) => void, index: number): void; | ||
@@ -9,0 +9,0 @@ removeEventListener(index: number): void; |
import { blumRouter } from "./blum-router"; | ||
import { back, setActiveModal, setActivePanel, setActivePopout, setActiveViewPanel, _setActiveModal, _setActivePanel, _setActivePopout, _setActiveView } from "./router"; | ||
import { createDisableBackBrowserRouteMiddleware, createRouteMiddleware, useInitRouter, useRouter } from "./useRoutes"; | ||
export { useRouter, blumRouter, useInitRouter, createDisableBackBrowserRouteMiddleware, createRouteMiddleware, setActiveModal, setActiveViewPanel, setActivePanel, setActivePopout, back, _setActiveView, _setActivePanel, _setActiveModal, _setActivePopout, }; | ||
import { back, setActiveModal, setActivePanel, setActivePopout, setActiveViewPanel, setBackHandlerOptions, _setActiveModal, _setActivePanel, _setActivePopout, _setActiveView } from "./router"; | ||
import { createCatchBackBrowserRouteMiddleware, createDisableBackBrowserRouteMiddleware, createRouteMiddleware, useInitRouter, useRouter } from "./useRoutes"; | ||
export { createCatchBackBrowserRouteMiddleware, setBackHandlerOptions, useRouter, blumRouter, useInitRouter, createDisableBackBrowserRouteMiddleware, createRouteMiddleware, setActiveModal, setActiveViewPanel, setActivePanel, setActivePopout, back, _setActiveView, _setActivePanel, _setActiveModal, _setActivePopout, }; |
@@ -1,3 +0,3 @@ | ||
import T, { useEffect as Ze } from "react"; | ||
const C = { | ||
import B, { useEffect as Ze } from "react"; | ||
const V = { | ||
subscribers: [], | ||
@@ -20,3 +20,3 @@ historyPush(e) { | ||
try { | ||
window.history.pushState(e, ""), this.fireChangeStateEvent(); | ||
window.history.pushState(e, ""), this.dispatchChangeStateEvent(); | ||
} catch (t) { | ||
@@ -26,3 +26,3 @@ console.log("changeState err", t); | ||
}, | ||
fireChangeStateEvent() { | ||
dispatchChangeStateEvent() { | ||
this._trigerEvent("changestate", window.history.state); | ||
@@ -39,12 +39,14 @@ }, | ||
} | ||
}, cr = () => { | ||
window.isBackFromBrowser = !1, window.history.back(); | ||
}, fr = (e) => { | ||
C.historyPush({ view: e.view, panel: e.panel }); | ||
}, dr = (e) => { | ||
C.historyPush({ panel: e }); | ||
et(e), window.blumRouter.isBackFromBrowser = !1, window.history.back(); | ||
}, et = ({ beforeBackHandledCallback: e, afterBackHandledCallback: t, isDispatchChangeStateEventAfterMiddleware: r, isDispatchChangeStateEventBeforeMiddleware: n }) => { | ||
e && (window.blumRouter.beforeBackHandledCallback = e), t && (window.blumRouter.afterBackHandledCallback = t), typeof r == "boolean" && (window.blumRouter.isDispatchChangeStateEventAfterMiddleware = r), typeof n == "boolean" && (window.blumRouter.isDispatchChangeStateEventBeforeMiddleware = n); | ||
}, pr = (e) => { | ||
C.historyPush({ modal: e }); | ||
V.historyPush({ view: e.view, panel: e.panel }); | ||
}, vr = (e) => { | ||
C.historyPush({ popout: e }); | ||
V.historyPush({ panel: e }); | ||
}, hr = (e) => { | ||
V.historyPush({ modal: e }); | ||
}, mr = (e) => { | ||
V.historyPush({ popout: e }); | ||
}; | ||
@@ -55,75 +57,75 @@ function gt(e, t) { | ||
} | ||
function k(e, t) { | ||
function A(e, t) { | ||
e.forEach(t); | ||
} | ||
function j(e, t) { | ||
function W(e, t) { | ||
if (!e) | ||
throw Error(t); | ||
} | ||
function I({ node: e = [], from: t, source: r, parent: n = t || r, to: i, target: s, child: o = i || s, scope: p = {}, meta: _ = {}, family: c = { type: "regular" }, regional: S } = {}) { | ||
function P({ node: e = [], from: t, source: r, parent: n = t || r, to: i, target: s, child: o = i || s, scope: p = {}, meta: w = {}, family: c = { type: "regular" }, regional: S } = {}) { | ||
let l = ie(n), d = ie(c.links), f = ie(c.owners), a = []; | ||
k(e, (v) => v && M(a, v)); | ||
let u = { id: At(), seq: a, next: ie(o), meta: _, scope: p, family: { type: c.type || "crosslink", links: d, owners: f } }; | ||
return k(d, (v) => M(ce(v), u)), k(f, (v) => M(fe(v), u)), k(l, (v) => M(v.next, u)), S && W && it(J(W), [u]), u; | ||
A(e, (v) => v && M(a, v)); | ||
let u = { id: At(), seq: a, next: ie(o), meta: w, scope: p, family: { type: c.type || "crosslink", links: d, owners: f } }; | ||
return A(d, (v) => M(ce(v), u)), A(f, (v) => M(fe(v), u)), A(l, (v) => M(v.next, u)), S && z && at(J(z), [u]), u; | ||
} | ||
function et(e, t, r) { | ||
let n, i = V, s = null, o = O; | ||
if (e.target && (t = e.params, r = e.defer, n = e.meta, i = "page" in e ? e.page : i, e.stack && (s = e.stack), o = oe(e) || o, e = e.target), o && O && o !== O && (O = null), Array.isArray(e)) | ||
function tt(e, t, r) { | ||
let n, i = x, s = null, o = b; | ||
if (e.target && (t = e.params, r = e.defer, n = e.meta, i = "page" in e ? e.page : i, e.stack && (s = e.stack), o = oe(e) || o, e = e.target), o && b && o !== b && (b = null), Array.isArray(e)) | ||
for (let a = 0; a < e.length; a++) | ||
P("pure", i, D(e[a]), s, t[a], o, n); | ||
T("pure", i, D(e[a]), s, t[a], o, n); | ||
else | ||
P("pure", i, D(e), s, t, o, n); | ||
T("pure", i, D(e), s, t, o, n); | ||
if (r && !ae) | ||
return; | ||
let p, _, c, S, l, d, f = { isRoot: ae, currentPage: V, scope: O, isWatch: ye, isPure: se }; | ||
let p, w, c, S, l, d, f = { isRoot: ae, currentPage: x, scope: b, isWatch: ge, isPure: se }; | ||
ae = 0; | ||
e: | ||
for (; S = Bt(); ) { | ||
for (; S = Nt(); ) { | ||
let { idx: a, stack: u, type: v } = S; | ||
c = u.node, V = l = u.page, O = oe(u), l ? d = l.reg : O && (d = O.reg); | ||
let L = !!l, A = !!O, w = { fail: 0, scope: c.scope }; | ||
p = _ = 0; | ||
c = u.node, x = l = u.page, b = oe(u), l ? d = l.reg : b && (d = b.reg); | ||
let R = !!l, L = !!b, y = { fail: 0, scope: c.scope }; | ||
p = w = 0; | ||
for (let h = a; h < c.seq.length && !p; h++) { | ||
let y = c.seq[h]; | ||
if (y.order) { | ||
let { priority: m, barrierID: g } = y.order, E = g ? l ? `${l.fullID}_${g}` : g : 0; | ||
let g = c.seq[h]; | ||
if (g.order) { | ||
let { priority: m, barrierID: _ } = g.order, E = _ ? l ? `${l.fullID}_${_}` : _ : 0; | ||
if (h !== a || v !== m) { | ||
g ? ge.has(E) || (ge.add(E), Ae(h, u, m, g)) : Ae(h, u, m); | ||
_ ? _e.has(E) || (_e.add(E), Le(h, u, m, _)) : Le(h, u, m); | ||
continue e; | ||
} | ||
g && ge.delete(E); | ||
_ && _e.delete(E); | ||
} | ||
switch (y.type) { | ||
switch (g.type) { | ||
case "mov": { | ||
let g, E = y.data; | ||
let _, E = g.data; | ||
switch (E.from) { | ||
case X: | ||
g = J(u); | ||
_ = J(u); | ||
break; | ||
case "a": | ||
case "b": | ||
g = u[E.from]; | ||
_ = u[E.from]; | ||
break; | ||
case "value": | ||
g = E.store; | ||
_ = E.store; | ||
break; | ||
case "store": | ||
if (d && !d[E.store.id]) | ||
if (L) { | ||
let b = ut(l, E.store.id); | ||
u.page = l = b, b ? d = b.reg : A ? (H(O, E.store, 0, 1, E.softRead), d = O.reg) : d = void 0; | ||
if (R) { | ||
let O = lt(l, E.store.id); | ||
u.page = l = O, O ? d = O.reg : L ? (G(b, E.store, 0, 1, E.softRead), d = b.reg) : d = void 0; | ||
} else | ||
A && H(O, E.store, 0, 1, E.softRead); | ||
g = st(d && d[E.store.id] || E.store); | ||
L && G(b, E.store, 0, 1, E.softRead); | ||
_ = ut(d && d[E.store.id] || E.store); | ||
} | ||
switch (E.to) { | ||
case X: | ||
u.value = g; | ||
u.value = _; | ||
break; | ||
case "a": | ||
case "b": | ||
u[E.to] = g; | ||
u[E.to] = _; | ||
break; | ||
case "store": | ||
Nt(l, O, c, E.target).current = g; | ||
$t(l, b, c, E.target).current = _; | ||
} | ||
@@ -133,20 +135,20 @@ break; | ||
case "compute": | ||
let m = y.data; | ||
let m = g.data; | ||
if (m.fn) { | ||
ye = R(c, "op") === "watch", se = m.pure; | ||
let g = m.safe ? (0, m.fn)(J(u), w.scope, u) : zt(w, m.fn, u); | ||
m.filter ? _ = !g : u.value = g, ye = f.isWatch, se = f.isPure; | ||
ge = k(c, "op") === "watch", se = m.pure; | ||
let _ = m.safe ? (0, m.fn)(J(u), y.scope, u) : zt(y, m.fn, u); | ||
m.filter ? w = !_ : u.value = _, ge = f.isWatch, se = f.isPure; | ||
} | ||
} | ||
p = w.fail || _; | ||
p = y.fail || w; | ||
} | ||
if (!p) { | ||
let h = J(u), y = oe(u); | ||
if (k(c.next, (m) => { | ||
P("child", l, m, u, h, y); | ||
}), y) { | ||
R(c, "needFxCounter") && P("child", l, y.fxCount, u, h, y), R(c, "storeChange") && P("child", l, y.storeChange, u, h, y), R(c, "warnSerialize") && P("child", l, y.warnSerializeNode, u, h, y); | ||
let m = y.additionalLinks[c.id]; | ||
m && k(m, (g) => { | ||
P("child", l, g, u, h, y); | ||
let h = J(u), g = oe(u); | ||
if (A(c.next, (m) => { | ||
T("child", l, m, u, h, g); | ||
}), g) { | ||
k(c, "needFxCounter") && T("child", l, g.fxCount, u, h, g), k(c, "storeChange") && T("child", l, g.storeChange, u, h, g), k(c, "warnSerialize") && T("child", l, g.warnSerializeNode, u, h, g); | ||
let m = g.additionalLinks[c.id]; | ||
m && A(m, (_) => { | ||
T("child", l, _, u, h, g); | ||
}); | ||
@@ -156,3 +158,3 @@ } | ||
} | ||
ae = f.isRoot, V = f.currentPage, O = oe(f); | ||
ae = f.isRoot, x = f.currentPage, b = oe(f); | ||
} | ||
@@ -162,3 +164,3 @@ function yt(e, t) { | ||
if (t) { | ||
let s = Et(t); | ||
let s = bt(t); | ||
e.length === 0 ? (r = s.path, n = s.fullName) : (r = s.path.concat([e]), n = s.fullName.length === 0 ? e : s.fullName + "/" + e); | ||
@@ -170,3 +172,3 @@ } else | ||
function Y(e, ...t) { | ||
let r = ot(); | ||
let r = it(); | ||
if (r) { | ||
@@ -178,13 +180,13 @@ let n = r.handlers[e]; | ||
} | ||
function x(e, t) { | ||
let r = te({ or: t, and: typeof e == "string" ? { name: e } : e }), n = (o, ...p) => (Z(!R(n, "derived"), "call of derived event", "createEvent"), Z(!se, "unit call from pure function", "operators like sample"), V ? ((_, c, S, l) => { | ||
let d = V, f = null; | ||
function C(e, t) { | ||
let r = te({ or: t, and: typeof e == "string" ? { name: e } : e }), n = (o, ...p) => (Z(!k(n, "derived"), "call of derived event", "createEvent"), Z(!se, "unit call from pure function", "operators like sample"), x ? ((w, c, S, l) => { | ||
let d = x, f = null; | ||
if (c) | ||
for (f = V; f && f.template !== c; ) | ||
f = G(f); | ||
for (f = x; f && f.template !== c; ) | ||
f = j(f); | ||
Ke(f); | ||
let a = _.create(S, l); | ||
let a = w.create(S, l); | ||
return Ke(d), a; | ||
})(n, i, o, p) : n.create(o, p)), i = ot(), s = Object.assign(n, { graphite: I({ meta: ft("event", n, r), regional: 1 }), create: (o) => (et({ target: n, params: o, scope: O }), o), watch: (o) => ct(n, o), map: (o) => we(n, Q, o, [$()]), filter: (o) => we(n, "filter", o.fn ? o : o.fn, [$(Me, 1)]), filterMap: (o) => we(n, "filterMap", o, [$(), Re((p) => !N(p), 1)]), prepend(o) { | ||
let p = x("* → " + n.shortName, { parent: G(n) }); | ||
})(n, i, o, p) : n.create(o, p)), i = it(), s = Object.assign(n, { graphite: P({ meta: dt("event", n, r), regional: 1 }), create: (o) => (tt({ target: n, params: o, scope: b }), o), watch: (o) => ft(n, o), map: (o) => ye(n, Q, o, [$()]), filter: (o) => ye(n, "filter", o.fn ? o : o.fn, [$(Me, 1)]), filterMap: (o) => ye(n, "filterMap", o, [$(), ke((p) => !N(p), 1)]), prepend(o) { | ||
let p = C("* → " + n.shortName, { parent: j(n) }); | ||
return Y("eventPrepend", D(p)), Ne(p, n, [$()], "prepend", o), Wt(n, p), p; | ||
@@ -195,44 +197,44 @@ } }); | ||
function $e(e, t, r, n) { | ||
return Vt(r, t, "first argument"), j(B(n), "second argument should be a function"), Z(!R(e, "derived"), `${t} in derived store`, `${t} in store created via createStore`), k(Array.isArray(r) ? r : [r], (i) => { | ||
e.off(i), le(e).set(i, lt(dt(i, e, "on", Tt, n))); | ||
return Vt(r, t, "first argument"), W(I(n), "second argument should be a function"), Z(!k(e, "derived"), `${t} in derived store`, `${t} in store created via createStore`), A(Array.isArray(r) ? r : [r], (i) => { | ||
e.off(i), le(e).set(i, ct(pt(i, e, "on", Bt, n))); | ||
}), e; | ||
} | ||
function tt(e, t) { | ||
let r = te(t), n = Pt(e), i = x({ named: "updates", derived: 1 }); | ||
function rt(e, t) { | ||
let r = te(t), n = Pt(e), i = C({ named: "updates", derived: 1 }); | ||
Y("storeBase", n); | ||
let s = n.id, o = { subscribers: /* @__PURE__ */ new Map(), updates: i, defaultState: e, stateRef: n, getState() { | ||
let a, u = n; | ||
if (V) { | ||
let v = V; | ||
if (x) { | ||
let v = x; | ||
for (; v && !v.reg[s]; ) | ||
v = G(v); | ||
v = j(v); | ||
v && (a = v); | ||
} | ||
return !a && O && (H(O, n, 1), a = O), a && (u = a.reg[s]), st(u); | ||
}, setState: (a) => et({ target: o, params: a, defer: 1, scope: O }), reset: (...a) => (k(a, (u) => $e(o, ".reset", u, () => o.defaultState)), o), on: (a, u) => $e(o, ".on", a, u), off(a) { | ||
return !a && b && (G(b, n, 1), a = b), a && (u = a.reg[s]), ut(u); | ||
}, setState: (a) => tt({ target: o, params: a, defer: 1, scope: b }), reset: (...a) => (A(a, (u) => $e(o, ".reset", u, () => o.defaultState)), o), on: (a, u) => $e(o, ".on", a, u), off(a) { | ||
let u = le(o).get(a); | ||
return u && (u(), le(o).delete(a)), o; | ||
}, map(a, u) { | ||
let v, L; | ||
let v, R; | ||
K(a) && (v = a, a = a.fn), Z(N(u), "second argument of store.map", "updateFilter"); | ||
let A = o.getState(); | ||
N(A) || (L = a(A, u)); | ||
let w = tt(L, { name: `${o.shortName} → *`, derived: 1, and: v }), h = dt(o, w, Q, Ge, a); | ||
return It(ue(w), { type: Q, fn: a, from: n }), ue(w).noInit = 1, Y("storeMap", n, h), w; | ||
let L = o.getState(); | ||
N(L) || (R = a(L, u)); | ||
let y = rt(R, { name: `${o.shortName} → *`, derived: 1, and: v }), h = pt(o, y, Q, je, a); | ||
return It(ue(y), { type: Q, fn: a, from: n }), ue(y).noInit = 1, Y("storeMap", n, h), y; | ||
}, watch(a, u) { | ||
if (!u || !Te(a)) { | ||
let v = ct(o, a); | ||
if (!u || !Ve(a)) { | ||
let v = ft(o, a); | ||
return Y("storeWatch", n, a) || a(o.getState()), v; | ||
} | ||
return j(B(u), "second argument should be a function"), a.watch((v) => u(o.getState(), v)); | ||
} }, p = ft("store", o, r), _ = o.defaultConfig.updateFilter; | ||
o.graphite = I({ scope: { state: n, fn: _ }, node: [Re((a, u, v) => (v.scope && !v.scope.reg[n.id] && (v.b = 1), a)), Dt(n), Re((a, u, { a: v, b: L }) => !N(a) && (a !== v || L), 1), _ && $(Ge, 1), de({ from: X, target: n })], child: i, meta: p, regional: 1 }); | ||
let c = R(o, "serialize"), S = R(o, "derived"), l = c === "ignore", d = !c || l ? 0 : c, f = R(o, "sid"); | ||
return f && (l || ze(o, "storeChange", 1), n.sid = f, d && (n.meta = { ...n == null ? void 0 : n.meta, serialize: d })), f || l || S || ze(o, "warnSerialize", 1), j(S || !N(e), "current state can't be undefined, use null instead"), it(o, [i]), r != null && r.domain && r.domain.hooks.store(o), S || (o.reinit = x(), o.reset(o.reinit)), o; | ||
return W(I(u), "second argument should be a function"), a.watch((v) => u(o.getState(), v)); | ||
} }, p = dt("store", o, r), w = o.defaultConfig.updateFilter; | ||
o.graphite = P({ scope: { state: n, fn: w }, node: [ke((a, u, v) => (v.scope && !v.scope.reg[n.id] && (v.b = 1), a)), Mt(n), ke((a, u, { a: v, b: R }) => !N(a) && (a !== v || R), 1), w && $(je, 1), de({ from: X, target: n })], child: i, meta: p, regional: 1 }); | ||
let c = k(o, "serialize"), S = k(o, "derived"), l = c === "ignore", d = !c || l ? 0 : c, f = k(o, "sid"); | ||
return f && (l || He(o, "storeChange", 1), n.sid = f, d && (n.meta = { ...n == null ? void 0 : n.meta, serialize: d })), f || l || S || He(o, "warnSerialize", 1), W(S || !N(e), "current state can't be undefined, use null instead"), at(o, [i]), r != null && r.domain && r.domain.hooks.store(o), S || (o.reinit = C(), o.reset(o.reinit)), o; | ||
} | ||
let wt = typeof Symbol < "u" && Symbol.observable || "@@observable", Q = "map", X = "stack", D = (e) => e.graphite || e, ce = (e) => e.family.owners, fe = (e) => e.family.links, ue = (e) => e.stateRef, J = (e) => e.value, le = (e) => e.subscribers, G = (e) => e.parent, oe = (e) => e.scope, R = (e, t) => D(e).meta[t], ze = (e, t, r) => D(e).meta[t] = r, Et = (e) => e.compositeName, Te = (e) => (B(e) || K(e)) && "kind" in e; | ||
const ne = (e) => (t) => Te(t) && t.kind === e; | ||
let Ce = ne("store"), Ot = ne("event"), We = ne("effect"), rt = ne("domain"), bt = ne("scope"); | ||
var Lt = { __proto__: null, unit: Te, store: Ce, event: Ot, effect: We, domain: rt, scope: bt, attached: (e) => We(e) && R(e, "attached") == 1 }; | ||
let _e = (e, t) => { | ||
let Et = typeof Symbol < "u" && Symbol.observable || "@@observable", Q = "map", X = "stack", D = (e) => e.graphite || e, ce = (e) => e.family.owners, fe = (e) => e.family.links, ue = (e) => e.stateRef, J = (e) => e.value, le = (e) => e.subscribers, j = (e) => e.parent, oe = (e) => e.scope, k = (e, t) => D(e).meta[t], He = (e, t, r) => D(e).meta[t] = r, bt = (e) => e.compositeName, Ve = (e) => (I(e) || K(e)) && "kind" in e; | ||
const ne = (e) => (t) => Ve(t) && t.kind === e; | ||
let Be = ne("store"), Ot = ne("event"), ze = ne("effect"), nt = ne("domain"), Rt = ne("scope"); | ||
var kt = { __proto__: null, unit: Ve, store: Be, event: Ot, effect: ze, domain: nt, scope: Rt, attached: (e) => ze(e) && k(e, "attached") == 1 }; | ||
let we = (e, t) => { | ||
let r = e.indexOf(t); | ||
@@ -245,21 +247,21 @@ r !== -1 && e.splice(r, 1); | ||
}; | ||
let Rt = De(), nt = De(), At = De(), W = null, ot = () => W, kt = (e) => (e && W && W.sidRoot && (e = `${W.sidRoot}|${e}`), e), it = (e, t) => { | ||
let Lt = De(), ot = De(), At = De(), z = null, it = () => z, Ct = (e) => (e && z && z.sidRoot && (e = `${z.sidRoot}|${e}`), e), at = (e, t) => { | ||
let r = D(e); | ||
k(t, (n) => { | ||
A(t, (n) => { | ||
let i = D(n); | ||
r.family.type !== "domain" && (i.family.type = "crosslink"), M(ce(i), r), M(fe(r), i); | ||
}); | ||
}, ie = (e = []) => (Array.isArray(e) ? e : [e]).flat().map(D), K = (e) => typeof e == "object" && e !== null, B = (e) => typeof e == "function", N = (e) => e === void 0, xt = (e) => j(K(e) || B(e), "expect first argument be an object"); | ||
const je = (e, t, r, n) => j(!(!K(e) && !B(e) || !("family" in e) && !("graphite" in e)), `${t}: expect ${r} to be a unit (store, event or effect)${n}`); | ||
}, ie = (e = []) => (Array.isArray(e) ? e : [e]).flat().map(D), K = (e) => typeof e == "object" && e !== null, I = (e) => typeof e == "function", N = (e) => e === void 0, xt = (e) => W(K(e) || I(e), "expect first argument be an object"); | ||
const We = (e, t, r, n) => W(!(!K(e) && !I(e) || !("family" in e) && !("graphite" in e)), `${t}: expect ${r} to be a unit (store, event or effect)${n}`); | ||
let Vt = (e, t, r) => { | ||
Array.isArray(e) ? k(e, (n, i) => je(n, t, `${i} item of ${r}`, "")) : je(e, t, r, " or array of units"); | ||
}, Ge = (e, { fn: t }, { a: r }) => t(e, r), Tt = (e, { fn: t }, { a: r }) => t(r, e), Me = (e, { fn: t }) => t(e); | ||
const at = (e, t, r, n) => { | ||
let i = { id: nt(), type: e, data: t }; | ||
return r && (i.order = { priority: r }, n && (i.order.barrierID = ++Ct)), i; | ||
Array.isArray(e) ? A(e, (n, i) => We(n, t, `${i} item of ${r}`, "")) : We(e, t, r, " or array of units"); | ||
}, je = (e, { fn: t }, { a: r }) => t(e, r), Bt = (e, { fn: t }, { a: r }) => t(r, e), Me = (e, { fn: t }) => t(e); | ||
const st = (e, t, r, n) => { | ||
let i = { id: ot(), type: e, data: t }; | ||
return r && (i.order = { priority: r }, n && (i.order.barrierID = ++Dt)), i; | ||
}; | ||
let Ct = 0, de = ({ from: e = "store", store: t, target: r, to: n = r ? "store" : X, batch: i, priority: s }) => at("mov", { from: e, store: t, to: n, target: r }, s, i), ee = ({ fn: e, batch: t, priority: r, safe: n = 0, filter: i = 0, pure: s = 0 }) => at("compute", { fn: e, safe: n, filter: i, pure: s }, r, t), Pe = ({ fn: e }) => ee({ fn: e, priority: "effect" }), Re = (e, t, r) => ee({ fn: e, safe: 1, filter: t, priority: r && "effect" }), Dt = (e, t, r) => de({ store: e, to: t ? X : "a", priority: r && "sampler", batch: 1 }), $ = (e = Me, t) => ee({ fn: e, pure: 1, filter: t }), Mt = { mov: de, compute: ee, filter: ({ fn: e, pure: t }) => ee({ fn: e, filter: 1, pure: t }), run: Pe }, Pt = (e) => ({ id: nt(), current: e }), st = ({ current: e }) => e, It = (e, t) => { | ||
let Dt = 0, de = ({ from: e = "store", store: t, target: r, to: n = r ? "store" : X, batch: i, priority: s }) => st("mov", { from: e, store: t, to: n, target: r }, s, i), ee = ({ fn: e, batch: t, priority: r, safe: n = 0, filter: i = 0, pure: s = 0 }) => st("compute", { fn: e, safe: n, filter: i, pure: s }, r, t), Te = ({ fn: e }) => ee({ fn: e, priority: "effect" }), ke = (e, t, r) => ee({ fn: e, safe: 1, filter: t, priority: r && "effect" }), Mt = (e, t, r) => de({ store: e, to: t ? X : "a", priority: r && "sampler", batch: 1 }), $ = (e = Me, t) => ee({ fn: e, pure: 1, filter: t }), Tt = { mov: de, compute: ee, filter: ({ fn: e, pure: t }) => ee({ fn: e, filter: 1, pure: t }), run: Te }, Pt = (e) => ({ id: ot(), current: e }), ut = ({ current: e }) => e, It = (e, t) => { | ||
e.before || (e.before = []), M(e.before, t); | ||
}, z = null; | ||
const Ie = (e, t) => { | ||
}, H = null; | ||
const Pe = (e, t) => { | ||
if (!e) | ||
@@ -270,15 +272,15 @@ return t; | ||
let r; | ||
return (e.v.type === t.v.type && e.v.id > t.v.id || ke(e.v.type) > ke(t.v.type)) && (r = e, e = t, t = r), r = Ie(e.r, t), e.r = e.l, e.l = r, e; | ||
}, Be = []; | ||
let He = 0; | ||
for (; He < 6; ) | ||
M(Be, { first: null, last: null, size: 0 }), He += 1; | ||
const Bt = () => { | ||
return (e.v.type === t.v.type && e.v.id > t.v.id || Ae(e.v.type) > Ae(t.v.type)) && (r = e, e = t, t = r), r = Pe(e.r, t), e.r = e.l, e.l = r, e; | ||
}, Ie = []; | ||
let Ge = 0; | ||
for (; Ge < 6; ) | ||
M(Ie, { first: null, last: null, size: 0 }), Ge += 1; | ||
const Nt = () => { | ||
for (let e = 0; e < 6; e++) { | ||
let t = Be[e]; | ||
let t = Ie[e]; | ||
if (t.size > 0) { | ||
if (e === 3 || e === 4) { | ||
t.size -= 1; | ||
let n = z.v; | ||
return z = Ie(z.l, z.r), n; | ||
let n = H.v; | ||
return H = Pe(H.l, H.r), n; | ||
} | ||
@@ -290,6 +292,6 @@ t.size === 1 && (t.last = null); | ||
} | ||
}, P = (e, t, r, n, i, s, o) => Ae(0, { a: null, b: null, node: r, parent: n, value: i, page: t, scope: s, meta: o }, e), Ae = (e, t, r, n = 0) => { | ||
let i = ke(r), s = Be[i], o = { v: { idx: e, stack: t, type: r, id: n }, l: null, r: null }; | ||
i === 3 || i === 4 ? z = Ie(z, o) : (s.size === 0 ? s.first = o : s.last.r = o, s.last = o), s.size += 1; | ||
}, ke = (e) => { | ||
}, T = (e, t, r, n, i, s, o) => Le(0, { a: null, b: null, node: r, parent: n, value: i, page: t, scope: s, meta: o }, e), Le = (e, t, r, n = 0) => { | ||
let i = Ae(r), s = Ie[i], o = { v: { idx: e, stack: t, type: r, id: n }, l: null, r: null }; | ||
i === 3 || i === 4 ? H = Pe(H, o) : (s.size === 0 ? s.first = o : s.last.r = o, s.last = o), s.size += 1; | ||
}, Ae = (e) => { | ||
switch (e) { | ||
@@ -311,10 +313,10 @@ case "child": | ||
} | ||
}, ge = /* @__PURE__ */ new Set(); | ||
let O, ae = 1, ye = 0, se = 0, V = null, Ke = (e) => { | ||
V = e; | ||
}, _e = /* @__PURE__ */ new Set(); | ||
let b, ae = 1, ge = 0, se = 0, x = null, Ke = (e) => { | ||
x = e; | ||
}; | ||
const ut = (e, t) => { | ||
const lt = (e, t) => { | ||
if (e) { | ||
for (; e && !e.reg[t]; ) | ||
e = G(e); | ||
e = j(e); | ||
if (e) | ||
@@ -325,10 +327,10 @@ return e; | ||
}; | ||
let Nt = (e, t, r, n, i) => { | ||
let s = ut(e, n.id); | ||
return s ? s.reg[n.id] : t ? (H(t, n, i), t.reg[n.id]) : n; | ||
let $t = (e, t, r, n, i) => { | ||
let s = lt(e, n.id); | ||
return s ? s.reg[n.id] : t ? (G(t, n, i), t.reg[n.id]) : n; | ||
}; | ||
const $t = (e) => e; | ||
let H = (e, t, r, n, i) => { | ||
const Ht = (e) => e; | ||
let G = (e, t, r, n, i) => { | ||
var s; | ||
let o = e.reg, p = t.sid, _ = t == null || (s = t.meta) === null || s === void 0 ? void 0 : s.serialize; | ||
let o = e.reg, p = t.sid, w = t == null || (s = t.meta) === null || s === void 0 ? void 0 : s.serialize; | ||
if (o[t.id]) | ||
@@ -338,6 +340,6 @@ return; | ||
if (p && p in e.sidValuesMap && !(p in e.sidIdMap)) | ||
c.current = (e.fromSerialize && _ !== "ignore" && (_ == null ? void 0 : _.read) || $t)(e.sidValuesMap[p]); | ||
c.current = (e.fromSerialize && w !== "ignore" && (w == null ? void 0 : w.read) || Ht)(e.sidValuesMap[p]); | ||
else if (t.before && !i) { | ||
let S = 0, l = r || !t.noInit || n; | ||
k(t.before, (d) => { | ||
A(t.before, (d) => { | ||
switch (d.type) { | ||
@@ -347,3 +349,3 @@ case Q: { | ||
if (f || d.fn) { | ||
f && H(e, f, r, n); | ||
f && G(e, f, r, n); | ||
let a = f && o[f.id].current; | ||
@@ -355,3 +357,3 @@ l && (c.current = d.fn ? d.fn(a) : a); | ||
case "field": | ||
S || (S = 1, c.current = Array.isArray(c.current) ? [...c.current] : { ...c.current }), H(e, d.from, r, n), l && (c.current[d.field] = o[o[d.from.id].id].current); | ||
S || (S = 1, c.current = Array.isArray(c.current) ? [...c.current] : { ...c.current }), G(e, d.from, r, n), l && (c.current[d.field] = o[o[d.from.id].id].current); | ||
} | ||
@@ -373,4 +375,4 @@ }); | ||
const Ue = (e, t) => { | ||
_e(e.next, t), _e(ce(e), t), _e(fe(e), t); | ||
}, xe = (e, t, r) => { | ||
we(e.next, t), we(ce(e), t), we(fe(e), t); | ||
}, Ce = (e, t, r) => { | ||
let n; | ||
@@ -380,11 +382,11 @@ e.next.length = 0, e.seq.length = 0, e.scope = null; | ||
for (; n = i.pop(); ) | ||
Ue(n, e), (t || r && R(e, "op") !== "sample" || n.family.type === "crosslink") && xe(n, t, R(n, "op") !== "on" && r); | ||
Ue(n, e), (t || r && k(e, "op") !== "sample" || n.family.type === "crosslink") && Ce(n, t, k(n, "op") !== "on" && r); | ||
for (i = ce(e); n = i.pop(); ) | ||
Ue(n, e), r && n.family.type === "crosslink" && xe(n, t, R(n, "op") !== "on" && r); | ||
Ue(n, e), r && n.family.type === "crosslink" && Ce(n, t, k(n, "op") !== "on" && r); | ||
}, F = (e) => e.clear(); | ||
let Ve = (e, { deep: t } = {}) => { | ||
let xe = (e, { deep: t } = {}) => { | ||
let r = 0; | ||
if (e.ownerSet && e.ownerSet.delete(e), Ce(e)) | ||
if (e.ownerSet && e.ownerSet.delete(e), Be(e)) | ||
F(le(e)); | ||
else if (rt(e)) { | ||
else if (nt(e)) { | ||
r = 1; | ||
@@ -394,25 +396,25 @@ let n = e.history; | ||
} | ||
xe(D(e), !!t, r); | ||
}, lt = (e) => { | ||
let t = () => Ve(e); | ||
Ce(D(e), !!t, r); | ||
}, ct = (e) => { | ||
let t = () => xe(e); | ||
return t.unsubscribe = t, t; | ||
}, Ne = (e, t, r, n, i) => I({ node: r, parent: e, child: t, scope: { fn: i }, meta: { op: n }, family: { owners: [e, t], links: t }, regional: 1 }), ct = (e, t) => (j(B(t), ".watch argument should be a function"), lt(I({ scope: { fn: t }, node: [Pe({ fn: Me })], parent: e, meta: { op: "watch" }, family: { owners: e }, regional: 1 }))), Wt = (e, t, r = "event") => { | ||
G(e) && G(e).hooks[r](t); | ||
}, ft = (e, t, r) => { | ||
let n = te(r), i = e === "domain", s = Rt(), { sid: o = null, named: p = null, domain: _ = null, parent: c = _ } = n, S = p || n.name || (i ? "" : s), l = yt(S, c), d = { op: t.kind = e, name: t.shortName = S, sid: t.sid = kt(o), named: p, unitId: t.id = s, serialize: n.serialize, derived: n.derived, config: n }; | ||
return t.parent = c, t.compositeName = l, t.defaultConfig = n, t.thru = (f) => (Z(0, "thru", "js pipe"), f(t)), t.getType = () => l.fullName, !i && (t.subscribe = (f) => (xt(f), t.watch(B(f) ? f : (a) => f.next && f.next(a))), t[wt] = () => t), d; | ||
}, Ne = (e, t, r, n, i) => P({ node: r, parent: e, child: t, scope: { fn: i }, meta: { op: n }, family: { owners: [e, t], links: t }, regional: 1 }), ft = (e, t) => (W(I(t), ".watch argument should be a function"), ct(P({ scope: { fn: t }, node: [Te({ fn: Me })], parent: e, meta: { op: "watch" }, family: { owners: e }, regional: 1 }))), Wt = (e, t, r = "event") => { | ||
j(e) && j(e).hooks[r](t); | ||
}, dt = (e, t, r) => { | ||
let n = te(r), i = e === "domain", s = Lt(), { sid: o = null, named: p = null, domain: w = null, parent: c = w } = n, S = p || n.name || (i ? "" : s), l = yt(S, c), d = { op: t.kind = e, name: t.shortName = S, sid: t.sid = Ct(o), named: p, unitId: t.id = s, serialize: n.serialize, derived: n.derived, config: n }; | ||
return t.parent = c, t.compositeName = l, t.defaultConfig = n, t.thru = (f) => (Z(0, "thru", "js pipe"), f(t)), t.getType = () => l.fullName, !i && (t.subscribe = (f) => (xt(f), t.watch(I(f) ? f : (a) => f.next && f.next(a))), t[Et] = () => t), d; | ||
}; | ||
const we = (e, t, r, n) => { | ||
const ye = (e, t, r, n) => { | ||
let i; | ||
K(r) && (i = r, r = r.fn); | ||
let s = x({ name: `${e.shortName} → *`, derived: 1, and: i }); | ||
let s = C({ name: `${e.shortName} → *`, derived: 1, and: i }); | ||
return Ne(e, s, n, t, r), s; | ||
}, dt = (e, t, r, n, i) => { | ||
}, pt = (e, t, r, n, i) => { | ||
let s = ue(t), o = de({ store: s, to: "a", priority: "read" }); | ||
r === Q && (o.data.softRead = 1); | ||
let p = [o, $(n)]; | ||
return Y("storeOnMap", s, p, Ce(e) && ue(e)), Ne(e, t, p, r, i); | ||
return Y("storeOnMap", s, p, Be(e) && ue(e)), Ne(e, t, p, r, i); | ||
}; | ||
I({ node: [Pe({ fn: ({ fn: e, value: t }) => e(t) })], meta: { op: "fx", fx: "sidechain" } }); | ||
const jt = x(), Gt = x(), pt = x(), vt = x(), ht = x(), mt = x(), Ht = x(), Kt = tt({ | ||
P({ node: [Te({ fn: ({ fn: e, value: t }) => e(t) })], meta: { op: "fx", fx: "sidechain" } }); | ||
const jt = C(), Gt = C(), vt = C(), ht = C(), mt = C(), St = C(), Kt = C(), Ut = rt({ | ||
activeView: null, | ||
@@ -430,23 +432,23 @@ activePanel: null, | ||
activePanel: t | ||
})).on(vt, (e, t) => ({ | ||
})).on(ht, (e, t) => ({ | ||
...e, | ||
activeModal: t | ||
})).on(ht, (e, t) => ({ | ||
})).on(mt, (e, t) => ({ | ||
...e, | ||
activePopout: t | ||
})).on(mt, (e) => ({ | ||
})).on(St, (e) => ({ | ||
...e, | ||
isRouteInit: !0 | ||
})).on(pt, (e, { view: t, panel: r }) => ({ | ||
})).on(vt, (e, { view: t, panel: r }) => ({ | ||
...e, | ||
activeView: t, | ||
activePanel: r | ||
})).on(Ht, (e, t) => ({ | ||
})).on(Kt, (e, t) => ({ | ||
...e, | ||
isBackHandled: t | ||
})); | ||
function Ut(e) { | ||
function qt(e) { | ||
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; | ||
} | ||
var qe = {}, qt = { | ||
var qe = {}, Ft = { | ||
get exports() { | ||
@@ -458,3 +460,3 @@ return qe; | ||
} | ||
}, Ee = {}, re = {}, Ft = { | ||
}, Ee = {}, re = {}, Yt = { | ||
get exports() { | ||
@@ -466,3 +468,3 @@ return re; | ||
} | ||
}, Oe = {}; | ||
}, be = {}; | ||
/** | ||
@@ -478,7 +480,7 @@ * @license React | ||
var Fe; | ||
function Yt() { | ||
function Jt() { | ||
if (Fe) | ||
return Oe; | ||
return be; | ||
Fe = 1; | ||
var e = T; | ||
var e = B; | ||
function t(l, d) { | ||
@@ -491,10 +493,10 @@ return l === d && (l !== 0 || 1 / l === 1 / d) || l !== l && d !== d; | ||
return s(function() { | ||
u.value = f, u.getSnapshot = d, _(u) && v({ inst: u }); | ||
u.value = f, u.getSnapshot = d, w(u) && v({ inst: u }); | ||
}, [l, f, d]), i(function() { | ||
return _(u) && v({ inst: u }), l(function() { | ||
_(u) && v({ inst: u }); | ||
return w(u) && v({ inst: u }), l(function() { | ||
w(u) && v({ inst: u }); | ||
}); | ||
}, [l]), o(f), f; | ||
} | ||
function _(l) { | ||
function w(l) { | ||
var d = l.getSnapshot; | ||
@@ -513,5 +515,5 @@ l = l.value; | ||
var S = typeof window > "u" || typeof window.document > "u" || typeof window.document.createElement > "u" ? c : p; | ||
return Oe.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : S, Oe; | ||
return be.useSyncExternalStore = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : S, be; | ||
} | ||
var be = {}; | ||
var Oe = {}; | ||
/** | ||
@@ -527,33 +529,33 @@ * @license React | ||
var Ye; | ||
function Jt() { | ||
function Qt() { | ||
return Ye || (Ye = 1, process.env.NODE_ENV !== "production" && function() { | ||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); | ||
var e = T, t = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; | ||
function r(w) { | ||
var e = B, t = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; | ||
function r(y) { | ||
{ | ||
for (var h = arguments.length, y = new Array(h > 1 ? h - 1 : 0), m = 1; m < h; m++) | ||
y[m - 1] = arguments[m]; | ||
n("error", w, y); | ||
for (var h = arguments.length, g = new Array(h > 1 ? h - 1 : 0), m = 1; m < h; m++) | ||
g[m - 1] = arguments[m]; | ||
n("error", y, g); | ||
} | ||
} | ||
function n(w, h, y) { | ||
function n(y, h, g) { | ||
{ | ||
var m = t.ReactDebugCurrentFrame, g = m.getStackAddendum(); | ||
g !== "" && (h += "%s", y = y.concat([g])); | ||
var E = y.map(function(b) { | ||
return String(b); | ||
var m = t.ReactDebugCurrentFrame, _ = m.getStackAddendum(); | ||
_ !== "" && (h += "%s", g = g.concat([_])); | ||
var E = g.map(function(O) { | ||
return String(O); | ||
}); | ||
E.unshift("Warning: " + h), Function.prototype.apply.call(console[w], console, E); | ||
E.unshift("Warning: " + h), Function.prototype.apply.call(console[y], console, E); | ||
} | ||
} | ||
function i(w, h) { | ||
return w === h && (w !== 0 || 1 / w === 1 / h) || w !== w && h !== h; | ||
function i(y, h) { | ||
return y === h && (y !== 0 || 1 / y === 1 / h) || y !== y && h !== h; | ||
} | ||
var s = typeof Object.is == "function" ? Object.is : i, o = e.useState, p = e.useEffect, _ = e.useLayoutEffect, c = e.useDebugValue, S = !1, l = !1; | ||
function d(w, h, y) { | ||
var s = typeof Object.is == "function" ? Object.is : i, o = e.useState, p = e.useEffect, w = e.useLayoutEffect, c = e.useDebugValue, S = !1, l = !1; | ||
function d(y, h, g) { | ||
S || e.startTransition !== void 0 && (S = !0, r("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release.")); | ||
var m = h(); | ||
if (!l) { | ||
var g = h(); | ||
s(m, g) || (r("The result of getSnapshot should be cached to avoid an infinite loop"), l = !0); | ||
var _ = h(); | ||
s(m, _) || (r("The result of getSnapshot should be cached to avoid an infinite loop"), l = !0); | ||
} | ||
@@ -565,24 +567,24 @@ var E = o({ | ||
} | ||
}), b = E[0].inst, U = E[1]; | ||
return _(function() { | ||
b.value = m, b.getSnapshot = h, f(b) && U({ | ||
inst: b | ||
}), O = E[0].inst, U = E[1]; | ||
return w(function() { | ||
O.value = m, O.getSnapshot = h, f(O) && U({ | ||
inst: O | ||
}); | ||
}, [w, m, h]), p(function() { | ||
f(b) && U({ | ||
inst: b | ||
}, [y, m, h]), p(function() { | ||
f(O) && U({ | ||
inst: O | ||
}); | ||
var pe = function() { | ||
f(b) && U({ | ||
inst: b | ||
f(O) && U({ | ||
inst: O | ||
}); | ||
}; | ||
return w(pe); | ||
}, [w]), c(m), m; | ||
return y(pe); | ||
}, [y]), c(m), m; | ||
} | ||
function f(w) { | ||
var h = w.getSnapshot, y = w.value; | ||
function f(y) { | ||
var h = y.getSnapshot, g = y.value; | ||
try { | ||
var m = h(); | ||
return !s(y, m); | ||
return !s(g, m); | ||
} catch { | ||
@@ -592,13 +594,13 @@ return !0; | ||
} | ||
function a(w, h, y) { | ||
function a(y, h, g) { | ||
return h(); | ||
} | ||
var u = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", v = !u, L = v ? a : d, A = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : L; | ||
be.useSyncExternalStore = A, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); | ||
}()), be; | ||
var u = typeof window < "u" && typeof window.document < "u" && typeof window.document.createElement < "u", v = !u, R = v ? a : d, L = e.useSyncExternalStore !== void 0 ? e.useSyncExternalStore : R; | ||
Oe.useSyncExternalStore = L, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); | ||
}()), Oe; | ||
} | ||
(function(e) { | ||
process.env.NODE_ENV === "production" ? e.exports = Yt() : e.exports = Jt(); | ||
})(Ft); | ||
const Qt = /* @__PURE__ */ Ut(re); | ||
process.env.NODE_ENV === "production" ? e.exports = Jt() : e.exports = Qt(); | ||
})(Yt); | ||
const Xt = /* @__PURE__ */ qt(re); | ||
/** | ||
@@ -614,11 +616,11 @@ * @license React | ||
var Je; | ||
function Xt() { | ||
function Zt() { | ||
if (Je) | ||
return Ee; | ||
Je = 1; | ||
var e = T, t = re; | ||
var e = B, t = re; | ||
function r(c, S) { | ||
return c === S && (c !== 0 || 1 / c === 1 / S) || c !== c && S !== S; | ||
} | ||
var n = typeof Object.is == "function" ? Object.is : r, i = t.useSyncExternalStore, s = e.useRef, o = e.useEffect, p = e.useMemo, _ = e.useDebugValue; | ||
var n = typeof Object.is == "function" ? Object.is : r, i = t.useSyncExternalStore, s = e.useRef, o = e.useEffect, p = e.useMemo, w = e.useDebugValue; | ||
return Ee.useSyncExternalStoreWithSelector = function(c, S, l, d, f) { | ||
@@ -632,21 +634,21 @@ var a = s(null); | ||
a = p(function() { | ||
function L(m) { | ||
if (!A) { | ||
if (A = !0, w = m, m = d(m), f !== void 0 && u.hasValue) { | ||
var g = u.value; | ||
if (f(g, m)) | ||
return h = g; | ||
function R(m) { | ||
if (!L) { | ||
if (L = !0, y = m, m = d(m), f !== void 0 && u.hasValue) { | ||
var _ = u.value; | ||
if (f(_, m)) | ||
return h = _; | ||
} | ||
return h = m; | ||
} | ||
if (g = h, n(w, m)) | ||
return g; | ||
if (_ = h, n(y, m)) | ||
return _; | ||
var E = d(m); | ||
return f !== void 0 && f(g, E) ? g : (w = m, h = E); | ||
return f !== void 0 && f(_, E) ? _ : (y = m, h = E); | ||
} | ||
var A = !1, w, h, y = l === void 0 ? null : l; | ||
var L = !1, y, h, g = l === void 0 ? null : l; | ||
return [function() { | ||
return L(S()); | ||
}, y === null ? void 0 : function() { | ||
return L(y()); | ||
return R(S()); | ||
}, g === null ? void 0 : function() { | ||
return R(g()); | ||
}]; | ||
@@ -657,6 +659,6 @@ }, [S, l, d, f]); | ||
u.hasValue = !0, u.value = v; | ||
}, [v]), _(v), v; | ||
}, [v]), w(v), v; | ||
}, Ee; | ||
} | ||
var Le = {}; | ||
var Re = {}; | ||
/** | ||
@@ -672,10 +674,10 @@ * @license React | ||
var Qe; | ||
function Zt() { | ||
function er() { | ||
return Qe || (Qe = 1, process.env.NODE_ENV !== "production" && function() { | ||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error()); | ||
var e = T, t = re; | ||
var e = B, t = re; | ||
function r(S, l) { | ||
return S === l && (S !== 0 || 1 / S === 1 / l) || S !== S && l !== l; | ||
} | ||
var n = typeof Object.is == "function" ? Object.is : r, i = t.useSyncExternalStore, s = e.useRef, o = e.useEffect, p = e.useMemo, _ = e.useDebugValue; | ||
var n = typeof Object.is == "function" ? Object.is : r, i = t.useSyncExternalStore, s = e.useRef, o = e.useEffect, p = e.useMemo, w = e.useDebugValue; | ||
function c(S, l, d, f, a) { | ||
@@ -687,6 +689,6 @@ var u = s(null), v; | ||
}, u.current = v) : v = u.current; | ||
var L = p(function() { | ||
var y = !1, m, g, E = function(q) { | ||
if (!y) { | ||
y = !0, m = q; | ||
var R = p(function() { | ||
var g = !1, m, _, E = function(q) { | ||
if (!g) { | ||
g = !0, m = q; | ||
var ve = f(q); | ||
@@ -696,61 +698,61 @@ if (a !== void 0 && v.hasValue) { | ||
if (a(he, ve)) | ||
return g = he, he; | ||
return _ = he, he; | ||
} | ||
return g = ve, ve; | ||
return _ = ve, ve; | ||
} | ||
var _t = m, me = g; | ||
var _t = m, me = _; | ||
if (n(_t, q)) | ||
return me; | ||
var Se = f(q); | ||
return a !== void 0 && a(me, Se) ? me : (m = q, g = Se, Se); | ||
}, b = d === void 0 ? null : d, U = function() { | ||
return a !== void 0 && a(me, Se) ? me : (m = q, _ = Se, Se); | ||
}, O = d === void 0 ? null : d, U = function() { | ||
return E(l()); | ||
}, pe = b === null ? void 0 : function() { | ||
return E(b()); | ||
}, pe = O === null ? void 0 : function() { | ||
return E(O()); | ||
}; | ||
return [U, pe]; | ||
}, [l, d, f, a]), A = L[0], w = L[1], h = i(S, A, w); | ||
}, [l, d, f, a]), L = R[0], y = R[1], h = i(S, L, y); | ||
return o(function() { | ||
v.hasValue = !0, v.value = h; | ||
}, [h]), _(h), h; | ||
}, [h]), w(h), h; | ||
} | ||
Le.useSyncExternalStoreWithSelector = c, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); | ||
}()), Le; | ||
Re.useSyncExternalStoreWithSelector = c, typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ < "u" && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop == "function" && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error()); | ||
}()), Re; | ||
} | ||
(function(e) { | ||
process.env.NODE_ENV === "production" ? e.exports = Xt() : e.exports = Zt(); | ||
})(qt); | ||
function er(e, t, r, n) { | ||
let i = [Mt.run({ fn: (s) => t(s) })]; | ||
process.env.NODE_ENV === "production" ? e.exports = Zt() : e.exports = er(); | ||
})(Ft); | ||
function tr(e, t, r, n) { | ||
let i = [Tt.run({ fn: (s) => t(s) })]; | ||
if (n && i.unshift(n), r) { | ||
let s = I({ node: i }), o = e.graphite.id, p = r.additionalLinks, _ = p[o] || []; | ||
return p[o] = _, _.push(s), () => { | ||
let c = _.indexOf(s); | ||
c !== -1 && _.splice(c, 1), Ve(s); | ||
let s = P({ node: i }), o = e.graphite.id, p = r.additionalLinks, w = p[o] || []; | ||
return p[o] = w, w.push(s), () => { | ||
let c = w.indexOf(s); | ||
c !== -1 && w.splice(c, 1), xe(s); | ||
}; | ||
} | ||
{ | ||
let s = I({ node: i, parent: [e], family: { owners: e } }); | ||
let s = P({ node: i, parent: [e], family: { owners: e } }); | ||
return () => { | ||
Ve(s); | ||
xe(s); | ||
}; | ||
} | ||
} | ||
function tr(e, t) { | ||
Lt.store(e) || St("expect useStore argument to be a store"); | ||
let r = T.useCallback((i) => er(e, i, t), [e, t]), n = T.useCallback(() => ir(e, t), [e, t]); | ||
return or(r, n, n); | ||
function rr(e, t) { | ||
kt.store(e) || wt("expect useStore argument to be a store"); | ||
let r = B.useCallback((i) => tr(e, i, t), [e, t]), n = B.useCallback(() => ar(e, t), [e, t]); | ||
return ir(r, n, n); | ||
} | ||
function rr(e) { | ||
let t = T.useContext(ar); | ||
return e && !t && St("No scope found, consider adding <Provider> to app root"), t; | ||
function nr(e) { | ||
let t = B.useContext(sr); | ||
return e && !t && wt("No scope found, consider adding <Provider> to app root"), t; | ||
} | ||
function nr(e, t) { | ||
return tr(e, rr(t == null ? void 0 : t.forceScope)); | ||
function or(e, t) { | ||
return rr(e, nr(t == null ? void 0 : t.forceScope)); | ||
} | ||
let St = (e) => { | ||
let wt = (e) => { | ||
throw Error(e); | ||
}; | ||
typeof window < "u" ? T.useLayoutEffect : T.useEffect; | ||
const { useSyncExternalStore: or } = Qt, ir = (e, t) => t ? t.getState(e) : e.getState(), ar = T.createContext(null), sr = (e, t, r) => { | ||
typeof window < "u" ? B.useLayoutEffect : B.useEffect; | ||
const { useSyncExternalStore: ir } = Xt, ar = (e, t) => t ? t.getState(e) : e.getState(), sr = B.createContext(null), ur = (e, t, r) => { | ||
Ze(() => { | ||
@@ -763,11 +765,11 @@ const n = (i) => { | ||
}, Xe = (e, t, r, n) => { | ||
Ze(() => (C.addEventListener(e, t, r), () => C.removeEventListener(r)), [...n]); | ||
}, hr = (e, ...t) => { | ||
const { activeView: r, activePanel: n, activeModal: i, activePopout: s, isRouteInit: o } = ur(); | ||
Ze(() => (V.addEventListener(e, t, r), () => V.removeEventListener(r)), [...n]); | ||
}, Sr = (e, ...t) => { | ||
const { activeView: r, activePanel: n, activeModal: i, activePopout: s, isRouteInit: o } = lr(); | ||
Xe("init", (p) => { | ||
console.log("[blum]: initialized", p), o || C.historyPush(e); | ||
}, 1, [o]), sr("popstate", async () => { | ||
o && (await (async () => { | ||
C.fireChangeStateEvent(); | ||
const { view: _, panel: c, modal: S, popout: l } = window.history.state ?? { | ||
console.log("[blum]: initialized", p), o || V.historyPush(e); | ||
}, 1, [o]), ur("popstate", async () => { | ||
const p = async () => { | ||
window.blumRouter.isDispatchChangeStateEventBeforeMiddleware && V.dispatchChangeStateEvent(); | ||
const { view: w, panel: c, modal: S, popout: l } = window.history.state ?? { | ||
view: void 0, | ||
@@ -778,3 +780,3 @@ panel: void 0, | ||
}; | ||
console.log("prevRoutes", _, c, S, l), console.log("storeRoutes", r, n, i, s); | ||
console.log("prevRoutes", w, c, S, l), console.log("storeRoutes", r, n, i, s); | ||
for (const d in t) | ||
@@ -786,27 +788,38 @@ if (!await t[d]({ | ||
popout: s | ||
}, { view: _, panel: c, modal: S, popout: l })) | ||
}, { view: w, panel: c, modal: S, popout: l })) | ||
return; | ||
})(), window.isBackFromBrowser = !0); | ||
window.blumRouter.isDispatchChangeStateEventAfterMiddleware && V.dispatchChangeStateEvent(); | ||
}; | ||
o && (window.blumRouter.beforeBackHandledCallback && window.blumRouter.beforeBackHandledCallback(), await p(), window.blumRouter.isBackFromBrowser = !0, window.blumRouter.afterBackHandledCallback && window.blumRouter.afterBackHandledCallback(), et({ | ||
beforeBackHandledCallback: null, | ||
afterBackHandledCallback: null, | ||
isDispatchChangeStateEventBeforeMiddleware: !1, | ||
isDispatchChangeStateEventAfterMiddleware: !0 | ||
})); | ||
}), Xe("changestate", (p) => { | ||
if (console.log("[blum]: state changed", p), p) { | ||
const { view: _, panel: c, modal: S, popout: l } = p; | ||
_ && c && pt({ view: _, panel: c }), vt(S), ht(l), o || mt(); | ||
const { view: w, panel: c, modal: S, popout: l } = p; | ||
w && c && vt({ view: w, panel: c }), ht(S), mt(l), o || St(); | ||
} | ||
}, 2, [o]); | ||
}, ur = () => nr(Kt), mr = (e) => e, Sr = (e, t) => (r, n) => ["view", "panel", "modal", "popout"].some((s) => r[s] === e && r[s] !== n[s]) && window.isBackFromBrowser ? (t && t(r, n), C.historyPush(r), !1) : !0; | ||
}, lr = () => or(Ut), wr = (e) => e, _r = (e, t) => cr(e, (r, n) => { | ||
t && t(r, n), V.historyPush(r); | ||
}), cr = (e, t) => (r, n) => ["view", "panel", "modal", "popout"].some((s) => r[s] === e && r[s] !== n[s]) && window.blumRouter.isBackFromBrowser ? (t && t(r, n), !1) : !0; | ||
export { | ||
vt as _setActiveModal, | ||
ht as _setActiveModal, | ||
Gt as _setActivePanel, | ||
ht as _setActivePopout, | ||
mt as _setActivePopout, | ||
jt as _setActiveView, | ||
cr as back, | ||
C as blumRouter, | ||
Sr as createDisableBackBrowserRouteMiddleware, | ||
mr as createRouteMiddleware, | ||
pr as setActiveModal, | ||
dr as setActivePanel, | ||
vr as setActivePopout, | ||
fr as setActiveViewPanel, | ||
hr as useInitRouter, | ||
ur as useRouter | ||
dr as back, | ||
V as blumRouter, | ||
cr as createCatchBackBrowserRouteMiddleware, | ||
_r as createDisableBackBrowserRouteMiddleware, | ||
wr as createRouteMiddleware, | ||
hr as setActiveModal, | ||
vr as setActivePanel, | ||
mr as setActivePopout, | ||
pr as setActiveViewPanel, | ||
et as setBackHandlerOptions, | ||
Sr as useInitRouter, | ||
lr as useRouter | ||
}; |
@@ -1,2 +0,3 @@ | ||
export declare const back: () => void; | ||
export declare const back: (options: BackHandlerOptions) => void; | ||
export declare const setBackHandlerOptions: ({ beforeBackHandledCallback, afterBackHandledCallback, isDispatchChangeStateEventAfterMiddleware, isDispatchChangeStateEventBeforeMiddleware, }: BackHandlerOptions) => void; | ||
export declare const setActiveViewPanel: (routes: { | ||
@@ -9,1 +10,8 @@ view: string; | ||
export declare const setActivePopout: (popout: string) => void; | ||
type BackHandlerOptions = { | ||
beforeBackHandledCallback?: (() => void) | null; | ||
afterBackHandledCallback?: (() => void) | null; | ||
isDispatchChangeStateEventBeforeMiddleware?: boolean; | ||
isDispatchChangeStateEventAfterMiddleware?: boolean; | ||
}; | ||
export {}; |
@@ -13,1 +13,2 @@ import { InitRouteOptions, RouteMiddleware, Routes } from "./types"; | ||
export declare const createDisableBackBrowserRouteMiddleware: (route: string, callback?: ((storeRoutes: Routes, prevRoutes: Routes) => void | Promise<void>) | undefined) => (storeRoutes: Routes, prevRoutes: Routes) => boolean; | ||
export declare const createCatchBackBrowserRouteMiddleware: (route: string, callback?: ((storeRoutes: Routes, prevRoutes: Routes) => void | Promise<void>) | undefined) => (storeRoutes: Routes, prevRoutes: Routes) => boolean; |
{ | ||
"name": "@blumjs/router", | ||
"version": "6.12.0", | ||
"version": "7.0.0", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "exports": { |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
61858
1008
0