@declarion/react 0.60.0 → 0.61.1
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/dist-lib/{AgentChatPanel.impl-BY-Ir7Sh.js → AgentChatPanel.impl-rgkewyMl.js} +4 -4
- package/dist-lib/{DetailAuditStrip-B9p1XhjC.js → DetailAuditStrip-CSXZoy7v.js} +5 -5
- package/dist-lib/{DraggableChildrenTable-CtL7rdT6.js → DraggableChildrenTable-DruYOxKm.js} +2 -2
- package/dist-lib/{Grid-CYERLdXO.js → Grid-Dsf3I0xG.js} +3 -3
- package/dist-lib/{LayoutRenderer-B08IJKsZ.js → LayoutRenderer-QN7Wp2W6.js} +7 -7
- package/dist-lib/{ListCardsBody-Dje_rays.js → ListCardsBody-CNaZ0xwz.js} +5 -5
- package/dist-lib/{MarkdownRenderer-N0IWjTH5.js → MarkdownRenderer-BuO5hYJh.js} +2 -2
- package/dist-lib/{RefreshControl-BEWSHtAC.js → RefreshControl-DO9rYcdq.js} +3 -3
- package/dist-lib/{SmartDetailPage.impl-CYiM-ITJ.js → SmartDetailPage.impl-DFIIx80b.js} +12 -12
- package/dist-lib/{SmartListPage.impl-Db_Pv9Xc.js → SmartListPage.impl-D694R32H.js} +13 -13
- package/dist-lib/{SmartRecordListPage.impl-hbbLglC1.js → SmartRecordListPage.impl-CB5cuQJV.js} +10 -10
- package/dist-lib/{SortHeaderMenu-DKKeCGTH.js → SortHeaderMenu-BV-aQbPy.js} +2 -2
- package/dist-lib/{action-dispatch-DbiOpvd6.js → action-dispatch-gWmOYjOP.js} +4 -4
- package/dist-lib/{cardProjection-nveYLvHR.js → cardProjection-BnmWukxk.js} +1 -1
- package/dist-lib/components/primitives/Fields.d.ts +3 -1
- package/dist-lib/{failure-BT54OLHy.js → failure-BUxXuP4c.js} +1 -1
- package/dist-lib/{format-count-DLFCdtME.js → format-count-bXVfHzbI.js} +5 -5
- package/dist-lib/index.js +710 -702
- package/dist-lib/{peekDraftStore-DSExeoAh.js → peekDraftStore-Dk1Ha5u3.js} +3 -3
- package/dist-lib/{registry-CRPxNbkk.js → registry-nSeHd5si.js} +5 -5
- package/dist-lib/testing.js +3 -3
- package/dist-lib/types/api.d.ts +0 -1
- package/dist-lib/{useAgentConversation-BavrHfrU.js → useAgentConversation-nT5UypJX.js} +3 -3
- package/dist-lib/{useCurrentScreen-BPq7HMF1.js → useCurrentScreen-0WBj7wT6.js} +1121 -1101
- package/dist-lib/{useListQuery-CG1WM4cv.js → useListQuery-C7dq_sEo.js} +2 -2
- package/dist-lib/{useOwnRefresh-C18iWRgr.js → useOwnRefresh-q80kCMMh.js} +5 -5
- package/dist-lib/{useProperties-C35JrjwQ.js → useProperties-CeGKtq7Q.js} +3 -3
- package/dist-lib/{useTabSearchMirror-DKktWWLB.js → useTabSearchMirror-CzNAj82Q.js} +2 -2
- package/dist-lib/{useText-BFDCTUSo.js → useText-BsedsJ-J.js} +2 -2
- package/dist-lib/{value-By1-WJ8J.js → value-Dwfyghtj.js} +1 -1
- package/package.json +9 -9
package/dist-lib/index.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { a as e, r as t, s as n, t as r } from "./DynamicIcon-DW5krHuX.js";
|
|
2
|
-
import { $t as i, An as a, Bt as o, C as s, Ct as c, Dn as l, Dt as u, E as d, En as f, Et as p, F as m, Fn as h, Ft as g, Gn as _, Gt as v, Hn as y, I as b, It as x, Jn as S, Jt as C, Kn as w, Kt as T, Ln as E, M as D, Mn as O, Mt as ee, N as te, Nn as ne, P as re, Pt as k, Qt as ie, S as ae, Sn as oe, St as se, T as ce, Tt as le, Un as ue, Vn as de, Vt as fe, W as pe, Wn as me, Wt as he, X as ge, Xt as _e, Yt as ve, Zt as
|
|
3
|
-
import { _ as
|
|
4
|
-
import { _ as
|
|
5
|
-
import { $ as
|
|
6
|
-
import { a as Fn, c as In, f as Ln, h as Rn, i as zn, l as B, m as Bn, n as Vn, p as Hn, r as Un, s as Wn, t as Gn, u as Kn } from "./registry-
|
|
7
|
-
import { a as qn, i as Jn, n as Yn, r as Xn, t as Zn } from "./DetailAuditStrip-
|
|
2
|
+
import { $t as i, An as a, Bt as o, C as s, Ct as c, Dn as l, Dt as u, E as d, En as f, Et as p, F as m, Fn as h, Ft as g, Gn as _, Gt as v, Hn as y, I as b, It as x, Jn as S, Jt as C, Kn as w, Kt as T, Ln as E, M as D, Mn as O, Mt as ee, N as te, Nn as ne, P as re, Pt as k, Qt as ie, S as ae, Sn as oe, St as se, T as ce, Tt as le, Un as ue, Vn as de, Vt as fe, W as pe, Wn as me, Wt as he, X as ge, Xt as _e, Yt as ve, Zt as A, _n as ye, an as be, at as xe, b as Se, bn as Ce, bt as we, c as Te, cn as Ee, ct as De, d as Oe, dn as ke, dt as Ae, en as je, et as Me, f as Ne, fn as Pe, gn as j, hn as Fe, ht as Ie, i as Le, in as Re, jn as ze, jt as Be, kn as Ve, l as He, ln as Ue, lt as We, mn as Ge, mt as Ke, n as qe, nn as Je, nt as Ye, o as Xe, on as Ze, ot as Qe, pn as M, qn as N, r as $e, rn as et, rt as tt, s as nt, sn as rt, st as it, t as at, tn as P, tt as ot, u as st, un as F, ut as ct, vn as lt, w as ut, wt as dt, x as ft, xn as pt, xt as mt, zt as I } from "./useCurrentScreen-0WBj7wT6.js";
|
|
3
|
+
import { _ as ht, a as gt, c as _t, d as vt, g as yt, h as bt, i as xt, l as St, n as Ct, o as wt, p as Tt, r as Et, s as Dt, t as Ot, u as kt, v as At } from "./format-count-bXVfHzbI.js";
|
|
4
|
+
import { _ as jt, a as Mt, c as Nt, d as Pt, f as Ft, g as It, h as Lt, i as Rt, l as zt, m as Bt, n as Vt, o as Ht, p as Ut, r as Wt, s as Gt, t as Kt, u as qt } from "./RefreshControl-DO9rYcdq.js";
|
|
5
|
+
import { $ as Jt, A as Yt, B as Xt, C as Zt, D as Qt, E as $t, G as en, K as tn, L as nn, P as rn, Q as an, S as on, T as sn, V as cn, X as ln, Y as un, Z as dn, _ as fn, a as pn, b as mn, c as hn, d as gn, et as _n, f as L, g as vn, h as yn, i as bn, it as xn, m as Sn, n as Cn, o as wn, p as R, q as Tn, r as En, s as Dn, t as z, tt as On, u as kn, v as An, w as jn, x as Mn, y as Nn, z as Pn } from "./useText-BsedsJ-J.js";
|
|
6
|
+
import { a as Fn, c as In, f as Ln, h as Rn, i as zn, l as B, m as Bn, n as Vn, p as Hn, r as Un, s as Wn, t as Gn, u as Kn } from "./registry-nSeHd5si.js";
|
|
7
|
+
import { a as qn, i as Jn, n as Yn, r as Xn, t as Zn } from "./DetailAuditStrip-CSXZoy7v.js";
|
|
8
8
|
import { t as Qn } from "./Check-DAfMbQIw.js";
|
|
9
|
-
import { a as $n, h as er, i as tr, p as nr, s as rr, t as V, u as ir, y as ar } from "./failure-
|
|
10
|
-
import { A as H, C as or, D as sr, E as cr, M as U, O as lr, T as ur, a as dr, b as fr, c as pr, d as mr, f as hr, g as gr, j as _r, k as vr, l as yr, m as br, o as xr, p as Sr, u as Cr, v as wr, w as Tr, x as Er } from "./useOwnRefresh-
|
|
11
|
-
import { n as Dr } from "./value-
|
|
12
|
-
import { C as Or, S as kr, _ as Ar, a as jr, b as Mr, c as Nr, d as Pr, g as Fr, i as Ir, n as Lr, o as Rr, p as zr, r as Br, s as Vr, t as Hr, v as Ur, x as Wr, y as Gr } from "./action-dispatch-
|
|
13
|
-
import { n as Kr, r as qr, t as Jr } from "./useProperties-
|
|
14
|
-
import { a as Yr, d as Xr, f as Zr, h as Qr, o as $r, p as ei, r as ti, s as ni, t as ri } from "./useTabSearchMirror-
|
|
15
|
-
import { a as ii, c as ai, d as oi, f as si, g as ci, h as li, i as ui, l as di, m as fi, n as pi, o as mi, p as hi, r as gi, s as _i, t as vi, u as yi } from "./useAgentConversation-
|
|
16
|
-
import { Fragment as bi, Suspense as xi, lazy as Si, useCallback as W, useEffect as G, useMemo as K, useRef as q, useState as J } from "react";
|
|
17
|
-
import { BrowserRouter as
|
|
18
|
-
import { QueryClient as
|
|
19
|
-
import { Toaster as
|
|
9
|
+
import { a as $n, h as er, i as tr, p as nr, s as rr, t as V, u as ir, y as ar } from "./failure-BUxXuP4c.js";
|
|
10
|
+
import { A as H, C as or, D as sr, E as cr, M as U, O as lr, T as ur, a as dr, b as fr, c as pr, d as mr, f as hr, g as gr, j as _r, k as vr, l as yr, m as br, o as xr, p as Sr, u as Cr, v as wr, w as Tr, x as Er } from "./useOwnRefresh-q80kCMMh.js";
|
|
11
|
+
import { n as Dr } from "./value-Dwfyghtj.js";
|
|
12
|
+
import { C as Or, S as kr, _ as Ar, a as jr, b as Mr, c as Nr, d as Pr, g as Fr, i as Ir, n as Lr, o as Rr, p as zr, r as Br, s as Vr, t as Hr, v as Ur, x as Wr, y as Gr } from "./action-dispatch-gWmOYjOP.js";
|
|
13
|
+
import { n as Kr, r as qr, t as Jr } from "./useProperties-CeGKtq7Q.js";
|
|
14
|
+
import { a as Yr, d as Xr, f as Zr, h as Qr, o as $r, p as ei, r as ti, s as ni, t as ri } from "./useTabSearchMirror-CzNAj82Q.js";
|
|
15
|
+
import { a as ii, c as ai, d as oi, f as si, g as ci, h as li, i as ui, l as di, m as fi, n as pi, o as mi, p as hi, r as gi, s as _i, t as vi, u as yi } from "./useAgentConversation-nT5UypJX.js";
|
|
16
|
+
import { Fragment as bi, Suspense as xi, lazy as Si, useCallback as W, useEffect as G, useId as Ci, useMemo as K, useRef as q, useState as J } from "react";
|
|
17
|
+
import { BrowserRouter as wi, Link as Ti, Navigate as Ei, Outlet as Di, Route as Y, Routes as Oi, useLocation as ki, useLocation as Ai, useNavigate as ji, useNavigate as Mi, useNavigationType as Ni, useParams as Pi, useSearchParams as Fi, useSearchParams as Ii } from "react-router";
|
|
18
|
+
import { QueryClient as Li, QueryClientProvider as Ri, useMutation as zi, useQuery as Bi, useQueryClient as Vi } from "@tanstack/react-query";
|
|
19
|
+
import { Toaster as Hi } from "sonner";
|
|
20
20
|
import { Fragment as X, jsx as Z, jsxs as Q } from "react/jsx-runtime";
|
|
21
21
|
//#region src/components/primitives/BrandGlyph.tsx
|
|
22
|
-
function
|
|
22
|
+
function Ui({ size: e = 24, className: t, title: n }) {
|
|
23
23
|
return /* @__PURE__ */ Q("svg", {
|
|
24
24
|
width: e,
|
|
25
25
|
height: e,
|
|
@@ -55,9 +55,9 @@ function Hi({ size: e = 24, className: t, title: n }) {
|
|
|
55
55
|
}
|
|
56
56
|
//#endregion
|
|
57
57
|
//#region src/components/primitives/RowField.tsx
|
|
58
|
-
var
|
|
59
|
-
function
|
|
60
|
-
let a =
|
|
58
|
+
var Wi = 380;
|
|
59
|
+
function Gi({ label: e, children: t, wide: n, editing: r, required: i }) {
|
|
60
|
+
let a = j(), o = n || a.width < Wi, s = o ? "auto" : a.isPhone ? 104 : 140;
|
|
61
61
|
return /* @__PURE__ */ Q("div", {
|
|
62
62
|
style: {
|
|
63
63
|
display: "flex",
|
|
@@ -99,16 +99,16 @@ function Wi({ label: e, children: t, wide: n, editing: r, required: i }) {
|
|
|
99
99
|
}
|
|
100
100
|
//#endregion
|
|
101
101
|
//#region src/components/layout/Rail.tsx
|
|
102
|
-
var
|
|
103
|
-
function
|
|
102
|
+
var Ki = 32;
|
|
103
|
+
function qi(e, t) {
|
|
104
104
|
return !t || t.length === 0 ? [] : t.map((t) => ({
|
|
105
105
|
id: t.code,
|
|
106
106
|
icon: t.icon || void 0,
|
|
107
107
|
label: e(t.name) || t.code
|
|
108
108
|
}));
|
|
109
109
|
}
|
|
110
|
-
function
|
|
111
|
-
let c = z(), l =
|
|
110
|
+
function Ji({ activeArea: e, onPick: t, onToggleAI: r, aiOpen: i, onCmdK: a, areas: o, branding: s }) {
|
|
111
|
+
let c = z(), l = qi(c, o), u = s?.app_name ?? "", d = Bt(s?.app_logo) ? s?.app_logo : void 0;
|
|
112
112
|
return /* @__PURE__ */ Q("div", {
|
|
113
113
|
style: {
|
|
114
114
|
gridArea: "rail",
|
|
@@ -123,8 +123,8 @@ function qi({ activeArea: e, onPick: t, onToggleAI: r, aiOpen: i, onCmdK: a, are
|
|
|
123
123
|
children: [
|
|
124
124
|
/* @__PURE__ */ Z("div", {
|
|
125
125
|
style: {
|
|
126
|
-
width:
|
|
127
|
-
height:
|
|
126
|
+
width: Ki,
|
|
127
|
+
height: Ki,
|
|
128
128
|
borderRadius: 8,
|
|
129
129
|
background: d ? "transparent" : "linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%)",
|
|
130
130
|
display: "flex",
|
|
@@ -138,8 +138,8 @@ function qi({ activeArea: e, onPick: t, onToggleAI: r, aiOpen: i, onCmdK: a, are
|
|
|
138
138
|
children: d ? /* @__PURE__ */ Z("img", {
|
|
139
139
|
src: d,
|
|
140
140
|
alt: u,
|
|
141
|
-
width:
|
|
142
|
-
height:
|
|
141
|
+
width: Ki,
|
|
142
|
+
height: Ki,
|
|
143
143
|
style: {
|
|
144
144
|
display: "block",
|
|
145
145
|
objectFit: "contain"
|
|
@@ -153,7 +153,7 @@ function qi({ activeArea: e, onPick: t, onToggleAI: r, aiOpen: i, onCmdK: a, are
|
|
|
153
153
|
children: u.charAt(0).toUpperCase()
|
|
154
154
|
}) : null
|
|
155
155
|
}),
|
|
156
|
-
l.map((n) => /* @__PURE__ */ Z(
|
|
156
|
+
l.map((n) => /* @__PURE__ */ Z(Yi, {
|
|
157
157
|
item: n,
|
|
158
158
|
active: e === n.id,
|
|
159
159
|
onPick: t
|
|
@@ -162,14 +162,14 @@ function qi({ activeArea: e, onPick: t, onToggleAI: r, aiOpen: i, onCmdK: a, are
|
|
|
162
162
|
/* @__PURE__ */ Z("button", {
|
|
163
163
|
onClick: a,
|
|
164
164
|
title: c("shell.palette.open", "Command Palette (⌘K)"),
|
|
165
|
-
style:
|
|
165
|
+
style: Xi(!1),
|
|
166
166
|
children: n.command && /* @__PURE__ */ Z(n.command, { size: 16 })
|
|
167
167
|
}),
|
|
168
168
|
/* @__PURE__ */ Z("button", {
|
|
169
169
|
onClick: r,
|
|
170
170
|
title: c("shell.ai_assistant", "AI Assistant"),
|
|
171
171
|
style: {
|
|
172
|
-
...
|
|
172
|
+
...Xi(!1),
|
|
173
173
|
background: i ? "var(--accent)" : "transparent",
|
|
174
174
|
color: i ? "var(--rail-fg)" : "var(--rail-muted)"
|
|
175
175
|
},
|
|
@@ -178,8 +178,8 @@ function qi({ activeArea: e, onPick: t, onToggleAI: r, aiOpen: i, onCmdK: a, are
|
|
|
178
178
|
]
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
|
-
function
|
|
182
|
-
let [i, a] = J(!1), o = q(null), s =
|
|
181
|
+
function Yi({ item: e, active: t, onPick: n }) {
|
|
182
|
+
let [i, a] = J(!1), o = q(null), s = jt(o, e.label), c = t ? "var(--rail-active)" : i ? "var(--rail-hover)" : "transparent", l = t || i ? "var(--rail-fg)" : "var(--rail-muted)";
|
|
183
183
|
return /* @__PURE__ */ Q("button", {
|
|
184
184
|
ref: o,
|
|
185
185
|
onClick: () => n(e.id),
|
|
@@ -224,7 +224,7 @@ function Ji({ item: e, active: t, onPick: n }) {
|
|
|
224
224
|
]
|
|
225
225
|
});
|
|
226
226
|
}
|
|
227
|
-
function
|
|
227
|
+
function Xi(e) {
|
|
228
228
|
return {
|
|
229
229
|
width: 36,
|
|
230
230
|
height: 36,
|
|
@@ -240,8 +240,8 @@ function Yi(e) {
|
|
|
240
240
|
}
|
|
241
241
|
//#endregion
|
|
242
242
|
//#region src/components/primitives/BrandLogo.tsx
|
|
243
|
-
function
|
|
244
|
-
if (!
|
|
243
|
+
function Zi({ appLogo: e, size: t, radius: n, fallback: r }) {
|
|
244
|
+
if (!Bt(e)) return r ? /* @__PURE__ */ Z(X, { children: r }) : null;
|
|
245
245
|
let i = n ?? (t >= 30 ? 8 : 6);
|
|
246
246
|
return /* @__PURE__ */ Z("img", {
|
|
247
247
|
src: e.trim(),
|
|
@@ -257,7 +257,7 @@ function Xi({ appLogo: e, size: t, radius: n, fallback: r }) {
|
|
|
257
257
|
}
|
|
258
258
|
//#endregion
|
|
259
259
|
//#region src/embed/theme.ts
|
|
260
|
-
function
|
|
260
|
+
function Qi(e) {
|
|
261
261
|
let t = {
|
|
262
262
|
...U.getState(),
|
|
263
263
|
colorScheme: e
|
|
@@ -266,7 +266,7 @@ function Zi(e) {
|
|
|
266
266
|
}
|
|
267
267
|
//#endregion
|
|
268
268
|
//#region src/embed/handshake.ts
|
|
269
|
-
function
|
|
269
|
+
function $i(e, t) {
|
|
270
270
|
if (e.origin !== t) return { kind: "rejected" };
|
|
271
271
|
let n = e.data;
|
|
272
272
|
if (typeof n != "object" || !n) return { kind: "rejected" };
|
|
@@ -279,9 +279,9 @@ function Qi(e, t) {
|
|
|
279
279
|
received: r.protocol
|
|
280
280
|
};
|
|
281
281
|
}
|
|
282
|
-
function
|
|
282
|
+
function ea(e, t) {
|
|
283
283
|
return (n) => {
|
|
284
|
-
let r =
|
|
284
|
+
let r = $i(n, e);
|
|
285
285
|
if (r.kind === "rejected") return;
|
|
286
286
|
if (r.kind === "protocol-mismatch") {
|
|
287
287
|
console.warn(`[declarion-embed] protocol version mismatch: this iframe speaks protocol 1, the host sent protocol ${String(r.received)}. Update the host @declarion/embed SDK and the Declarion deployment to matching versions.`);
|
|
@@ -301,9 +301,9 @@ function $i(e, t) {
|
|
|
301
301
|
}
|
|
302
302
|
//#endregion
|
|
303
303
|
//#region src/embed/EmbedAuthBootstrap.tsx
|
|
304
|
-
var
|
|
305
|
-
function
|
|
306
|
-
let e =
|
|
304
|
+
var ta = 2e4;
|
|
305
|
+
function na() {
|
|
306
|
+
let e = Qt(), t = Mi(), n = Ai(), r = R((e) => e.setUser), [i, a] = J("pending"), o = q(!1), s = q(n.pathname);
|
|
307
307
|
return s.current = n.pathname, G(() => {
|
|
308
308
|
if (!e.enabled) return;
|
|
309
309
|
en(e.parentOrigin), sr.getState().reset();
|
|
@@ -319,7 +319,7 @@ function ta() {
|
|
|
319
319
|
a("error");
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
|
-
}, c = e.parentOrigin ?
|
|
322
|
+
}, c = e.parentOrigin ? ea(e.parentOrigin, {
|
|
323
323
|
onAuth: (e) => {
|
|
324
324
|
Tn(e), o.current || i();
|
|
325
325
|
},
|
|
@@ -334,13 +334,13 @@ function ta() {
|
|
|
334
334
|
r();
|
|
335
335
|
},
|
|
336
336
|
onTheme: (e) => {
|
|
337
|
-
|
|
337
|
+
Qi(e.theme);
|
|
338
338
|
}
|
|
339
339
|
}) : null;
|
|
340
340
|
c && window.addEventListener("message", c), ln(e.parentOrigin, un.ready, {});
|
|
341
341
|
let l = window.setTimeout(() => {
|
|
342
342
|
o.current || a("error");
|
|
343
|
-
},
|
|
343
|
+
}, ta);
|
|
344
344
|
return () => {
|
|
345
345
|
c && window.removeEventListener("message", c), window.clearTimeout(l), nn(n);
|
|
346
346
|
};
|
|
@@ -348,9 +348,9 @@ function ta() {
|
|
|
348
348
|
e,
|
|
349
349
|
t,
|
|
350
350
|
r
|
|
351
|
-
]), !e.enabled || i !== "error" ? null : /* @__PURE__ */ Z(
|
|
351
|
+
]), !e.enabled || i !== "error" ? null : /* @__PURE__ */ Z(ra, {});
|
|
352
352
|
}
|
|
353
|
-
function
|
|
353
|
+
function ra() {
|
|
354
354
|
let e = z("errors");
|
|
355
355
|
return /* @__PURE__ */ Z("div", {
|
|
356
356
|
role: "alert",
|
|
@@ -360,12 +360,12 @@ function na() {
|
|
|
360
360
|
}
|
|
361
361
|
//#endregion
|
|
362
362
|
//#region src/embed/EmbedResizeReporter.tsx
|
|
363
|
-
var
|
|
364
|
-
function
|
|
365
|
-
let e =
|
|
363
|
+
var ia = "app-embed";
|
|
364
|
+
function aa() {
|
|
365
|
+
let e = Qt(), t = e.enabled && e.parentOrigin !== null;
|
|
366
366
|
return G(() => {
|
|
367
367
|
if (!t || typeof window > "u" || typeof ResizeObserver > "u") return;
|
|
368
|
-
let n = document.getElementById(
|
|
368
|
+
let n = document.getElementById(ia);
|
|
369
369
|
if (!n) return;
|
|
370
370
|
let r = null, i = -1, a = () => {
|
|
371
371
|
r = null;
|
|
@@ -381,8 +381,8 @@ function ia() {
|
|
|
381
381
|
}
|
|
382
382
|
//#endregion
|
|
383
383
|
//#region src/embed/EmbedDirtyReporter.tsx
|
|
384
|
-
function
|
|
385
|
-
let e =
|
|
384
|
+
function oa() {
|
|
385
|
+
let e = Qt(), t = T((e) => e.isDirty), n = e.enabled && e.parentOrigin !== null;
|
|
386
386
|
return G(() => {
|
|
387
387
|
n && ln(e.parentOrigin, un.dirtyChanged, { dirty: t });
|
|
388
388
|
}, [
|
|
@@ -393,8 +393,8 @@ function aa() {
|
|
|
393
393
|
}
|
|
394
394
|
//#endregion
|
|
395
395
|
//#region src/embed/EmbedHistoryTracker.tsx
|
|
396
|
-
function
|
|
397
|
-
let e =
|
|
396
|
+
function sa() {
|
|
397
|
+
let e = Qt(), t = Ni(), n = Ai(), r = e.enabled && e.navigationMode === "self", i = q(null);
|
|
398
398
|
return G(() => {
|
|
399
399
|
r && i.current !== n.key && (i.current = n.key, sr.getState().applyNavigation(t));
|
|
400
400
|
}, [
|
|
@@ -403,21 +403,21 @@ function oa() {
|
|
|
403
403
|
t
|
|
404
404
|
]), null;
|
|
405
405
|
}
|
|
406
|
-
function
|
|
406
|
+
function ca(e) {
|
|
407
407
|
return e instanceof HTMLAnchorElement || typeof SVGAElement < "u" && e instanceof SVGAElement;
|
|
408
408
|
}
|
|
409
|
-
function
|
|
410
|
-
for (let t of e.composedPath()) if (
|
|
409
|
+
function la(e) {
|
|
410
|
+
for (let t of e.composedPath()) if (ca(t)) return t;
|
|
411
411
|
return null;
|
|
412
412
|
}
|
|
413
|
-
function
|
|
413
|
+
function ua(e) {
|
|
414
414
|
return e instanceof HTMLAnchorElement ? e.getAttribute("href") : e.href?.baseVal ?? e.getAttribute("href") ?? e.getAttribute("xlink:href");
|
|
415
415
|
}
|
|
416
|
-
function
|
|
416
|
+
function da(e, t = window.location) {
|
|
417
417
|
if (e.defaultPrevented || Hn(e)) return null;
|
|
418
|
-
let n =
|
|
418
|
+
let n = la(e);
|
|
419
419
|
if (!n || n.hasAttribute("data-declarion-native-link")) return null;
|
|
420
|
-
let r =
|
|
420
|
+
let r = ua(n);
|
|
421
421
|
if (!r) return null;
|
|
422
422
|
let i = (n.getAttribute("target") ?? "").trim();
|
|
423
423
|
if (i && i !== "_self" || n.hasAttribute("download")) return null;
|
|
@@ -431,7 +431,7 @@ function ua(e, t = window.location) {
|
|
|
431
431
|
}
|
|
432
432
|
return o.protocol !== "http:" && o.protocol !== "https:" || o.origin !== t.origin || o.pathname === t.pathname && o.search === t.search && o.hash !== "" ? null : o.pathname + o.search + o.hash;
|
|
433
433
|
}
|
|
434
|
-
function
|
|
434
|
+
function fa(e, t = window.location) {
|
|
435
435
|
if (e.destination.sameDocument || !e.canIntercept || e.hashChange || e.downloadRequest != null || e.formData != null) return null;
|
|
436
436
|
let n;
|
|
437
437
|
try {
|
|
@@ -441,16 +441,16 @@ function da(e, t = window.location) {
|
|
|
441
441
|
}
|
|
442
442
|
return n.protocol !== "http:" && n.protocol !== "https:" || n.origin !== t.origin ? null : n.pathname + n.search + n.hash;
|
|
443
443
|
}
|
|
444
|
-
function
|
|
445
|
-
let e = cr(), t =
|
|
444
|
+
function pa() {
|
|
445
|
+
let e = cr(), t = Qt().enabled, n = q(e);
|
|
446
446
|
n.current = e, G(() => {
|
|
447
447
|
let e = (e) => {
|
|
448
|
-
let t =
|
|
448
|
+
let t = da(e);
|
|
449
449
|
t != null && (e.preventDefault(), n.current(t));
|
|
450
450
|
};
|
|
451
451
|
document.addEventListener("click", e, { capture: !0 });
|
|
452
452
|
let r = window.navigation, i = (e) => {
|
|
453
|
-
let t =
|
|
453
|
+
let t = fa(e);
|
|
454
454
|
t != null && e.cancelable && (e.preventDefault(), n.current(t));
|
|
455
455
|
};
|
|
456
456
|
return t && r?.addEventListener("navigate", i), () => {
|
|
@@ -460,8 +460,8 @@ function fa() {
|
|
|
460
460
|
}
|
|
461
461
|
//#endregion
|
|
462
462
|
//#region src/embed/EmbedLocationReporter.tsx
|
|
463
|
-
function
|
|
464
|
-
let e =
|
|
463
|
+
function ma() {
|
|
464
|
+
let e = Qt(), t = Ai(), { data: n } = L(), r = q(null), i = e.enabled && e.navigationMode === "self";
|
|
465
465
|
return G(() => {
|
|
466
466
|
if (!i) return;
|
|
467
467
|
let a = `${t.pathname}${t.search}`;
|
|
@@ -479,9 +479,9 @@ function pa() {
|
|
|
479
479
|
}
|
|
480
480
|
//#endregion
|
|
481
481
|
//#region src/embed/EmbedUnsavedGuard.tsx
|
|
482
|
-
function
|
|
482
|
+
function ha() {
|
|
483
483
|
let e = z(), t = v((e) => e.pendingNavigation), n = v((e) => e.confirmNavigation), r = v((e) => e.cancelNavigation);
|
|
484
|
-
return t === null ? null : /* @__PURE__ */ Z(
|
|
484
|
+
return t === null ? null : /* @__PURE__ */ Z(ht, {
|
|
485
485
|
open: !0,
|
|
486
486
|
onOpenChange: (e) => {
|
|
487
487
|
e || r();
|
|
@@ -497,8 +497,8 @@ function ma() {
|
|
|
497
497
|
}
|
|
498
498
|
//#endregion
|
|
499
499
|
//#region src/components/layout/Sidebar.tsx
|
|
500
|
-
function
|
|
501
|
-
let t = z(), { data: r } = L(), i =
|
|
500
|
+
function ga({ activeArea: e }) {
|
|
501
|
+
let t = z(), { data: r } = L(), i = Ai(), a = cr(), o = U((e) => e.sidebar), s = U((e) => e.set), c = o === "collapsed", [l, u] = J({}), d = Pt(), f = d?.app_name ?? "", p = d?.app_logo, m = d?.version_label ?? "", h = K(() => _a(t, r?.navigation ?? [], e), [
|
|
502
502
|
t,
|
|
503
503
|
r?.navigation,
|
|
504
504
|
e
|
|
@@ -531,7 +531,7 @@ function ha({ activeArea: e }) {
|
|
|
531
531
|
borderBottom: "1px solid var(--divider)",
|
|
532
532
|
gap: 8
|
|
533
533
|
},
|
|
534
|
-
children: c ? p ? /* @__PURE__ */ Z(
|
|
534
|
+
children: c ? p ? /* @__PURE__ */ Z(Zi, {
|
|
535
535
|
appLogo: p,
|
|
536
536
|
size: 18
|
|
537
537
|
}) : f ? /* @__PURE__ */ Z("span", {
|
|
@@ -542,7 +542,7 @@ function ha({ activeArea: e }) {
|
|
|
542
542
|
},
|
|
543
543
|
children: f.charAt(0)
|
|
544
544
|
}) : null : /* @__PURE__ */ Q(X, { children: [
|
|
545
|
-
/* @__PURE__ */ Z(
|
|
545
|
+
/* @__PURE__ */ Z(Zi, {
|
|
546
546
|
appLogo: p,
|
|
547
547
|
size: 20
|
|
548
548
|
}),
|
|
@@ -590,7 +590,7 @@ function ha({ activeArea: e }) {
|
|
|
590
590
|
children: e.title
|
|
591
591
|
}), e.items.map((e, i) => {
|
|
592
592
|
let o = `${n}-${i}-${e.screen || t(e.name)}`, s = e.screen ? r?.screens[e.screen] : void 0, d = g(s?.route), f = !!(e.children && e.children.length > 0), p = !!l[o];
|
|
593
|
-
return /* @__PURE__ */ Z(
|
|
593
|
+
return /* @__PURE__ */ Z(ya, {
|
|
594
594
|
item: e,
|
|
595
595
|
href: s?.route,
|
|
596
596
|
collapsed: c,
|
|
@@ -652,9 +652,9 @@ function ha({ activeArea: e }) {
|
|
|
652
652
|
]
|
|
653
653
|
});
|
|
654
654
|
}
|
|
655
|
-
function
|
|
655
|
+
function _a(e, t, n) {
|
|
656
656
|
let r = [];
|
|
657
|
-
for (let i of t) if (
|
|
657
|
+
for (let i of t) if (va(i, n)) {
|
|
658
658
|
if (i.items && i.items.length > 0) {
|
|
659
659
|
r.push({
|
|
660
660
|
title: e(i.name) || "",
|
|
@@ -672,10 +672,10 @@ function ga(e, t, n) {
|
|
|
672
672
|
}
|
|
673
673
|
return r;
|
|
674
674
|
}
|
|
675
|
-
function
|
|
675
|
+
function va(e, t) {
|
|
676
676
|
return (e.area || "default") === t;
|
|
677
677
|
}
|
|
678
|
-
function
|
|
678
|
+
function ya({ item: e, href: t, collapsed: i, active: a, hasKids: o, expanded: s, onToggleExpand: c, onPick: l, onPickChild: u, resolveChild: d }) {
|
|
679
679
|
let f = z(), [p, m] = J(!1), h = !!e.icon, g = f(e.name) || e.screen || "";
|
|
680
680
|
if (i) {
|
|
681
681
|
let n = {
|
|
@@ -801,7 +801,7 @@ function va({ item: e, href: t, collapsed: i, active: a, hasKids: o, expanded: s
|
|
|
801
801
|
},
|
|
802
802
|
children: (e.children || []).map((e, t) => {
|
|
803
803
|
let n = d(e), r = e.screen || `${t}`;
|
|
804
|
-
return /* @__PURE__ */ Z(
|
|
804
|
+
return /* @__PURE__ */ Z(ba, {
|
|
805
805
|
label: f(e.name) || e.screen || "",
|
|
806
806
|
href: n?.route,
|
|
807
807
|
enabled: !!n,
|
|
@@ -810,7 +810,7 @@ function va({ item: e, href: t, collapsed: i, active: a, hasKids: o, expanded: s
|
|
|
810
810
|
})
|
|
811
811
|
})] });
|
|
812
812
|
}
|
|
813
|
-
function
|
|
813
|
+
function ba({ label: e, href: t, enabled: n, onPick: r }) {
|
|
814
814
|
let [i, a] = J(!1), o = {
|
|
815
815
|
width: "100%",
|
|
816
816
|
display: "block",
|
|
@@ -844,28 +844,28 @@ function ya({ label: e, href: t, enabled: n, onPick: r }) {
|
|
|
844
844
|
}
|
|
845
845
|
//#endregion
|
|
846
846
|
//#region src/hooks/useAuth.ts
|
|
847
|
-
function
|
|
848
|
-
let { user: e, isAuthenticated: t, isLoading: n, activeTenant: r, tenants: i, setUser: a, setTenants: o, logout: s } = R(), c =
|
|
847
|
+
function xa() {
|
|
848
|
+
let { user: e, isAuthenticated: t, isLoading: n, activeTenant: r, tenants: i, setUser: a, setTenants: o, logout: s } = R(), c = Mi(), l = Vi(), u = z("errors"), d = zi({
|
|
849
849
|
mutationFn: ({ email: e, password: t, remember: n }) => on(e, t, n ?? !0),
|
|
850
850
|
onSuccess: (e) => {
|
|
851
851
|
a(e.user, e.tenant), l.invalidateQueries({ queryKey: ["schema"] }), Mn().then(o).catch(() => {});
|
|
852
852
|
}
|
|
853
|
-
}), f =
|
|
854
|
-
mutationFn: ({ email: e, password: t, displayName: n }) =>
|
|
853
|
+
}), f = zi({
|
|
854
|
+
mutationFn: ({ email: e, password: t, displayName: n }) => Zt(e, t, n),
|
|
855
855
|
onSuccess: (e) => {
|
|
856
856
|
a(e.user, e.tenant), l.invalidateQueries({ queryKey: ["schema"] }), Mn().then(o).catch(() => {});
|
|
857
857
|
},
|
|
858
858
|
onError: (e) => {
|
|
859
|
-
|
|
859
|
+
I.error(V(u, e));
|
|
860
860
|
}
|
|
861
|
-
}), p =
|
|
861
|
+
}), p = zi({
|
|
862
862
|
mutationFn: (e) => sn(e),
|
|
863
863
|
onSuccess: (e) => {
|
|
864
864
|
let t = e.tenant?.id, n = e.user?.id, r = t && n && lr(t, n) || "/";
|
|
865
865
|
window.location.assign(r);
|
|
866
866
|
},
|
|
867
867
|
onError: (e) => {
|
|
868
|
-
|
|
868
|
+
I.error(V(u, e));
|
|
869
869
|
}
|
|
870
870
|
});
|
|
871
871
|
return {
|
|
@@ -887,25 +887,25 @@ function ba() {
|
|
|
887
887
|
}
|
|
888
888
|
//#endregion
|
|
889
889
|
//#region src/hooks/useImpersonation.ts
|
|
890
|
-
function
|
|
891
|
-
let e = R((e) => e.user), t = R((e) => e.initialize), n =
|
|
890
|
+
function Sa() {
|
|
891
|
+
let e = R((e) => e.user), t = R((e) => e.initialize), n = Vi(), r = z(), i = z("errors"), a = e?.impersonation ?? null, o = !!a, s = zi({
|
|
892
892
|
mutationFn: ({ targetUserId: e, reason: t, durationMinutes: n }) => An(e, t, n),
|
|
893
893
|
onSuccess: async () => {
|
|
894
|
-
await t(), await Cn(n), n.invalidateQueries(),
|
|
894
|
+
await t(), await Cn(n), n.invalidateQueries(), I.success(r("toast.impersonation.started", "Impersonation session started."));
|
|
895
895
|
},
|
|
896
|
-
onError: (e) =>
|
|
897
|
-
}), c =
|
|
896
|
+
onError: (e) => I.error(V(i, e))
|
|
897
|
+
}), c = zi({
|
|
898
898
|
mutationFn: () => Nn(),
|
|
899
899
|
onSuccess: async () => {
|
|
900
|
-
await t(), await Cn(n), n.invalidateQueries(),
|
|
900
|
+
await t(), await Cn(n), n.invalidateQueries(), I.success(r("toast.impersonation.returned", "Returned to your own session."));
|
|
901
901
|
},
|
|
902
|
-
onError: (e) =>
|
|
903
|
-
}), l =
|
|
902
|
+
onError: (e) => I.error(V(i, e))
|
|
903
|
+
}), l = zi({
|
|
904
904
|
mutationFn: (e) => fn(e),
|
|
905
905
|
onSuccess: () => {
|
|
906
|
-
|
|
906
|
+
I.success(r("toast.impersonation.revoke_done", "Session revoked.")), n.invalidateQueries({ queryKey: ["impersonation_session"] });
|
|
907
907
|
},
|
|
908
|
-
onError: (e) =>
|
|
908
|
+
onError: (e) => I.error(V(i, e))
|
|
909
909
|
});
|
|
910
910
|
return {
|
|
911
911
|
info: a,
|
|
@@ -919,11 +919,11 @@ function xa() {
|
|
|
919
919
|
}
|
|
920
920
|
//#endregion
|
|
921
921
|
//#region src/components/layout/TenantChip.tsx
|
|
922
|
-
var
|
|
923
|
-
function
|
|
922
|
+
var Ca = 6;
|
|
923
|
+
function wa(e) {
|
|
924
924
|
return e.startsWith("_");
|
|
925
925
|
}
|
|
926
|
-
var
|
|
926
|
+
var Ta = {
|
|
927
927
|
production: {
|
|
928
928
|
fg: "#C2362C",
|
|
929
929
|
bg: "#FAE8E6",
|
|
@@ -945,16 +945,16 @@ var wa = {
|
|
|
945
945
|
darkFg: "#5AB3EA",
|
|
946
946
|
darkBg: "rgba(90,179,234,0.14)"
|
|
947
947
|
}
|
|
948
|
-
},
|
|
948
|
+
}, Ea = {
|
|
949
949
|
fg: "#5B6270",
|
|
950
950
|
bg: "#F3F4F7",
|
|
951
951
|
border: "#E6E8EE"
|
|
952
952
|
};
|
|
953
|
-
function
|
|
954
|
-
return e ?
|
|
953
|
+
function Da(e) {
|
|
954
|
+
return e ? Ta[e] ?? Ea : Ta.production;
|
|
955
955
|
}
|
|
956
|
-
function
|
|
957
|
-
let c = z(), [l, u] = J(!1), [d, f] = J(""), p = q(null), m = e?.env, h =
|
|
956
|
+
function Oa({ tenant: e, tenants: t, onSwitch: r, busy: i, compact: a, locked: o, lockedReason: s }) {
|
|
957
|
+
let c = z(), [l, u] = J(!1), [d, f] = J(""), p = q(null), m = e?.env, h = Da(m), g = e?.name || "—", _ = e?.role || "—", v = K(() => t.filter((e) => e.is_member !== !1), [t]), y = K(() => t.filter((e) => e.is_member === !1), [t]), b = t.length >= Ca, x = (e) => {
|
|
958
958
|
if (!d) return !0;
|
|
959
959
|
let t = d.toLowerCase();
|
|
960
960
|
return e.name.toLowerCase().includes(t) || e.code.toLowerCase().includes(t);
|
|
@@ -1131,7 +1131,7 @@ function Da({ tenant: e, tenants: t, onSwitch: r, busy: i, compact: a, locked: o
|
|
|
1131
1131
|
overflowY: "auto"
|
|
1132
1132
|
},
|
|
1133
1133
|
children: [
|
|
1134
|
-
/* @__PURE__ */ Z(
|
|
1134
|
+
/* @__PURE__ */ Z(ka, {
|
|
1135
1135
|
label: y.length > 0 ? c("shell.tenant.yours", "Your tenants") : c("shell.tenant.switch", "Switch tenant"),
|
|
1136
1136
|
tenants: S,
|
|
1137
1137
|
activeID: e?.id,
|
|
@@ -1139,7 +1139,7 @@ function Da({ tenant: e, tenants: t, onSwitch: r, busy: i, compact: a, locked: o
|
|
|
1139
1139
|
u(!1), r(e);
|
|
1140
1140
|
}
|
|
1141
1141
|
}),
|
|
1142
|
-
C.length > 0 && /* @__PURE__ */ Z(
|
|
1142
|
+
C.length > 0 && /* @__PURE__ */ Z(ka, {
|
|
1143
1143
|
label: c("shell.tenant.all_admin", "All tenants (admin)"),
|
|
1144
1144
|
tenants: C,
|
|
1145
1145
|
activeID: e?.id,
|
|
@@ -1180,7 +1180,7 @@ function Da({ tenant: e, tenants: t, onSwitch: r, busy: i, compact: a, locked: o
|
|
|
1180
1180
|
})]
|
|
1181
1181
|
});
|
|
1182
1182
|
}
|
|
1183
|
-
function
|
|
1183
|
+
function ka({ label: e, tenants: t, activeID: n, onPick: r }) {
|
|
1184
1184
|
return t.length === 0 ? null : /* @__PURE__ */ Q(X, { children: [/* @__PURE__ */ Z("div", {
|
|
1185
1185
|
style: {
|
|
1186
1186
|
padding: "6px 10px 4px",
|
|
@@ -1191,15 +1191,15 @@ function Oa({ label: e, tenants: t, activeID: n, onPick: r }) {
|
|
|
1191
1191
|
textTransform: "uppercase"
|
|
1192
1192
|
},
|
|
1193
1193
|
children: e
|
|
1194
|
-
}), t.map((e) => /* @__PURE__ */ Z(
|
|
1194
|
+
}), t.map((e) => /* @__PURE__ */ Z(Aa, {
|
|
1195
1195
|
tenant: e,
|
|
1196
|
-
tone:
|
|
1196
|
+
tone: Da(e.env),
|
|
1197
1197
|
active: e.id === n,
|
|
1198
1198
|
onPick: () => r(e)
|
|
1199
1199
|
}, e.id))] });
|
|
1200
1200
|
}
|
|
1201
|
-
function
|
|
1202
|
-
let a = z(), [o, s] = J(!1), c = r || o ? "var(--surface-3)" : "transparent", l =
|
|
1201
|
+
function Aa({ tenant: e, tone: t, active: r, onPick: i }) {
|
|
1202
|
+
let a = z(), [o, s] = J(!1), c = r || o ? "var(--surface-3)" : "transparent", l = wa(e.code);
|
|
1203
1203
|
return /* @__PURE__ */ Q("button", {
|
|
1204
1204
|
onClick: i,
|
|
1205
1205
|
onMouseEnter: () => s(!0),
|
|
@@ -1273,7 +1273,7 @@ function ka({ tenant: e, tone: t, active: r, onPick: i }) {
|
|
|
1273
1273
|
}
|
|
1274
1274
|
//#endregion
|
|
1275
1275
|
//#region src/components/chrome/Breadcrumbs.tsx
|
|
1276
|
-
function
|
|
1276
|
+
function ja({ items: e, onCrumbClick: t }) {
|
|
1277
1277
|
return !e || e.length === 0 ? null : /* @__PURE__ */ Z("nav", {
|
|
1278
1278
|
style: {
|
|
1279
1279
|
display: "flex",
|
|
@@ -1292,7 +1292,7 @@ function Aa({ items: e, onCrumbClick: t }) {
|
|
|
1292
1292
|
padding: "0 4px"
|
|
1293
1293
|
},
|
|
1294
1294
|
children: /* @__PURE__ */ Z(n.right, { size: 11 })
|
|
1295
|
-
}), /* @__PURE__ */ Z(
|
|
1295
|
+
}), /* @__PURE__ */ Z(Ma, {
|
|
1296
1296
|
crumb: r,
|
|
1297
1297
|
last: a,
|
|
1298
1298
|
clickable: o,
|
|
@@ -1301,7 +1301,7 @@ function Aa({ items: e, onCrumbClick: t }) {
|
|
|
1301
1301
|
})
|
|
1302
1302
|
});
|
|
1303
1303
|
}
|
|
1304
|
-
function
|
|
1304
|
+
function Ma({ crumb: e, last: t, clickable: r, onClick: i }) {
|
|
1305
1305
|
let [a, o] = J(!1), s = e.icon && n[e.icon] ? n[e.icon] : n.folder;
|
|
1306
1306
|
return /* @__PURE__ */ Q("button", {
|
|
1307
1307
|
onClick: () => {
|
|
@@ -1336,9 +1336,9 @@ function ja({ crumb: e, last: t, clickable: r, onClick: i }) {
|
|
|
1336
1336
|
}
|
|
1337
1337
|
//#endregion
|
|
1338
1338
|
//#region src/components/layout/TopBar.tsx
|
|
1339
|
-
var
|
|
1340
|
-
function
|
|
1341
|
-
let y = z(), b = R((e) => e.user), x =
|
|
1339
|
+
var Na = "⌘K";
|
|
1340
|
+
function Pa({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, showNavButton: a, onOpenTabs: o, tabsButtonRef: s, showTabsButton: c, mobileTabCount: l = 0, onCmdK: u, onToggleAI: d, aiOpen: f, onOpenProfile: p, onOpenPrefs: m, showTenantSwitcher: h = !0, showBreadcrumbs: g = !0, showThemeToggle: v = !0 } = {}) {
|
|
1341
|
+
let y = z(), b = R((e) => e.user), x = j(), { activeTenant: S, tenants: C, switchTenant: T, isSwitchingTenant: E, logout: D } = xa(), { isImpersonating: O, stop: ee } = Sa(), te = U((e) => e.colorScheme), ne = U((e) => e.set), [re, k] = J(!1), ie = q(null), ae = S?.env, oe = Da(ae), se = b?.email ?? "", ce = b?.display_name || se || y("shell.user_menu.user", "User"), le = a && x.category === "phone", ue = a && x.category !== "desktop", de = () => {
|
|
1342
1342
|
ne("colorScheme", te === "dark" ? "light" : "dark");
|
|
1343
1343
|
}, fe = (e) => {
|
|
1344
1344
|
S?.id !== e.id && (!H.getState().tabs.some((e) => e.dirty) || window.confirm(y("shell.tenant.switch_confirm", "You have unsaved changes in one or more tabs. Switching tenant will discard them. Continue?"))) && T(e.id);
|
|
@@ -1368,7 +1368,7 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1368
1368
|
opacity: .35,
|
|
1369
1369
|
pointerEvents: "none"
|
|
1370
1370
|
} }),
|
|
1371
|
-
a && /* @__PURE__ */ Z(
|
|
1371
|
+
a && /* @__PURE__ */ Z(N, {
|
|
1372
1372
|
ref: i,
|
|
1373
1373
|
icon: /* @__PURE__ */ Z(n.menu, { size: 16 }),
|
|
1374
1374
|
title: y("shell.nav.open", "Open navigation"),
|
|
@@ -1380,7 +1380,7 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1380
1380
|
maxWidth: le ? "min(210px, 56vw)" : ue ? 230 : void 0,
|
|
1381
1381
|
flex: le ? "1 1 auto" : "0 0 auto"
|
|
1382
1382
|
},
|
|
1383
|
-
children: /* @__PURE__ */ Z(
|
|
1383
|
+
children: /* @__PURE__ */ Z(Oa, {
|
|
1384
1384
|
tenant: S,
|
|
1385
1385
|
tenants: C,
|
|
1386
1386
|
onSwitch: fe,
|
|
@@ -1418,18 +1418,18 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1418
1418
|
fontSize: 11
|
|
1419
1419
|
},
|
|
1420
1420
|
children: /* @__PURE__ */ Z(n.right, { size: 10 })
|
|
1421
|
-
}), /* @__PURE__ */ Z(
|
|
1421
|
+
}), /* @__PURE__ */ Z(ja, {
|
|
1422
1422
|
items: e ?? [],
|
|
1423
1423
|
onCrumbClick: t
|
|
1424
1424
|
})] }),
|
|
1425
1425
|
/* @__PURE__ */ Z("div", { style: { flex: 1 } }),
|
|
1426
|
-
c && /* @__PURE__ */ Z(
|
|
1426
|
+
c && /* @__PURE__ */ Z(N, {
|
|
1427
1427
|
ref: s,
|
|
1428
1428
|
icon: /* @__PURE__ */ Z(n.layers, { size: 15 }),
|
|
1429
1429
|
title: y("shell.tabs.open_tabs_count", "Open tabs ({count})", { count: l }),
|
|
1430
1430
|
onClick: o
|
|
1431
1431
|
}),
|
|
1432
|
-
le ? /* @__PURE__ */ Z(
|
|
1432
|
+
le ? /* @__PURE__ */ Z(N, {
|
|
1433
1433
|
icon: /* @__PURE__ */ Z(n.search, { size: 15 }),
|
|
1434
1434
|
title: y("shell.palette.search", "Search or run command"),
|
|
1435
1435
|
onClick: u
|
|
@@ -1459,19 +1459,19 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1459
1459
|
},
|
|
1460
1460
|
children: y("shell.topbar.search_hint", "Search or run command…")
|
|
1461
1461
|
}),
|
|
1462
|
-
/* @__PURE__ */ Z(_, { children:
|
|
1462
|
+
/* @__PURE__ */ Z(_, { children: Na })
|
|
1463
1463
|
]
|
|
1464
1464
|
}),
|
|
1465
|
-
/* @__PURE__ */ Z(
|
|
1465
|
+
/* @__PURE__ */ Z(N, {
|
|
1466
1466
|
icon: /* @__PURE__ */ Z(n.bell, { size: 15 }),
|
|
1467
1467
|
title: y("shell.topbar.notifications", "Notifications")
|
|
1468
1468
|
}),
|
|
1469
|
-
v && /* @__PURE__ */ Z(
|
|
1469
|
+
v && /* @__PURE__ */ Z(N, {
|
|
1470
1470
|
icon: Z(te === "dark" ? n.sun : n.moon, { size: 15 }),
|
|
1471
1471
|
title: y("shell.topbar.theme", "Theme"),
|
|
1472
1472
|
onClick: de
|
|
1473
1473
|
}),
|
|
1474
|
-
/* @__PURE__ */ Z(
|
|
1474
|
+
/* @__PURE__ */ Z(N, {
|
|
1475
1475
|
icon: /* @__PURE__ */ Z(n.sparkle, { size: 15 }),
|
|
1476
1476
|
title: y("shell.ai_assistant", "AI Assistant"),
|
|
1477
1477
|
onClick: d,
|
|
@@ -1499,7 +1499,7 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1499
1499
|
border: 0,
|
|
1500
1500
|
cursor: "pointer"
|
|
1501
1501
|
},
|
|
1502
|
-
children: [/* @__PURE__ */ Z(
|
|
1502
|
+
children: [/* @__PURE__ */ Z(At, {
|
|
1503
1503
|
name: ce,
|
|
1504
1504
|
size: 22
|
|
1505
1505
|
}), !ue && /* @__PURE__ */ Q(X, { children: [/* @__PURE__ */ Z("span", {
|
|
@@ -1530,7 +1530,7 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1530
1530
|
gap: 8,
|
|
1531
1531
|
alignItems: "center"
|
|
1532
1532
|
},
|
|
1533
|
-
children: [/* @__PURE__ */ Z(
|
|
1533
|
+
children: [/* @__PURE__ */ Z(At, {
|
|
1534
1534
|
name: ce,
|
|
1535
1535
|
size: 28
|
|
1536
1536
|
}), /* @__PURE__ */ Q("div", {
|
|
@@ -1572,7 +1572,7 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1572
1572
|
})]
|
|
1573
1573
|
})]
|
|
1574
1574
|
}),
|
|
1575
|
-
O && /* @__PURE__ */ Z(
|
|
1575
|
+
O && /* @__PURE__ */ Z(M, {
|
|
1576
1576
|
icon: /* @__PURE__ */ Z(n.x, { size: 13 }),
|
|
1577
1577
|
onClick: () => {
|
|
1578
1578
|
k(!1), ee();
|
|
@@ -1580,27 +1580,27 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1580
1580
|
"data-testid": "exit-impersonation-menu-item",
|
|
1581
1581
|
children: y("shell.impersonation.exit", "Exit impersonation")
|
|
1582
1582
|
}),
|
|
1583
|
-
/* @__PURE__ */ Z(
|
|
1583
|
+
/* @__PURE__ */ Z(M, {
|
|
1584
1584
|
icon: /* @__PURE__ */ Z(n.users, { size: 13 }),
|
|
1585
1585
|
onClick: () => {
|
|
1586
1586
|
k(!1), p?.();
|
|
1587
1587
|
},
|
|
1588
1588
|
children: y("shell.user_menu.profile", "My profile")
|
|
1589
1589
|
}),
|
|
1590
|
-
/* @__PURE__ */ Z(
|
|
1590
|
+
/* @__PURE__ */ Z(M, {
|
|
1591
1591
|
icon: /* @__PURE__ */ Z(n.settings, { size: 13 }),
|
|
1592
1592
|
onClick: () => {
|
|
1593
1593
|
k(!1), m?.();
|
|
1594
1594
|
},
|
|
1595
1595
|
children: y("shell.user_menu.preferences", "Preferences")
|
|
1596
1596
|
}),
|
|
1597
|
-
v && /* @__PURE__ */ Z(
|
|
1597
|
+
v && /* @__PURE__ */ Z(M, {
|
|
1598
1598
|
icon: /* @__PURE__ */ Z(n.moon, { size: 13 }),
|
|
1599
1599
|
onClick: de,
|
|
1600
1600
|
children: y("shell.user_menu.toggle_theme", "Toggle theme")
|
|
1601
1601
|
}),
|
|
1602
|
-
/* @__PURE__ */ Z(
|
|
1603
|
-
/* @__PURE__ */ Z(
|
|
1602
|
+
/* @__PURE__ */ Z(M, { divider: !0 }),
|
|
1603
|
+
/* @__PURE__ */ Z(M, {
|
|
1604
1604
|
icon: /* @__PURE__ */ Z(n.x, { size: 13 }),
|
|
1605
1605
|
danger: !0,
|
|
1606
1606
|
onClick: () => {
|
|
@@ -1616,7 +1616,7 @@ function Na({ breadcrumbs: e, onCrumbClick: t, onOpenNav: r, navButtonRef: i, sh
|
|
|
1616
1616
|
}
|
|
1617
1617
|
//#endregion
|
|
1618
1618
|
//#region src/hooks/useTabTitle.ts
|
|
1619
|
-
function
|
|
1619
|
+
function Fa() {
|
|
1620
1620
|
let e = z(), { data: t } = L();
|
|
1621
1621
|
return W((n) => {
|
|
1622
1622
|
let r = E(e, n.pathname, t?.screens, t?.entities);
|
|
@@ -1625,8 +1625,8 @@ function Pa() {
|
|
|
1625
1625
|
}
|
|
1626
1626
|
//#endregion
|
|
1627
1627
|
//#region src/components/layout/TabStrip.tsx
|
|
1628
|
-
function
|
|
1629
|
-
let i = z(), a =
|
|
1628
|
+
function Ia({ onNew: e, onCloseRequest: t } = {}) {
|
|
1629
|
+
let i = z(), a = Fa(), o = Mi(), s = q(null), c = q(null), l = q(null), u = q(!1), [d, f] = J(!1), p = H((e) => e.tabs), m = H((e) => e.activeTabId), h = U((e) => e.tabsMaxOpen), g = H((e) => e.switchTab), _ = H((e) => e.closeTab), v = p.findIndex((e) => e.id === m);
|
|
1630
1630
|
G(() => {
|
|
1631
1631
|
let e = v === p.length - 1 ? l.current : c.current;
|
|
1632
1632
|
e && (e.scrollIntoView({
|
|
@@ -1881,7 +1881,7 @@ function Fa({ onNew: e, onCloseRequest: t } = {}) {
|
|
|
1881
1881
|
},
|
|
1882
1882
|
children: /* @__PURE__ */ Z(n.more, { size: 13 })
|
|
1883
1883
|
}),
|
|
1884
|
-
/* @__PURE__ */ Z(
|
|
1884
|
+
/* @__PURE__ */ Z(La, {
|
|
1885
1885
|
open: d,
|
|
1886
1886
|
anchor: s.current,
|
|
1887
1887
|
onClose: () => f(!1),
|
|
@@ -1894,7 +1894,7 @@ function Fa({ onNew: e, onCloseRequest: t } = {}) {
|
|
|
1894
1894
|
})]
|
|
1895
1895
|
});
|
|
1896
1896
|
}
|
|
1897
|
-
function
|
|
1897
|
+
function La({ open: e, anchor: t, onClose: r, canCloseCurrent: i, canCloseOthers: a, canCloseRight: o, onAction: s }) {
|
|
1898
1898
|
let c = z();
|
|
1899
1899
|
return /* @__PURE__ */ Q(me, {
|
|
1900
1900
|
open: e,
|
|
@@ -1903,29 +1903,29 @@ function Ia({ open: e, anchor: t, onClose: r, canCloseCurrent: i, canCloseOthers
|
|
|
1903
1903
|
align: "end",
|
|
1904
1904
|
width: 230,
|
|
1905
1905
|
children: [
|
|
1906
|
-
/* @__PURE__ */ Z(
|
|
1906
|
+
/* @__PURE__ */ Z(M, {
|
|
1907
1907
|
icon: /* @__PURE__ */ Z(n.x, { size: 13 }),
|
|
1908
1908
|
disabled: !i,
|
|
1909
1909
|
title: i ? void 0 : c("shell.tabs.none_closable", "No current tab can be closed"),
|
|
1910
1910
|
onClick: () => s("current"),
|
|
1911
1911
|
children: c("shell.tabs.close_current", "Close current tab")
|
|
1912
1912
|
}),
|
|
1913
|
-
/* @__PURE__ */ Z(
|
|
1913
|
+
/* @__PURE__ */ Z(M, {
|
|
1914
1914
|
icon: /* @__PURE__ */ Z(n.x, { size: 13 }),
|
|
1915
1915
|
disabled: !a,
|
|
1916
1916
|
title: a ? void 0 : c("shell.tabs.no_others", "No other tabs"),
|
|
1917
1917
|
onClick: () => s("others"),
|
|
1918
1918
|
children: c("shell.tabs.close_others", "Close others")
|
|
1919
1919
|
}),
|
|
1920
|
-
/* @__PURE__ */ Z(
|
|
1920
|
+
/* @__PURE__ */ Z(M, {
|
|
1921
1921
|
icon: /* @__PURE__ */ Z(n.x, { size: 13 }),
|
|
1922
1922
|
disabled: !o,
|
|
1923
1923
|
title: o ? void 0 : c("shell.tabs.none_right", "No tabs to the right"),
|
|
1924
1924
|
onClick: () => s("right"),
|
|
1925
1925
|
children: c("shell.tabs.close_right", "Close tabs to the right")
|
|
1926
1926
|
}),
|
|
1927
|
-
/* @__PURE__ */ Z(
|
|
1928
|
-
/* @__PURE__ */ Z(
|
|
1927
|
+
/* @__PURE__ */ Z(M, { divider: !0 }),
|
|
1928
|
+
/* @__PURE__ */ Z(M, {
|
|
1929
1929
|
icon: /* @__PURE__ */ Z(n.trash, { size: 13 }),
|
|
1930
1930
|
danger: !0,
|
|
1931
1931
|
onClick: () => s("all"),
|
|
@@ -1936,8 +1936,8 @@ function Ia({ open: e, anchor: t, onClose: r, canCloseCurrent: i, canCloseOthers
|
|
|
1936
1936
|
}
|
|
1937
1937
|
//#endregion
|
|
1938
1938
|
//#region src/components/layout/DirtyTabsCloseDialog.tsx
|
|
1939
|
-
function
|
|
1940
|
-
let o = z(), s =
|
|
1939
|
+
function Ra({ pending: e, onCancel: t, onCloseClean: i, onDiscardAll: a }) {
|
|
1940
|
+
let o = z(), s = Fa();
|
|
1941
1941
|
if (G(() => {
|
|
1942
1942
|
if (!e) return;
|
|
1943
1943
|
let n = (e) => {
|
|
@@ -2023,7 +2023,7 @@ function La({ pending: e, onCancel: t, onCloseClean: i, onDiscardAll: a }) {
|
|
|
2023
2023
|
})
|
|
2024
2024
|
})]
|
|
2025
2025
|
}),
|
|
2026
|
-
/* @__PURE__ */ Z(
|
|
2026
|
+
/* @__PURE__ */ Z(N, {
|
|
2027
2027
|
icon: /* @__PURE__ */ Z(n.x, { size: 14 }),
|
|
2028
2028
|
onClick: t,
|
|
2029
2029
|
title: o("dialog.cancel", "Cancel")
|
|
@@ -2119,8 +2119,8 @@ function La({ pending: e, onCancel: t, onCloseClean: i, onDiscardAll: a }) {
|
|
|
2119
2119
|
}
|
|
2120
2120
|
//#endregion
|
|
2121
2121
|
//#region src/components/layout/ImpersonationBanner.tsx
|
|
2122
|
-
function
|
|
2123
|
-
let e = z(), { info: t, stop: n, isStopping: r } =
|
|
2122
|
+
function za() {
|
|
2123
|
+
let e = z(), { info: t, stop: n, isStopping: r } = Sa(), [i, a] = J(() => Date.now());
|
|
2124
2124
|
if (G(() => {
|
|
2125
2125
|
if (!t) return;
|
|
2126
2126
|
let e = window.setInterval(() => a(Date.now()), 1e3);
|
|
@@ -2192,8 +2192,8 @@ function Ra() {
|
|
|
2192
2192
|
}
|
|
2193
2193
|
//#endregion
|
|
2194
2194
|
//#region src/components/layout/ImpersonationFrame.tsx
|
|
2195
|
-
function
|
|
2196
|
-
let { info: e } =
|
|
2195
|
+
function Ba() {
|
|
2196
|
+
let { info: e } = Sa(), { value: t } = A(e ? "impersonation.allow_destructive" : "", !1);
|
|
2197
2197
|
return G(() => {
|
|
2198
2198
|
if (!e) {
|
|
2199
2199
|
document.body.removeAttribute("data-impersonation-destructive");
|
|
@@ -2219,7 +2219,7 @@ function za() {
|
|
|
2219
2219
|
}
|
|
2220
2220
|
//#endregion
|
|
2221
2221
|
//#region src/components/layout/tab-close.ts
|
|
2222
|
-
function
|
|
2222
|
+
function Va(e, t, n, r) {
|
|
2223
2223
|
if (n === "current" && e.length <= 1) return null;
|
|
2224
2224
|
let i = vr(e, t, n, r);
|
|
2225
2225
|
if (i.length === 0) return null;
|
|
@@ -2230,7 +2230,7 @@ function Ba(e, t, n, r) {
|
|
|
2230
2230
|
cleanIds: i.filter((e) => !s.has(e))
|
|
2231
2231
|
};
|
|
2232
2232
|
}
|
|
2233
|
-
function
|
|
2233
|
+
function Ha(e) {
|
|
2234
2234
|
return e ? {
|
|
2235
2235
|
pathname: e.pathname,
|
|
2236
2236
|
search: e.search || void 0
|
|
@@ -2241,8 +2241,8 @@ function Va(e) {
|
|
|
2241
2241
|
}
|
|
2242
2242
|
//#endregion
|
|
2243
2243
|
//#region src/components/layout/CommandPalette.tsx
|
|
2244
|
-
var
|
|
2245
|
-
function
|
|
2244
|
+
var Ua = "Esc";
|
|
2245
|
+
function Wa(e, t = 14) {
|
|
2246
2246
|
if (!e) return null;
|
|
2247
2247
|
let i = n[e];
|
|
2248
2248
|
return i ? /* @__PURE__ */ Z(i, { size: t }) : /* @__PURE__ */ Z(r, {
|
|
@@ -2250,7 +2250,7 @@ function Ua(e, t = 14) {
|
|
|
2250
2250
|
size: t
|
|
2251
2251
|
});
|
|
2252
2252
|
}
|
|
2253
|
-
function
|
|
2253
|
+
function Ga(e, t, r, i) {
|
|
2254
2254
|
if (!t || !r) return [];
|
|
2255
2255
|
let a = [], o = (t) => {
|
|
2256
2256
|
if (t.screen) {
|
|
@@ -2259,7 +2259,7 @@ function Wa(e, t, r, i) {
|
|
|
2259
2259
|
let r = e(t.name) || t.screen;
|
|
2260
2260
|
a.push({
|
|
2261
2261
|
group: e("shell.palette.group.navigate", "Navigate"),
|
|
2262
|
-
icon:
|
|
2262
|
+
icon: Wa(t.icon || o.display?.icon || "folder"),
|
|
2263
2263
|
label: e("shell.palette.go_to", "Go to {name}", { name: r }),
|
|
2264
2264
|
act: () => i({
|
|
2265
2265
|
type: "nav",
|
|
@@ -2286,8 +2286,8 @@ function Wa(e, t, r, i) {
|
|
|
2286
2286
|
for (let e of t) o(e);
|
|
2287
2287
|
return a;
|
|
2288
2288
|
}
|
|
2289
|
-
function
|
|
2290
|
-
let l = z(), u =
|
|
2289
|
+
function Ka({ open: e, onClose: t, onAction: r, mode: i = "default", navigation: a, screens: o, includeAI: s = !0, aiName: c = "" }) {
|
|
2290
|
+
let l = z(), u = Pt()?.app_name?.trim(), [d, f] = J(""), [p, m] = J(0), h = q(null), g = j().category === "phone";
|
|
2291
2291
|
G(() => {
|
|
2292
2292
|
e && (setTimeout(() => h.current?.focus(), 50), f(i === "new" ? l("shell.palette.new_in_screen", "New {name}").split("{name}")[0] : ""), m(0));
|
|
2293
2293
|
}, [
|
|
@@ -2297,7 +2297,7 @@ function Ga({ open: e, onClose: t, onAction: r, mode: i = "default", navigation:
|
|
|
2297
2297
|
]);
|
|
2298
2298
|
let v = K(() => {
|
|
2299
2299
|
let e = [];
|
|
2300
|
-
if (e.push(...
|
|
2300
|
+
if (e.push(...Ga(l, a, o, r)), s) {
|
|
2301
2301
|
let t = l("shell.palette.group.ai", "AI");
|
|
2302
2302
|
e.push({
|
|
2303
2303
|
group: t,
|
|
@@ -2452,12 +2452,12 @@ function Ga({ open: e, onClose: t, onAction: r, mode: i = "default", navigation:
|
|
|
2452
2452
|
minWidth: 0
|
|
2453
2453
|
}
|
|
2454
2454
|
}),
|
|
2455
|
-
g && /* @__PURE__ */ Z(
|
|
2455
|
+
g && /* @__PURE__ */ Z(N, {
|
|
2456
2456
|
icon: /* @__PURE__ */ Z(n.x, { size: 14 }),
|
|
2457
2457
|
title: l("shell.palette.close", "Close command palette"),
|
|
2458
2458
|
onClick: t
|
|
2459
2459
|
}),
|
|
2460
|
-
!g && /* @__PURE__ */ Z(_, { children:
|
|
2460
|
+
!g && /* @__PURE__ */ Z(_, { children: Ua })
|
|
2461
2461
|
]
|
|
2462
2462
|
}),
|
|
2463
2463
|
/* @__PURE__ */ Q("div", {
|
|
@@ -2615,47 +2615,47 @@ function Ga({ open: e, onClose: t, onAction: r, mode: i = "default", navigation:
|
|
|
2615
2615
|
}
|
|
2616
2616
|
//#endregion
|
|
2617
2617
|
//#region src/components/agents/AgentChatPanel.tsx
|
|
2618
|
-
var
|
|
2619
|
-
function
|
|
2618
|
+
var qa = Si(() => import("./AgentChatPanel.impl-rgkewyMl.js").then((e) => ({ default: e.AgentChatPanel })));
|
|
2619
|
+
function Ja(e) {
|
|
2620
2620
|
return e.open ? /* @__PURE__ */ Z(xi, {
|
|
2621
2621
|
fallback: null,
|
|
2622
|
-
children: /* @__PURE__ */ Z(
|
|
2622
|
+
children: /* @__PURE__ */ Z(qa, { ...e })
|
|
2623
2623
|
}) : null;
|
|
2624
2624
|
}
|
|
2625
2625
|
//#endregion
|
|
2626
2626
|
//#region src/components/layout/Layout.tsx
|
|
2627
|
-
var
|
|
2628
|
-
function
|
|
2627
|
+
var Ya = "default";
|
|
2628
|
+
function Xa() {
|
|
2629
2629
|
let e = z();
|
|
2630
|
-
|
|
2631
|
-
let { isAuthenticated: t, isLoading: n, user: r, activeTenant: i } = R(), a =
|
|
2630
|
+
pa(), mr();
|
|
2631
|
+
let { isAuthenticated: t, isLoading: n, user: r, activeTenant: i } = R(), a = Qt(), o = Mi(), s = cr(), c = W((e) => s(e, { topLevel: !0 }), [s]), l = Ai(), { data: u } = L(), d = j(), f = U((e) => e.sidebar), p = U((e) => e.tabsPosition), m = U((e) => e.aiSurface), h = U((e) => e.colorScheme), g = U((e) => e.set), _ = U((e) => e.hydrateFromBranding), { branding: v } = qt(), y = Nt(), b = H((e) => e.tabs), x = H((e) => e.activeTabId), S = H((e) => e.closeTabs), C = H((e) => e.switchTab), w = H((e) => e.setScope), T = H((e) => e.hydrate), [E, D] = J(Ya), [O, ee] = J(!1), [te, ne] = J("default"), [re, k] = J(!1), [ie, ae] = J(), [oe, se] = J(!1), [ce, le] = J(!1), ue = q(null), de = q(null), [fe, pe] = J(null), me = m !== "off" && y.isVisible("show_command_palette"), he = m === "panel" || m === "both", ge = m === "command" || m === "both", _e = Pt(), ve = _e?.ai_name?.trim() ?? "", A = d.category === "phone" || d.category === "tablet", ye = y.isVisible("show_topbar"), be = !A && y.isVisible("show_rail"), xe = !A && y.isVisible("show_sidebar"), Se = !A && y.isVisible("show_tabs"), Ce = A && y.isVisible("show_sidebar"), we = A && y.isVisible("show_tabs"), Te = y.isVisible("show_tenant_switcher"), Ee = y.isVisible("show_breadcrumbs"), De = y.isVisible("show_theme_toggle"), Oe = W((e = "default") => {
|
|
2632
2632
|
me && (ne(e), ee(!0));
|
|
2633
|
-
}, [me]),
|
|
2633
|
+
}, [me]), ke = W((e) => {
|
|
2634
2634
|
if (e.length === 0) return;
|
|
2635
2635
|
let t = H.getState(), n = !t.activeTabId || e.includes(t.activeTabId), r = S(e);
|
|
2636
2636
|
if (!n) return;
|
|
2637
|
-
let i =
|
|
2637
|
+
let i = Ha(r);
|
|
2638
2638
|
o({
|
|
2639
2639
|
pathname: i.pathname,
|
|
2640
2640
|
search: i.search
|
|
2641
2641
|
}, { replace: i.replace });
|
|
2642
|
-
}, [S, o]),
|
|
2643
|
-
let n = H.getState(), r =
|
|
2642
|
+
}, [S, o]), Ae = W((e, t) => {
|
|
2643
|
+
let n = H.getState(), r = Va(n.tabs, n.activeTabId, e, t);
|
|
2644
2644
|
if (r) {
|
|
2645
2645
|
if (r.dirtyTabs.length > 0) {
|
|
2646
2646
|
pe(r);
|
|
2647
2647
|
return;
|
|
2648
2648
|
}
|
|
2649
|
-
|
|
2649
|
+
ke(r.ids);
|
|
2650
2650
|
}
|
|
2651
|
-
}, [
|
|
2651
|
+
}, [ke]), je = W(() => {
|
|
2652
2652
|
pe(null);
|
|
2653
|
-
}, []),
|
|
2654
|
-
fe && (pe(null),
|
|
2655
|
-
}, [fe,
|
|
2656
|
-
fe && (pe(null),
|
|
2657
|
-
}, [fe,
|
|
2658
|
-
|
|
2653
|
+
}, []), Me = W(() => {
|
|
2654
|
+
fe && (pe(null), ke(fe.cleanIds));
|
|
2655
|
+
}, [fe, ke]), Ne = W(() => {
|
|
2656
|
+
fe && (pe(null), ke(fe.ids));
|
|
2657
|
+
}, [fe, ke]);
|
|
2658
|
+
Xe(), G(() => {
|
|
2659
2659
|
a.enabled || !n && !t && o(dn(`${l.pathname}${l.search}${l.hash}`), { replace: !0 });
|
|
2660
2660
|
}, [
|
|
2661
2661
|
a.enabled,
|
|
@@ -2677,14 +2677,14 @@ function Ya() {
|
|
|
2677
2677
|
_(v?.preferences);
|
|
2678
2678
|
}, [v, _]), G(() => {
|
|
2679
2679
|
if (!u) return;
|
|
2680
|
-
let e =
|
|
2680
|
+
let e = ao(u.navigation, u.screens, l.pathname);
|
|
2681
2681
|
if (e) {
|
|
2682
2682
|
D(e);
|
|
2683
2683
|
return;
|
|
2684
2684
|
}
|
|
2685
2685
|
let t = E;
|
|
2686
|
-
if ((u.navigation ?? []).some((e) => (e.area ||
|
|
2687
|
-
let n = (u.navigation ?? [])[0]?.area ||
|
|
2686
|
+
if ((u.navigation ?? []).some((e) => (e.area || Ya) === t)) return;
|
|
2687
|
+
let n = (u.navigation ?? [])[0]?.area || Ya;
|
|
2688
2688
|
n !== t && D(n);
|
|
2689
2689
|
}, [
|
|
2690
2690
|
u,
|
|
@@ -2695,17 +2695,17 @@ function Ya() {
|
|
|
2695
2695
|
}, [l.pathname, l.search]), G(() => {
|
|
2696
2696
|
let e = (e) => {
|
|
2697
2697
|
let t = document.activeElement, n = !!t && (t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.isContentEditable), r = e.metaKey || e.ctrlKey;
|
|
2698
|
-
r && e.key.toLowerCase() === "k" ? (e.preventDefault(),
|
|
2698
|
+
r && e.key.toLowerCase() === "k" ? (e.preventDefault(), Oe("default")) : r && e.key.toLowerCase() === "t" ? (e.preventDefault(), Oe("new")) : r && e.key.toLowerCase() === "b" ? (e.preventDefault(), g("sidebar", f === "collapsed" ? "wide" : "collapsed")) : r && e.key.toLowerCase() === "w" ? (e.preventDefault(), Ae("current")) : r && e.key === "/" ? (e.preventDefault(), he && k((e) => !e)) : e.key === "/" && !n ? (e.preventDefault(), Oe("default")) : e.key === "Escape" && ee(!1);
|
|
2699
2699
|
};
|
|
2700
2700
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
2701
2701
|
}, [
|
|
2702
|
-
|
|
2703
|
-
|
|
2702
|
+
Oe,
|
|
2703
|
+
Ae,
|
|
2704
2704
|
g,
|
|
2705
2705
|
f,
|
|
2706
2706
|
he
|
|
2707
2707
|
]);
|
|
2708
|
-
let
|
|
2708
|
+
let Pe = K(() => u ? oo(e, u.navigation, u.screens, l.pathname, b, x, c) : [], [
|
|
2709
2709
|
e,
|
|
2710
2710
|
u,
|
|
2711
2711
|
l.pathname,
|
|
@@ -2725,11 +2725,11 @@ function Ya() {
|
|
|
2725
2725
|
children: e("shell.loading", "Loading…")
|
|
2726
2726
|
});
|
|
2727
2727
|
if (!t) return null;
|
|
2728
|
-
let
|
|
2728
|
+
let Fe = (e) => {
|
|
2729
2729
|
D(e);
|
|
2730
|
-
let t =
|
|
2730
|
+
let t = io(e, u);
|
|
2731
2731
|
t && c(t);
|
|
2732
|
-
},
|
|
2732
|
+
}, Ie = (e) => {
|
|
2733
2733
|
switch (e.type) {
|
|
2734
2734
|
case "nav":
|
|
2735
2735
|
e.route && c(e.route);
|
|
@@ -2749,64 +2749,64 @@ function Ya() {
|
|
|
2749
2749
|
case "theme":
|
|
2750
2750
|
g("colorScheme", h === "dark" ? "light" : "dark");
|
|
2751
2751
|
break;
|
|
2752
|
-
case "tab-close": e.tabCloseScope &&
|
|
2752
|
+
case "tab-close": e.tabCloseScope && Ae(e.tabCloseScope);
|
|
2753
2753
|
}
|
|
2754
2754
|
};
|
|
2755
|
-
return a.enabled ? /* @__PURE__ */ Q(
|
|
2756
|
-
/* @__PURE__ */ Z(pa, {}),
|
|
2757
|
-
/* @__PURE__ */ Z(oa, {}),
|
|
2755
|
+
return a.enabled ? /* @__PURE__ */ Q($e, { children: [
|
|
2758
2756
|
/* @__PURE__ */ Z(ma, {}),
|
|
2757
|
+
/* @__PURE__ */ Z(sa, {}),
|
|
2758
|
+
/* @__PURE__ */ Z(ha, {}),
|
|
2759
|
+
/* @__PURE__ */ Z(oa, {}),
|
|
2759
2760
|
/* @__PURE__ */ Z(aa, {}),
|
|
2760
|
-
/* @__PURE__ */ Z(ia, {}),
|
|
2761
2761
|
/* @__PURE__ */ Z("div", {
|
|
2762
2762
|
id: "app-embed",
|
|
2763
2763
|
className: "flex min-h-0 flex-col overflow-auto",
|
|
2764
2764
|
style: { height: "var(--app-height)" },
|
|
2765
|
-
children: /* @__PURE__ */ Z(
|
|
2765
|
+
children: /* @__PURE__ */ Z(Di, {})
|
|
2766
2766
|
})
|
|
2767
|
-
] }) : /* @__PURE__ */ Z(
|
|
2767
|
+
] }) : /* @__PURE__ */ Z($e, { children: /* @__PURE__ */ Q("div", {
|
|
2768
2768
|
id: "app",
|
|
2769
2769
|
"data-sidebar": f,
|
|
2770
|
-
"data-mobile-shell":
|
|
2771
|
-
style:
|
|
2772
|
-
mobileShell:
|
|
2773
|
-
showTopbar:
|
|
2774
|
-
showRail:
|
|
2775
|
-
showSidebar:
|
|
2770
|
+
"data-mobile-shell": A ? "true" : void 0,
|
|
2771
|
+
style: Za({
|
|
2772
|
+
mobileShell: A,
|
|
2773
|
+
showTopbar: ye,
|
|
2774
|
+
showRail: be,
|
|
2775
|
+
showSidebar: xe,
|
|
2776
2776
|
sidebarMode: f
|
|
2777
2777
|
}),
|
|
2778
2778
|
children: [
|
|
2779
|
-
/* @__PURE__ */ Z(Ra, {}),
|
|
2780
2779
|
/* @__PURE__ */ Z(za, {}),
|
|
2781
|
-
|
|
2782
|
-
|
|
2780
|
+
/* @__PURE__ */ Z(Ba, {}),
|
|
2781
|
+
ye && /* @__PURE__ */ Z(Pa, {
|
|
2782
|
+
breadcrumbs: Pe,
|
|
2783
2783
|
onCrumbClick: (e) => e.onClick && e.onClick(),
|
|
2784
|
-
showNavButton:
|
|
2784
|
+
showNavButton: Ce,
|
|
2785
2785
|
navButtonRef: ue,
|
|
2786
2786
|
onOpenNav: () => se(!0),
|
|
2787
|
-
showTabsButton:
|
|
2787
|
+
showTabsButton: we,
|
|
2788
2788
|
tabsButtonRef: de,
|
|
2789
2789
|
onOpenTabs: () => le(!0),
|
|
2790
2790
|
mobileTabCount: b.length,
|
|
2791
|
-
onCmdK: () =>
|
|
2791
|
+
onCmdK: () => Oe("default"),
|
|
2792
2792
|
onToggleAI: () => he && k((e) => !e),
|
|
2793
2793
|
aiOpen: re,
|
|
2794
2794
|
onOpenProfile: () => c("/profile"),
|
|
2795
2795
|
onOpenPrefs: () => c("/preferences"),
|
|
2796
|
-
showTenantSwitcher:
|
|
2797
|
-
showBreadcrumbs:
|
|
2798
|
-
showThemeToggle:
|
|
2796
|
+
showTenantSwitcher: Te,
|
|
2797
|
+
showBreadcrumbs: Ee,
|
|
2798
|
+
showThemeToggle: De
|
|
2799
2799
|
}),
|
|
2800
|
-
|
|
2800
|
+
be && /* @__PURE__ */ Z(Ji, {
|
|
2801
2801
|
activeArea: E,
|
|
2802
|
-
onPick:
|
|
2802
|
+
onPick: Fe,
|
|
2803
2803
|
onToggleAI: () => he && k((e) => !e),
|
|
2804
2804
|
aiOpen: re,
|
|
2805
|
-
onCmdK: () =>
|
|
2805
|
+
onCmdK: () => Oe("default"),
|
|
2806
2806
|
areas: u?.areas,
|
|
2807
2807
|
branding: _e
|
|
2808
2808
|
}),
|
|
2809
|
-
|
|
2809
|
+
xe && /* @__PURE__ */ Z(ga, { activeArea: E }),
|
|
2810
2810
|
/* @__PURE__ */ Q("main", {
|
|
2811
2811
|
style: {
|
|
2812
2812
|
gridArea: "main",
|
|
@@ -2816,9 +2816,9 @@ function Ya() {
|
|
|
2816
2816
|
minWidth: 0
|
|
2817
2817
|
},
|
|
2818
2818
|
children: [
|
|
2819
|
-
|
|
2820
|
-
onNew: () =>
|
|
2821
|
-
onCloseRequest:
|
|
2819
|
+
Se && p === "top" && /* @__PURE__ */ Z(Ia, {
|
|
2820
|
+
onNew: () => Oe("new"),
|
|
2821
|
+
onCloseRequest: Ae
|
|
2822
2822
|
}),
|
|
2823
2823
|
/* @__PURE__ */ Z("div", {
|
|
2824
2824
|
style: {
|
|
@@ -2828,25 +2828,25 @@ function Ya() {
|
|
|
2828
2828
|
display: "flex",
|
|
2829
2829
|
flexDirection: "column"
|
|
2830
2830
|
},
|
|
2831
|
-
children: /* @__PURE__ */ Z(
|
|
2831
|
+
children: /* @__PURE__ */ Z(Di, {})
|
|
2832
2832
|
}),
|
|
2833
|
-
|
|
2834
|
-
onNew: () =>
|
|
2835
|
-
onCloseRequest:
|
|
2833
|
+
Se && p === "bottom" && /* @__PURE__ */ Z(Ia, {
|
|
2834
|
+
onNew: () => Oe("new"),
|
|
2835
|
+
onCloseRequest: Ae
|
|
2836
2836
|
})
|
|
2837
2837
|
]
|
|
2838
2838
|
}),
|
|
2839
|
-
me && /* @__PURE__ */ Z(
|
|
2839
|
+
me && /* @__PURE__ */ Z(Ka, {
|
|
2840
2840
|
open: O,
|
|
2841
2841
|
mode: te,
|
|
2842
2842
|
onClose: () => ee(!1),
|
|
2843
|
-
onAction: (e) =>
|
|
2843
|
+
onAction: (e) => Ie(e),
|
|
2844
2844
|
navigation: u?.navigation,
|
|
2845
2845
|
screens: u?.screens,
|
|
2846
2846
|
includeAI: ge,
|
|
2847
2847
|
aiName: ve
|
|
2848
2848
|
}),
|
|
2849
|
-
he && re && /* @__PURE__ */ Z(
|
|
2849
|
+
he && re && /* @__PURE__ */ Z(Ja, {
|
|
2850
2850
|
open: re,
|
|
2851
2851
|
onClose: () => {
|
|
2852
2852
|
k(!1), ae(void 0);
|
|
@@ -2854,7 +2854,7 @@ function Ya() {
|
|
|
2854
2854
|
title: ve,
|
|
2855
2855
|
askOnOpen: ie
|
|
2856
2856
|
}),
|
|
2857
|
-
|
|
2857
|
+
Ce && /* @__PURE__ */ Z(no, {
|
|
2858
2858
|
open: oe,
|
|
2859
2859
|
activeArea: E,
|
|
2860
2860
|
schema: u,
|
|
@@ -2862,7 +2862,7 @@ function Ya() {
|
|
|
2862
2862
|
onClose: () => se(!1),
|
|
2863
2863
|
onNavigate: c
|
|
2864
2864
|
}),
|
|
2865
|
-
|
|
2865
|
+
we && /* @__PURE__ */ Z(ro, {
|
|
2866
2866
|
open: ce,
|
|
2867
2867
|
tabs: b,
|
|
2868
2868
|
activeTabId: x,
|
|
@@ -2874,18 +2874,18 @@ function Ya() {
|
|
|
2874
2874
|
search: e.search
|
|
2875
2875
|
}, { replace: !1 }), le(!1);
|
|
2876
2876
|
},
|
|
2877
|
-
onCloseTab: (e) =>
|
|
2877
|
+
onCloseTab: (e) => Ae("current", e)
|
|
2878
2878
|
}),
|
|
2879
|
-
/* @__PURE__ */ Z(
|
|
2879
|
+
/* @__PURE__ */ Z(Ra, {
|
|
2880
2880
|
pending: fe,
|
|
2881
|
-
onCancel:
|
|
2882
|
-
onCloseClean:
|
|
2883
|
-
onDiscardAll:
|
|
2881
|
+
onCancel: je,
|
|
2882
|
+
onCloseClean: Me,
|
|
2883
|
+
onDiscardAll: Ne
|
|
2884
2884
|
})
|
|
2885
2885
|
]
|
|
2886
2886
|
}) });
|
|
2887
2887
|
}
|
|
2888
|
-
function
|
|
2888
|
+
function Za({ mobileShell: e, showTopbar: t, showRail: n, showSidebar: r, sidebarMode: i }) {
|
|
2889
2889
|
let a = t ? "var(--topbar-h) minmax(0, 1fr)" : "minmax(0, 1fr)";
|
|
2890
2890
|
if (e) return {
|
|
2891
2891
|
height: "var(--app-height)",
|
|
@@ -2907,7 +2907,7 @@ function Xa({ mobileShell: e, showTopbar: t, showRail: n, showSidebar: r, sideba
|
|
|
2907
2907
|
overflow: "hidden"
|
|
2908
2908
|
};
|
|
2909
2909
|
}
|
|
2910
|
-
var
|
|
2910
|
+
var Qa = [
|
|
2911
2911
|
"a[href]",
|
|
2912
2912
|
"button:not([disabled])",
|
|
2913
2913
|
"input:not([disabled])",
|
|
@@ -2915,14 +2915,14 @@ var Za = [
|
|
|
2915
2915
|
"textarea:not([disabled])",
|
|
2916
2916
|
"[tabindex]:not([tabindex='-1'])"
|
|
2917
2917
|
].join(",");
|
|
2918
|
-
function Qa(e) {
|
|
2919
|
-
return e ? Array.from(e.querySelectorAll(Za)).filter((e) => !e.hasAttribute("disabled") && e.getAttribute("aria-hidden") !== "true") : [];
|
|
2920
|
-
}
|
|
2921
2918
|
function $a(e) {
|
|
2922
|
-
Qa(e)[
|
|
2919
|
+
return e ? Array.from(e.querySelectorAll(Qa)).filter((e) => !e.hasAttribute("disabled") && e.getAttribute("aria-hidden") !== "true") : [];
|
|
2923
2920
|
}
|
|
2924
|
-
function eo(e
|
|
2925
|
-
|
|
2921
|
+
function eo(e) {
|
|
2922
|
+
$a(e)[0]?.focus();
|
|
2923
|
+
}
|
|
2924
|
+
function to(e, t) {
|
|
2925
|
+
let n = $a(e);
|
|
2926
2926
|
if (n.length === 0) {
|
|
2927
2927
|
t.preventDefault();
|
|
2928
2928
|
return;
|
|
@@ -2934,20 +2934,20 @@ function eo(e, t) {
|
|
|
2934
2934
|
}
|
|
2935
2935
|
!t.shiftKey && a === i && (t.preventDefault(), r.focus());
|
|
2936
2936
|
}
|
|
2937
|
-
function
|
|
2937
|
+
function no({ open: e, activeArea: t, schema: r, returnFocusRef: i, onClose: a, onNavigate: o }) {
|
|
2938
2938
|
let s = z(), [c, l] = J(t), u = q(null);
|
|
2939
2939
|
if (G(() => {
|
|
2940
2940
|
e && l(t);
|
|
2941
2941
|
}, [e, t]), G(() => {
|
|
2942
2942
|
if (!e) return;
|
|
2943
2943
|
let t = document.activeElement instanceof HTMLElement ? document.activeElement : null, n = i.current;
|
|
2944
|
-
requestAnimationFrame(() =>
|
|
2944
|
+
requestAnimationFrame(() => eo(u.current));
|
|
2945
2945
|
let r = (e) => {
|
|
2946
2946
|
if (e.key === "Escape") {
|
|
2947
2947
|
e.preventDefault(), a();
|
|
2948
2948
|
return;
|
|
2949
2949
|
}
|
|
2950
|
-
e.key === "Tab" &&
|
|
2950
|
+
e.key === "Tab" && to(u.current, e);
|
|
2951
2951
|
};
|
|
2952
2952
|
return window.addEventListener("keydown", r), () => {
|
|
2953
2953
|
window.removeEventListener("keydown", r), (n ?? t)?.focus();
|
|
@@ -2957,11 +2957,11 @@ function to({ open: e, activeArea: t, schema: r, returnFocusRef: i, onClose: a,
|
|
|
2957
2957
|
a,
|
|
2958
2958
|
i
|
|
2959
2959
|
]), !e || !r) return null;
|
|
2960
|
-
let d = Array.from(new Set((r.navigation ?? []).map((e) => e.area ||
|
|
2961
|
-
d.length === 0 && d.push(
|
|
2960
|
+
let d = Array.from(new Set((r.navigation ?? []).map((e) => e.area || Ya)));
|
|
2961
|
+
d.length === 0 && d.push(Ya);
|
|
2962
2962
|
let f = (e) => {
|
|
2963
2963
|
let t = r.areas?.find((t) => t.code === e);
|
|
2964
|
-
return s(t?.name) || (e ===
|
|
2964
|
+
return s(t?.name) || (e === Ya ? s("shell.nav.title", "Navigation") : e);
|
|
2965
2965
|
}, p = (e, t) => {
|
|
2966
2966
|
let n = e.screen ? r.screens[e.screen] : void 0, i = [...e.items ?? [], ...e.children ?? []], c = s(e.name) || (n ? s(n.display?.name) : "");
|
|
2967
2967
|
return /* @__PURE__ */ Q("div", {
|
|
@@ -3058,7 +3058,7 @@ function to({ open: e, activeArea: t, schema: r, returnFocusRef: i, onClose: a,
|
|
|
3058
3058
|
flex: 1
|
|
3059
3059
|
},
|
|
3060
3060
|
children: s("shell.nav.title", "Navigation")
|
|
3061
|
-
}), /* @__PURE__ */ Z(
|
|
3061
|
+
}), /* @__PURE__ */ Z(N, {
|
|
3062
3062
|
icon: /* @__PURE__ */ Z(n.x, { size: 15 }),
|
|
3063
3063
|
title: s("shell.nav.close", "Close navigation"),
|
|
3064
3064
|
onClick: a
|
|
@@ -3072,7 +3072,7 @@ function to({ open: e, activeArea: t, schema: r, returnFocusRef: i, onClose: a,
|
|
|
3072
3072
|
gap: 6
|
|
3073
3073
|
},
|
|
3074
3074
|
children: d.map((e) => {
|
|
3075
|
-
let i = c === e, a =
|
|
3075
|
+
let i = c === e, a = _a(s, r.navigation ?? [], e);
|
|
3076
3076
|
return /* @__PURE__ */ Q("section", { children: [/* @__PURE__ */ Q("button", {
|
|
3077
3077
|
type: "button",
|
|
3078
3078
|
onClick: () => l(i ? "" : e),
|
|
@@ -3117,18 +3117,18 @@ function to({ open: e, activeArea: t, schema: r, returnFocusRef: i, onClose: a,
|
|
|
3117
3117
|
})]
|
|
3118
3118
|
})] });
|
|
3119
3119
|
}
|
|
3120
|
-
function
|
|
3121
|
-
let c = z(), l =
|
|
3120
|
+
function ro({ open: e, tabs: t, activeTabId: r, returnFocusRef: i, onClose: a, onSwitch: o, onCloseTab: s }) {
|
|
3121
|
+
let c = z(), l = Fa(), u = q(null);
|
|
3122
3122
|
return G(() => {
|
|
3123
3123
|
if (!e) return;
|
|
3124
3124
|
let t = document.activeElement instanceof HTMLElement ? document.activeElement : null, n = i.current;
|
|
3125
|
-
requestAnimationFrame(() =>
|
|
3125
|
+
requestAnimationFrame(() => eo(u.current));
|
|
3126
3126
|
let r = (e) => {
|
|
3127
3127
|
if (e.key === "Escape") {
|
|
3128
3128
|
e.preventDefault(), a();
|
|
3129
3129
|
return;
|
|
3130
3130
|
}
|
|
3131
|
-
e.key === "Tab" &&
|
|
3131
|
+
e.key === "Tab" && to(u.current, e);
|
|
3132
3132
|
};
|
|
3133
3133
|
return window.addEventListener("keydown", r), () => {
|
|
3134
3134
|
window.removeEventListener("keydown", r), (n ?? t)?.focus();
|
|
@@ -3182,7 +3182,7 @@ function no({ open: e, tabs: t, activeTabId: r, returnFocusRef: i, onClose: a, o
|
|
|
3182
3182
|
fontSize: 13
|
|
3183
3183
|
},
|
|
3184
3184
|
children: c("shell.tabs.open_tabs", "Open tabs")
|
|
3185
|
-
}), /* @__PURE__ */ Z(
|
|
3185
|
+
}), /* @__PURE__ */ Z(N, {
|
|
3186
3186
|
icon: /* @__PURE__ */ Z(n.x, { size: 14 }),
|
|
3187
3187
|
title: c("shell.tabs.close_menu", "Close tabs menu"),
|
|
3188
3188
|
onClick: a
|
|
@@ -3227,7 +3227,7 @@ function no({ open: e, tabs: t, activeTabId: r, returnFocusRef: i, onClose: a, o
|
|
|
3227
3227
|
},
|
|
3228
3228
|
children: l(e)
|
|
3229
3229
|
})]
|
|
3230
|
-
}), e.closable && /* @__PURE__ */ Z(
|
|
3230
|
+
}), e.closable && /* @__PURE__ */ Z(N, {
|
|
3231
3231
|
icon: /* @__PURE__ */ Z(n.x, { size: 12 }),
|
|
3232
3232
|
title: c("shell.tabs.close_named", "Close {title}", { title: l(e) }),
|
|
3233
3233
|
onClick: () => s(e.id)
|
|
@@ -3235,7 +3235,7 @@ function no({ open: e, tabs: t, activeTabId: r, returnFocusRef: i, onClose: a, o
|
|
|
3235
3235
|
}, e.id))]
|
|
3236
3236
|
})] }) : null;
|
|
3237
3237
|
}
|
|
3238
|
-
function
|
|
3238
|
+
function io(e, t) {
|
|
3239
3239
|
if (!t) return;
|
|
3240
3240
|
let n = t.areas?.find((t) => t.code === e);
|
|
3241
3241
|
if (n?.home_screen) {
|
|
@@ -3257,12 +3257,12 @@ function ro(e, t) {
|
|
|
3257
3257
|
}
|
|
3258
3258
|
};
|
|
3259
3259
|
for (let n of t.navigation ?? []) {
|
|
3260
|
-
if ((n.area ||
|
|
3260
|
+
if ((n.area || Ya) !== e) continue;
|
|
3261
3261
|
let t = r(n);
|
|
3262
3262
|
if (t) return t;
|
|
3263
3263
|
}
|
|
3264
3264
|
}
|
|
3265
|
-
function
|
|
3265
|
+
function ao(e, t, n) {
|
|
3266
3266
|
let r = (e) => {
|
|
3267
3267
|
if (!e.screen) return !1;
|
|
3268
3268
|
let r = t[e.screen];
|
|
@@ -3279,11 +3279,11 @@ function io(e, t, n) {
|
|
|
3279
3279
|
}
|
|
3280
3280
|
};
|
|
3281
3281
|
for (let t of e ?? []) {
|
|
3282
|
-
let e = i(t, t.area ||
|
|
3282
|
+
let e = i(t, t.area || Ya);
|
|
3283
3283
|
if (e) return e;
|
|
3284
3284
|
}
|
|
3285
3285
|
}
|
|
3286
|
-
function
|
|
3286
|
+
function oo(e, t, n, r, i, a, o) {
|
|
3287
3287
|
let s = (e, t) => {
|
|
3288
3288
|
if (e.screen) {
|
|
3289
3289
|
let i = n[e.screen];
|
|
@@ -3326,23 +3326,23 @@ function ao(e, t, n, r, i, a, o) {
|
|
|
3326
3326
|
}
|
|
3327
3327
|
//#endregion
|
|
3328
3328
|
//#region src/components/pages/auth/AuthShell.tsx
|
|
3329
|
-
var
|
|
3330
|
-
function
|
|
3329
|
+
var so = 560;
|
|
3330
|
+
function co(e) {
|
|
3331
3331
|
try {
|
|
3332
3332
|
return new URL(e).host;
|
|
3333
3333
|
} catch {
|
|
3334
3334
|
return e;
|
|
3335
3335
|
}
|
|
3336
3336
|
}
|
|
3337
|
-
function
|
|
3337
|
+
function lo(e, t) {
|
|
3338
3338
|
if (!e) return "";
|
|
3339
3339
|
let n = t ? t.slice(0, 7) : "";
|
|
3340
3340
|
if (!n || !t) return e;
|
|
3341
3341
|
let r = Math.min(e.length, t.length);
|
|
3342
3342
|
return e.slice(0, r) === t.slice(0, r) ? e : `${e}+${n}`;
|
|
3343
3343
|
}
|
|
3344
|
-
function
|
|
3345
|
-
let c = z(), l = U((e) => e.colorScheme), u =
|
|
3344
|
+
function uo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a, badges: o, brandName: s }) {
|
|
3345
|
+
let c = z(), l = U((e) => e.colorScheme), u = j(), d = U((e) => e.set), f = U((e) => e.hydrateFromBranding), p = () => d("colorScheme", l === "dark" ? "light" : "dark"), { branding: m } = qt();
|
|
3346
3346
|
G(() => {
|
|
3347
3347
|
f(m?.preferences);
|
|
3348
3348
|
}, [m, f]);
|
|
@@ -3361,7 +3361,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3361
3361
|
T?.terms_url,
|
|
3362
3362
|
T?.docs_url,
|
|
3363
3363
|
c
|
|
3364
|
-
]), D = h?.legal_entity ?? "", O = `© ${(/* @__PURE__ */ new Date()).getFullYear()}${D ? ` ${D}` : ""}`, { data: ee } = ie(), te = ee?.meta, ne =
|
|
3364
|
+
]), D = h?.legal_entity ?? "", O = `© ${(/* @__PURE__ */ new Date()).getFullYear()}${D ? ` ${D}` : ""}`, { data: ee } = ie(), te = ee?.meta, ne = lo(te?.version, te?.revision), re = [te?.region ? c("auth.meta.region", "Region: {value}", { value: te.region }) : "", ne ? c("auth.meta.build", "Build {value}", { value: ne }) : ""].filter(Boolean).join(" · "), k = u.isPhone || u.height < so;
|
|
3365
3365
|
return /* @__PURE__ */ Q("div", {
|
|
3366
3366
|
style: {
|
|
3367
3367
|
minHeight: "var(--app-height)",
|
|
@@ -3385,7 +3385,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3385
3385
|
gap: 10
|
|
3386
3386
|
},
|
|
3387
3387
|
children: [
|
|
3388
|
-
/* @__PURE__ */ Z(
|
|
3388
|
+
/* @__PURE__ */ Z(Zi, {
|
|
3389
3389
|
appLogo: h?.app_logo,
|
|
3390
3390
|
size: 26
|
|
3391
3391
|
}),
|
|
@@ -3419,7 +3419,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3419
3419
|
]
|
|
3420
3420
|
}),
|
|
3421
3421
|
/* @__PURE__ */ Z("div", { style: { flex: 1 } }),
|
|
3422
|
-
/* @__PURE__ */ Z(
|
|
3422
|
+
/* @__PURE__ */ Z(N, {
|
|
3423
3423
|
icon: Z(l === "dark" ? n.sun : n.moon, { size: 14 }),
|
|
3424
3424
|
onClick: p,
|
|
3425
3425
|
title: c("auth.toggle_theme", "Toggle theme")
|
|
@@ -3447,7 +3447,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3447
3447
|
gap: 0,
|
|
3448
3448
|
width: k ? "100%" : 980,
|
|
3449
3449
|
maxWidth: "100%",
|
|
3450
|
-
minHeight: k ? "auto" :
|
|
3450
|
+
minHeight: k ? "auto" : so,
|
|
3451
3451
|
background: "var(--surface)",
|
|
3452
3452
|
border: "1px solid var(--border)",
|
|
3453
3453
|
borderRadius: k ? 12 : 14,
|
|
@@ -3492,7 +3492,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3492
3492
|
position: "relative"
|
|
3493
3493
|
},
|
|
3494
3494
|
children: [
|
|
3495
|
-
/* @__PURE__ */ Z(
|
|
3495
|
+
/* @__PURE__ */ Z(Zi, {
|
|
3496
3496
|
appLogo: h?.app_logo,
|
|
3497
3497
|
size: 34
|
|
3498
3498
|
}),
|
|
@@ -3526,7 +3526,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3526
3526
|
alignItems: "center",
|
|
3527
3527
|
gap: 16
|
|
3528
3528
|
},
|
|
3529
|
-
children: [h?.app_logo && /* @__PURE__ */ Z(
|
|
3529
|
+
children: [h?.app_logo && /* @__PURE__ */ Z(Zi, {
|
|
3530
3530
|
appLogo: h.app_logo,
|
|
3531
3531
|
size: 96,
|
|
3532
3532
|
radius: 0
|
|
@@ -3607,7 +3607,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3607
3607
|
color: "var(--auth-panel-fg-muted)",
|
|
3608
3608
|
textDecoration: "none"
|
|
3609
3609
|
},
|
|
3610
|
-
children:
|
|
3610
|
+
children: co(C)
|
|
3611
3611
|
})
|
|
3612
3612
|
]
|
|
3613
3613
|
})
|
|
@@ -3660,7 +3660,7 @@ function lo({ children: e, tenantSlug: t, tagline: r, subTagline: i, version: a,
|
|
|
3660
3660
|
}
|
|
3661
3661
|
//#endregion
|
|
3662
3662
|
//#region src/components/pages/auth/icons.tsx
|
|
3663
|
-
function
|
|
3663
|
+
function fo({ size: e = 14 }) {
|
|
3664
3664
|
return /* @__PURE__ */ Q("svg", {
|
|
3665
3665
|
width: e,
|
|
3666
3666
|
height: e,
|
|
@@ -3686,7 +3686,7 @@ function uo({ size: e = 14 }) {
|
|
|
3686
3686
|
]
|
|
3687
3687
|
});
|
|
3688
3688
|
}
|
|
3689
|
-
function
|
|
3689
|
+
function po({ size: e = 14 }) {
|
|
3690
3690
|
return /* @__PURE__ */ Q("svg", {
|
|
3691
3691
|
width: e,
|
|
3692
3692
|
height: e,
|
|
@@ -3714,75 +3714,75 @@ function fo({ size: e = 14 }) {
|
|
|
3714
3714
|
}
|
|
3715
3715
|
//#endregion
|
|
3716
3716
|
//#region src/lib/schema-routing.ts
|
|
3717
|
-
var
|
|
3718
|
-
function
|
|
3717
|
+
var mo = /* @__PURE__ */ new Set(["/preferences", "/admin/catalog"]);
|
|
3718
|
+
function ho(e) {
|
|
3719
3719
|
if (!e?.navigation) return null;
|
|
3720
3720
|
let t = e.areas ?? [];
|
|
3721
3721
|
if (t.length > 0) for (let n of t) for (let t of e.navigation) {
|
|
3722
3722
|
if ((t.area || "default") !== n.code) continue;
|
|
3723
|
-
let r =
|
|
3723
|
+
let r = yo(e, t);
|
|
3724
3724
|
if (r) return r;
|
|
3725
3725
|
}
|
|
3726
3726
|
for (let t of e.navigation) {
|
|
3727
|
-
let n =
|
|
3727
|
+
let n = yo(e, t);
|
|
3728
3728
|
if (n) return n;
|
|
3729
3729
|
}
|
|
3730
3730
|
return null;
|
|
3731
3731
|
}
|
|
3732
|
-
function
|
|
3733
|
-
let n =
|
|
3732
|
+
function go(e, t) {
|
|
3733
|
+
let n = ho(t) || "/";
|
|
3734
3734
|
if (!t || e === "/" || e === "/admin") return n;
|
|
3735
|
-
let r =
|
|
3736
|
-
if (
|
|
3737
|
-
for (let n of Object.values(t.screens ?? {})) if (n.route &&
|
|
3735
|
+
let r = _o(e);
|
|
3736
|
+
if (mo.has(r)) return e;
|
|
3737
|
+
for (let n of Object.values(t.screens ?? {})) if (n.route && bo(t, n) && xo(n.route).test(r)) return e;
|
|
3738
3738
|
return n;
|
|
3739
3739
|
}
|
|
3740
|
-
function
|
|
3740
|
+
function _o(e) {
|
|
3741
3741
|
let t = e.indexOf("#"), n = t >= 0 ? e.slice(0, t) : e, r = n.indexOf("?");
|
|
3742
3742
|
return (r >= 0 ? n.slice(0, r) : n).replace(/\/+$/, "") || "/";
|
|
3743
3743
|
}
|
|
3744
|
-
function
|
|
3744
|
+
function vo(e, t) {
|
|
3745
3745
|
let n = e.screens[t];
|
|
3746
|
-
return !!n &&
|
|
3746
|
+
return !!n && bo(e, n);
|
|
3747
3747
|
}
|
|
3748
|
-
function
|
|
3749
|
-
if (t.screen &&
|
|
3748
|
+
function yo(e, t) {
|
|
3749
|
+
if (t.screen && vo(e, t.screen)) return e.screens[t.screen].route;
|
|
3750
3750
|
for (let n of [...t.items ?? [], ...t.children ?? []]) {
|
|
3751
|
-
let t =
|
|
3751
|
+
let t = yo(e, n);
|
|
3752
3752
|
if (t) return t;
|
|
3753
3753
|
}
|
|
3754
3754
|
return null;
|
|
3755
3755
|
}
|
|
3756
|
-
function
|
|
3756
|
+
function bo(e, t) {
|
|
3757
3757
|
if (t.type !== "list") return !0;
|
|
3758
3758
|
let n = t.entity;
|
|
3759
3759
|
return !(n ? e.entities?.[n] : void 0)?.singleton;
|
|
3760
3760
|
}
|
|
3761
|
-
function
|
|
3761
|
+
function xo(e) {
|
|
3762
3762
|
let t = e.replace(/\/+$/, "").split("/").map((e) => e.startsWith(":") ? "[^/]+" : e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
3763
3763
|
return RegExp("^" + t.join("/") + "$");
|
|
3764
3764
|
}
|
|
3765
3765
|
//#endregion
|
|
3766
3766
|
//#region src/components/pages/auth/SignIn.tsx
|
|
3767
|
-
var
|
|
3767
|
+
var So = "sso-failure", Co = {
|
|
3768
3768
|
google: {
|
|
3769
3769
|
name: "Google",
|
|
3770
|
-
icon: /* @__PURE__ */ Z(
|
|
3770
|
+
icon: /* @__PURE__ */ Z(fo, { size: 14 })
|
|
3771
3771
|
},
|
|
3772
3772
|
microsoft: {
|
|
3773
3773
|
name: "Microsoft",
|
|
3774
|
-
icon: /* @__PURE__ */ Z(
|
|
3774
|
+
icon: /* @__PURE__ */ Z(po, { size: 14 })
|
|
3775
3775
|
},
|
|
3776
3776
|
azure: {
|
|
3777
3777
|
name: "Microsoft",
|
|
3778
|
-
icon: /* @__PURE__ */ Z(
|
|
3778
|
+
icon: /* @__PURE__ */ Z(po, { size: 14 })
|
|
3779
3779
|
}
|
|
3780
3780
|
};
|
|
3781
|
-
function
|
|
3782
|
-
let e =
|
|
3781
|
+
function wo() {
|
|
3782
|
+
let e = Mi(), [t] = Ii(), { login: r, isLoginPending: i, isAuthenticated: a } = xa(), { data: o } = L(), s = z(), [c, l] = J(""), [u, d] = J(""), [f, p] = J(!0), m = an(t.get("next") || t.get("redirect")), h = t.get("sso_error"), g = z("errors"), { data: _ } = Bi({
|
|
3783
3783
|
queryKey: ["check-setup"],
|
|
3784
3784
|
queryFn: yn
|
|
3785
|
-
}), { data: v } =
|
|
3785
|
+
}), { data: v } = Bi({
|
|
3786
3786
|
queryKey: ["sso-providers"],
|
|
3787
3787
|
queryFn: () => mn(),
|
|
3788
3788
|
staleTime: 6e4
|
|
@@ -3791,8 +3791,8 @@ function Co() {
|
|
|
3791
3791
|
_?.needs_setup && e("/signup", { replace: !0 });
|
|
3792
3792
|
}, [_, e]), G(() => {
|
|
3793
3793
|
if (!a || !o) return;
|
|
3794
|
-
let t =
|
|
3795
|
-
|
|
3794
|
+
let t = go(m, o);
|
|
3795
|
+
To(m, t) && I.warning(s("auth.inaccessible_redirect", "You do not have access to that page. We opened your default page instead.")), e(t, { replace: !0 });
|
|
3796
3796
|
}, [
|
|
3797
3797
|
a,
|
|
3798
3798
|
e,
|
|
@@ -3800,7 +3800,7 @@ function Co() {
|
|
|
3800
3800
|
o,
|
|
3801
3801
|
s
|
|
3802
3802
|
]), G(() => {
|
|
3803
|
-
h &&
|
|
3803
|
+
h && I.error(g(h, "Sign-in failed."), void 0, { id: So });
|
|
3804
3804
|
}, [g, h]);
|
|
3805
3805
|
function y(e) {
|
|
3806
3806
|
e.preventDefault(), r({
|
|
@@ -3808,10 +3808,10 @@ function Co() {
|
|
|
3808
3808
|
password: u,
|
|
3809
3809
|
remember: f
|
|
3810
3810
|
}, { onError: (e) => {
|
|
3811
|
-
|
|
3811
|
+
I.error(V(g, e));
|
|
3812
3812
|
} });
|
|
3813
3813
|
}
|
|
3814
|
-
return /* @__PURE__ */ Z(
|
|
3814
|
+
return /* @__PURE__ */ Z(uo, { children: /* @__PURE__ */ Q("form", {
|
|
3815
3815
|
onSubmit: y,
|
|
3816
3816
|
children: [
|
|
3817
3817
|
/* @__PURE__ */ Z("div", {
|
|
@@ -3849,7 +3849,7 @@ function Co() {
|
|
|
3849
3849
|
marginBottom: 12
|
|
3850
3850
|
},
|
|
3851
3851
|
children: v.map((e) => {
|
|
3852
|
-
let t =
|
|
3852
|
+
let t = Co[e.slug.toLowerCase()] ?? {
|
|
3853
3853
|
name: e.name,
|
|
3854
3854
|
icon: /* @__PURE__ */ Z(n.shield, { size: 13 })
|
|
3855
3855
|
};
|
|
@@ -3902,7 +3902,7 @@ function Co() {
|
|
|
3902
3902
|
gap: 12
|
|
3903
3903
|
},
|
|
3904
3904
|
children: [
|
|
3905
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
3905
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: s("auth.field.email", "Email") }), /* @__PURE__ */ Z(F, {
|
|
3906
3906
|
value: c,
|
|
3907
3907
|
onChange: l,
|
|
3908
3908
|
prefix: /* @__PURE__ */ Z(n.email, { size: 13 }),
|
|
@@ -3916,9 +3916,9 @@ function Co() {
|
|
|
3916
3916
|
alignItems: "center"
|
|
3917
3917
|
},
|
|
3918
3918
|
children: [
|
|
3919
|
-
/* @__PURE__ */ Z(
|
|
3919
|
+
/* @__PURE__ */ Z(P, { children: s("auth.field.password", "Password") }),
|
|
3920
3920
|
/* @__PURE__ */ Z("div", { style: { flex: 1 } }),
|
|
3921
|
-
/* @__PURE__ */ Z(
|
|
3921
|
+
/* @__PURE__ */ Z(Ti, {
|
|
3922
3922
|
to: "/forgot",
|
|
3923
3923
|
style: {
|
|
3924
3924
|
fontSize: 11,
|
|
@@ -3929,7 +3929,7 @@ function Co() {
|
|
|
3929
3929
|
children: s("auth.signin.forgot_link", "Forgot?")
|
|
3930
3930
|
})
|
|
3931
3931
|
]
|
|
3932
|
-
}), /* @__PURE__ */ Z(
|
|
3932
|
+
}), /* @__PURE__ */ Z(Re, {
|
|
3933
3933
|
value: u,
|
|
3934
3934
|
onChange: d,
|
|
3935
3935
|
placeholder: s("auth.signin.password_placeholder", "Your password")
|
|
@@ -3974,7 +3974,7 @@ function Co() {
|
|
|
3974
3974
|
children: [
|
|
3975
3975
|
s("auth.signin.new_here", "New here?"),
|
|
3976
3976
|
" ",
|
|
3977
|
-
/* @__PURE__ */ Z(
|
|
3977
|
+
/* @__PURE__ */ Z(Ti, {
|
|
3978
3978
|
to: "/signup",
|
|
3979
3979
|
style: {
|
|
3980
3980
|
color: "var(--accent)",
|
|
@@ -3990,15 +3990,15 @@ function Co() {
|
|
|
3990
3990
|
]
|
|
3991
3991
|
}) });
|
|
3992
3992
|
}
|
|
3993
|
-
function
|
|
3993
|
+
function To(e, t) {
|
|
3994
3994
|
if (e === t) return !1;
|
|
3995
3995
|
let n = e.split(/[?#]/, 1)[0].replace(/\/+$/, "") || "/";
|
|
3996
3996
|
return n !== "/" && n !== "/admin";
|
|
3997
3997
|
}
|
|
3998
3998
|
//#endregion
|
|
3999
3999
|
//#region src/components/pages/auth/SignUp.tsx
|
|
4000
|
-
function
|
|
4001
|
-
let e =
|
|
4000
|
+
function Eo() {
|
|
4001
|
+
let e = Mi(), { signup: t, isSignupPending: r, isAuthenticated: i } = xa(), a = j(), o = z(), [s, c] = J(""), [l, u] = J(""), [d, f] = J(""), [p, m] = J(""), [h, g] = J(""), [_, v] = J(""), [y, b] = J(!1), { data: x } = ie(), C = Ut(x), w = C?.workspace_domain ?? "", T = C?.legal_links?.terms_url ?? "", E = C?.legal_links?.privacy_url ?? "", D = a.isPhone, { data: O } = Bi({
|
|
4002
4002
|
queryKey: ["check-setup"],
|
|
4003
4003
|
queryFn: yn
|
|
4004
4004
|
});
|
|
@@ -4016,7 +4016,7 @@ function To() {
|
|
|
4016
4016
|
displayName: n
|
|
4017
4017
|
});
|
|
4018
4018
|
}
|
|
4019
|
-
return /* @__PURE__ */ Z(
|
|
4019
|
+
return /* @__PURE__ */ Z(uo, { children: /* @__PURE__ */ Q("form", {
|
|
4020
4020
|
onSubmit: ee,
|
|
4021
4021
|
children: [
|
|
4022
4022
|
/* @__PURE__ */ Z("div", {
|
|
@@ -4060,27 +4060,27 @@ function To() {
|
|
|
4060
4060
|
gridTemplateColumns: D ? "minmax(0, 1fr)" : "1fr 1fr",
|
|
4061
4061
|
gap: 10
|
|
4062
4062
|
},
|
|
4063
|
-
children: [/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4063
|
+
children: [/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: o("auth.signup.first_name", "First name") }), /* @__PURE__ */ Z(F, {
|
|
4064
4064
|
value: s,
|
|
4065
4065
|
onChange: c
|
|
4066
|
-
})] }), /* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4066
|
+
})] }), /* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: o("auth.signup.last_name", "Last name") }), /* @__PURE__ */ Z(F, {
|
|
4067
4067
|
value: l,
|
|
4068
4068
|
onChange: u
|
|
4069
4069
|
})] })]
|
|
4070
4070
|
}),
|
|
4071
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4071
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: o("auth.signup.work_email", "Work email") }), /* @__PURE__ */ Z(F, {
|
|
4072
4072
|
value: d,
|
|
4073
4073
|
onChange: f,
|
|
4074
4074
|
prefix: /* @__PURE__ */ Z(n.email, { size: 13 }),
|
|
4075
4075
|
placeholder: o("auth.signup.work_email_placeholder", "name@company.com"),
|
|
4076
4076
|
required: !0
|
|
4077
4077
|
})] }),
|
|
4078
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4078
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: o("auth.signup.company", "Company") }), /* @__PURE__ */ Z(F, {
|
|
4079
4079
|
value: p,
|
|
4080
4080
|
onChange: m,
|
|
4081
4081
|
prefix: /* @__PURE__ */ Z(n.building, { size: 13 })
|
|
4082
4082
|
})] }),
|
|
4083
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4083
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: o("auth.signup.workspace_url", "Workspace URL") }), /* @__PURE__ */ Q("div", {
|
|
4084
4084
|
style: {
|
|
4085
4085
|
display: "flex",
|
|
4086
4086
|
flexDirection: D ? "column" : "row",
|
|
@@ -4090,7 +4090,7 @@ function To() {
|
|
|
4090
4090
|
overflow: "hidden",
|
|
4091
4091
|
minWidth: 0
|
|
4092
4092
|
},
|
|
4093
|
-
children: [/* @__PURE__ */ Z(
|
|
4093
|
+
children: [/* @__PURE__ */ Z(F, {
|
|
4094
4094
|
value: h,
|
|
4095
4095
|
onChange: g,
|
|
4096
4096
|
style: {
|
|
@@ -4113,7 +4113,7 @@ function To() {
|
|
|
4113
4113
|
children: [".", w]
|
|
4114
4114
|
})]
|
|
4115
4115
|
})] }),
|
|
4116
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4116
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: o("auth.field.password", "Password") }), /* @__PURE__ */ Z(Re, {
|
|
4117
4117
|
value: _,
|
|
4118
4118
|
onChange: v,
|
|
4119
4119
|
placeholder: o("auth.signup.password_placeholder", "At least 12 characters"),
|
|
@@ -4133,7 +4133,7 @@ function To() {
|
|
|
4133
4133
|
style: { marginTop: 2 },
|
|
4134
4134
|
checked: y,
|
|
4135
4135
|
onChange: (e) => b(e.target.checked)
|
|
4136
|
-
}), /* @__PURE__ */ Z(
|
|
4136
|
+
}), /* @__PURE__ */ Z(Do, {
|
|
4137
4137
|
termsUrl: T,
|
|
4138
4138
|
privacyUrl: E,
|
|
4139
4139
|
t: o
|
|
@@ -4159,7 +4159,7 @@ function To() {
|
|
|
4159
4159
|
children: [
|
|
4160
4160
|
o("auth.signup.have_account", "Already have an account?"),
|
|
4161
4161
|
" ",
|
|
4162
|
-
/* @__PURE__ */ Z(
|
|
4162
|
+
/* @__PURE__ */ Z(Ti, {
|
|
4163
4163
|
to: "/login",
|
|
4164
4164
|
style: {
|
|
4165
4165
|
color: "var(--accent)",
|
|
@@ -4175,7 +4175,7 @@ function To() {
|
|
|
4175
4175
|
]
|
|
4176
4176
|
}) });
|
|
4177
4177
|
}
|
|
4178
|
-
function
|
|
4178
|
+
function Do({ termsUrl: e, privacyUrl: t, t: n }) {
|
|
4179
4179
|
let r = n("auth.signup.terms", "Terms"), i = n("auth.signup.privacy", "Privacy"), a = e ? /* @__PURE__ */ Z("a", {
|
|
4180
4180
|
href: e,
|
|
4181
4181
|
target: "_blank",
|
|
@@ -4196,7 +4196,7 @@ function Eo({ termsUrl: e, privacyUrl: t, t: n }) {
|
|
|
4196
4196
|
}
|
|
4197
4197
|
//#endregion
|
|
4198
4198
|
//#region src/components/pages/auth/Forgot.tsx
|
|
4199
|
-
function
|
|
4199
|
+
function Oo() {
|
|
4200
4200
|
let e = z(), [t, r] = J(""), [i, a] = J(!1), [o, s] = J(!1);
|
|
4201
4201
|
async function c(e) {
|
|
4202
4202
|
if (e.preventDefault(), !o) {
|
|
@@ -4208,7 +4208,7 @@ function Do() {
|
|
|
4208
4208
|
}
|
|
4209
4209
|
}
|
|
4210
4210
|
}
|
|
4211
|
-
return /* @__PURE__ */ Z(
|
|
4211
|
+
return /* @__PURE__ */ Z(uo, { children: /* @__PURE__ */ Q("form", {
|
|
4212
4212
|
onSubmit: c,
|
|
4213
4213
|
"data-testid": "forgot-form",
|
|
4214
4214
|
children: [
|
|
@@ -4258,7 +4258,7 @@ function Do() {
|
|
|
4258
4258
|
gap: 12
|
|
4259
4259
|
},
|
|
4260
4260
|
children: [
|
|
4261
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4261
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: e("auth.field.email", "Email") }), /* @__PURE__ */ Z(F, {
|
|
4262
4262
|
value: t,
|
|
4263
4263
|
onChange: r,
|
|
4264
4264
|
prefix: /* @__PURE__ */ Z(n.email, { size: 13 }),
|
|
@@ -4279,7 +4279,7 @@ function Do() {
|
|
|
4279
4279
|
disabled: o,
|
|
4280
4280
|
children: o ? e("auth.forgot.submitting", "Sending…") : e("auth.forgot.submit", "Send reset link")
|
|
4281
4281
|
}),
|
|
4282
|
-
/* @__PURE__ */ Z(
|
|
4282
|
+
/* @__PURE__ */ Z(Ti, {
|
|
4283
4283
|
to: "/login",
|
|
4284
4284
|
className: "text-accent text-center no-underline",
|
|
4285
4285
|
style: { fontSize: 12 },
|
|
@@ -4292,26 +4292,26 @@ function Do() {
|
|
|
4292
4292
|
}
|
|
4293
4293
|
//#endregion
|
|
4294
4294
|
//#region src/components/pages/auth/Reset.tsx
|
|
4295
|
-
var
|
|
4296
|
-
function
|
|
4295
|
+
var ko = 8, Ao = "declarion.auth.flash", jo = "declarion-reset-no-referrer";
|
|
4296
|
+
function Mo() {
|
|
4297
4297
|
if (typeof window > "u") return "";
|
|
4298
4298
|
let e = window.location.hash.startsWith("#") ? window.location.hash.slice(1) : window.location.hash;
|
|
4299
4299
|
return e ? new URLSearchParams(e).get("t") ?? "" : "";
|
|
4300
4300
|
}
|
|
4301
|
-
function
|
|
4301
|
+
function No() {
|
|
4302
4302
|
if (typeof document > "u") return;
|
|
4303
|
-
let e = document.getElementById(
|
|
4304
|
-
e || (e = document.createElement("meta"), e.id =
|
|
4303
|
+
let e = document.getElementById(jo);
|
|
4304
|
+
e || (e = document.createElement("meta"), e.id = jo, e.name = "referrer", e.content = "no-referrer", document.head.appendChild(e));
|
|
4305
4305
|
}
|
|
4306
|
-
function
|
|
4306
|
+
function Po() {
|
|
4307
4307
|
if (typeof document > "u") return;
|
|
4308
|
-
let e = document.getElementById(
|
|
4308
|
+
let e = document.getElementById(jo);
|
|
4309
4309
|
e && e.remove();
|
|
4310
4310
|
}
|
|
4311
|
-
function
|
|
4312
|
-
let e = z(), t = z("errors")("auth.reset_link_invalid", "Invalid or expired link. Please request a new one."), r = e("auth.reset.password_min", "Password must be at least {min} characters.", { min:
|
|
4311
|
+
function Fo() {
|
|
4312
|
+
let e = z(), t = z("errors")("auth.reset_link_invalid", "Invalid or expired link. Please request a new one."), r = e("auth.reset.password_min", "Password must be at least {min} characters.", { min: ko }), i = Mi(), [a] = J(() => Mo()), [o, s] = J(""), [c, l] = J(""), [u, d] = J(""), [f, p] = J(!1), [m, h] = J(null);
|
|
4313
4313
|
G(() => {
|
|
4314
|
-
if (a) return typeof window < "u" && typeof window.history?.replaceState == "function" && window.history.replaceState(null, "", "/reset"),
|
|
4314
|
+
if (a) return typeof window < "u" && typeof window.history?.replaceState == "function" && window.history.replaceState(null, "", "/reset"), No(), Po;
|
|
4315
4315
|
}, [a]);
|
|
4316
4316
|
let g = K(() => !a, [a]);
|
|
4317
4317
|
async function _(n) {
|
|
@@ -4320,7 +4320,7 @@ function Po() {
|
|
|
4320
4320
|
h(e("auth.reset.password_mismatch", "Passwords do not match."));
|
|
4321
4321
|
return;
|
|
4322
4322
|
}
|
|
4323
|
-
if (c.length <
|
|
4323
|
+
if (c.length < ko) {
|
|
4324
4324
|
h(r);
|
|
4325
4325
|
return;
|
|
4326
4326
|
}
|
|
@@ -4332,20 +4332,20 @@ function Po() {
|
|
|
4332
4332
|
password: c
|
|
4333
4333
|
});
|
|
4334
4334
|
try {
|
|
4335
|
-
window.sessionStorage.setItem(
|
|
4335
|
+
window.sessionStorage.setItem(Ao, JSON.stringify({
|
|
4336
4336
|
kind: "success",
|
|
4337
4337
|
text: e("auth.reset.done", "Password updated. Sign in with your new password.")
|
|
4338
4338
|
}));
|
|
4339
4339
|
} catch {}
|
|
4340
4340
|
i("/login", { replace: !0 });
|
|
4341
4341
|
} catch (n) {
|
|
4342
|
-
n instanceof
|
|
4342
|
+
n instanceof Jt && n.code === "auth.password_reused" ? h(e("auth.reset.password_differ", "Your new password must differ from your current password.")) : n instanceof Jt && n.code === "auth.password_too_short" ? h(r) : h(t);
|
|
4343
4343
|
} finally {
|
|
4344
4344
|
p(!1);
|
|
4345
4345
|
}
|
|
4346
4346
|
}
|
|
4347
4347
|
}
|
|
4348
|
-
return /* @__PURE__ */ Z(
|
|
4348
|
+
return /* @__PURE__ */ Z(uo, { children: /* @__PURE__ */ Q("div", {
|
|
4349
4349
|
"data-testid": "reset-page",
|
|
4350
4350
|
children: [
|
|
4351
4351
|
/* @__PURE__ */ Z("div", {
|
|
@@ -4375,7 +4375,7 @@ function Po() {
|
|
|
4375
4375
|
fontSize: 13
|
|
4376
4376
|
},
|
|
4377
4377
|
children: t
|
|
4378
|
-
}), /* @__PURE__ */ Z(
|
|
4378
|
+
}), /* @__PURE__ */ Z(Ti, {
|
|
4379
4379
|
to: "/forgot",
|
|
4380
4380
|
className: "text-accent no-underline",
|
|
4381
4381
|
style: { fontSize: 12 },
|
|
@@ -4398,7 +4398,7 @@ function Po() {
|
|
|
4398
4398
|
gap: 12
|
|
4399
4399
|
},
|
|
4400
4400
|
children: [
|
|
4401
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4401
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: e("auth.field.email", "Email") }), /* @__PURE__ */ Z(F, {
|
|
4402
4402
|
value: o,
|
|
4403
4403
|
onChange: s,
|
|
4404
4404
|
prefix: /* @__PURE__ */ Z(n.email, { size: 13 }),
|
|
@@ -4408,13 +4408,13 @@ function Po() {
|
|
|
4408
4408
|
type: "email",
|
|
4409
4409
|
"aria-label": e("auth.field.email", "Email")
|
|
4410
4410
|
})] }),
|
|
4411
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4411
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: e("auth.reset.new_password", "New password") }), /* @__PURE__ */ Z(Re, {
|
|
4412
4412
|
value: c,
|
|
4413
4413
|
onChange: l,
|
|
4414
4414
|
placeholder: e("auth.reset.new_password_placeholder", "At least 8 characters"),
|
|
4415
4415
|
showStrength: !0
|
|
4416
4416
|
})] }),
|
|
4417
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4417
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, { children: e("auth.reset.confirm_password", "Confirm new password") }), /* @__PURE__ */ Z(Re, {
|
|
4418
4418
|
value: u,
|
|
4419
4419
|
onChange: d,
|
|
4420
4420
|
placeholder: e("auth.reset.confirm_password_placeholder", "Re-enter new password")
|
|
@@ -4441,7 +4441,7 @@ function Po() {
|
|
|
4441
4441
|
disabled: f,
|
|
4442
4442
|
children: f ? e("auth.reset.submitting", "Updating…") : e("auth.reset.submit", "Update password")
|
|
4443
4443
|
}),
|
|
4444
|
-
/* @__PURE__ */ Z(
|
|
4444
|
+
/* @__PURE__ */ Z(Ti, {
|
|
4445
4445
|
to: "/login",
|
|
4446
4446
|
className: "text-accent text-center no-underline",
|
|
4447
4447
|
style: { fontSize: 12 },
|
|
@@ -4455,8 +4455,8 @@ function Po() {
|
|
|
4455
4455
|
}
|
|
4456
4456
|
//#endregion
|
|
4457
4457
|
//#region src/components/pages/auth/TwoFA.tsx
|
|
4458
|
-
function
|
|
4459
|
-
let e = z(), t =
|
|
4458
|
+
function Io() {
|
|
4459
|
+
let e = z(), t = Mi(), n = q([]), r = j().isPhone;
|
|
4460
4460
|
function i(e) {
|
|
4461
4461
|
n.current[e]?.focus(), n.current[e]?.select();
|
|
4462
4462
|
}
|
|
@@ -4467,7 +4467,7 @@ function Fo() {
|
|
|
4467
4467
|
function o(e, t) {
|
|
4468
4468
|
t.key === "Backspace" && !t.target.value && e > 0 && i(e - 1);
|
|
4469
4469
|
}
|
|
4470
|
-
return /* @__PURE__ */ Z(
|
|
4470
|
+
return /* @__PURE__ */ Z(uo, { children: /* @__PURE__ */ Q("div", { children: [
|
|
4471
4471
|
/* @__PURE__ */ Z("div", {
|
|
4472
4472
|
style: {
|
|
4473
4473
|
fontSize: 10.5,
|
|
@@ -4560,7 +4560,7 @@ function Fo() {
|
|
|
4560
4560
|
textDecoration: "none"
|
|
4561
4561
|
},
|
|
4562
4562
|
children: e("auth.twofa.backup_code", "Use backup code")
|
|
4563
|
-
}), /* @__PURE__ */ Z(
|
|
4563
|
+
}), /* @__PURE__ */ Z(Ti, {
|
|
4564
4564
|
to: "/login",
|
|
4565
4565
|
style: {
|
|
4566
4566
|
color: "var(--text-3)",
|
|
@@ -4573,8 +4573,8 @@ function Fo() {
|
|
|
4573
4573
|
}
|
|
4574
4574
|
//#endregion
|
|
4575
4575
|
//#region src/components/pages/SSOCallbackPage.tsx
|
|
4576
|
-
function
|
|
4577
|
-
let e =
|
|
4576
|
+
function Lo() {
|
|
4577
|
+
let e = Mi(), [t] = Ii(), { setUser: n, setTenants: r } = R(), i = Vi(), a = z();
|
|
4578
4578
|
return G(() => {
|
|
4579
4579
|
let a = an(t.get("redirect"));
|
|
4580
4580
|
vn().then((t) => {
|
|
@@ -4598,8 +4598,8 @@ function Io() {
|
|
|
4598
4598
|
}
|
|
4599
4599
|
//#endregion
|
|
4600
4600
|
//#region src/components/pages/NotFoundPage.tsx
|
|
4601
|
-
function
|
|
4602
|
-
let e =
|
|
4601
|
+
function Ro() {
|
|
4602
|
+
let e = Qt(), t = o(), n = Ai(), r = fe(), i = z();
|
|
4603
4603
|
return G(() => {
|
|
4604
4604
|
e.enabled && r(n.pathname, "not_found");
|
|
4605
4605
|
}, [
|
|
@@ -4660,17 +4660,17 @@ function Lo() {
|
|
|
4660
4660
|
}
|
|
4661
4661
|
//#endregion
|
|
4662
4662
|
//#region src/components/shared/ChangePasswordDialog.tsx
|
|
4663
|
-
var
|
|
4664
|
-
function
|
|
4665
|
-
let i = z(), a = z("errors"), { data: o } = L(), s = i(o?.actions?.[
|
|
4663
|
+
var zo = "auth.change_password", Bo = "auth.change_password@v1";
|
|
4664
|
+
function Vo({ open: e, onClose: t, onSubmit: r }) {
|
|
4665
|
+
let i = z(), a = z("errors"), { data: o } = L(), s = i(o?.actions?.[zo]?.display?.name) || zo, c = j().isPhone, l = Ci(), [u, d] = J(""), [f, p] = J(""), [m, h] = J(""), [g, _] = J(!1), [v, y] = J(null);
|
|
4666
4666
|
if (!e) return null;
|
|
4667
|
-
let
|
|
4668
|
-
|
|
4669
|
-
},
|
|
4670
|
-
|
|
4671
|
-
},
|
|
4667
|
+
let b = () => {
|
|
4668
|
+
d(""), p(""), h(""), y(null), _(!1);
|
|
4669
|
+
}, x = () => {
|
|
4670
|
+
b(), t();
|
|
4671
|
+
}, C = u.length > 0 && f.length >= 8 && m === f;
|
|
4672
4672
|
return /* @__PURE__ */ Q(X, { children: [/* @__PURE__ */ Z("div", {
|
|
4673
|
-
onClick:
|
|
4673
|
+
onClick: x,
|
|
4674
4674
|
style: {
|
|
4675
4675
|
position: "fixed",
|
|
4676
4676
|
inset: 0,
|
|
@@ -4733,10 +4733,10 @@ function Bo({ open: e, onClose: t, onSubmit: r }) {
|
|
|
4733
4733
|
children: i("account.password.subtitle", "Pick something strong. You'll stay signed in on this device.")
|
|
4734
4734
|
})]
|
|
4735
4735
|
}),
|
|
4736
|
-
/* @__PURE__ */ Z(
|
|
4736
|
+
/* @__PURE__ */ Z(N, {
|
|
4737
4737
|
icon: /* @__PURE__ */ Z(n.x, { size: 14 }),
|
|
4738
4738
|
title: i("dialog.close", "Close"),
|
|
4739
|
-
onClick:
|
|
4739
|
+
onClick: x
|
|
4740
4740
|
})
|
|
4741
4741
|
]
|
|
4742
4742
|
}),
|
|
@@ -4748,32 +4748,38 @@ function Bo({ open: e, onClose: t, onSubmit: r }) {
|
|
|
4748
4748
|
gap: 12
|
|
4749
4749
|
},
|
|
4750
4750
|
children: [
|
|
4751
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4751
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, {
|
|
4752
4752
|
required: !0,
|
|
4753
|
+
htmlFor: `${l}-current`,
|
|
4753
4754
|
children: i("account.password.current", "Current password")
|
|
4754
|
-
}), /* @__PURE__ */ Z(
|
|
4755
|
-
|
|
4756
|
-
|
|
4755
|
+
}), /* @__PURE__ */ Z(Re, {
|
|
4756
|
+
id: `${l}-current`,
|
|
4757
|
+
value: u,
|
|
4758
|
+
onChange: d,
|
|
4757
4759
|
placeholder: i("account.password.current_placeholder", "Enter your current password")
|
|
4758
4760
|
})] }),
|
|
4759
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4761
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, {
|
|
4760
4762
|
required: !0,
|
|
4763
|
+
htmlFor: `${l}-new`,
|
|
4761
4764
|
children: i("account.password.new", "New password")
|
|
4762
|
-
}), /* @__PURE__ */ Z(
|
|
4763
|
-
|
|
4764
|
-
|
|
4765
|
+
}), /* @__PURE__ */ Z(Re, {
|
|
4766
|
+
id: `${l}-new`,
|
|
4767
|
+
value: f,
|
|
4768
|
+
onChange: p,
|
|
4765
4769
|
placeholder: i("account.password.new_placeholder", "At least 8 characters"),
|
|
4766
4770
|
showStrength: !0
|
|
4767
4771
|
})] }),
|
|
4768
|
-
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
4772
|
+
/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, {
|
|
4769
4773
|
required: !0,
|
|
4774
|
+
htmlFor: `${l}-confirm`,
|
|
4770
4775
|
children: i("account.password.confirm", "Confirm new password")
|
|
4771
|
-
}), /* @__PURE__ */ Z(
|
|
4772
|
-
|
|
4773
|
-
|
|
4776
|
+
}), /* @__PURE__ */ Z(Re, {
|
|
4777
|
+
id: `${l}-confirm`,
|
|
4778
|
+
value: m,
|
|
4779
|
+
onChange: h,
|
|
4774
4780
|
placeholder: i("account.password.confirm_placeholder", "Re-enter new password")
|
|
4775
4781
|
})] }),
|
|
4776
|
-
|
|
4782
|
+
v && /* @__PURE__ */ Q("div", {
|
|
4777
4783
|
style: {
|
|
4778
4784
|
padding: "8px 10px",
|
|
4779
4785
|
background: "var(--danger-soft)",
|
|
@@ -4783,7 +4789,7 @@ function Bo({ open: e, onClose: t, onSubmit: r }) {
|
|
|
4783
4789
|
display: "flex",
|
|
4784
4790
|
gap: 6
|
|
4785
4791
|
},
|
|
4786
|
-
children: [/* @__PURE__ */ Z(n.info, { size: 13 }), /* @__PURE__ */ Z("span", { children:
|
|
4792
|
+
children: [/* @__PURE__ */ Z(n.info, { size: 13 }), /* @__PURE__ */ Z("span", { children: v })]
|
|
4787
4793
|
})
|
|
4788
4794
|
]
|
|
4789
4795
|
}),
|
|
@@ -4805,35 +4811,35 @@ function Bo({ open: e, onClose: t, onSubmit: r }) {
|
|
|
4805
4811
|
color: "var(--text-4)",
|
|
4806
4812
|
overflowWrap: "anywhere"
|
|
4807
4813
|
},
|
|
4808
|
-
children:
|
|
4814
|
+
children: Bo
|
|
4809
4815
|
}),
|
|
4810
4816
|
/* @__PURE__ */ Z("div", { style: { flex: 1 } }),
|
|
4811
4817
|
/* @__PURE__ */ Z(S, {
|
|
4812
|
-
onClick:
|
|
4818
|
+
onClick: x,
|
|
4813
4819
|
children: i("dialog.cancel", "Cancel")
|
|
4814
4820
|
}),
|
|
4815
4821
|
/* @__PURE__ */ Z(S, {
|
|
4816
4822
|
kind: "primary",
|
|
4817
|
-
icon: Z(
|
|
4823
|
+
icon: Z(g ? Pe : n.key, { size: 13 }),
|
|
4818
4824
|
onClick: async () => {
|
|
4819
|
-
if (!
|
|
4820
|
-
|
|
4825
|
+
if (!C) {
|
|
4826
|
+
f.length < 8 ? y(i("account.password.too_short", "New password must be at least 8 characters.")) : y(m === f ? i("account.password.fill_all", "Fill in all fields.") : i("account.password.mismatch", "Passwords do not match."));
|
|
4821
4827
|
return;
|
|
4822
4828
|
}
|
|
4823
|
-
|
|
4829
|
+
y(null), _(!0);
|
|
4824
4830
|
try {
|
|
4825
4831
|
await r({
|
|
4826
|
-
current:
|
|
4827
|
-
next:
|
|
4828
|
-
}),
|
|
4832
|
+
current: u,
|
|
4833
|
+
next: f
|
|
4834
|
+
}), b(), t();
|
|
4829
4835
|
} catch (e) {
|
|
4830
|
-
|
|
4836
|
+
y(V(a, e));
|
|
4831
4837
|
} finally {
|
|
4832
|
-
|
|
4838
|
+
_(!1);
|
|
4833
4839
|
}
|
|
4834
4840
|
},
|
|
4835
|
-
disabled: !
|
|
4836
|
-
children:
|
|
4841
|
+
disabled: !C || g,
|
|
4842
|
+
children: g ? i("account.password.updating", "Updating…") : i("account.password.submit", "Update password")
|
|
4837
4843
|
})
|
|
4838
4844
|
]
|
|
4839
4845
|
})
|
|
@@ -4842,7 +4848,7 @@ function Bo({ open: e, onClose: t, onSubmit: r }) {
|
|
|
4842
4848
|
}
|
|
4843
4849
|
//#endregion
|
|
4844
4850
|
//#region src/components/params/param-editors.tsx
|
|
4845
|
-
var
|
|
4851
|
+
var Ho = {
|
|
4846
4852
|
object: ["params.source.object", "Record"],
|
|
4847
4853
|
user: ["params.source.user", "User"],
|
|
4848
4854
|
role: ["params.source.role", "Role"],
|
|
@@ -4851,11 +4857,11 @@ var Vo = {
|
|
|
4851
4857
|
yaml: ["params.source.yaml", "Default"],
|
|
4852
4858
|
none: ["params.source.none", "Not set"]
|
|
4853
4859
|
};
|
|
4854
|
-
function
|
|
4855
|
-
let n =
|
|
4860
|
+
function Uo(e, t) {
|
|
4861
|
+
let n = Ho[t];
|
|
4856
4862
|
return n ? e(n[0], n[1]) : t;
|
|
4857
4863
|
}
|
|
4858
|
-
function
|
|
4864
|
+
function Wo({ text: e }) {
|
|
4859
4865
|
return /* @__PURE__ */ Q("div", {
|
|
4860
4866
|
style: {
|
|
4861
4867
|
padding: "8px 10px",
|
|
@@ -4869,7 +4875,7 @@ function Uo({ text: e }) {
|
|
|
4869
4875
|
children: [/* @__PURE__ */ Z(n.info, { size: 13 }), /* @__PURE__ */ Z("span", { children: e })]
|
|
4870
4876
|
});
|
|
4871
4877
|
}
|
|
4872
|
-
function
|
|
4878
|
+
function Go({ type: e, value: t, structure: n }) {
|
|
4873
4879
|
let r = z(), i;
|
|
4874
4880
|
if (t == null) i = "—";
|
|
4875
4881
|
else if (e === "bool") i = t ? r("params.value.on", "On") : r("params.value.off", "Off");
|
|
@@ -4897,13 +4903,13 @@ function Wo({ type: e, value: t, structure: n }) {
|
|
|
4897
4903
|
children: i
|
|
4898
4904
|
});
|
|
4899
4905
|
}
|
|
4900
|
-
function
|
|
4901
|
-
let o = z(), [s, c] = J(() =>
|
|
4906
|
+
function Ko({ param: e, current: t, error: r, onCancel: i, onSave: a }) {
|
|
4907
|
+
let o = z(), [s, c] = J(() => Jo(e, t)), [l, u] = J(!1), [d, f] = J(null);
|
|
4902
4908
|
async function p() {
|
|
4903
4909
|
f(null);
|
|
4904
4910
|
let e;
|
|
4905
4911
|
try {
|
|
4906
|
-
e =
|
|
4912
|
+
e = Yo(o, s);
|
|
4907
4913
|
} catch (e) {
|
|
4908
4914
|
f(String(e instanceof Error ? e.message : e));
|
|
4909
4915
|
return;
|
|
@@ -4965,13 +4971,13 @@ function Go({ param: e, current: t, error: r, onCancel: i, onSave: a }) {
|
|
|
4965
4971
|
gap: 10
|
|
4966
4972
|
},
|
|
4967
4973
|
children: [
|
|
4968
|
-
/* @__PURE__ */ Z(
|
|
4969
|
-
/* @__PURE__ */ Z(
|
|
4974
|
+
/* @__PURE__ */ Z(P, { children: o("params.value", "Value") }),
|
|
4975
|
+
/* @__PURE__ */ Z(qo, {
|
|
4970
4976
|
param: e,
|
|
4971
4977
|
value: s,
|
|
4972
4978
|
onChange: c
|
|
4973
4979
|
}),
|
|
4974
|
-
(d || r) && /* @__PURE__ */ Z(
|
|
4980
|
+
(d || r) && /* @__PURE__ */ Z(Wo, { text: d || r })
|
|
4975
4981
|
]
|
|
4976
4982
|
}),
|
|
4977
4983
|
/* @__PURE__ */ Q("div", {
|
|
@@ -4990,7 +4996,7 @@ function Go({ param: e, current: t, error: r, onCancel: i, onSave: a }) {
|
|
|
4990
4996
|
}),
|
|
4991
4997
|
/* @__PURE__ */ Z(S, {
|
|
4992
4998
|
kind: "primary",
|
|
4993
|
-
icon: Z(l ?
|
|
4999
|
+
icon: Z(l ? Pe : n.check, { size: 13 }),
|
|
4994
5000
|
onClick: p,
|
|
4995
5001
|
disabled: l,
|
|
4996
5002
|
children: l ? o("dialog.saving", "Saving…") : o("dialog.save", "Save")
|
|
@@ -5000,14 +5006,14 @@ function Go({ param: e, current: t, error: r, onCancel: i, onSave: a }) {
|
|
|
5000
5006
|
]
|
|
5001
5007
|
})] });
|
|
5002
5008
|
}
|
|
5003
|
-
function
|
|
5009
|
+
function qo({ param: e, value: t, onChange: n }) {
|
|
5004
5010
|
let r = z(), i = {
|
|
5005
5011
|
type: e.type,
|
|
5006
5012
|
structure: e.structure,
|
|
5007
5013
|
values: e.values,
|
|
5008
5014
|
ref: e.ref
|
|
5009
5015
|
};
|
|
5010
|
-
return /* @__PURE__ */ Z(X, { children:
|
|
5016
|
+
return /* @__PURE__ */ Z(X, { children: tt({
|
|
5011
5017
|
field: i,
|
|
5012
5018
|
fieldName: e.code,
|
|
5013
5019
|
value: t,
|
|
@@ -5016,34 +5022,34 @@ function Ko({ param: e, value: t, onChange: n }) {
|
|
|
5016
5022
|
t: r
|
|
5017
5023
|
}) });
|
|
5018
5024
|
}
|
|
5019
|
-
function
|
|
5025
|
+
function Jo(e, t) {
|
|
5020
5026
|
return e.type === "bool" ? t === !0 : e.type === "structure" ? t ?? {} : t ?? null;
|
|
5021
5027
|
}
|
|
5022
|
-
function
|
|
5028
|
+
function Yo(e, t) {
|
|
5023
5029
|
if (t == null) throw Error(e("params.value.required", "Enter a value."));
|
|
5024
5030
|
return t;
|
|
5025
5031
|
}
|
|
5026
|
-
var
|
|
5032
|
+
var Xo = /* @__PURE__ */ new Set([
|
|
5027
5033
|
"server",
|
|
5028
5034
|
"database",
|
|
5029
5035
|
"auth",
|
|
5030
5036
|
"sso",
|
|
5031
5037
|
"seeder"
|
|
5032
5038
|
]);
|
|
5033
|
-
function
|
|
5039
|
+
function Zo(e) {
|
|
5034
5040
|
let t = e.scopes ?? [];
|
|
5035
|
-
return t.length === 0 ? !
|
|
5041
|
+
return t.length === 0 ? !Xo.has(e.category ?? "") : t.includes("tenant");
|
|
5036
5042
|
}
|
|
5037
5043
|
//#endregion
|
|
5038
5044
|
//#region src/components/params/ParamsBlock.tsx
|
|
5039
|
-
function
|
|
5045
|
+
function Qo(e) {
|
|
5040
5046
|
return e === "tenant" || e === "role" || e === "user" ? e : "object";
|
|
5041
5047
|
}
|
|
5042
|
-
function
|
|
5048
|
+
function $o(e, t) {
|
|
5043
5049
|
return e ? e.filter((e) => e.scopes?.includes(t)) : [];
|
|
5044
5050
|
}
|
|
5045
|
-
function
|
|
5046
|
-
let o = z(), s = z("errors"), c = C(), l = K(() =>
|
|
5051
|
+
function es({ carrierEntityCode: e, carrierScope: t, rowId: r, title: i, icon: a }) {
|
|
5052
|
+
let o = z(), s = z("errors"), c = C(), l = K(() => $o(c.data, t), [c.data, t]), [u, d] = J(null), { overrideByCode: f, missingParams: p, isLoading: m, error: h, clearError: g, save: _, reset: v } = ve({
|
|
5047
5053
|
carrierEntityCode: e,
|
|
5048
5054
|
rowId: r,
|
|
5049
5055
|
enabled: l.length > 0,
|
|
@@ -5052,17 +5058,17 @@ function $o({ carrierEntityCode: e, carrierScope: t, rowId: r, title: i, icon: a
|
|
|
5052
5058
|
return l.length === 0 ? null : /* @__PURE__ */ Q(Rn, {
|
|
5053
5059
|
title: i ?? o("params.title", "Parameters"),
|
|
5054
5060
|
icon: a ?? /* @__PURE__ */ Z(n.settings, { size: 14 }),
|
|
5055
|
-
children: [p ? /* @__PURE__ */ Z(
|
|
5061
|
+
children: [p ? /* @__PURE__ */ Z(Wo, { text: s("param.overrides_unreadable", "The current parameter overrides could not be read.") }) : m ? /* @__PURE__ */ Z("div", {
|
|
5056
5062
|
style: { padding: "8px 0" },
|
|
5057
|
-
children: /* @__PURE__ */ Z(
|
|
5063
|
+
children: /* @__PURE__ */ Z(Pe, { size: 16 })
|
|
5058
5064
|
}) : /* @__PURE__ */ Q("div", {
|
|
5059
5065
|
style: {
|
|
5060
5066
|
display: "flex",
|
|
5061
5067
|
flexDirection: "column",
|
|
5062
5068
|
gap: 10
|
|
5063
5069
|
},
|
|
5064
|
-
children: [h && !u && /* @__PURE__ */ Z(
|
|
5065
|
-
let r = f.get(e.code), i = r !== void 0, a = i && e.source ===
|
|
5070
|
+
children: [h && !u && /* @__PURE__ */ Z(Wo, { text: h }), l.map((e) => {
|
|
5071
|
+
let r = f.get(e.code), i = r !== void 0, a = i && e.source === Qo(t);
|
|
5066
5072
|
return /* @__PURE__ */ Q("div", {
|
|
5067
5073
|
"data-testid": `param-row-${e.code}`,
|
|
5068
5074
|
style: {
|
|
@@ -5091,7 +5097,7 @@ function $o({ carrierEntityCode: e, carrierScope: t, rowId: r, title: i, icon: a
|
|
|
5091
5097
|
children: e.code
|
|
5092
5098
|
})]
|
|
5093
5099
|
}),
|
|
5094
|
-
/* @__PURE__ */ Z(
|
|
5100
|
+
/* @__PURE__ */ Z(Go, {
|
|
5095
5101
|
type: e.type,
|
|
5096
5102
|
value: e.value,
|
|
5097
5103
|
structure: e.structure
|
|
@@ -5105,7 +5111,7 @@ function $o({ carrierEntityCode: e, carrierScope: t, rowId: r, title: i, icon: a
|
|
|
5105
5111
|
"data-testid": `param-not-applied-${e.code}`,
|
|
5106
5112
|
title: o("params.block.not_applied_hint", "You set {value}, and it no longer satisfies this parameter's declaration. Source of the value in effect: {source}. Reset to remove what you set, or edit it to a value the declaration accepts.", {
|
|
5107
5113
|
value: JSON.stringify(r.value),
|
|
5108
|
-
source:
|
|
5114
|
+
source: Uo(o, e.source)
|
|
5109
5115
|
}),
|
|
5110
5116
|
children: /* @__PURE__ */ Z(w, {
|
|
5111
5117
|
tone: "amber",
|
|
@@ -5121,7 +5127,7 @@ function $o({ carrierEntityCode: e, carrierScope: t, rowId: r, title: i, icon: a
|
|
|
5121
5127
|
},
|
|
5122
5128
|
children: o("params.edit", "Edit")
|
|
5123
5129
|
}),
|
|
5124
|
-
i && /* @__PURE__ */ Z(
|
|
5130
|
+
i && /* @__PURE__ */ Z(N, {
|
|
5125
5131
|
icon: /* @__PURE__ */ Z(n.refresh, { size: 13 }),
|
|
5126
5132
|
title: o("params.reset", "Reset to default"),
|
|
5127
5133
|
onClick: () => v(e)
|
|
@@ -5129,7 +5135,7 @@ function $o({ carrierEntityCode: e, carrierScope: t, rowId: r, title: i, icon: a
|
|
|
5129
5135
|
]
|
|
5130
5136
|
}, e.code);
|
|
5131
5137
|
})]
|
|
5132
|
-
}), u && /* @__PURE__ */ Z(
|
|
5138
|
+
}), u && /* @__PURE__ */ Z(Ko, {
|
|
5133
5139
|
param: u,
|
|
5134
5140
|
current: f.get(u.code)?.value ?? u.value,
|
|
5135
5141
|
error: h,
|
|
@@ -5142,9 +5148,9 @@ function $o({ carrierEntityCode: e, carrierScope: t, rowId: r, title: i, icon: a
|
|
|
5142
5148
|
}
|
|
5143
5149
|
//#endregion
|
|
5144
5150
|
//#region src/components/pages/profile/Profile.tsx
|
|
5145
|
-
var $ = "profile",
|
|
5146
|
-
function
|
|
5147
|
-
let e = cr(), t = R((e) => e.user), i = R((e) => e.activeTenant), a = R((e) => e.refreshMe), { data: o } = L(), s =
|
|
5151
|
+
var $ = "profile", ts = "avatar";
|
|
5152
|
+
function ns() {
|
|
5153
|
+
let e = cr(), t = R((e) => e.user), i = R((e) => e.activeTenant), a = R((e) => e.refreshMe), { data: o } = L(), s = qe(), c = Gt("custom"), l = z(), u = In($, t?.id), d = u.data?.data, [f, p] = J(!1), [m, h] = J(!1), g = o?.entities[$], _ = t?.display_name || t?.email || l("profile.user_fallback", "User"), v = t?.roles && t.roles[0] || l("profile.role_fallback", "Member"), b = i?.env ? `${i.name} · ${i.env}` : i?.name ?? "—", x = (e) => g && zr({
|
|
5148
5154
|
entity: g,
|
|
5149
5155
|
entityCode: $,
|
|
5150
5156
|
fieldName: e,
|
|
@@ -5210,14 +5216,14 @@ function ts() {
|
|
|
5210
5216
|
children: /* @__PURE__ */ Q(Kn, { children: [
|
|
5211
5217
|
t && g && d && /* @__PURE__ */ Z(B, {
|
|
5212
5218
|
label: l("profile.avatar", "Avatar"),
|
|
5213
|
-
children: /* @__PURE__ */ Z(
|
|
5219
|
+
children: /* @__PURE__ */ Z(Qe, { children: /* @__PURE__ */ Z(is, {
|
|
5214
5220
|
userId: t.id,
|
|
5215
5221
|
entity: g,
|
|
5216
5222
|
record: d,
|
|
5217
5223
|
onCommitted: async () => {
|
|
5218
5224
|
await u.refetch();
|
|
5219
5225
|
}
|
|
5220
|
-
},
|
|
5226
|
+
}, rs(d)) })
|
|
5221
5227
|
}),
|
|
5222
5228
|
/* @__PURE__ */ Z(B, {
|
|
5223
5229
|
label: l("profile.display_name", "Display name"),
|
|
@@ -5230,9 +5236,9 @@ function ts() {
|
|
|
5230
5236
|
}),
|
|
5231
5237
|
/* @__PURE__ */ Z(B, {
|
|
5232
5238
|
label: l("profile.personal.timezone", "Timezone"),
|
|
5233
|
-
children:
|
|
5239
|
+
children: os()
|
|
5234
5240
|
}),
|
|
5235
|
-
t?.id && /* @__PURE__ */ Z(
|
|
5241
|
+
t?.id && /* @__PURE__ */ Z(cs, { userId: t.id })
|
|
5236
5242
|
] })
|
|
5237
5243
|
})
|
|
5238
5244
|
}),
|
|
@@ -5267,7 +5273,7 @@ function ts() {
|
|
|
5267
5273
|
children: t?.roles && t.roles.length > 0 ? /* @__PURE__ */ Z("div", {
|
|
5268
5274
|
className: "flex flex-wrap gap-1",
|
|
5269
5275
|
children: t.roles.map((e) => /* @__PURE__ */ Z(y, { children: e }, e))
|
|
5270
|
-
}) :
|
|
5276
|
+
}) : xe
|
|
5271
5277
|
}),
|
|
5272
5278
|
/* @__PURE__ */ Z(B, {
|
|
5273
5279
|
label: l("profile.access.permissions", "Permissions"),
|
|
@@ -5278,8 +5284,8 @@ function ts() {
|
|
|
5278
5284
|
})
|
|
5279
5285
|
] })
|
|
5280
5286
|
}),
|
|
5281
|
-
/* @__PURE__ */ Z(
|
|
5282
|
-
t?.id && /* @__PURE__ */ Z(
|
|
5287
|
+
/* @__PURE__ */ Z(ls, { userId: t?.id }),
|
|
5288
|
+
t?.id && /* @__PURE__ */ Z(ss, { userId: t.id }),
|
|
5283
5289
|
s?.screen && o && g && d && /* @__PURE__ */ Z(Zn, {
|
|
5284
5290
|
screen: s.screen,
|
|
5285
5291
|
entity: g,
|
|
@@ -5289,7 +5295,7 @@ function ts() {
|
|
|
5289
5295
|
})
|
|
5290
5296
|
]
|
|
5291
5297
|
}),
|
|
5292
|
-
/* @__PURE__ */ Z(
|
|
5298
|
+
/* @__PURE__ */ Z(as, {
|
|
5293
5299
|
open: m,
|
|
5294
5300
|
initialName: t?.display_name ?? "",
|
|
5295
5301
|
userId: t?.id ?? "",
|
|
@@ -5298,23 +5304,23 @@ function ts() {
|
|
|
5298
5304
|
await a(), h(!1);
|
|
5299
5305
|
}
|
|
5300
5306
|
}),
|
|
5301
|
-
/* @__PURE__ */ Z(
|
|
5307
|
+
/* @__PURE__ */ Z(Vo, {
|
|
5302
5308
|
open: f,
|
|
5303
5309
|
onClose: () => p(!1),
|
|
5304
5310
|
onSubmit: async ({ current: e, next: t }) => {
|
|
5305
|
-
await Sn(e, t),
|
|
5311
|
+
await Sn(e, t), I.success(l("profile.password.changed", "Password changed. Sign in again to continue."));
|
|
5306
5312
|
}
|
|
5307
5313
|
})
|
|
5308
5314
|
] });
|
|
5309
5315
|
}
|
|
5310
|
-
function
|
|
5311
|
-
return Dr(Pr(e,
|
|
5316
|
+
function rs(e) {
|
|
5317
|
+
return Dr(Pr(e, ts))?.id ?? "";
|
|
5312
5318
|
}
|
|
5313
|
-
function
|
|
5314
|
-
let i = z(), a = z("errors"), o =
|
|
5319
|
+
function is({ userId: e, entity: t, record: n, onCommitted: r }) {
|
|
5320
|
+
let i = z(), a = z("errors"), o = De(), [s, c] = J(!1), [l, u] = J(0), d = async (s) => {
|
|
5315
5321
|
let l = Er({
|
|
5316
5322
|
entity: t,
|
|
5317
|
-
formData: { [
|
|
5323
|
+
formData: { [ts]: s },
|
|
5318
5324
|
record: n,
|
|
5319
5325
|
isNew: !1
|
|
5320
5326
|
});
|
|
@@ -5322,10 +5328,10 @@ function rs({ userId: e, entity: t, record: n, onCommitted: r }) {
|
|
|
5322
5328
|
c(!0);
|
|
5323
5329
|
try {
|
|
5324
5330
|
await ar($, { id: e }, { $files: l });
|
|
5325
|
-
let t =
|
|
5326
|
-
t && o.markCommitted(t), await r(),
|
|
5331
|
+
let t = rs({ [ts]: s });
|
|
5332
|
+
t && o.markCommitted(t), await r(), I.success(i("profile.avatar.updated", "Avatar updated."));
|
|
5327
5333
|
} catch (e) {
|
|
5328
|
-
await o.flushAllDrafts(), u((e) => e + 1),
|
|
5334
|
+
await o.flushAllDrafts(), u((e) => e + 1), I.error(V(a, e));
|
|
5329
5335
|
} finally {
|
|
5330
5336
|
c(!1);
|
|
5331
5337
|
}
|
|
@@ -5334,7 +5340,7 @@ function rs({ userId: e, entity: t, record: n, onCommitted: r }) {
|
|
|
5334
5340
|
return /* @__PURE__ */ Z(bi, { children: zr({
|
|
5335
5341
|
entity: t,
|
|
5336
5342
|
entityCode: $,
|
|
5337
|
-
fieldName:
|
|
5343
|
+
fieldName: ts,
|
|
5338
5344
|
record: n,
|
|
5339
5345
|
mode: "edit",
|
|
5340
5346
|
onChange: (e) => void d(e),
|
|
@@ -5343,14 +5349,14 @@ function rs({ userId: e, entity: t, record: n, onCommitted: r }) {
|
|
|
5343
5349
|
fieldId: "profile-avatar"
|
|
5344
5350
|
}) }, l);
|
|
5345
5351
|
}
|
|
5346
|
-
function
|
|
5347
|
-
let o =
|
|
5352
|
+
function as({ open: e, initialName: t, userId: r, onClose: i, onSaved: a }) {
|
|
5353
|
+
let o = j().isPhone, s = z(), c = z("errors"), l = Ci(), [u, d] = J(t), [f, p] = J(!1), [m, h] = J(null);
|
|
5348
5354
|
if (!e) return null;
|
|
5349
|
-
let
|
|
5350
|
-
|
|
5355
|
+
let g = () => {
|
|
5356
|
+
d(t), h(null), i();
|
|
5351
5357
|
};
|
|
5352
5358
|
return /* @__PURE__ */ Q(X, { children: [/* @__PURE__ */ Z("div", {
|
|
5353
|
-
onClick:
|
|
5359
|
+
onClick: g,
|
|
5354
5360
|
style: {
|
|
5355
5361
|
position: "fixed",
|
|
5356
5362
|
inset: 0,
|
|
@@ -5413,10 +5419,10 @@ function is({ open: e, initialName: t, userId: r, onClose: i, onSaved: a }) {
|
|
|
5413
5419
|
children: s("profile.edit.subtitle", "Update your display name.")
|
|
5414
5420
|
})]
|
|
5415
5421
|
}),
|
|
5416
|
-
/* @__PURE__ */ Z(
|
|
5422
|
+
/* @__PURE__ */ Z(N, {
|
|
5417
5423
|
icon: /* @__PURE__ */ Z(n.x, { size: 14 }),
|
|
5418
5424
|
title: s("profile.edit.close", "Close"),
|
|
5419
|
-
onClick:
|
|
5425
|
+
onClick: g
|
|
5420
5426
|
})
|
|
5421
5427
|
]
|
|
5422
5428
|
}),
|
|
@@ -5427,15 +5433,17 @@ function is({ open: e, initialName: t, userId: r, onClose: i, onSaved: a }) {
|
|
|
5427
5433
|
flexDirection: "column",
|
|
5428
5434
|
gap: 12
|
|
5429
5435
|
},
|
|
5430
|
-
children: [/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(
|
|
5436
|
+
children: [/* @__PURE__ */ Q("div", { children: [/* @__PURE__ */ Z(P, {
|
|
5431
5437
|
required: !0,
|
|
5438
|
+
htmlFor: l,
|
|
5432
5439
|
children: s("profile.display_name", "Display name")
|
|
5433
|
-
}), /* @__PURE__ */ Z(
|
|
5434
|
-
|
|
5435
|
-
|
|
5440
|
+
}), /* @__PURE__ */ Z(F, {
|
|
5441
|
+
id: l,
|
|
5442
|
+
value: u,
|
|
5443
|
+
onChange: d,
|
|
5436
5444
|
placeholder: s("profile.edit.name_placeholder", "Your name"),
|
|
5437
5445
|
autoFocus: !0
|
|
5438
|
-
})] }),
|
|
5446
|
+
})] }), m && /* @__PURE__ */ Z(Wo, { text: m })]
|
|
5439
5447
|
}),
|
|
5440
5448
|
/* @__PURE__ */ Q("div", {
|
|
5441
5449
|
style: {
|
|
@@ -5450,50 +5458,50 @@ function is({ open: e, initialName: t, userId: r, onClose: i, onSaved: a }) {
|
|
|
5450
5458
|
children: [
|
|
5451
5459
|
/* @__PURE__ */ Z("div", { style: { flex: 1 } }),
|
|
5452
5460
|
/* @__PURE__ */ Z(S, {
|
|
5453
|
-
onClick:
|
|
5461
|
+
onClick: g,
|
|
5454
5462
|
children: s("dialog.cancel", "Cancel")
|
|
5455
5463
|
}),
|
|
5456
5464
|
/* @__PURE__ */ Z(S, {
|
|
5457
5465
|
kind: "primary",
|
|
5458
|
-
icon: Z(
|
|
5466
|
+
icon: Z(f ? Pe : n.check, { size: 13 }),
|
|
5459
5467
|
onClick: async () => {
|
|
5460
|
-
if (!
|
|
5461
|
-
|
|
5468
|
+
if (!u.trim()) {
|
|
5469
|
+
h(s("profile.edit.name_required", "Display name is required."));
|
|
5462
5470
|
return;
|
|
5463
5471
|
}
|
|
5464
|
-
|
|
5472
|
+
h(null), p(!0);
|
|
5465
5473
|
try {
|
|
5466
|
-
await ar($, { id: r }, { display_name:
|
|
5474
|
+
await ar($, { id: r }, { display_name: u.trim() }), await a();
|
|
5467
5475
|
} catch (e) {
|
|
5468
|
-
|
|
5476
|
+
h(V(c, e));
|
|
5469
5477
|
} finally {
|
|
5470
|
-
|
|
5478
|
+
p(!1);
|
|
5471
5479
|
}
|
|
5472
5480
|
},
|
|
5473
|
-
disabled: !
|
|
5474
|
-
children:
|
|
5481
|
+
disabled: !u.trim() || f,
|
|
5482
|
+
children: f ? s("dialog.saving", "Saving…") : s("dialog.save", "Save")
|
|
5475
5483
|
})
|
|
5476
5484
|
]
|
|
5477
5485
|
})
|
|
5478
5486
|
]
|
|
5479
5487
|
})] });
|
|
5480
5488
|
}
|
|
5481
|
-
function
|
|
5489
|
+
function os() {
|
|
5482
5490
|
try {
|
|
5483
5491
|
return Intl.DateTimeFormat().resolvedOptions().timeZone || "—";
|
|
5484
5492
|
} catch {
|
|
5485
5493
|
return "—";
|
|
5486
5494
|
}
|
|
5487
5495
|
}
|
|
5488
|
-
function
|
|
5496
|
+
function ss({ userId: e }) {
|
|
5489
5497
|
let { data: t } = L(), n = t?.entities[$]?.params_scope ?? $;
|
|
5490
|
-
return /* @__PURE__ */ Z(
|
|
5498
|
+
return /* @__PURE__ */ Z(es, {
|
|
5491
5499
|
carrierEntityCode: $,
|
|
5492
5500
|
carrierScope: n,
|
|
5493
5501
|
rowId: e
|
|
5494
5502
|
});
|
|
5495
5503
|
}
|
|
5496
|
-
function
|
|
5504
|
+
function cs({ userId: e }) {
|
|
5497
5505
|
let t = z(), { data: n } = L(), r = C().data?.find((e) => e.code === pn), i = n?.entities[$]?.params_scope ?? $, a = !!r?.scopes?.includes(i), { save: o, error: s, isLoading: c } = ve({
|
|
5498
5506
|
carrierEntityCode: $,
|
|
5499
5507
|
rowId: e,
|
|
@@ -5508,7 +5516,7 @@ function ss({ userId: e }) {
|
|
|
5508
5516
|
label: t(r?.name),
|
|
5509
5517
|
mode: a ? "edit" : "display",
|
|
5510
5518
|
error: s ?? void 0,
|
|
5511
|
-
children: !r || c ? /* @__PURE__ */ Z(
|
|
5519
|
+
children: !r || c ? /* @__PURE__ */ Z(Pe, { size: 12 }) : a ? /* @__PURE__ */ Z(rt, {
|
|
5512
5520
|
"data-testid": "profile-language",
|
|
5513
5521
|
value: f,
|
|
5514
5522
|
options: d,
|
|
@@ -5517,7 +5525,7 @@ function ss({ userId: e }) {
|
|
|
5517
5525
|
}) : d.find((e) => e.value === f)?.label ?? f
|
|
5518
5526
|
});
|
|
5519
5527
|
}
|
|
5520
|
-
function
|
|
5528
|
+
function ls({ userId: e }) {
|
|
5521
5529
|
let { data: t } = L();
|
|
5522
5530
|
if (!e || !t) return null;
|
|
5523
5531
|
let n = t.entities[$];
|
|
@@ -5536,17 +5544,17 @@ function cs({ userId: e }) {
|
|
|
5536
5544
|
}
|
|
5537
5545
|
//#endregion
|
|
5538
5546
|
//#region src/components/pages/tenant-params/TenantParamsPage.tsx
|
|
5539
|
-
var
|
|
5547
|
+
var us = "my_tenant", ds = [
|
|
5540
5548
|
"yaml",
|
|
5541
5549
|
"env",
|
|
5542
5550
|
"tenant"
|
|
5543
5551
|
];
|
|
5544
|
-
function
|
|
5552
|
+
function fs(e) {
|
|
5545
5553
|
return e === "tenant" ? "violet" : e === "env" ? "amber" : "slate";
|
|
5546
5554
|
}
|
|
5547
|
-
function
|
|
5555
|
+
function ps(e) {
|
|
5548
5556
|
let t = z(), r = z("errors"), i = R((e) => e.activeTenant?.id) ?? "", a = C("tenant"), [o, s] = J(""), [c, l] = J(""), [u, d] = J(""), [f, p] = J(!1), [m, h] = J(null), { overrideByCode: g, missingParams: _, isLoading: v, error: y, clearError: b, save: x, reset: T } = ve({
|
|
5549
|
-
carrierEntityCode:
|
|
5557
|
+
carrierEntityCode: us,
|
|
5550
5558
|
rowId: i,
|
|
5551
5559
|
onWritten: () => h(null)
|
|
5552
5560
|
}), E = K(() => a.data ?? [], [a.data]), D = K(() => Array.from(new Set(E.map((e) => e.category).filter(Boolean))).sort(), [E]), O = K(() => {
|
|
@@ -5596,11 +5604,11 @@ function fs(e) {
|
|
|
5596
5604
|
}),
|
|
5597
5605
|
y && /* @__PURE__ */ Z("div", {
|
|
5598
5606
|
style: { marginBottom: 12 },
|
|
5599
|
-
children: /* @__PURE__ */ Z(
|
|
5607
|
+
children: /* @__PURE__ */ Z(Wo, { text: y })
|
|
5600
5608
|
}),
|
|
5601
5609
|
_ && /* @__PURE__ */ Z("div", {
|
|
5602
5610
|
style: { marginBottom: 12 },
|
|
5603
|
-
children: /* @__PURE__ */ Z(
|
|
5611
|
+
children: /* @__PURE__ */ Z(Wo, { text: r("param.overrides_unreadable", "The current parameter overrides could not be read.") })
|
|
5604
5612
|
}),
|
|
5605
5613
|
/* @__PURE__ */ Q("div", {
|
|
5606
5614
|
"data-testid": "tenant-params-filters",
|
|
@@ -5617,7 +5625,7 @@ function fs(e) {
|
|
|
5617
5625
|
minWidth: 200,
|
|
5618
5626
|
flex: 1
|
|
5619
5627
|
},
|
|
5620
|
-
children: /* @__PURE__ */ Z(
|
|
5628
|
+
children: /* @__PURE__ */ Z(F, {
|
|
5621
5629
|
value: o,
|
|
5622
5630
|
onChange: s,
|
|
5623
5631
|
placeholder: t("params.search", "Search name or code…")
|
|
@@ -5625,7 +5633,7 @@ function fs(e) {
|
|
|
5625
5633
|
}),
|
|
5626
5634
|
/* @__PURE__ */ Z("div", {
|
|
5627
5635
|
style: { minWidth: 160 },
|
|
5628
|
-
children: /* @__PURE__ */ Z(
|
|
5636
|
+
children: /* @__PURE__ */ Z(rt, {
|
|
5629
5637
|
value: c,
|
|
5630
5638
|
options: [{
|
|
5631
5639
|
value: "",
|
|
@@ -5639,14 +5647,14 @@ function fs(e) {
|
|
|
5639
5647
|
}),
|
|
5640
5648
|
/* @__PURE__ */ Z("div", {
|
|
5641
5649
|
style: { minWidth: 140 },
|
|
5642
|
-
children: /* @__PURE__ */ Z(
|
|
5650
|
+
children: /* @__PURE__ */ Z(rt, {
|
|
5643
5651
|
value: u,
|
|
5644
5652
|
options: [{
|
|
5645
5653
|
value: "",
|
|
5646
5654
|
label: t("params.filter.all_sources", "All sources")
|
|
5647
|
-
}, ...
|
|
5655
|
+
}, ...ds.map((e) => ({
|
|
5648
5656
|
value: e,
|
|
5649
|
-
label:
|
|
5657
|
+
label: Uo(t, e)
|
|
5650
5658
|
}))],
|
|
5651
5659
|
onChange: d
|
|
5652
5660
|
})
|
|
@@ -5658,7 +5666,7 @@ function fs(e) {
|
|
|
5658
5666
|
gap: 6,
|
|
5659
5667
|
fontSize: 12
|
|
5660
5668
|
},
|
|
5661
|
-
children: [/* @__PURE__ */ Z(
|
|
5669
|
+
children: [/* @__PURE__ */ Z(Ge, {
|
|
5662
5670
|
value: f,
|
|
5663
5671
|
onChange: p
|
|
5664
5672
|
}), t("params.filter.overridden_only", "Overridden only")]
|
|
@@ -5670,7 +5678,7 @@ function fs(e) {
|
|
|
5670
5678
|
padding: "24px 0",
|
|
5671
5679
|
textAlign: "center"
|
|
5672
5680
|
},
|
|
5673
|
-
children: /* @__PURE__ */ Z(
|
|
5681
|
+
children: /* @__PURE__ */ Z(Pe, { size: 18 })
|
|
5674
5682
|
}) : /* @__PURE__ */ Z("div", {
|
|
5675
5683
|
style: {
|
|
5676
5684
|
border: "1px solid var(--border)",
|
|
@@ -5690,13 +5698,13 @@ function fs(e) {
|
|
|
5690
5698
|
textAlign: "left"
|
|
5691
5699
|
},
|
|
5692
5700
|
children: [
|
|
5693
|
-
/* @__PURE__ */ Z(
|
|
5694
|
-
/* @__PURE__ */ Z(
|
|
5695
|
-
/* @__PURE__ */ Z(
|
|
5696
|
-
/* @__PURE__ */ Z(
|
|
5697
|
-
/* @__PURE__ */ Z(
|
|
5698
|
-
/* @__PURE__ */ Z(
|
|
5699
|
-
/* @__PURE__ */ Z(
|
|
5701
|
+
/* @__PURE__ */ Z(ms, { children: t("params.column.name", "Name") }),
|
|
5702
|
+
/* @__PURE__ */ Z(ms, { children: t("params.column.code", "Code") }),
|
|
5703
|
+
/* @__PURE__ */ Z(ms, { children: t("params.column.category", "Category") }),
|
|
5704
|
+
/* @__PURE__ */ Z(ms, { children: t("params.column.type", "Type") }),
|
|
5705
|
+
/* @__PURE__ */ Z(ms, { children: t("params.value", "Value") }),
|
|
5706
|
+
/* @__PURE__ */ Z(ms, { children: t("params.column.source", "Source") }),
|
|
5707
|
+
/* @__PURE__ */ Z(ms, { children: "" })
|
|
5700
5708
|
]
|
|
5701
5709
|
}) }), /* @__PURE__ */ Z("tbody", { children: O.length === 0 ? /* @__PURE__ */ Z("tr", { children: /* @__PURE__ */ Z("td", {
|
|
5702
5710
|
colSpan: 7,
|
|
@@ -5707,25 +5715,25 @@ function fs(e) {
|
|
|
5707
5715
|
},
|
|
5708
5716
|
children: t("params.empty", "No parameters match.")
|
|
5709
5717
|
}) }) : O.map((e) => {
|
|
5710
|
-
let r = g.get(e.code), i = r !== void 0, a =
|
|
5718
|
+
let r = g.get(e.code), i = r !== void 0, a = Zo(e), o = i && e.source === "tenant";
|
|
5711
5719
|
return /* @__PURE__ */ Q("tr", {
|
|
5712
5720
|
"data-testid": `tenant-param-row-${e.code}`,
|
|
5713
5721
|
style: { borderTop: "1px solid var(--divider)" },
|
|
5714
5722
|
children: [
|
|
5715
|
-
/* @__PURE__ */ Z(
|
|
5716
|
-
/* @__PURE__ */ Z(
|
|
5723
|
+
/* @__PURE__ */ Z(hs, { children: t(e.name) || e.code }),
|
|
5724
|
+
/* @__PURE__ */ Z(hs, { children: /* @__PURE__ */ Z("span", {
|
|
5717
5725
|
className: "mono",
|
|
5718
5726
|
style: { color: "var(--text-3)" },
|
|
5719
5727
|
children: e.code
|
|
5720
5728
|
}) }),
|
|
5721
|
-
/* @__PURE__ */ Z(
|
|
5722
|
-
/* @__PURE__ */ Z(
|
|
5723
|
-
/* @__PURE__ */ Z(
|
|
5729
|
+
/* @__PURE__ */ Z(hs, { children: e.category ?? "—" }),
|
|
5730
|
+
/* @__PURE__ */ Z(hs, { children: e.type }),
|
|
5731
|
+
/* @__PURE__ */ Z(hs, { children: /* @__PURE__ */ Z(Go, {
|
|
5724
5732
|
type: e.type,
|
|
5725
5733
|
value: e.value,
|
|
5726
5734
|
structure: e.structure
|
|
5727
5735
|
}) }),
|
|
5728
|
-
/* @__PURE__ */ Z(
|
|
5736
|
+
/* @__PURE__ */ Z(hs, { children: /* @__PURE__ */ Q("span", {
|
|
5729
5737
|
style: {
|
|
5730
5738
|
display: "inline-flex",
|
|
5731
5739
|
gap: 6,
|
|
@@ -5733,9 +5741,9 @@ function fs(e) {
|
|
|
5733
5741
|
},
|
|
5734
5742
|
children: [
|
|
5735
5743
|
/* @__PURE__ */ Z(w, {
|
|
5736
|
-
tone:
|
|
5744
|
+
tone: fs(e.source),
|
|
5737
5745
|
size: "xs",
|
|
5738
|
-
children:
|
|
5746
|
+
children: Uo(t, e.source)
|
|
5739
5747
|
}),
|
|
5740
5748
|
o && /* @__PURE__ */ Z(w, {
|
|
5741
5749
|
tone: "violet",
|
|
@@ -5747,7 +5755,7 @@ function fs(e) {
|
|
|
5747
5755
|
"data-testid": `tenant-param-not-applied-${e.code}`,
|
|
5748
5756
|
title: t("params.tenant.not_applied_hint", "This tenant is set to {value}, and it no longer satisfies the parameter's declaration. Source of the value in effect: {source}. Reset to remove it, or edit it to a value the declaration accepts.", {
|
|
5749
5757
|
value: JSON.stringify(r.value),
|
|
5750
|
-
source:
|
|
5758
|
+
source: Uo(t, e.source)
|
|
5751
5759
|
}),
|
|
5752
5760
|
children: /* @__PURE__ */ Z(w, {
|
|
5753
5761
|
tone: "amber",
|
|
@@ -5758,7 +5766,7 @@ function fs(e) {
|
|
|
5758
5766
|
})
|
|
5759
5767
|
]
|
|
5760
5768
|
}) }),
|
|
5761
|
-
/* @__PURE__ */ Z(
|
|
5769
|
+
/* @__PURE__ */ Z(hs, { children: /* @__PURE__ */ Z("span", {
|
|
5762
5770
|
style: {
|
|
5763
5771
|
display: "inline-flex",
|
|
5764
5772
|
gap: 6,
|
|
@@ -5772,7 +5780,7 @@ function fs(e) {
|
|
|
5772
5780
|
b(), h(e);
|
|
5773
5781
|
},
|
|
5774
5782
|
children: t("params.edit", "Edit")
|
|
5775
|
-
}), i && /* @__PURE__ */ Z(
|
|
5783
|
+
}), i && /* @__PURE__ */ Z(N, {
|
|
5776
5784
|
icon: /* @__PURE__ */ Z(n.refresh, { size: 13 }),
|
|
5777
5785
|
title: t("params.reset", "Reset to default"),
|
|
5778
5786
|
onClick: () => T(e)
|
|
@@ -5798,7 +5806,7 @@ function fs(e) {
|
|
|
5798
5806
|
})
|
|
5799
5807
|
})
|
|
5800
5808
|
]
|
|
5801
|
-
}), m && /* @__PURE__ */ Z(
|
|
5809
|
+
}), m && /* @__PURE__ */ Z(Ko, {
|
|
5802
5810
|
param: m,
|
|
5803
5811
|
current: g.get(m.code)?.value ?? m.value,
|
|
5804
5812
|
error: y,
|
|
@@ -5809,7 +5817,7 @@ function fs(e) {
|
|
|
5809
5817
|
})]
|
|
5810
5818
|
});
|
|
5811
5819
|
}
|
|
5812
|
-
function
|
|
5820
|
+
function ms({ children: e }) {
|
|
5813
5821
|
return /* @__PURE__ */ Z("th", {
|
|
5814
5822
|
style: {
|
|
5815
5823
|
padding: "8px 12px",
|
|
@@ -5820,7 +5828,7 @@ function ps({ children: e }) {
|
|
|
5820
5828
|
children: e
|
|
5821
5829
|
});
|
|
5822
5830
|
}
|
|
5823
|
-
function
|
|
5831
|
+
function hs({ children: e }) {
|
|
5824
5832
|
return /* @__PURE__ */ Z("td", {
|
|
5825
5833
|
style: {
|
|
5826
5834
|
padding: "8px 12px",
|
|
@@ -5831,8 +5839,8 @@ function ms({ children: e }) {
|
|
|
5831
5839
|
}
|
|
5832
5840
|
//#endregion
|
|
5833
5841
|
//#region src/components/chrome/PageHeader.tsx
|
|
5834
|
-
function
|
|
5835
|
-
let a = z(), s =
|
|
5842
|
+
function gs({ title: e, description: t, backTo: r, actions: i }) {
|
|
5843
|
+
let a = z(), s = qe(), c = e ?? a(s?.screen?.display?.name) ?? "", l = t ?? a(s?.screen?.display?.description), u = Gt("custom"), d = u.isVisible("show_title"), f = u.isVisible("show_actions"), p = Qt(), m = o(), h = W(() => {
|
|
5836
5844
|
if (r) {
|
|
5837
5845
|
if (!p.enabled) {
|
|
5838
5846
|
let e = H.getState().findTabByPathname(r);
|
|
@@ -5855,7 +5863,7 @@ function hs({ title: e, description: t, backTo: r, actions: i }) {
|
|
|
5855
5863
|
minWidth: 0
|
|
5856
5864
|
},
|
|
5857
5865
|
children: [
|
|
5858
|
-
d && (g || !!r) && /* @__PURE__ */ Z(
|
|
5866
|
+
d && (g || !!r) && /* @__PURE__ */ Z(N, {
|
|
5859
5867
|
icon: /* @__PURE__ */ Z(n.back, { size: 14 }),
|
|
5860
5868
|
onClick: _,
|
|
5861
5869
|
title: a("shell.back", "Back")
|
|
@@ -5879,7 +5887,7 @@ function hs({ title: e, description: t, backTo: r, actions: i }) {
|
|
|
5879
5887
|
},
|
|
5880
5888
|
children: c
|
|
5881
5889
|
}),
|
|
5882
|
-
d && l && /* @__PURE__ */ Z(
|
|
5890
|
+
d && l && /* @__PURE__ */ Z(Lt, {
|
|
5883
5891
|
label: l,
|
|
5884
5892
|
"data-testid": "page-description-info"
|
|
5885
5893
|
}),
|
|
@@ -5892,13 +5900,13 @@ function hs({ title: e, description: t, backTo: r, actions: i }) {
|
|
|
5892
5900
|
}
|
|
5893
5901
|
//#endregion
|
|
5894
5902
|
//#region src/components/pages/profile/Preferences.tsx
|
|
5895
|
-
var
|
|
5903
|
+
var _s = [
|
|
5896
5904
|
"violet",
|
|
5897
5905
|
"blue",
|
|
5898
5906
|
"teal",
|
|
5899
5907
|
"amber",
|
|
5900
5908
|
"rose"
|
|
5901
|
-
],
|
|
5909
|
+
], vs = [
|
|
5902
5910
|
[
|
|
5903
5911
|
"compact",
|
|
5904
5912
|
"profile.preferences.density.compact",
|
|
@@ -5914,7 +5922,7 @@ var gs = [
|
|
|
5914
5922
|
"profile.preferences.density.cozy",
|
|
5915
5923
|
"Cozy"
|
|
5916
5924
|
]
|
|
5917
|
-
],
|
|
5925
|
+
], ys = "px", bs = [
|
|
5918
5926
|
[
|
|
5919
5927
|
"profile.preferences.shortcut.command_palette",
|
|
5920
5928
|
"Command palette",
|
|
@@ -5946,10 +5954,10 @@ var gs = [
|
|
|
5946
5954
|
"Esc"
|
|
5947
5955
|
]
|
|
5948
5956
|
];
|
|
5949
|
-
function
|
|
5950
|
-
let e = U((e) => e.colorScheme), t = U((e) => e.accent), r = U((e) => e.density), i = U((e) => e.radius), a = U((e) => e.zebra), o = U((e) => e.set), s = U((e) => e.resetToDefaults), { branding: c } =
|
|
5957
|
+
function xs() {
|
|
5958
|
+
let e = U((e) => e.colorScheme), t = U((e) => e.accent), r = U((e) => e.density), i = U((e) => e.radius), a = U((e) => e.zebra), o = U((e) => e.set), s = U((e) => e.resetToDefaults), { branding: c } = qt(), l = z();
|
|
5951
5959
|
return /* @__PURE__ */ Q(Jn, {
|
|
5952
|
-
header: /* @__PURE__ */ Z(
|
|
5960
|
+
header: /* @__PURE__ */ Z(gs, {
|
|
5953
5961
|
title: l("profile.preferences", "Preferences"),
|
|
5954
5962
|
actions: /* @__PURE__ */ Z(S, {
|
|
5955
5963
|
icon: /* @__PURE__ */ Z(n.refresh, { size: 13 }),
|
|
@@ -5962,13 +5970,13 @@ function bs() {
|
|
|
5962
5970
|
icon: /* @__PURE__ */ Z(n.moon, { size: 14 }),
|
|
5963
5971
|
footer: gn(l("profile.preferences.subtitle", "These settings apply for this session; a reload returns to your workspace defaults, which admins set through the {parameter} parameter."), { parameter: /* @__PURE__ */ Z("span", {
|
|
5964
5972
|
className: "mono",
|
|
5965
|
-
children:
|
|
5973
|
+
children: Ft
|
|
5966
5974
|
}) }),
|
|
5967
5975
|
children: /* @__PURE__ */ Q(Kn, { children: [
|
|
5968
5976
|
/* @__PURE__ */ Z(B, {
|
|
5969
5977
|
label: l("profile.preferences.theme", "Theme"),
|
|
5970
5978
|
hint: l("profile.preferences.theme_hint", "Pick light or dark (system sync coming soon)"),
|
|
5971
|
-
children: /* @__PURE__ */ Z(
|
|
5979
|
+
children: /* @__PURE__ */ Z(Ss, { children: [["light", l("profile.preferences.theme.light", "Light")], ["dark", l("profile.preferences.theme.dark", "Dark")]].map(([t, n]) => /* @__PURE__ */ Z(S, {
|
|
5972
5980
|
kind: e === t ? "primary" : "default",
|
|
5973
5981
|
"aria-pressed": e === t,
|
|
5974
5982
|
onClick: () => o("colorScheme", t),
|
|
@@ -5978,7 +5986,7 @@ function bs() {
|
|
|
5978
5986
|
/* @__PURE__ */ Z(B, {
|
|
5979
5987
|
label: l("profile.preferences.accent", "Accent color"),
|
|
5980
5988
|
hint: l("profile.preferences.accent_hint", "Your personal accent across the app"),
|
|
5981
|
-
children: /* @__PURE__ */ Z(
|
|
5989
|
+
children: /* @__PURE__ */ Z(Ss, { children: _s.map((n) => /* @__PURE__ */ Z("button", {
|
|
5982
5990
|
type: "button",
|
|
5983
5991
|
"data-accent": n,
|
|
5984
5992
|
"data-color-scheme": e,
|
|
@@ -5992,7 +6000,7 @@ function bs() {
|
|
|
5992
6000
|
/* @__PURE__ */ Z(B, {
|
|
5993
6001
|
label: l("profile.preferences.density", "Density"),
|
|
5994
6002
|
hint: l("profile.preferences.density_hint", "Compact saves space; cozy is easier on the eyes"),
|
|
5995
|
-
children: /* @__PURE__ */ Z(
|
|
6003
|
+
children: /* @__PURE__ */ Z(Ss, { children: vs.map(([e, t, n]) => /* @__PURE__ */ Z(S, {
|
|
5996
6004
|
kind: r === e ? "primary" : "default",
|
|
5997
6005
|
"aria-pressed": r === e,
|
|
5998
6006
|
onClick: () => o("density", e),
|
|
@@ -6001,7 +6009,7 @@ function bs() {
|
|
|
6001
6009
|
}),
|
|
6002
6010
|
/* @__PURE__ */ Z(B, {
|
|
6003
6011
|
label: l("profile.preferences.radius", "Border radius"),
|
|
6004
|
-
children: /* @__PURE__ */ Q(
|
|
6012
|
+
children: /* @__PURE__ */ Q(Ss, { children: [/* @__PURE__ */ Z("input", {
|
|
6005
6013
|
type: "range",
|
|
6006
6014
|
min: 0,
|
|
6007
6015
|
max: 14,
|
|
@@ -6010,14 +6018,14 @@ function bs() {
|
|
|
6010
6018
|
className: "w-44"
|
|
6011
6019
|
}), /* @__PURE__ */ Q("span", {
|
|
6012
6020
|
className: "mono num text-xs text-muted-foreground",
|
|
6013
|
-
children: [i,
|
|
6021
|
+
children: [i, ys]
|
|
6014
6022
|
})] })
|
|
6015
6023
|
}),
|
|
6016
6024
|
/* @__PURE__ */ Z(B, {
|
|
6017
6025
|
label: l("profile.preferences.zebra", "Zebra rows"),
|
|
6018
6026
|
labelId: "preferences-zebra",
|
|
6019
6027
|
hint: l("profile.preferences.zebra_hint", "Alternating row backgrounds on tables"),
|
|
6020
|
-
children: /* @__PURE__ */ Z(
|
|
6028
|
+
children: /* @__PURE__ */ Z(Ge, {
|
|
6021
6029
|
value: a,
|
|
6022
6030
|
ariaLabelledby: "preferences-zebra",
|
|
6023
6031
|
onChange: (e) => o("zebra", e)
|
|
@@ -6027,14 +6035,14 @@ function bs() {
|
|
|
6027
6035
|
}), /* @__PURE__ */ Z(Rn, {
|
|
6028
6036
|
title: l("profile.preferences.keyboard", "Keyboard"),
|
|
6029
6037
|
icon: /* @__PURE__ */ Z(n.command, { size: 14 }),
|
|
6030
|
-
children: /* @__PURE__ */ Z(Kn, { children:
|
|
6038
|
+
children: /* @__PURE__ */ Z(Kn, { children: bs.map(([e, t, n]) => /* @__PURE__ */ Z(B, {
|
|
6031
6039
|
label: l(e, t),
|
|
6032
6040
|
children: /* @__PURE__ */ Z(_, { children: n })
|
|
6033
6041
|
}, e)) })
|
|
6034
6042
|
})]
|
|
6035
6043
|
});
|
|
6036
6044
|
}
|
|
6037
|
-
function
|
|
6045
|
+
function Ss({ children: e }) {
|
|
6038
6046
|
return /* @__PURE__ */ Z("div", {
|
|
6039
6047
|
className: "flex flex-wrap items-center gap-1.5",
|
|
6040
6048
|
children: e
|
|
@@ -6042,9 +6050,9 @@ function xs({ children: e }) {
|
|
|
6042
6050
|
}
|
|
6043
6051
|
//#endregion
|
|
6044
6052
|
//#region src/components/pages/AdminCatalogPage.tsx
|
|
6045
|
-
var
|
|
6046
|
-
function
|
|
6047
|
-
let { data: e } = L(), t = z(), [n, r] = J("handlers"), i =
|
|
6053
|
+
var Cs = "string", ws = "handler";
|
|
6054
|
+
function Ts() {
|
|
6055
|
+
let { data: e } = L(), t = z(), [n, r] = J("handlers"), i = j().isPhone;
|
|
6048
6056
|
return e ? /* @__PURE__ */ Q("div", {
|
|
6049
6057
|
style: {
|
|
6050
6058
|
display: "flex",
|
|
@@ -6107,11 +6115,11 @@ function ws() {
|
|
|
6107
6115
|
paddingRight: 20
|
|
6108
6116
|
}
|
|
6109
6117
|
},
|
|
6110
|
-
children: [n === "handlers" && /* @__PURE__ */ Z(
|
|
6118
|
+
children: [n === "handlers" && /* @__PURE__ */ Z(Es, { schema: e }), n === "actions" && /* @__PURE__ */ Z(ks, { schema: e })]
|
|
6111
6119
|
})]
|
|
6112
6120
|
}) : null;
|
|
6113
6121
|
}
|
|
6114
|
-
function
|
|
6122
|
+
function Es({ schema: e }) {
|
|
6115
6123
|
let t = z(), n = K(() => {
|
|
6116
6124
|
let t = [];
|
|
6117
6125
|
if (e.handlers) for (let [n, r] of Object.entries(e.handlers)) t.push({
|
|
@@ -6147,7 +6155,7 @@ function Ts({ schema: e }) {
|
|
|
6147
6155
|
flexDirection: "column",
|
|
6148
6156
|
gap: 8
|
|
6149
6157
|
},
|
|
6150
|
-
children: n.map(({ code: e, handler: t, entity: n }) => /* @__PURE__ */ Z(
|
|
6158
|
+
children: n.map(({ code: e, handler: t, entity: n }) => /* @__PURE__ */ Z(Ds, {
|
|
6151
6159
|
code: e,
|
|
6152
6160
|
handler: t,
|
|
6153
6161
|
entity: n
|
|
@@ -6155,8 +6163,8 @@ function Ts({ schema: e }) {
|
|
|
6155
6163
|
})]
|
|
6156
6164
|
});
|
|
6157
6165
|
}
|
|
6158
|
-
function
|
|
6159
|
-
let i = z(), [a, o] = J(!1), s =
|
|
6166
|
+
function Ds({ code: e, handler: t, entity: n }) {
|
|
6167
|
+
let i = z(), [a, o] = J(!1), s = j().isPhone, c = t.display?.name ? i(t.display.name) : e;
|
|
6160
6168
|
return /* @__PURE__ */ Q("div", {
|
|
6161
6169
|
style: {
|
|
6162
6170
|
border: "1px solid var(--border)",
|
|
@@ -6254,7 +6262,7 @@ function Es({ code: e, handler: t, entity: n }) {
|
|
|
6254
6262
|
},
|
|
6255
6263
|
children: (t.params?.names() ?? []).map((e) => {
|
|
6256
6264
|
let n = t.params.get(e);
|
|
6257
|
-
return n ? /* @__PURE__ */ Z(
|
|
6265
|
+
return n ? /* @__PURE__ */ Z(Os, {
|
|
6258
6266
|
code: e,
|
|
6259
6267
|
param: n
|
|
6260
6268
|
}, e) : null;
|
|
@@ -6263,8 +6271,8 @@ function Es({ code: e, handler: t, entity: n }) {
|
|
|
6263
6271
|
})]
|
|
6264
6272
|
});
|
|
6265
6273
|
}
|
|
6266
|
-
function
|
|
6267
|
-
let n = z(), r = t.display?.name ? n(t.display.name) : void 0, i =
|
|
6274
|
+
function Os({ code: e, param: t }) {
|
|
6275
|
+
let n = z(), r = t.display?.name ? n(t.display.name) : void 0, i = j().isPhone;
|
|
6268
6276
|
return /* @__PURE__ */ Q("div", {
|
|
6269
6277
|
style: {
|
|
6270
6278
|
display: "flex",
|
|
@@ -6289,7 +6297,7 @@ function Ds({ code: e, param: t }) {
|
|
|
6289
6297
|
/* @__PURE__ */ Z(w, {
|
|
6290
6298
|
tone: "slate",
|
|
6291
6299
|
size: "xs",
|
|
6292
|
-
children: t.type ||
|
|
6300
|
+
children: t.type || Cs
|
|
6293
6301
|
}),
|
|
6294
6302
|
t.required && /* @__PURE__ */ Z(w, {
|
|
6295
6303
|
tone: "rose",
|
|
@@ -6320,7 +6328,7 @@ function Ds({ code: e, param: t }) {
|
|
|
6320
6328
|
]
|
|
6321
6329
|
});
|
|
6322
6330
|
}
|
|
6323
|
-
function
|
|
6331
|
+
function ks({ schema: e }) {
|
|
6324
6332
|
let t = z(), n = K(() => {
|
|
6325
6333
|
let t = [];
|
|
6326
6334
|
if (e.actions) for (let [n, r] of Object.entries(e.actions)) t.push({
|
|
@@ -6371,15 +6379,15 @@ function Os({ schema: e }) {
|
|
|
6371
6379
|
flexDirection: "column",
|
|
6372
6380
|
gap: 6
|
|
6373
6381
|
},
|
|
6374
|
-
children: n.map(({ code: e, action: t }) => /* @__PURE__ */ Z(
|
|
6382
|
+
children: n.map(({ code: e, action: t }) => /* @__PURE__ */ Z(As, {
|
|
6375
6383
|
code: e,
|
|
6376
6384
|
action: t
|
|
6377
6385
|
}, e))
|
|
6378
6386
|
})] }, e))]
|
|
6379
6387
|
});
|
|
6380
6388
|
}
|
|
6381
|
-
function
|
|
6382
|
-
let n = z()(t.display?.name), i =
|
|
6389
|
+
function As({ code: e, action: t }) {
|
|
6390
|
+
let n = z()(t.display?.name), i = j().isPhone;
|
|
6383
6391
|
return /* @__PURE__ */ Q("div", {
|
|
6384
6392
|
style: {
|
|
6385
6393
|
border: "1px solid var(--border)",
|
|
@@ -6453,7 +6461,7 @@ function ks({ code: e, action: t }) {
|
|
|
6453
6461
|
overflowWrap: "anywhere"
|
|
6454
6462
|
},
|
|
6455
6463
|
children: [
|
|
6456
|
-
|
|
6464
|
+
ws,
|
|
6457
6465
|
": ",
|
|
6458
6466
|
t.handler
|
|
6459
6467
|
]
|
|
@@ -6475,35 +6483,35 @@ function ks({ code: e, action: t }) {
|
|
|
6475
6483
|
}
|
|
6476
6484
|
//#endregion
|
|
6477
6485
|
//#region src/components/pages/SmartListPage.tsx
|
|
6478
|
-
var
|
|
6479
|
-
function
|
|
6486
|
+
var js = Si(() => import("./SmartListPage.impl-D694R32H.js").then((e) => ({ default: e.SmartListPage })));
|
|
6487
|
+
function Ms(e) {
|
|
6480
6488
|
return /* @__PURE__ */ Z(xi, {
|
|
6481
6489
|
fallback: null,
|
|
6482
|
-
children: /* @__PURE__ */ Z(
|
|
6490
|
+
children: /* @__PURE__ */ Z(js, { ...e })
|
|
6483
6491
|
});
|
|
6484
6492
|
}
|
|
6485
6493
|
//#endregion
|
|
6486
6494
|
//#region src/components/pages/SmartDetailPage.tsx
|
|
6487
|
-
var
|
|
6488
|
-
function
|
|
6495
|
+
var Ns = Si(() => import("./SmartDetailPage.impl-DFIIx80b.js").then((e) => ({ default: e.SmartDetailPage })));
|
|
6496
|
+
function Ps(e) {
|
|
6489
6497
|
return /* @__PURE__ */ Z(xi, {
|
|
6490
6498
|
fallback: null,
|
|
6491
|
-
children: /* @__PURE__ */ Z(
|
|
6499
|
+
children: /* @__PURE__ */ Z(Ns, { ...e })
|
|
6492
6500
|
});
|
|
6493
6501
|
}
|
|
6494
6502
|
//#endregion
|
|
6495
6503
|
//#region src/components/pages/SmartRecordListPage.tsx
|
|
6496
|
-
var
|
|
6497
|
-
function
|
|
6504
|
+
var Fs = Si(() => import("./SmartRecordListPage.impl-CB5cuQJV.js").then((e) => ({ default: e.SmartRecordListPage })));
|
|
6505
|
+
function Is(e) {
|
|
6498
6506
|
return /* @__PURE__ */ Z(xi, {
|
|
6499
6507
|
fallback: null,
|
|
6500
|
-
children: /* @__PURE__ */ Z(
|
|
6508
|
+
children: /* @__PURE__ */ Z(Fs, { ...e })
|
|
6501
6509
|
});
|
|
6502
6510
|
}
|
|
6503
6511
|
//#endregion
|
|
6504
6512
|
//#region src/hooks/useVersionWatcher.ts
|
|
6505
|
-
function
|
|
6506
|
-
let e =
|
|
6513
|
+
function Ls() {
|
|
6514
|
+
let e = Vi(), t = z(), n = q(t);
|
|
6507
6515
|
G(() => {
|
|
6508
6516
|
n.current = t;
|
|
6509
6517
|
}, [t]), G(() => {
|
|
@@ -6530,7 +6538,7 @@ function Is() {
|
|
|
6530
6538
|
}
|
|
6531
6539
|
}
|
|
6532
6540
|
function u() {
|
|
6533
|
-
let e =
|
|
6541
|
+
let e = Xt();
|
|
6534
6542
|
e && f(e);
|
|
6535
6543
|
let t = Date.now();
|
|
6536
6544
|
t - s < 5e3 || (s = t, l());
|
|
@@ -6545,7 +6553,7 @@ function Is() {
|
|
|
6545
6553
|
}
|
|
6546
6554
|
if (tn()) return;
|
|
6547
6555
|
let r = n.current;
|
|
6548
|
-
|
|
6556
|
+
I.info(r("toast.update.available", "A new version is available"), r("toast.update.hint", "Reload to pick up the latest UI and schema."), {
|
|
6549
6557
|
id: "declarion-update-available",
|
|
6550
6558
|
sticky: !0,
|
|
6551
6559
|
action: {
|
|
@@ -6563,34 +6571,34 @@ function Is() {
|
|
|
6563
6571
|
}
|
|
6564
6572
|
//#endregion
|
|
6565
6573
|
//#region src/lib/capabilityPrefetch.ts
|
|
6566
|
-
var
|
|
6567
|
-
() => import("./MarkdownRenderer-
|
|
6574
|
+
var Rs = [
|
|
6575
|
+
() => import("./MarkdownRenderer-BuO5hYJh.js"),
|
|
6568
6576
|
() => import("./JsonEditor-Dz1PQHC8.js"),
|
|
6569
|
-
() => import("./Grid-
|
|
6570
|
-
() => import("./DraggableChildrenTable-
|
|
6577
|
+
() => import("./Grid-Dsf3I0xG.js"),
|
|
6578
|
+
() => import("./DraggableChildrenTable-DruYOxKm.js")
|
|
6571
6579
|
];
|
|
6572
|
-
function
|
|
6573
|
-
for (let e of
|
|
6580
|
+
function zs() {
|
|
6581
|
+
for (let e of Rs) e().catch(() => {});
|
|
6574
6582
|
}
|
|
6575
|
-
var
|
|
6576
|
-
function
|
|
6577
|
-
if (
|
|
6578
|
-
|
|
6583
|
+
var Bs = !1;
|
|
6584
|
+
function Vs() {
|
|
6585
|
+
if (Bs) return;
|
|
6586
|
+
Bs = !0;
|
|
6579
6587
|
let e = globalThis.requestIdleCallback;
|
|
6580
|
-
typeof e == "function" ? e(
|
|
6588
|
+
typeof e == "function" ? e(zs) : setTimeout(zs, 0);
|
|
6581
6589
|
}
|
|
6582
6590
|
//#endregion
|
|
6583
6591
|
//#region src/stores/screen-registry.ts
|
|
6584
|
-
var
|
|
6585
|
-
function
|
|
6586
|
-
|
|
6592
|
+
var Hs = /* @__PURE__ */ new Map();
|
|
6593
|
+
function Us(e, t) {
|
|
6594
|
+
Hs.set(e, t);
|
|
6587
6595
|
}
|
|
6588
|
-
function
|
|
6589
|
-
return
|
|
6596
|
+
function Ws(e) {
|
|
6597
|
+
return Hs.get(e);
|
|
6590
6598
|
}
|
|
6591
6599
|
//#endregion
|
|
6592
6600
|
//#region src/lib/brand-tokens.ts
|
|
6593
|
-
var
|
|
6601
|
+
var Gs = ["light", "dark"], Ks = ["page_title_size", "page_title_line_height"], qs = [
|
|
6594
6602
|
"background",
|
|
6595
6603
|
"surface",
|
|
6596
6604
|
"surface_2",
|
|
@@ -6606,19 +6614,19 @@ var Ws = ["light", "dark"], Gs = ["page_title_size", "page_title_line_height"],
|
|
|
6606
6614
|
"sidebar",
|
|
6607
6615
|
"rail"
|
|
6608
6616
|
];
|
|
6609
|
-
function
|
|
6617
|
+
function Js(e) {
|
|
6610
6618
|
return `--${e.replace(/_/g, "-")}`;
|
|
6611
6619
|
}
|
|
6612
|
-
function
|
|
6620
|
+
function Ys(e) {
|
|
6613
6621
|
if (typeof e != "string") return null;
|
|
6614
6622
|
let t = e.trim();
|
|
6615
6623
|
return !t || /[;{}]/.test(t) ? null : t;
|
|
6616
6624
|
}
|
|
6617
|
-
function
|
|
6618
|
-
let t =
|
|
6625
|
+
function Xs(e) {
|
|
6626
|
+
let t = Ys(e);
|
|
6619
6627
|
return !t || typeof CSS < "u" && CSS.supports && !CSS.supports("color", t) ? null : t;
|
|
6620
6628
|
}
|
|
6621
|
-
var
|
|
6629
|
+
var Zs = {
|
|
6622
6630
|
light: {
|
|
6623
6631
|
soft: 10,
|
|
6624
6632
|
ring: 28,
|
|
@@ -6630,60 +6638,60 @@ var Xs = {
|
|
|
6630
6638
|
row: 22
|
|
6631
6639
|
}
|
|
6632
6640
|
};
|
|
6633
|
-
function
|
|
6634
|
-
if (!
|
|
6635
|
-
let n =
|
|
6641
|
+
function Qs(e, t) {
|
|
6642
|
+
if (!Xs(t.accent)) return [];
|
|
6643
|
+
let n = Zs[e];
|
|
6636
6644
|
return [
|
|
6637
6645
|
`--accent-soft: color-mix(in srgb, var(--accent) ${n.soft}%, var(--surface))`,
|
|
6638
6646
|
`--accent-ring: color-mix(in srgb, var(--accent) ${n.ring}%, transparent)`,
|
|
6639
6647
|
`--row-selected-bg: color-mix(in srgb, var(--accent) ${n.row}%, var(--surface))`
|
|
6640
6648
|
];
|
|
6641
6649
|
}
|
|
6642
|
-
function
|
|
6650
|
+
function $s(e, t) {
|
|
6643
6651
|
let n = [];
|
|
6644
|
-
for (let e of
|
|
6645
|
-
let r =
|
|
6646
|
-
r && n.push(`${
|
|
6652
|
+
for (let e of qs) {
|
|
6653
|
+
let r = Xs(t[e]);
|
|
6654
|
+
r && n.push(`${Js(e)}: ${r}`);
|
|
6647
6655
|
}
|
|
6648
|
-
return n.push(...
|
|
6656
|
+
return n.push(...Qs(e, t)), n;
|
|
6649
6657
|
}
|
|
6650
|
-
function
|
|
6658
|
+
function ec(e) {
|
|
6651
6659
|
if (!e) return "";
|
|
6652
|
-
let t = [], n = [], r =
|
|
6660
|
+
let t = [], n = [], r = Ys(e.font_sans), i = Ys(e.font_mono);
|
|
6653
6661
|
r && n.push(`--font-sans: ${r}`), i && n.push(`--font-mono: ${i}`);
|
|
6654
|
-
for (let t of
|
|
6655
|
-
let r =
|
|
6656
|
-
r && n.push(`${
|
|
6662
|
+
for (let t of Ks) {
|
|
6663
|
+
let r = Ys(e.typography?.[t]);
|
|
6664
|
+
r && n.push(`${Js(t)}: ${r}`);
|
|
6657
6665
|
}
|
|
6658
6666
|
n.length && t.push(`:root { ${n.join("; ")}; }`);
|
|
6659
|
-
for (let n of
|
|
6667
|
+
for (let n of Gs) {
|
|
6660
6668
|
let r = e.colors?.[n];
|
|
6661
6669
|
if (!r) continue;
|
|
6662
|
-
let i =
|
|
6670
|
+
let i = $s(n, r);
|
|
6663
6671
|
i.length && t.push(`html[data-color-scheme="${n}"] { ${i.join("; ")}; }`);
|
|
6664
6672
|
}
|
|
6665
6673
|
return t.join("\n");
|
|
6666
6674
|
}
|
|
6667
|
-
var
|
|
6668
|
-
function
|
|
6675
|
+
var tc = "declarion-brand-tokens", nc = "consumer-brand-css";
|
|
6676
|
+
function rc(e) {
|
|
6669
6677
|
if (typeof document > "u") return;
|
|
6670
|
-
let t = document.head, n = document.getElementById(
|
|
6678
|
+
let t = document.head, n = document.getElementById(tc);
|
|
6671
6679
|
if (!e) {
|
|
6672
6680
|
n?.remove();
|
|
6673
6681
|
return;
|
|
6674
6682
|
}
|
|
6675
6683
|
let r = n ?? document.createElement("style");
|
|
6676
|
-
n || (r.id =
|
|
6677
|
-
let i = document.getElementById(
|
|
6684
|
+
n || (r.id = tc, t.appendChild(r)), r.textContent !== e && (r.textContent = e);
|
|
6685
|
+
let i = document.getElementById(nc);
|
|
6678
6686
|
i && i.compareDocumentPosition(r) & Node.DOCUMENT_POSITION_FOLLOWING && t.appendChild(i);
|
|
6679
6687
|
}
|
|
6680
|
-
|
|
6681
|
-
var
|
|
6688
|
+
Us("Profile", ns), Us("TenantParameters", ps);
|
|
6689
|
+
var ic = "declarion-managed-favicon", ac = new Li({ defaultOptions: { queries: {
|
|
6682
6690
|
staleTime: 3e5,
|
|
6683
6691
|
retry: 1
|
|
6684
6692
|
} } });
|
|
6685
|
-
Cr(
|
|
6686
|
-
function
|
|
6693
|
+
Cr(ac, Tr);
|
|
6694
|
+
function oc(e) {
|
|
6687
6695
|
if (typeof window > "u") return null;
|
|
6688
6696
|
try {
|
|
6689
6697
|
let t = new URL(e, window.location.origin);
|
|
@@ -6692,7 +6700,7 @@ function ac(e) {
|
|
|
6692
6700
|
return null;
|
|
6693
6701
|
}
|
|
6694
6702
|
}
|
|
6695
|
-
function
|
|
6703
|
+
function sc() {
|
|
6696
6704
|
let { data: e } = L();
|
|
6697
6705
|
return {
|
|
6698
6706
|
routes: K(() => {
|
|
@@ -6704,9 +6712,9 @@ function oc() {
|
|
|
6704
6712
|
if ((i ? e.entities?.[i] : void 0)?.singleton) continue;
|
|
6705
6713
|
t.push(/* @__PURE__ */ Z(Y, {
|
|
6706
6714
|
path: r.route,
|
|
6707
|
-
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(
|
|
6715
|
+
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(at, {
|
|
6708
6716
|
code: n,
|
|
6709
|
-
children: /* @__PURE__ */ Z(
|
|
6717
|
+
children: /* @__PURE__ */ Z(Ms, { screenCode: n })
|
|
6710
6718
|
}) })
|
|
6711
6719
|
}, n));
|
|
6712
6720
|
continue;
|
|
@@ -6714,9 +6722,9 @@ function oc() {
|
|
|
6714
6722
|
if (r.type === "detail") {
|
|
6715
6723
|
t.push(/* @__PURE__ */ Z(Y, {
|
|
6716
6724
|
path: r.route,
|
|
6717
|
-
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(
|
|
6725
|
+
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(at, {
|
|
6718
6726
|
code: n,
|
|
6719
|
-
children: /* @__PURE__ */ Z(
|
|
6727
|
+
children: /* @__PURE__ */ Z(Ps, { screenCode: n })
|
|
6720
6728
|
}) })
|
|
6721
6729
|
}, n));
|
|
6722
6730
|
continue;
|
|
@@ -6724,18 +6732,18 @@ function oc() {
|
|
|
6724
6732
|
if (r.type === "record_list") {
|
|
6725
6733
|
t.push(/* @__PURE__ */ Z(Y, {
|
|
6726
6734
|
path: r.route,
|
|
6727
|
-
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(
|
|
6735
|
+
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(at, {
|
|
6728
6736
|
code: n,
|
|
6729
|
-
children: /* @__PURE__ */ Z(
|
|
6737
|
+
children: /* @__PURE__ */ Z(Is, { screenCode: n })
|
|
6730
6738
|
}) })
|
|
6731
6739
|
}, n));
|
|
6732
6740
|
continue;
|
|
6733
6741
|
}
|
|
6734
6742
|
if (r.type === "custom") {
|
|
6735
|
-
let e = r.component ?
|
|
6743
|
+
let e = r.component ? Ws(r.component) : void 0;
|
|
6736
6744
|
e && t.push(/* @__PURE__ */ Z(Y, {
|
|
6737
6745
|
path: r.route,
|
|
6738
|
-
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(
|
|
6746
|
+
element: /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(at, {
|
|
6739
6747
|
code: n,
|
|
6740
6748
|
children: /* @__PURE__ */ Z(e, { screenCode: n })
|
|
6741
6749
|
}) })
|
|
@@ -6744,11 +6752,11 @@ function oc() {
|
|
|
6744
6752
|
}
|
|
6745
6753
|
return t;
|
|
6746
6754
|
}, [e]),
|
|
6747
|
-
defaultRoute: K(() =>
|
|
6755
|
+
defaultRoute: K(() => ho(e), [e])
|
|
6748
6756
|
};
|
|
6749
6757
|
}
|
|
6750
|
-
function
|
|
6751
|
-
let t = R((e) => e.initialize), n = R((e) => e.isLoading), r = R((e) => e.isAuthenticated), { data: i, isError: a } = L(), { data: o, isLoading: s } = ie(), { branding: c, isLoading: l } =
|
|
6758
|
+
function cc() {
|
|
6759
|
+
let t = R((e) => e.initialize), n = R((e) => e.isLoading), r = R((e) => e.isAuthenticated), { data: i, isError: a } = L(), { data: o, isLoading: s } = ie(), { branding: c, isLoading: l } = qt(), { routes: u, defaultRoute: d } = sc(), f = Qt(), p = typeof window < "u" && window.self !== window.top && !f.enabled;
|
|
6752
6760
|
G(() => {
|
|
6753
6761
|
f.enabled || p || t();
|
|
6754
6762
|
}, [
|
|
@@ -6760,7 +6768,7 @@ function sc() {
|
|
|
6760
6768
|
G(() => {
|
|
6761
6769
|
e(m ?? {});
|
|
6762
6770
|
}, [m]), G(() => {
|
|
6763
|
-
|
|
6771
|
+
Vs();
|
|
6764
6772
|
}, []);
|
|
6765
6773
|
let h = c?.identity, g = c?.theme;
|
|
6766
6774
|
G(() => {
|
|
@@ -6769,7 +6777,7 @@ function sc() {
|
|
|
6769
6777
|
e && (document.title = e);
|
|
6770
6778
|
}, [h?.app_name]), G(() => {
|
|
6771
6779
|
if (typeof document > "u") return;
|
|
6772
|
-
let e = h?.app_logo, t =
|
|
6780
|
+
let e = h?.app_logo, t = Bt(e) ? oc(e.trim()) : null, n = document.getElementById(ic);
|
|
6773
6781
|
if (!t) {
|
|
6774
6782
|
n && n.remove();
|
|
6775
6783
|
return;
|
|
@@ -6777,22 +6785,22 @@ function sc() {
|
|
|
6777
6785
|
if (!n) {
|
|
6778
6786
|
document.querySelectorAll("link[rel=\"icon\"], link[rel=\"shortcut icon\"]").forEach((e) => e.remove());
|
|
6779
6787
|
let e = document.createElement("link");
|
|
6780
|
-
e.id =
|
|
6788
|
+
e.id = ic, e.rel = "icon", e.href = t, document.head.appendChild(e);
|
|
6781
6789
|
return;
|
|
6782
6790
|
}
|
|
6783
6791
|
n.href !== t && (n.href = t);
|
|
6784
6792
|
}, [h?.app_logo]);
|
|
6785
|
-
let _ = g?.css_url ?? null, v = K(() =>
|
|
6793
|
+
let _ = g?.css_url ?? null, v = K(() => ec(g), [g]);
|
|
6786
6794
|
G(() => {
|
|
6787
|
-
|
|
6795
|
+
rc(v);
|
|
6788
6796
|
}, [v]), G(() => {
|
|
6789
6797
|
if (typeof document > "u") return;
|
|
6790
|
-
let e = document.getElementById(
|
|
6798
|
+
let e = document.getElementById(nc);
|
|
6791
6799
|
if (!_) {
|
|
6792
6800
|
e && e.remove();
|
|
6793
6801
|
return;
|
|
6794
6802
|
}
|
|
6795
|
-
let t =
|
|
6803
|
+
let t = oc(_);
|
|
6796
6804
|
if (!t) {
|
|
6797
6805
|
e && e.remove(), console.error(`[declarion] branding.theme.css_url rejected: ${_}. Only same-origin, relative URLs are allowed (e.g. /modules/crm/public/brand.css).`);
|
|
6798
6806
|
return;
|
|
@@ -6800,7 +6808,7 @@ function sc() {
|
|
|
6800
6808
|
if (e && e.href === t) return;
|
|
6801
6809
|
e && e.remove();
|
|
6802
6810
|
let n = document.createElement("link");
|
|
6803
|
-
n.id =
|
|
6811
|
+
n.id = nc, n.rel = "stylesheet", n.href = t, document.head.appendChild(n);
|
|
6804
6812
|
}, [_]);
|
|
6805
6813
|
let y = f.enabled && !r;
|
|
6806
6814
|
return p || y || n || s && !o || l || !i && (r || !a) ? /* @__PURE__ */ Z("div", {
|
|
@@ -6809,43 +6817,43 @@ function sc() {
|
|
|
6809
6817
|
minHeight: "var(--app-height)",
|
|
6810
6818
|
background: "var(--background)"
|
|
6811
6819
|
}
|
|
6812
|
-
}) : /* @__PURE__ */ Q(
|
|
6820
|
+
}) : /* @__PURE__ */ Q(Oi, { children: [
|
|
6813
6821
|
/* @__PURE__ */ Z(Y, {
|
|
6814
6822
|
path: "/login",
|
|
6815
|
-
element: /* @__PURE__ */ Z(
|
|
6823
|
+
element: /* @__PURE__ */ Z(wo, {})
|
|
6816
6824
|
}),
|
|
6817
6825
|
/* @__PURE__ */ Z(Y, {
|
|
6818
6826
|
path: "/login/sso-callback",
|
|
6819
|
-
element: /* @__PURE__ */ Z(
|
|
6827
|
+
element: /* @__PURE__ */ Z(Lo, {})
|
|
6820
6828
|
}),
|
|
6821
6829
|
/* @__PURE__ */ Z(Y, {
|
|
6822
6830
|
path: "/signup",
|
|
6823
|
-
element: /* @__PURE__ */ Z(
|
|
6831
|
+
element: /* @__PURE__ */ Z(Eo, {})
|
|
6824
6832
|
}),
|
|
6825
6833
|
/* @__PURE__ */ Z(Y, {
|
|
6826
6834
|
path: "/forgot",
|
|
6827
|
-
element: /* @__PURE__ */ Z(
|
|
6835
|
+
element: /* @__PURE__ */ Z(Oo, {})
|
|
6828
6836
|
}),
|
|
6829
6837
|
/* @__PURE__ */ Z(Y, {
|
|
6830
6838
|
path: "/reset",
|
|
6831
|
-
element: /* @__PURE__ */ Z(
|
|
6839
|
+
element: /* @__PURE__ */ Z(Fo, {})
|
|
6832
6840
|
}),
|
|
6833
6841
|
/* @__PURE__ */ Z(Y, {
|
|
6834
6842
|
path: "/2fa",
|
|
6835
|
-
element: /* @__PURE__ */ Z(
|
|
6843
|
+
element: /* @__PURE__ */ Z(Io, {})
|
|
6836
6844
|
}),
|
|
6837
6845
|
/* @__PURE__ */ Q(Y, {
|
|
6838
|
-
element: /* @__PURE__ */ Z(
|
|
6846
|
+
element: /* @__PURE__ */ Z(Xa, {}),
|
|
6839
6847
|
children: [
|
|
6840
6848
|
d && /* @__PURE__ */ Q(X, { children: [/* @__PURE__ */ Z(Y, {
|
|
6841
6849
|
index: !0,
|
|
6842
|
-
element: /* @__PURE__ */ Z(
|
|
6850
|
+
element: /* @__PURE__ */ Z(Ei, {
|
|
6843
6851
|
to: d,
|
|
6844
6852
|
replace: !0
|
|
6845
6853
|
})
|
|
6846
6854
|
}), /* @__PURE__ */ Z(Y, {
|
|
6847
6855
|
path: "/admin",
|
|
6848
|
-
element: /* @__PURE__ */ Z(
|
|
6856
|
+
element: /* @__PURE__ */ Z(Ei, {
|
|
6849
6857
|
to: d,
|
|
6850
6858
|
replace: !0
|
|
6851
6859
|
})
|
|
@@ -6853,27 +6861,27 @@ function sc() {
|
|
|
6853
6861
|
u,
|
|
6854
6862
|
/* @__PURE__ */ Z(Y, {
|
|
6855
6863
|
path: "/preferences",
|
|
6856
|
-
element: /* @__PURE__ */ Z(
|
|
6864
|
+
element: /* @__PURE__ */ Z(xs, {})
|
|
6857
6865
|
}),
|
|
6858
6866
|
/* @__PURE__ */ Z(Y, {
|
|
6859
6867
|
path: "/admin/catalog",
|
|
6860
|
-
element: /* @__PURE__ */ Z(
|
|
6868
|
+
element: /* @__PURE__ */ Z(Ts, {})
|
|
6861
6869
|
}),
|
|
6862
6870
|
/* @__PURE__ */ Z(Y, {
|
|
6863
6871
|
path: "*",
|
|
6864
|
-
element: /* @__PURE__ */ Z(
|
|
6872
|
+
element: /* @__PURE__ */ Z(Ro, {})
|
|
6865
6873
|
})
|
|
6866
6874
|
]
|
|
6867
6875
|
})
|
|
6868
6876
|
] });
|
|
6869
6877
|
}
|
|
6870
|
-
function
|
|
6871
|
-
|
|
6878
|
+
function lc() {
|
|
6879
|
+
Ls();
|
|
6872
6880
|
let e = U((e) => e.toastPosition);
|
|
6873
|
-
return /* @__PURE__ */ Q(
|
|
6874
|
-
/* @__PURE__ */ Z(
|
|
6875
|
-
/* @__PURE__ */ Z(
|
|
6876
|
-
/* @__PURE__ */ Z(
|
|
6881
|
+
return /* @__PURE__ */ Q(wi, { children: [
|
|
6882
|
+
/* @__PURE__ */ Z(na, {}),
|
|
6883
|
+
/* @__PURE__ */ Z(cc, {}),
|
|
6884
|
+
/* @__PURE__ */ Z(Hi, {
|
|
6877
6885
|
position: e,
|
|
6878
6886
|
toastOptions: { unstyled: !0 },
|
|
6879
6887
|
expand: !0,
|
|
@@ -6883,28 +6891,28 @@ function cc() {
|
|
|
6883
6891
|
})
|
|
6884
6892
|
] });
|
|
6885
6893
|
}
|
|
6886
|
-
function
|
|
6887
|
-
let t =
|
|
6888
|
-
return /* @__PURE__ */ Z(
|
|
6894
|
+
function uc({ children: e }) {
|
|
6895
|
+
let t = zt(), n = Ht();
|
|
6896
|
+
return /* @__PURE__ */ Z(Fe, {
|
|
6889
6897
|
viewport: t,
|
|
6890
6898
|
breakpoints: n,
|
|
6891
6899
|
children: e
|
|
6892
6900
|
});
|
|
6893
6901
|
}
|
|
6894
|
-
function
|
|
6895
|
-
return /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(
|
|
6896
|
-
client:
|
|
6897
|
-
children: /* @__PURE__ */ Z($t, { children: /* @__PURE__ */ Z(
|
|
6902
|
+
function dc() {
|
|
6903
|
+
return /* @__PURE__ */ Z(zn, { children: /* @__PURE__ */ Z(Ri, {
|
|
6904
|
+
client: ac,
|
|
6905
|
+
children: /* @__PURE__ */ Z($t, { children: /* @__PURE__ */ Z(uc, { children: /* @__PURE__ */ Z(lc, {}) }) })
|
|
6898
6906
|
}) });
|
|
6899
6907
|
}
|
|
6900
6908
|
//#endregion
|
|
6901
6909
|
//#region src/api/batch.ts
|
|
6902
|
-
var
|
|
6910
|
+
var fc = class {
|
|
6903
6911
|
ops = [];
|
|
6904
6912
|
call(e, t) {
|
|
6905
6913
|
return this.ops.push({
|
|
6906
6914
|
action: e,
|
|
6907
|
-
params:
|
|
6915
|
+
params: pc(t)
|
|
6908
6916
|
}), this;
|
|
6909
6917
|
}
|
|
6910
6918
|
upsert(e, t, n = "upsert", r = []) {
|
|
@@ -6926,14 +6934,14 @@ var dc = class {
|
|
|
6926
6934
|
return this.ops;
|
|
6927
6935
|
}
|
|
6928
6936
|
};
|
|
6929
|
-
function
|
|
6937
|
+
function pc(e) {
|
|
6930
6938
|
return e == null ? null : typeof e == "object" && !Array.isArray(e) ? e : { value: e };
|
|
6931
6939
|
}
|
|
6932
6940
|
//#endregion
|
|
6933
6941
|
//#region src/hooks/useAllEntityData.ts
|
|
6934
|
-
var
|
|
6935
|
-
function
|
|
6936
|
-
return
|
|
6942
|
+
var mc = 1e3, hc = 20;
|
|
6943
|
+
function gc(e, t = {}) {
|
|
6944
|
+
return Bi({
|
|
6937
6945
|
queryKey: [
|
|
6938
6946
|
"entity-data-all",
|
|
6939
6947
|
e,
|
|
@@ -6943,7 +6951,7 @@ function hc(e, t = {}) {
|
|
|
6943
6951
|
queryFn: async ({ signal: n }) => {
|
|
6944
6952
|
let r = {
|
|
6945
6953
|
...t,
|
|
6946
|
-
per_page:
|
|
6954
|
+
per_page: mc,
|
|
6947
6955
|
count: "with"
|
|
6948
6956
|
}, i;
|
|
6949
6957
|
try {
|
|
@@ -6952,15 +6960,15 @@ function hc(e, t = {}) {
|
|
|
6952
6960
|
page: 1
|
|
6953
6961
|
}, { signal: n });
|
|
6954
6962
|
} catch (t) {
|
|
6955
|
-
throw t instanceof
|
|
6963
|
+
throw t instanceof Jt && t.code === "cursor.cross_tier_offset_unsupported" ? Error(`useAllEntityData: entity "${e}" is cursor-paginated (cross-store archive); it cannot be eagerly fetched into memory. Use a paginated cursor list (useCursorEntityData) instead.`) : t;
|
|
6956
6964
|
}
|
|
6957
6965
|
let a = i.meta.total_pages ?? 1;
|
|
6958
6966
|
if (a <= 1) return i;
|
|
6959
|
-
if (a >
|
|
6967
|
+
if (a > hc) throw Error(`useAllEntityData: entity "${e}" spans ${a} pages (limit ${hc}); it is not a bounded entity. Use useEntityData with server-side pagination instead.`);
|
|
6960
6968
|
let o = await Promise.all(Array.from({ length: a - 1 }, (t, i) => nr(e, {
|
|
6961
6969
|
...r,
|
|
6962
6970
|
page: i + 2
|
|
6963
|
-
}, { signal: n }))), s = new
|
|
6971
|
+
}, { signal: n }))), s = new Oe();
|
|
6964
6972
|
s.merge(i.$refs);
|
|
6965
6973
|
let c = [...i.data];
|
|
6966
6974
|
for (let e of o) c.push(...e.data), s.merge(e.$refs);
|
|
@@ -6979,19 +6987,19 @@ function hc(e, t = {}) {
|
|
|
6979
6987
|
}
|
|
6980
6988
|
//#endregion
|
|
6981
6989
|
//#region src/hooks/useLiveObject.ts
|
|
6982
|
-
function
|
|
6983
|
-
let n = In(e, t), { data: r } = L(), i = n.data?.data ?
|
|
6990
|
+
function _c(e, t) {
|
|
6991
|
+
let n = In(e, t), { data: r } = L(), i = n.data?.data ? Ye(n.data.data) : void 0, a = Se(e ? r?.entities?.[e]?.realtime : void 0, e ?? ""), o = e ? a : !1;
|
|
6984
6992
|
return {
|
|
6985
6993
|
...n,
|
|
6986
6994
|
object: i,
|
|
6987
6995
|
isLive: o,
|
|
6988
|
-
isNotFound: n.error instanceof
|
|
6996
|
+
isNotFound: n.error instanceof Jt && n.error.status === 404
|
|
6989
6997
|
};
|
|
6990
6998
|
}
|
|
6991
6999
|
//#endregion
|
|
6992
7000
|
//#region src/hooks/useColumns.ts
|
|
6993
|
-
function
|
|
6994
|
-
let [n, r] =
|
|
7001
|
+
function vc(e, t) {
|
|
7002
|
+
let [n, r] = Ii(), i = K(() => {
|
|
6995
7003
|
let r = n.get("columns");
|
|
6996
7004
|
return r ? r.split(",").filter(Boolean).filter((t) => e.includes(t)) : t.length > 0 ? t : e;
|
|
6997
7005
|
}, [
|
|
@@ -7000,7 +7008,7 @@ function _c(e, t) {
|
|
|
7000
7008
|
t
|
|
7001
7009
|
]), a = W((e) => {
|
|
7002
7010
|
let i = new URLSearchParams(n);
|
|
7003
|
-
e.length === 0 ||
|
|
7011
|
+
e.length === 0 || yc(e, t) ? i.delete("columns") : i.set("columns", e.join(",")), r(i);
|
|
7004
7012
|
}, [
|
|
7005
7013
|
n,
|
|
7006
7014
|
r,
|
|
@@ -7026,19 +7034,19 @@ function _c(e, t) {
|
|
|
7026
7034
|
}, [i, a])
|
|
7027
7035
|
};
|
|
7028
7036
|
}
|
|
7029
|
-
function
|
|
7037
|
+
function yc(e, t) {
|
|
7030
7038
|
return e.length === t.length && e.every((e, n) => e === t[n]);
|
|
7031
7039
|
}
|
|
7032
7040
|
//#endregion
|
|
7033
7041
|
//#region src/hooks/useScreenTab.ts
|
|
7034
|
-
function
|
|
7035
|
-
let t =
|
|
7042
|
+
function bc(e) {
|
|
7043
|
+
let t = Ai(), [n] = Ii(), r = e?.route ?? t.pathname, i = q(n.toString());
|
|
7036
7044
|
ti(r, e?.title ?? r, e?.icon, i.current), ri(r);
|
|
7037
7045
|
}
|
|
7038
7046
|
//#endregion
|
|
7039
7047
|
//#region src/components/actions/ObjectActionBar.tsx
|
|
7040
|
-
function
|
|
7041
|
-
let s = z(), c = z("errors"), { data: l } = L(), { run: u, isRunning: d } =
|
|
7048
|
+
function xc({ entity: e, object: t, slot: n, screen: r, select: i, onAfterRun: a }) {
|
|
7049
|
+
let s = z(), c = z("errors"), { data: l } = L(), { run: u, isRunning: d } = Le(), f = o(), p = cr(), m = Ai(), h = l?.entities?.[e], g = K(() => Cc(l, e, r, m.pathname), [
|
|
7042
7050
|
l,
|
|
7043
7051
|
e,
|
|
7044
7052
|
r,
|
|
@@ -7047,7 +7055,7 @@ function bc({ entity: e, object: t, slot: n, screen: r, select: i, onAfterRun: a
|
|
|
7047
7055
|
return {
|
|
7048
7056
|
nodes: K(() => {
|
|
7049
7057
|
if (!h || !t) return [];
|
|
7050
|
-
let e =
|
|
7058
|
+
let e = Tc(Me(g?.action_layout, h.action_layout, h.actions, _, n), i);
|
|
7051
7059
|
return pe(s, e, h.actions, _, t, [], Rr(h, t));
|
|
7052
7060
|
}, [
|
|
7053
7061
|
s,
|
|
@@ -7062,7 +7070,7 @@ function bc({ entity: e, object: t, slot: n, screen: r, select: i, onAfterRun: a
|
|
|
7062
7070
|
if (!h || !t) return;
|
|
7063
7071
|
let i = Hr(c, n, r, { row: t }, e);
|
|
7064
7072
|
if (i === null) return;
|
|
7065
|
-
let o =
|
|
7073
|
+
let o = ot(t, h), l = o ? [o] : [], d = n === "__delete" && v ? v.route : null;
|
|
7066
7074
|
return u({
|
|
7067
7075
|
action: r,
|
|
7068
7076
|
title: s(r.display?.name) || n,
|
|
@@ -7076,7 +7084,7 @@ function bc({ entity: e, object: t, slot: n, screen: r, select: i, onAfterRun: a
|
|
|
7076
7084
|
isBusy: d,
|
|
7077
7085
|
widgetContext: K(() => {
|
|
7078
7086
|
if (!h || !t) return;
|
|
7079
|
-
let n =
|
|
7087
|
+
let n = ot(t, h);
|
|
7080
7088
|
return {
|
|
7081
7089
|
entity: h,
|
|
7082
7090
|
entityCode: e,
|
|
@@ -7102,8 +7110,8 @@ function bc({ entity: e, object: t, slot: n, screen: r, select: i, onAfterRun: a
|
|
|
7102
7110
|
])
|
|
7103
7111
|
};
|
|
7104
7112
|
}
|
|
7105
|
-
function
|
|
7106
|
-
let { data: s } = L(), { nodes: c, run: l, widgetContext: u } =
|
|
7113
|
+
function Sc({ entity: e, object: t, slot: n, screen: r, select: i, extraActions: a, onAfterRun: o }) {
|
|
7114
|
+
let { data: s } = L(), { nodes: c, run: l, widgetContext: u } = xc({
|
|
7107
7115
|
entity: e,
|
|
7108
7116
|
object: t,
|
|
7109
7117
|
slot: n,
|
|
@@ -7125,24 +7133,24 @@ function xc({ entity: e, object: t, slot: n, screen: r, select: i, extraActions:
|
|
|
7125
7133
|
}), a]
|
|
7126
7134
|
});
|
|
7127
7135
|
}
|
|
7128
|
-
function
|
|
7136
|
+
function Cc(e, t, n, r) {
|
|
7129
7137
|
if (!e?.screens) return;
|
|
7130
7138
|
if (n) return e.screens[n];
|
|
7131
7139
|
let i = r.replace(/\/+$/, "") || "/";
|
|
7132
|
-
return Object.values(e.screens).find((e) => e.entity !== t || !e.route ? !1 :
|
|
7140
|
+
return Object.values(e.screens).find((e) => e.entity !== t || !e.route ? !1 : wc(e.route).test(i));
|
|
7133
7141
|
}
|
|
7134
|
-
function
|
|
7142
|
+
function wc(e) {
|
|
7135
7143
|
let t = (e.replace(/\/+$/, "") || "/").split("/").map((e) => e.startsWith(":") ? "[^/]+" : e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
7136
7144
|
return RegExp(`^${t.join("/")}$`);
|
|
7137
7145
|
}
|
|
7138
|
-
function
|
|
7146
|
+
function Tc(e, t) {
|
|
7139
7147
|
if (!t) return e;
|
|
7140
7148
|
let n = t.include ? new Set(t.include) : null, r = t.exclude ? new Set(t.exclude) : null;
|
|
7141
|
-
return e.map((e) =>
|
|
7149
|
+
return e.map((e) => Ec(e, n, r)).filter((e) => e !== null);
|
|
7142
7150
|
}
|
|
7143
|
-
function
|
|
7151
|
+
function Ec(e, t, n) {
|
|
7144
7152
|
if (e.kind === "action") return t && !t.has(e.code) || n?.has(e.code) ? null : e;
|
|
7145
|
-
let r = e.items.map((e) =>
|
|
7153
|
+
let r = e.items.map((e) => Ec(e, t, n)).filter((e) => e !== null);
|
|
7146
7154
|
return r.length > 0 ? {
|
|
7147
7155
|
...e,
|
|
7148
7156
|
items: r
|
|
@@ -7150,7 +7158,7 @@ function Tc(e, t, n) {
|
|
|
7150
7158
|
}
|
|
7151
7159
|
//#endregion
|
|
7152
7160
|
//#region src/components/list/InlineEditCell.tsx
|
|
7153
|
-
var
|
|
7161
|
+
var Dc = {
|
|
7154
7162
|
padding: "4px 6px",
|
|
7155
7163
|
margin: "-4px -6px",
|
|
7156
7164
|
borderRadius: 4,
|
|
@@ -7161,7 +7169,7 @@ var Ec = {
|
|
|
7161
7169
|
alignItems: "center",
|
|
7162
7170
|
gap: 4
|
|
7163
7171
|
};
|
|
7164
|
-
function
|
|
7172
|
+
function Oc({ value: e, onSave: t, type: r = "text", options: i, trigger: a = "always", label: o, placeholder: s }) {
|
|
7165
7173
|
let c = z(), l = z("errors"), [u, d] = J(e), [f, p] = J(e), [m, h] = J(!1), [g, _] = J(e), v = q(null);
|
|
7166
7174
|
G(() => {
|
|
7167
7175
|
d(e), p(e), _(e);
|
|
@@ -7176,7 +7184,7 @@ function Dc({ value: e, onSave: t, type: r = "text", options: i, trigger: a = "a
|
|
|
7176
7184
|
} catch (e) {
|
|
7177
7185
|
p(n), d(n);
|
|
7178
7186
|
let t = V(l, e);
|
|
7179
|
-
|
|
7187
|
+
I.error(l("list.cell_unsaved", "The value could not be saved."), o ? c("list.cell.field_reason", "{field}: {reason}", {
|
|
7180
7188
|
field: o,
|
|
7181
7189
|
reason: t
|
|
7182
7190
|
}) : t);
|
|
@@ -7196,29 +7204,29 @@ function Dc({ value: e, onSave: t, type: r = "text", options: i, trigger: a = "a
|
|
|
7196
7204
|
onKeyDown: (e) => {
|
|
7197
7205
|
e.key === "Enter" && S(), e.key === "Escape" && x();
|
|
7198
7206
|
},
|
|
7199
|
-
children: [r === "select" ? /* @__PURE__ */ Z(
|
|
7207
|
+
children: [r === "select" ? /* @__PURE__ */ Z(rt, {
|
|
7200
7208
|
value: g,
|
|
7201
7209
|
options: i || [],
|
|
7202
7210
|
onChange: (e) => {
|
|
7203
7211
|
_(e), b(e);
|
|
7204
7212
|
}
|
|
7205
|
-
}) : r === "bool" ? /* @__PURE__ */ Z(
|
|
7213
|
+
}) : r === "bool" ? /* @__PURE__ */ Z(Ge, {
|
|
7206
7214
|
value: g === "true",
|
|
7207
7215
|
onChange: (e) => {
|
|
7208
7216
|
let t = String(e);
|
|
7209
7217
|
_(t), b(t);
|
|
7210
7218
|
}
|
|
7211
|
-
}) : /* @__PURE__ */ Z(
|
|
7219
|
+
}) : /* @__PURE__ */ Z(F, {
|
|
7212
7220
|
value: g ?? "",
|
|
7213
7221
|
onChange: _,
|
|
7214
7222
|
autoFocus: !0,
|
|
7215
7223
|
placeholder: s
|
|
7216
|
-
}), r !== "select" && r !== "bool" && /* @__PURE__ */ Q(X, { children: [/* @__PURE__ */ Z(
|
|
7224
|
+
}), r !== "select" && r !== "bool" && /* @__PURE__ */ Q(X, { children: [/* @__PURE__ */ Z(N, {
|
|
7217
7225
|
size: 24,
|
|
7218
7226
|
icon: /* @__PURE__ */ Z(n.check, { size: 13 }),
|
|
7219
7227
|
onClick: S,
|
|
7220
7228
|
title: c("dialog.save", "Save")
|
|
7221
|
-
}), /* @__PURE__ */ Z(
|
|
7229
|
+
}), /* @__PURE__ */ Z(N, {
|
|
7222
7230
|
size: 24,
|
|
7223
7231
|
icon: /* @__PURE__ */ Z(n.x, { size: 13 }),
|
|
7224
7232
|
onClick: x,
|
|
@@ -7238,7 +7246,7 @@ function Dc({ value: e, onSave: t, type: r = "text", options: i, trigger: a = "a
|
|
|
7238
7246
|
onMouseLeave: (e) => {
|
|
7239
7247
|
e.currentTarget.style.borderColor = "transparent";
|
|
7240
7248
|
},
|
|
7241
|
-
style:
|
|
7249
|
+
style: Dc,
|
|
7242
7250
|
children: f ?? /* @__PURE__ */ Z("span", {
|
|
7243
7251
|
style: { color: "var(--text-4)" },
|
|
7244
7252
|
children: c("list.cell.click_to_edit", "Click to edit")
|
|
@@ -7247,8 +7255,8 @@ function Dc({ value: e, onSave: t, type: r = "text", options: i, trigger: a = "a
|
|
|
7247
7255
|
}
|
|
7248
7256
|
//#endregion
|
|
7249
7257
|
//#region src/components/layout/ImpersonationStartModal.tsx
|
|
7250
|
-
function
|
|
7251
|
-
let a = z(), { start: o, isStarting: s } =
|
|
7258
|
+
function kc({ open: e, targetUserId: t, targetUserLabel: n, onClose: r, onStarted: i }) {
|
|
7259
|
+
let a = z(), { start: o, isStarting: s } = Sa(), { value: c } = A("impersonation.require_reason_min_length", 10), [l, u] = J(""), [d, f] = J("");
|
|
7252
7260
|
if (!e) return null;
|
|
7253
7261
|
let p = l.trim(), m = p.length >= c;
|
|
7254
7262
|
return /* @__PURE__ */ Z("div", {
|
|
@@ -7399,8 +7407,8 @@ function Oc({ open: e, targetUserId: t, targetUserLabel: n, onClose: r, onStarte
|
|
|
7399
7407
|
}
|
|
7400
7408
|
//#endregion
|
|
7401
7409
|
//#region src/components/agents/AgentConversationDrawer.tsx
|
|
7402
|
-
function
|
|
7403
|
-
let c = z(), l = c(
|
|
7410
|
+
function Ac({ open: e, onClose: t, conversations: r, activeId: i, onSelect: a, onNew: o, onRefresh: s }) {
|
|
7411
|
+
let c = z(), l = c(Be("agent_conversation")?.display?.name_plural) || "agent_conversation";
|
|
7404
7412
|
return G(() => {
|
|
7405
7413
|
e && s();
|
|
7406
7414
|
}, [e, s]), e ? /* @__PURE__ */ Q("aside", {
|
|
@@ -7450,4 +7458,4 @@ function kc({ open: e, onClose: t, conversations: r, activeId: i, onSelect: a, o
|
|
|
7450
7458
|
}) : null;
|
|
7451
7459
|
}
|
|
7452
7460
|
//#endregion
|
|
7453
|
-
export {
|
|
7461
|
+
export { ft as ACTION_DATA_CURSOR_KEY, ae as ACTION_DATA_KEY, tr as ActionBatchError, $e as ActionRunnerProvider, Ja as AgentChatPanel, Ac as AgentConversationDrawer, ci as AgentElicitForm, li as AgentPicker, dc as App, dc as Declarion, uo as AuthShell, At as Avatar, fc as Batch, Ge as BoolToggle, Ui as BrandGlyph, ja as Breadcrumbs, S as Btn, _n as CURSOR_LANGUAGE_CHANGED, On as CURSOR_SEMANTICS_MISMATCH, Vo as ChangePasswordDialog, Qn as Check, y as Chip, Ar as CircleImage, Bn as ClassifiedFieldLocked, Dt as ColumnPicker, Ka as CommandPalette, ht as ConfirmDialog, at as CurrentScreenProvider, ye as DEFAULT_RESPONSIVE_BREAKPOINTS, je as DateInput, me as Dropdown, r as DynamicIcon, kt as EmptyState, st as EntityClient, P as FieldLabel, Qe as FileDraftScope, _t as FilterChips, St as FilterDrawer, Oo as Forgot, ue as HoverCard, n as Icon, N as IconBtn, za as ImpersonationBanner, Ba as ImpersonationFrame, kc as ImpersonationStartModal, Lt as InfoTooltip, Oc as InlineEditCell, Je as JsonField, _ as Kbd, wn as MANDATORY_LANGUAGE, D as MULTIPLE_VALUES, M as MenuItem, et as MultiSelect, Yr as NO_VALUE_OPS, $r as OP_LABELS, Sc as ObjectActionBar, Yt as OrderedMap, Sr as PAGE_STATE_TTL_PARAM, gs as PageHeader, Re as PasswordInput, w as Pill, xs as Preferences, ns as Profile, te as PropertyGridEditor, xt as QEField, be as QuickEditCell, gt as QuickPeek, Ji as Rail, qn as RecordIdBadge, Oe as RefCache, we as RefCombobox, Ze as RefField, Kt as RefreshControl, Fo as Reset, Fe as ResponsiveModeProvider, Gi as RowField, Vt as SCROLL_STATE_KEY, Rn as SectionCard, rt as Select, ga as Sidebar, wo as SignIn, Eo as SignUp, Ps as SmartDetailPage, Ms as SmartListPage, Is as SmartRecordListPage, Pe as Spinner, Ur as SquareImage, Ia as TabStrip, Ee as TagsInput, Oa as TenantChip, Ue as TextArea, F as TextInput, It as Tooltip, Pa as TopBar, Io as TwoFA, We as UploadError, ke as ViewField, wt as ViewSwitcher, Fr as WideBanner, s as actionDataQueryKey, pi as answerQuestion, gi as approveInvocation, $n as buildActionBody, Ce as buildDetailHrefFromId, pt as buildEntityDetailHref, m as buildMassEditTargets, oe as buildRowDetailHref, _a as buildSections, ui as cancelConversation, ii as cancelInvocation, gr as canonicalUrl, mt as classificationTier, de as coerceDisplayString, Lr as commonVariantActionCodes, ni as countActiveFilters, mi as createConversation, ut as cursorActionDataQueryKey, nt as cursorEntityDataQueryKey, Te as cursorEntityStableKey, rr as deleteObject, re as detectCommonValue, ct as discardFile, Br as effectiveScreenForRecord, Ne as entityClient, k as entityDataQueryKey, Da as envTone, Vr as evaluateFilterTree, ir as executeAction, f as extractPkValues, V as failureTitle, se as fieldAccessInfo, c as fieldClassification, l as fieldDisplayName, dt as fieldRequiredPermission, Ae as formatBytes, Ot as formatCount, Ct as formatEstimatedCount, Et as formatExactCount, Wr as getFileWidget, t as getIcon, Gr as getImageCropper, Gn as getLayoutWidget, Ve as getPrimaryKeyFields, kr as hasFileWidget, Vn as hasLayoutWidget, Xr as hasOrGroups, xn as isCursorStaleError, le as isFieldReadable, p as isFieldSoDProtected, u as isFieldWritable, _i as listAvailableAgents, ai as listConversations, di as loadConversationInvocations, yi as loadConversationTurns, oi as loadHistory, Dn as makeTextFn, Wn as objectQueryKey, Zr as parseFilterURLState, ei as parseFiltersFromURL, b as parseTargetFilter, hn as pickLocalized, a as pkValuePartsToId, ze as pkValuesFromId, O as pkValuesToDetailId, ne as pkValuesToId, kn as pluralText, Or as registerFileWidget, Un as registerLayoutWidget, Us as registerScreen, si as rejectInvocation, Cn as reresolveLanguage, h as resolveDetailRoute, Ir as resolveEntityVariantCode, jr as resolveScreenVariantCode, lt as resolveViewportCategory, er as restoreObject, hi as sendElicitResponse, fi as sendMessage, Qr as setFiltersInURL, e as setIconRegistry, Mr as setImageCropper, gn as textWithNodes, Ke as uploadFile, ce as useActionData, Le as useActionRunner, vi as useAgentConversation, gc as useAllEntityData, xa as useAuth, vc as useColumns, dr as useCreateObject, qe as useCurrentScreen, d as useCursorActionData, He as useCursorEntityData, ee as useDebounce, xr as useDeleteObject, Jr as useDeleteProperty, En as useDeploymentLanguage, it as useDraftRegistration, _e as useEffectiveParam, Be as useEntity, g as useEntityCount, x as useEntityData, De as useFileDraftScope, bt as useFilters, Sa as useImpersonation, bn as useLanguage, _c as useLiveObject, ki as useLocation, ji as useNavigate, In as useObject, xc as useObjectActions, vt as usePageState, br as usePageStateTtl, A as useParam, Pi as useParams, Wt as usePlainScrollRestoration, ie as usePublicParams, hr as useRegisterRetainedQuery, i as useResolvedParam, j as useResponsiveMode, Rt as useSavedScrollOffset, L as useSchema, yt as useScreen, yr as useScreenBack, bc as useScreenTab, Fi as useSearchParams, Kr as useSetProperty, qr as useSetStatus, cr as useTabNavigate, ri as useTabSearchMirror, H as useTabStore, z as useText, pr as useUpdateObject, Tt as useViews, Mt as useVirtualScrollRestoration, Ie as validateClientSide, Rr as variantActionCodesForRecord };
|