@ynput/ayon-frontend-shared 0.7.5 → 0.7.6
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/DetailsPanel.es.js +376 -380
- package/dist/ListTable.es.js +2 -2
- package/dist/NewEntity.es.js +26 -26
- package/dist/ProjectTreeTable.es.js +2521 -2510
- package/dist/ProjectsTable.es.js +3 -3
- package/dist/Slicer.es.js +32 -32
- package/dist/Views.es.js +1 -1
- package/dist/chunks/ColumnDropIndicator.es.js +2 -2
- package/dist/chunks/ColumnHeaderMenuUI.es.js +1 -1
- package/dist/chunks/EntityPath.es.js +1 -1
- package/dist/chunks/EntityPickerDialog.es.js +481 -460
- package/dist/chunks/EntityTooltip.es.js +1 -1
- package/dist/chunks/Feed.es.js +11 -10
- package/dist/chunks/FilterErrorActions.es.js +1 -1
- package/dist/chunks/GroupSettingsFallback.es.js +2 -2
- package/dist/chunks/Menu.es.js +250 -247
- package/dist/chunks/MetaWidget.es.js +2 -2
- package/dist/chunks/PlayableIcon.es.js +368 -368
- package/dist/chunks/ProjectFoldersContext.es.js +237 -0
- package/dist/chunks/ReviewablesSelector.es.js +1223 -1170
- package/dist/chunks/SimpleTable.es.js +301 -296
- package/dist/chunks/Slicer.es.js +418 -410
- package/dist/chunks/TableExportContextInstance.es.js +428 -382
- package/dist/chunks/ThumbnailUploaderContext.es.js +48 -0
- package/dist/chunks/Watchers.es.js +2 -2
- package/dist/chunks/{ColumnDropIndicator.styled.es.js → addonColumnTags.es.js} +60 -47
- package/dist/components.es.js +1404 -1274
- package/dist/context.es.js +559 -657
- package/dist/hooks.es.js +2 -2
- package/dist/index.es.js +2 -2
- package/dist/types/EntityPickerDialog.d.ts +45 -2
- package/dist/types/ProjectTreeTable.d.ts +119 -17
- package/dist/types/components.d.ts +210 -23
- package/dist/types/context.d.ts +8 -0
- package/package.json +3 -3
- package/dist/chunks/ProjectContext.es.js +0 -158
- package/dist/chunks/useQueryArgumentChangeLoading.es.js +0 -11
|
@@ -1,69 +1,101 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import { Button as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { a as
|
|
7
|
-
import { debounce as
|
|
8
|
-
import { confirmDialog as
|
|
9
|
-
import { toast as
|
|
1
|
+
import { jsxs as g, jsx as d } from "react/jsx-runtime";
|
|
2
|
+
import z, { createContext as h, useContext as u, useState as b, useEffect as v, useRef as S, useCallback as N, useMemo as pe, forwardRef as B } from "react";
|
|
3
|
+
import { Button as j, Icon as F, theme as X, Dialog as he, InputText as Z } from "@ynput/ayon-react-components";
|
|
4
|
+
import p from "styled-components";
|
|
5
|
+
import $ from "clsx";
|
|
6
|
+
import { a as fe, K as H } from "./platform.es.js";
|
|
7
|
+
import { debounce as K, isEqual as me } from "lodash";
|
|
8
|
+
import { confirmDialog as ge } from "primereact/confirmdialog";
|
|
9
|
+
import { toast as G } from "react-toastify";
|
|
10
10
|
import "uuid";
|
|
11
|
-
import { bp as D, a as
|
|
11
|
+
import { bp as D, a as ve } from "./searchTerms.es.js";
|
|
12
12
|
import "axios";
|
|
13
|
-
import { cU as
|
|
13
|
+
import { cU as we } from "./getUris.es.js";
|
|
14
14
|
import "@module-federation/enhanced/runtime";
|
|
15
15
|
import "@ynput/ayon-addon/host";
|
|
16
16
|
import "./ContextMenuContextInstance.es.js";
|
|
17
|
-
import { createPortal as
|
|
18
|
-
import { Dialog as
|
|
19
|
-
import
|
|
17
|
+
import { createPortal as xe } from "react-dom";
|
|
18
|
+
import { Dialog as ye } from "primereact/dialog";
|
|
19
|
+
import be, { ReadyState as Se } from "react-use-websocket";
|
|
20
20
|
import "react-redux";
|
|
21
21
|
import "react-router-dom";
|
|
22
22
|
import "semver";
|
|
23
|
-
const
|
|
23
|
+
const Ce = ({ message: e = "Refresh to see latest changes." }) => /* @__PURE__ */ g("div", { style: { display: "flex", gap: 8, alignItems: "center" }, children: [
|
|
24
24
|
e,
|
|
25
|
-
/* @__PURE__ */ d(
|
|
26
|
-
] }),
|
|
25
|
+
/* @__PURE__ */ d(j, { onClick: () => window.location.reload(), variant: "filled", children: "Refresh" })
|
|
26
|
+
] }), Pe = h(void 0), qt = () => u(Pe) || {}, Ee = h({
|
|
27
27
|
isLoading: !0,
|
|
28
28
|
modules: [],
|
|
29
29
|
remotesInitialized: !1,
|
|
30
30
|
addonDev: { status: "off" }
|
|
31
|
-
}),
|
|
32
|
-
const e =
|
|
31
|
+
}), zt = () => {
|
|
32
|
+
const e = u(Ee);
|
|
33
33
|
if (e === void 0)
|
|
34
34
|
throw new Error("useRemoteModules must be used within a RemoteModulesProvider");
|
|
35
35
|
return e;
|
|
36
|
-
},
|
|
36
|
+
}, L = "addonDev", O = "ayon-addon-dev", Ie = ["localhost", "127.0.0.1", "[::1]"], U = `use ?${L}=<addon>@http://localhost:<port>`, Q = (e) => {
|
|
37
37
|
try {
|
|
38
38
|
const { protocol: t, hostname: o } = new URL(e);
|
|
39
|
-
return ["http:", "https:"].includes(t) &&
|
|
39
|
+
return ["http:", "https:"].includes(t) && Ie.includes(o);
|
|
40
40
|
} catch {
|
|
41
41
|
return !1;
|
|
42
42
|
}
|
|
43
|
-
},
|
|
43
|
+
}, Ae = (e) => {
|
|
44
44
|
const t = e.indexOf("@");
|
|
45
|
-
if (t <= 0) return
|
|
46
|
-
const o = e.slice(0, t),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
if (t <= 0) return { request: e, reason: U };
|
|
46
|
+
const o = e.slice(0, t), r = e.slice(t + 1).replace(/\/+$/, "");
|
|
47
|
+
let n;
|
|
48
|
+
try {
|
|
49
|
+
n = new URL(r);
|
|
50
|
+
} catch {
|
|
51
|
+
return { request: e, reason: `"${r}" is not a URL: ${U}` };
|
|
52
|
+
}
|
|
53
|
+
return ["http:", "https:"].includes(n.protocol) ? Q(r) ? { override: { addon: o, url: r } } : {
|
|
54
|
+
request: e,
|
|
55
|
+
reason: `${n.hostname} is not this machine: only dev servers on localhost, 127.0.0.1 or [::1] can be loaded`
|
|
56
|
+
} : { request: e, reason: `the dev server URL must be http(s): ${U}` };
|
|
57
|
+
}, Ht = () => {
|
|
58
|
+
const e = new URLSearchParams(window.location.search).get(L);
|
|
50
59
|
if (e === "off" || e === "")
|
|
51
60
|
return localStorage.removeItem(O), null;
|
|
52
61
|
if (e) {
|
|
53
|
-
const t =
|
|
54
|
-
return t ?
|
|
62
|
+
const t = Ae(e);
|
|
63
|
+
return "override" in t ? localStorage.setItem(O, JSON.stringify(t.override)) : console.warn(`[addon dev] ignored ?${L}=${e}: ${t.reason}`), t;
|
|
55
64
|
}
|
|
56
65
|
try {
|
|
57
66
|
const t = JSON.parse(localStorage.getItem(O) || "null");
|
|
58
|
-
return t &&
|
|
67
|
+
return t && Q(t.url) ? { override: t } : null;
|
|
59
68
|
} catch {
|
|
60
69
|
return null;
|
|
61
70
|
}
|
|
62
|
-
},
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
}, De = () => localStorage.removeItem(O), Te = (e, { addon: t, url: o }) => {
|
|
72
|
+
const r = e ?? {}, n = ["name", "version", "remote", "buildId"].filter(
|
|
73
|
+
(s) => typeof r[s] != "string" || !r[s]
|
|
74
|
+
);
|
|
75
|
+
return (!Array.isArray(r.modules) || r.modules.some((s) => typeof s != "string" || !s)) && n.push("modules"), typeof e != "object" || !e || n.length ? `${o}/ayon-addon.json is invalid (no ${n.join(", ")}): is it served by \`ayon-addon dev --ayon\`?` : r.name !== t ? `the dev server at ${o} serves "${r.name}", not "${t}": open ?${L}=${r.name}@${o}` : null;
|
|
76
|
+
}, Re = async (e) => {
|
|
77
|
+
const { url: t } = e;
|
|
78
|
+
let o;
|
|
79
|
+
try {
|
|
80
|
+
o = await fetch(`${t}/ayon-addon.json`, { cache: "no-store" });
|
|
81
|
+
} catch {
|
|
82
|
+
throw new Error(`no answer from ${t}: is \`ayon-addon dev --ayon\` running on that port?`);
|
|
83
|
+
}
|
|
84
|
+
if (o.status === 404)
|
|
85
|
+
throw new Error(
|
|
86
|
+
`${t} has no /ayon-addon.json: run \`ayon-addon dev --ayon\` (not the dev shell) and wait for its first build`
|
|
87
|
+
);
|
|
88
|
+
if (!o.ok) throw new Error(`${t}/ayon-addon.json answered ${o.status}`);
|
|
89
|
+
let r;
|
|
90
|
+
try {
|
|
91
|
+
r = await o.json();
|
|
92
|
+
} catch {
|
|
93
|
+
throw new Error(`${t}/ayon-addon.json is not JSON: is it served by \`ayon-addon dev --ayon\`?`);
|
|
94
|
+
}
|
|
95
|
+
const n = Te(r, e);
|
|
96
|
+
if (n) throw new Error(n);
|
|
97
|
+
return r;
|
|
98
|
+
}, Kt = (e) => e?.attrib?.developerMode || e?.data?.isService ? null : e?.data?.isDeveloper ? "only users in developer mode can load addons from a dev server: turn on Developer Mode in the header, then reload" : "only users in developer mode can load addons from a dev server, and this user is not a developer: an admin can turn on Developer in Studio settings > Users", Y = p.div`
|
|
67
99
|
position: fixed;
|
|
68
100
|
left: 8px;
|
|
69
101
|
bottom: 8px;
|
|
@@ -74,6 +106,7 @@ const Se = ({ message: e = "Refresh to see latest changes." }) => /* @__PURE__ *
|
|
|
74
106
|
padding: 4px 4px 4px 12px;
|
|
75
107
|
border-radius: 8px;
|
|
76
108
|
font-size: 13px;
|
|
109
|
+
max-width: calc(100vw - 16px);
|
|
77
110
|
color: var(--md-sys-color-on-tertiary-container);
|
|
78
111
|
background: var(--md-sys-color-tertiary-container);
|
|
79
112
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
|
|
@@ -82,54 +115,66 @@ const Se = ({ message: e = "Refresh to see latest changes." }) => /* @__PURE__ *
|
|
|
82
115
|
color: var(--md-sys-color-on-error-container);
|
|
83
116
|
background: var(--md-sys-color-error-container);
|
|
84
117
|
}
|
|
85
|
-
`,
|
|
86
|
-
const [t, o] = b(!1),
|
|
87
|
-
|
|
88
|
-
if (e.status !== "active") return;
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
(
|
|
92
|
-
|
|
118
|
+
`, $e = 2e3, Gt = ({ state: e }) => {
|
|
119
|
+
const [t, o] = b(!1), r = e.status === "active" ? e.info.buildId : void 0;
|
|
120
|
+
v(() => {
|
|
121
|
+
if (e.status !== "active" && e.status !== "error") return;
|
|
122
|
+
const l = setInterval(() => {
|
|
123
|
+
Re(e.override).then(
|
|
124
|
+
(f) => {
|
|
125
|
+
f.buildId !== r && (o(!0), window.location.reload());
|
|
93
126
|
},
|
|
94
127
|
() => {
|
|
95
128
|
}
|
|
96
|
-
// the dev server restarting; keep polling
|
|
129
|
+
// the dev server restarting or still failing; keep polling
|
|
97
130
|
);
|
|
98
|
-
},
|
|
99
|
-
return () => clearInterval(
|
|
100
|
-
}, [e,
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
},
|
|
106
|
-
|
|
107
|
-
/* @__PURE__ */
|
|
108
|
-
|
|
131
|
+
}, $e);
|
|
132
|
+
return () => clearInterval(l);
|
|
133
|
+
}, [e, r]);
|
|
134
|
+
const s = /* @__PURE__ */ d(j, { variant: "text", icon: "close", onClick: () => {
|
|
135
|
+
De();
|
|
136
|
+
const l = new URL(window.location.href);
|
|
137
|
+
l.searchParams.delete("addonDev"), window.location.href = l.toString();
|
|
138
|
+
}, "data-tooltip": "Stop: load the installed addon" });
|
|
139
|
+
if (e.status === "rejected")
|
|
140
|
+
return /* @__PURE__ */ g(Y, { className: "error", "data-addon-dev-rejected": e.request, children: [
|
|
141
|
+
/* @__PURE__ */ d(F, { icon: "error" }),
|
|
142
|
+
/* @__PURE__ */ g("span", { children: [
|
|
143
|
+
"Addon dev: ignored ?addonDev=",
|
|
144
|
+
e.request,
|
|
145
|
+
": ",
|
|
146
|
+
e.reason
|
|
147
|
+
] }),
|
|
148
|
+
s
|
|
149
|
+
] });
|
|
150
|
+
const { addon: a, url: i } = e.override, c = "error" in e ? e.error : void 0;
|
|
151
|
+
return /* @__PURE__ */ g(Y, { className: c ? "error" : void 0, "data-addon-dev": a, children: [
|
|
152
|
+
/* @__PURE__ */ d(F, { icon: c ? "error" : "code" }),
|
|
153
|
+
e.status === "error" ? /* @__PURE__ */ g("span", { children: [
|
|
109
154
|
"Addon dev: ",
|
|
110
155
|
a,
|
|
111
156
|
" could not load from ",
|
|
112
|
-
|
|
113
|
-
"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
] }) : /* @__PURE__ */ x("span", { children: [
|
|
157
|
+
i,
|
|
158
|
+
": ",
|
|
159
|
+
c
|
|
160
|
+
] }) : /* @__PURE__ */ g("span", { children: [
|
|
117
161
|
"Addon dev: ",
|
|
118
162
|
/* @__PURE__ */ d("strong", { children: a }),
|
|
119
163
|
" from ",
|
|
120
|
-
|
|
164
|
+
i,
|
|
121
165
|
e.status === "active" && ` (${e.info.version}, build ${e.info.buildId})`,
|
|
166
|
+
c && `: ${c}`,
|
|
122
167
|
t && ", reloading..."
|
|
123
168
|
] }),
|
|
124
|
-
|
|
169
|
+
s
|
|
125
170
|
] });
|
|
126
|
-
},
|
|
127
|
-
const e =
|
|
171
|
+
}, Oe = h(void 0), Yt = () => {
|
|
172
|
+
const e = u(Oe);
|
|
128
173
|
if (e === void 0)
|
|
129
174
|
throw new Error("usePowerpack must be used within a PowerpackProvider");
|
|
130
175
|
return e;
|
|
131
|
-
},
|
|
132
|
-
const e =
|
|
176
|
+
}, _e = h(void 0), Xt = () => {
|
|
177
|
+
const e = u(_e);
|
|
133
178
|
if (e === void 0)
|
|
134
179
|
throw new Error("useURIContext must be used within a URIProvider");
|
|
135
180
|
return e;
|
|
@@ -140,14 +185,14 @@ const Se = ({ message: e = "Refresh to see latest changes." }) => /* @__PURE__ *
|
|
|
140
185
|
} catch {
|
|
141
186
|
return t;
|
|
142
187
|
}
|
|
143
|
-
},
|
|
188
|
+
}, Zt = (e, t) => {
|
|
144
189
|
if (typeof window > "u") return t;
|
|
145
190
|
try {
|
|
146
191
|
return _(sessionStorage.getItem(e), t);
|
|
147
192
|
} catch {
|
|
148
193
|
return t;
|
|
149
194
|
}
|
|
150
|
-
},
|
|
195
|
+
}, Qt = (e, t) => {
|
|
151
196
|
if (!(typeof window > "u"))
|
|
152
197
|
try {
|
|
153
198
|
sessionStorage.setItem(e, JSON.stringify(t)), window.dispatchEvent(new CustomEvent("session-storage", { detail: { key: e } }));
|
|
@@ -156,53 +201,53 @@ const Se = ({ message: e = "Refresh to see latest changes." }) => /* @__PURE__ *
|
|
|
156
201
|
}
|
|
157
202
|
};
|
|
158
203
|
function ke(e, t) {
|
|
159
|
-
const o =
|
|
204
|
+
const o = S(t);
|
|
160
205
|
o.current = t;
|
|
161
|
-
const [
|
|
162
|
-
|
|
163
|
-
const
|
|
164
|
-
n(_(
|
|
165
|
-
function
|
|
206
|
+
const [r, n] = b(() => typeof window > "u" ? t : _(sessionStorage.getItem(e), t));
|
|
207
|
+
v(() => {
|
|
208
|
+
const a = sessionStorage.getItem(e);
|
|
209
|
+
n(_(a, o.current)), a || sessionStorage.setItem(e, JSON.stringify(o.current));
|
|
210
|
+
function i(c) {
|
|
166
211
|
if ("key" in c && c.key && c.key !== e) return;
|
|
167
|
-
const
|
|
168
|
-
if (
|
|
169
|
-
const
|
|
170
|
-
n(_(
|
|
212
|
+
const l = c.detail?.key;
|
|
213
|
+
if (l && l !== e) return;
|
|
214
|
+
const f = sessionStorage.getItem(e);
|
|
215
|
+
n(_(f, o.current));
|
|
171
216
|
}
|
|
172
|
-
return window.addEventListener("session-storage",
|
|
173
|
-
window.removeEventListener("session-storage",
|
|
217
|
+
return window.addEventListener("session-storage", i), window.addEventListener("storage", i), () => {
|
|
218
|
+
window.removeEventListener("session-storage", i), window.removeEventListener("storage", i);
|
|
174
219
|
};
|
|
175
220
|
}, [e]);
|
|
176
|
-
const
|
|
177
|
-
(
|
|
221
|
+
const s = N(
|
|
222
|
+
(a) => {
|
|
178
223
|
try {
|
|
179
|
-
n((
|
|
180
|
-
const c = typeof
|
|
224
|
+
n((i) => {
|
|
225
|
+
const c = typeof a == "function" ? a(i) : a;
|
|
181
226
|
return sessionStorage.setItem(e, JSON.stringify(c)), typeof window < "u" && window.dispatchEvent(new CustomEvent("session-storage", { detail: { key: e } })), c;
|
|
182
227
|
});
|
|
183
|
-
} catch (
|
|
184
|
-
console.error(
|
|
228
|
+
} catch (i) {
|
|
229
|
+
console.error(i);
|
|
185
230
|
}
|
|
186
231
|
},
|
|
187
232
|
[e]
|
|
188
233
|
);
|
|
189
|
-
return [
|
|
234
|
+
return [r, s];
|
|
190
235
|
}
|
|
191
|
-
const
|
|
236
|
+
const k = (e, t = null) => {
|
|
192
237
|
if (!e) return t;
|
|
193
238
|
try {
|
|
194
239
|
return JSON.parse(e);
|
|
195
240
|
} catch {
|
|
196
241
|
return t;
|
|
197
242
|
}
|
|
198
|
-
},
|
|
243
|
+
}, Le = (e, t) => {
|
|
199
244
|
if (typeof window > "u") return t;
|
|
200
245
|
try {
|
|
201
|
-
return
|
|
246
|
+
return k(localStorage.getItem(e), t);
|
|
202
247
|
} catch {
|
|
203
248
|
return t;
|
|
204
249
|
}
|
|
205
|
-
},
|
|
250
|
+
}, Ne = (e, t) => {
|
|
206
251
|
if (!(typeof window > "u"))
|
|
207
252
|
try {
|
|
208
253
|
localStorage.setItem(e, JSON.stringify(t)), window.dispatchEvent(new Event("storage"));
|
|
@@ -210,97 +255,97 @@ const N = (e, t = null) => {
|
|
|
210
255
|
console.error(o);
|
|
211
256
|
}
|
|
212
257
|
};
|
|
213
|
-
function
|
|
214
|
-
const o =
|
|
258
|
+
function eo(e, t) {
|
|
259
|
+
const o = S(t);
|
|
215
260
|
o.current = t;
|
|
216
|
-
const [
|
|
217
|
-
const
|
|
218
|
-
return
|
|
261
|
+
const [r, n] = b(() => {
|
|
262
|
+
const a = localStorage.getItem(e);
|
|
263
|
+
return k(a, t);
|
|
219
264
|
});
|
|
220
|
-
|
|
221
|
-
const
|
|
222
|
-
n(
|
|
223
|
-
function
|
|
265
|
+
v(() => {
|
|
266
|
+
const a = localStorage.getItem(e);
|
|
267
|
+
n(k(a, o.current)), a || localStorage.setItem(e, JSON.stringify(o.current));
|
|
268
|
+
function i(c) {
|
|
224
269
|
if (c.key && c.key !== e) return;
|
|
225
|
-
const
|
|
226
|
-
n(
|
|
270
|
+
const l = localStorage.getItem(e);
|
|
271
|
+
n(k(l, o.current));
|
|
227
272
|
}
|
|
228
|
-
return window.addEventListener("storage",
|
|
229
|
-
window.removeEventListener("storage",
|
|
273
|
+
return window.addEventListener("storage", i), () => {
|
|
274
|
+
window.removeEventListener("storage", i);
|
|
230
275
|
};
|
|
231
276
|
}, [e]);
|
|
232
|
-
const
|
|
233
|
-
(
|
|
277
|
+
const s = N(
|
|
278
|
+
(a) => {
|
|
234
279
|
try {
|
|
235
|
-
n((
|
|
236
|
-
const c = typeof
|
|
280
|
+
n((i) => {
|
|
281
|
+
const c = typeof a == "function" ? a(i) : a;
|
|
237
282
|
return localStorage.setItem(e, JSON.stringify(c)), typeof window < "u" && setTimeout(() => {
|
|
238
283
|
window.dispatchEvent(new Event("storage"));
|
|
239
284
|
}, 0), c;
|
|
240
285
|
});
|
|
241
|
-
} catch (
|
|
242
|
-
console.error(
|
|
286
|
+
} catch (i) {
|
|
287
|
+
console.error(i);
|
|
243
288
|
}
|
|
244
289
|
},
|
|
245
290
|
[e]
|
|
246
291
|
);
|
|
247
|
-
return [
|
|
292
|
+
return [r, s];
|
|
248
293
|
}
|
|
249
|
-
const
|
|
250
|
-
const { startFrame: t, endFrame: o } = e.activityData || {},
|
|
251
|
-
if (!Number.isSafeInteger(t) || !
|
|
252
|
-
const n = t,
|
|
253
|
-
return { entityId:
|
|
254
|
-
},
|
|
255
|
-
const e =
|
|
294
|
+
const je = h(void 0), Ue = ["feed", "subtasks", "details", "files"], Me = /^[^.\s]+\.[A-Za-z][A-Za-z0-9_]*$/, Fe = (e) => typeof e == "string" && Me.test(e), Ve = (e) => typeof e == "string" && (Ue.includes(e) || Fe(e)), to = (e) => {
|
|
295
|
+
const { startFrame: t, endFrame: o } = e.activityData || {}, r = e.origin?.id ?? e.entityId;
|
|
296
|
+
if (!Number.isSafeInteger(t) || !r) return null;
|
|
297
|
+
const n = t, s = Number.isSafeInteger(o) ? Math.max(n, o) : n;
|
|
298
|
+
return { entityId: r, startFrame: n, endFrame: s };
|
|
299
|
+
}, Be = () => {
|
|
300
|
+
const e = u(je);
|
|
256
301
|
if (e === void 0)
|
|
257
302
|
throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");
|
|
258
303
|
return e;
|
|
259
|
-
},
|
|
260
|
-
const o =
|
|
261
|
-
|
|
262
|
-
},
|
|
263
|
-
const { getOpenForScope: t, setPanelOpen: o, getTabForScope:
|
|
264
|
-
(
|
|
265
|
-
|
|
304
|
+
}, V = "details/tabs-by-scope", oo = (e, t) => {
|
|
305
|
+
const o = Le(V, {});
|
|
306
|
+
Ne(V, { ...o, [e]: t });
|
|
307
|
+
}, no = (e) => {
|
|
308
|
+
const { getOpenForScope: t, setPanelOpen: o, getTabForScope: r } = Be(), [n, s] = ke(V, {}), a = n[e], i = Ve(a) ? a : r(e), c = N(
|
|
309
|
+
(f) => {
|
|
310
|
+
s((C) => ({ ...C, [e]: f }));
|
|
266
311
|
},
|
|
267
|
-
[e,
|
|
268
|
-
),
|
|
312
|
+
[e, s]
|
|
313
|
+
), l = i === "feed";
|
|
269
314
|
return {
|
|
270
315
|
isOpen: t(e),
|
|
271
|
-
setOpen: (
|
|
272
|
-
currentTab:
|
|
316
|
+
setOpen: (f) => o(e, f),
|
|
317
|
+
currentTab: i,
|
|
273
318
|
setTab: c,
|
|
274
|
-
isFeed:
|
|
319
|
+
isFeed: l
|
|
275
320
|
};
|
|
276
|
-
},
|
|
321
|
+
}, Je = h(
|
|
277
322
|
void 0
|
|
278
|
-
),
|
|
279
|
-
const e =
|
|
323
|
+
), ro = () => {
|
|
324
|
+
const e = u(Je);
|
|
280
325
|
if (!e)
|
|
281
326
|
throw new Error("useSubtasksModulesContext must be used within a SubtasksModulesProvider");
|
|
282
327
|
return e;
|
|
283
|
-
},
|
|
284
|
-
const e =
|
|
328
|
+
}, We = h({}), so = () => {
|
|
329
|
+
const e = u(We);
|
|
285
330
|
if (!e)
|
|
286
331
|
throw new Error("useThumbnailUploadContext must be used within a ThumbnailUploadProvider");
|
|
287
332
|
return e;
|
|
288
|
-
},
|
|
289
|
-
const e =
|
|
333
|
+
}, qe = h(void 0), ao = () => {
|
|
334
|
+
const e = u(qe);
|
|
290
335
|
if (e === void 0)
|
|
291
336
|
throw new Error("useSettingsPanel must be used within a SettingsPanelProvider");
|
|
292
337
|
return e;
|
|
293
|
-
},
|
|
294
|
-
function
|
|
295
|
-
const e =
|
|
338
|
+
}, ze = h(void 0);
|
|
339
|
+
function He() {
|
|
340
|
+
const e = u(ze);
|
|
296
341
|
if (e === void 0)
|
|
297
342
|
throw new Error("usePiPWindow must be used within a PiPContext");
|
|
298
343
|
return e;
|
|
299
344
|
}
|
|
300
|
-
function
|
|
301
|
-
return
|
|
345
|
+
function Ke({ pipWindow: e, children: t }) {
|
|
346
|
+
return xe(t, e.document.body);
|
|
302
347
|
}
|
|
303
|
-
const
|
|
348
|
+
const Ge = p(ye)`
|
|
304
349
|
width: 25vw;
|
|
305
350
|
height: 70vh;
|
|
306
351
|
border: solid 1px var(--md-sys-color-outline-variant);
|
|
@@ -313,7 +358,7 @@ const He = u(ve)`
|
|
|
313
358
|
opacity: 1;
|
|
314
359
|
}
|
|
315
360
|
}
|
|
316
|
-
`,
|
|
361
|
+
`, Ye = p(j)`
|
|
317
362
|
width: 26px;
|
|
318
363
|
height: 26px;
|
|
319
364
|
margin-left: auto;
|
|
@@ -329,12 +374,12 @@ const He = u(ve)`
|
|
|
329
374
|
&:hover {
|
|
330
375
|
background-color: #3d3e40;
|
|
331
376
|
}
|
|
332
|
-
`,
|
|
333
|
-
const { pipWindow: t, pipId: o, isSupported:
|
|
334
|
-
return !
|
|
335
|
-
|
|
377
|
+
`, io = ({ children: e }) => {
|
|
378
|
+
const { pipWindow: t, pipId: o, isSupported: r, closePipWindow: n } = He(), s = o && z.isValidElement(e) ? z.cloneElement(e, { id: o }) : e;
|
|
379
|
+
return !r && o ? /* @__PURE__ */ d(
|
|
380
|
+
Ge,
|
|
336
381
|
{
|
|
337
|
-
header: /* @__PURE__ */ d(
|
|
382
|
+
header: /* @__PURE__ */ d(Ye, { icon: "close", className: "close", onClick: n }),
|
|
338
383
|
headerStyle: {
|
|
339
384
|
padding: 4,
|
|
340
385
|
backgroundColor: "#202124",
|
|
@@ -355,112 +400,112 @@ const He = u(ve)`
|
|
|
355
400
|
},
|
|
356
401
|
onHide: n,
|
|
357
402
|
position: "right",
|
|
358
|
-
children:
|
|
403
|
+
children: s
|
|
359
404
|
}
|
|
360
|
-
) : t && /* @__PURE__ */ d(
|
|
361
|
-
},
|
|
362
|
-
const e =
|
|
405
|
+
) : t && /* @__PURE__ */ d(Ke, { pipWindow: t, children: /* @__PURE__ */ d("div", { className: "pipRoot", children: s }) });
|
|
406
|
+
}, Xe = h(void 0), co = () => {
|
|
407
|
+
const e = u(Xe);
|
|
363
408
|
if (!e)
|
|
364
409
|
throw new Error("useAddonProjectContext must be used within a AddonProjectContext");
|
|
365
410
|
return e;
|
|
366
|
-
},
|
|
367
|
-
const e =
|
|
411
|
+
}, Ze = h(void 0), lo = () => {
|
|
412
|
+
const e = u(Ze);
|
|
368
413
|
if (!e)
|
|
369
414
|
throw new Error("useAddonContext must be used within a AddonContext");
|
|
370
415
|
return e;
|
|
371
|
-
},
|
|
372
|
-
const e =
|
|
416
|
+
}, Qe = h(void 0), uo = () => {
|
|
417
|
+
const e = u(Qe);
|
|
373
418
|
if (e === void 0)
|
|
374
419
|
throw new Error("useMenuContext must be used within a MenuProvider");
|
|
375
420
|
return e;
|
|
376
|
-
},
|
|
377
|
-
const e =
|
|
421
|
+
}, ee = h(void 0), po = () => {
|
|
422
|
+
const e = u(ee);
|
|
378
423
|
if (e === void 0)
|
|
379
424
|
throw new Error("useSocketContext must be used within a SocketProvider");
|
|
380
425
|
return e;
|
|
381
|
-
},
|
|
426
|
+
}, et = window.location.protocol.replace("http", "ws"), tt = `${et}//${window.location.host}/ws`, ho = ({
|
|
382
427
|
children: e,
|
|
383
428
|
userName: t,
|
|
384
429
|
projectName: o,
|
|
385
|
-
dispatch:
|
|
430
|
+
dispatch: r
|
|
386
431
|
}) => {
|
|
387
|
-
const [n,
|
|
388
|
-
|
|
389
|
-
|
|
432
|
+
const [n, s] = b(!1), [a, i] = b([]), [c] = we(), l = S(!1);
|
|
433
|
+
v(() => {
|
|
434
|
+
l.current = n;
|
|
390
435
|
}, [n]);
|
|
391
|
-
const
|
|
436
|
+
const f = {
|
|
392
437
|
shouldReconnect: () => !t || !localStorage.getItem("accessToken") ? !1 : (c({ full: !1 }).unwrap(), !0)
|
|
393
|
-
}, { sendMessage: C, readyState: P, getWebSocket: E } =
|
|
394
|
-
|
|
395
|
-
|
|
438
|
+
}, { sendMessage: C, readyState: P, getWebSocket: E } = be(
|
|
439
|
+
tt,
|
|
440
|
+
f,
|
|
396
441
|
!!t
|
|
397
|
-
),
|
|
442
|
+
), w = () => {
|
|
398
443
|
C(
|
|
399
444
|
JSON.stringify({
|
|
400
445
|
topic: "auth",
|
|
401
446
|
token: localStorage.getItem("accessToken"),
|
|
402
|
-
subscribe:
|
|
447
|
+
subscribe: a,
|
|
403
448
|
project: o
|
|
404
449
|
})
|
|
405
450
|
);
|
|
406
451
|
};
|
|
407
|
-
|
|
408
|
-
console.debug("Topics changed",
|
|
409
|
-
}, [
|
|
410
|
-
const T =
|
|
411
|
-
T.current =
|
|
412
|
-
const
|
|
413
|
-
() =>
|
|
414
|
-
|
|
452
|
+
v(() => {
|
|
453
|
+
console.debug("Topics changed", a), w();
|
|
454
|
+
}, [a, o]);
|
|
455
|
+
const T = S(a);
|
|
456
|
+
T.current = a;
|
|
457
|
+
const m = pe(
|
|
458
|
+
() => K((x) => {
|
|
459
|
+
me(T.current, x) || (console.log("WS: Subscriptions changed"), i(x));
|
|
415
460
|
}, 200),
|
|
416
461
|
[]
|
|
417
462
|
);
|
|
418
|
-
|
|
419
|
-
D.setOnSubscriptionsChange(null),
|
|
420
|
-
}), [
|
|
421
|
-
const [R,
|
|
422
|
-
|
|
423
|
-
R && !
|
|
463
|
+
v(() => (D.setOnSubscriptionsChange((x) => m(x)), m(D.getSubscriptions("")), () => {
|
|
464
|
+
D.setOnSubscriptionsChange(null), m.cancel();
|
|
465
|
+
}), [m]);
|
|
466
|
+
const [R, se] = b(!1), [J, ae] = b(!1);
|
|
467
|
+
v(() => {
|
|
468
|
+
R && !J && (G.warning(/* @__PURE__ */ d(Ce, {}), {
|
|
424
469
|
autoClose: !1,
|
|
425
470
|
closeButton: !1
|
|
426
|
-
}),
|
|
427
|
-
}, [R,
|
|
428
|
-
const I =
|
|
429
|
-
console.log("Resetting API state due to server restart"),
|
|
430
|
-
}, 1e3),
|
|
431
|
-
(
|
|
471
|
+
}), ae(!0));
|
|
472
|
+
}, [R, J]);
|
|
473
|
+
const I = S({ callCount: 0, lastCall: Date.now() }), ie = K(() => {
|
|
474
|
+
console.log("Resetting API state due to server restart"), s(!1), r(ve.util.resetApiState());
|
|
475
|
+
}, 1e3), ce = N(
|
|
476
|
+
(x) => {
|
|
432
477
|
if (I.current.callCount > 1e3)
|
|
433
|
-
return
|
|
478
|
+
return se(!0), console.log(
|
|
434
479
|
"Overload: Over 1000 messages per second. Ignoring subsequent messages."
|
|
435
480
|
);
|
|
436
481
|
let A;
|
|
437
482
|
try {
|
|
438
|
-
A = JSON.parse(
|
|
439
|
-
} catch (
|
|
440
|
-
console.error("Failed to parse websocket message:",
|
|
483
|
+
A = JSON.parse(x.data);
|
|
484
|
+
} catch (ue) {
|
|
485
|
+
console.error("Failed to parse websocket message:", ue, x.data);
|
|
441
486
|
return;
|
|
442
487
|
}
|
|
443
|
-
const { topic:
|
|
444
|
-
if (
|
|
445
|
-
console.log("Server replica booted"),
|
|
488
|
+
const { topic: y, sender: W, summary: de, status: le } = A || {};
|
|
489
|
+
if (l.current && (y === "heartbeat" || y === "server.started" && le === "finished")) {
|
|
490
|
+
console.log("Server replica booted"), ie();
|
|
446
491
|
return;
|
|
447
492
|
}
|
|
448
|
-
if (
|
|
449
|
-
if (
|
|
450
|
-
if (
|
|
451
|
-
} else if (
|
|
493
|
+
if (y === "heartbeat") return;
|
|
494
|
+
if (y === "server.restart_requested" && (console.log("Server restart requested"), s(!0)), ["import.data"].includes(y)) {
|
|
495
|
+
if (W !== window.senderId) return;
|
|
496
|
+
} else if (W === window.senderId)
|
|
452
497
|
return;
|
|
453
|
-
const
|
|
454
|
-
|
|
498
|
+
const q = Date.now();
|
|
499
|
+
q - I.current.lastCall < 1e3 ? I.current.callCount += 1 : I.current.callCount = 0, console.log("Event RX", A), I.current.lastCall = q, y === "shout" && A?.summary?.text && G.info(de.text), D.publish(y, A);
|
|
455
500
|
},
|
|
456
|
-
[
|
|
501
|
+
[s]
|
|
457
502
|
);
|
|
458
|
-
return
|
|
459
|
-
P ===
|
|
503
|
+
return v(() => {
|
|
504
|
+
P === Se.OPEN && (E().onmessage = ce, w(), D.publish("client.connected", {
|
|
460
505
|
topic: "client.connected"
|
|
461
506
|
}));
|
|
462
507
|
}, [P, E]), /* @__PURE__ */ d(
|
|
463
|
-
|
|
508
|
+
ee.Provider,
|
|
464
509
|
{
|
|
465
510
|
value: {
|
|
466
511
|
getWebSocket: E,
|
|
@@ -470,19 +515,19 @@ const He = u(ve)`
|
|
|
470
515
|
children: e
|
|
471
516
|
}
|
|
472
517
|
);
|
|
473
|
-
},
|
|
474
|
-
const e =
|
|
518
|
+
}, te = h(void 0), fo = () => {
|
|
519
|
+
const e = u(te);
|
|
475
520
|
if (e === void 0)
|
|
476
521
|
throw new Error("useProjectContext must be used within a ProjectContextProvider");
|
|
477
522
|
return e;
|
|
478
|
-
},
|
|
523
|
+
}, mo = () => u(te), oe = h(
|
|
479
524
|
void 0
|
|
480
525
|
), go = () => {
|
|
481
|
-
const e =
|
|
526
|
+
const e = u(oe);
|
|
482
527
|
if (e === void 0)
|
|
483
528
|
throw new Error("useProjectFoldersContext must be used within a ProjectFoldersContextProvider");
|
|
484
529
|
return e;
|
|
485
|
-
},
|
|
530
|
+
}, vo = () => u(oe), ne = h(void 0), ot = (e) => ({
|
|
486
531
|
created: e,
|
|
487
532
|
label_changed: e,
|
|
488
533
|
renamed: e,
|
|
@@ -491,7 +536,7 @@ const He = u(ve)`
|
|
|
491
536
|
tags_changed: e,
|
|
492
537
|
attrib_changed: e,
|
|
493
538
|
deleted: e
|
|
494
|
-
}),
|
|
539
|
+
}), nt = (e, t) => e === t || e.startsWith(`${t}.`), rt = (e, t) => t.length === 0 ? !0 : t.includes(e || ""), st = (e) => {
|
|
495
540
|
const t = e.split(".").pop();
|
|
496
541
|
if (t && [
|
|
497
542
|
"created",
|
|
@@ -504,39 +549,39 @@ const He = u(ve)`
|
|
|
504
549
|
"deleted"
|
|
505
550
|
].includes(t))
|
|
506
551
|
return t;
|
|
507
|
-
},
|
|
552
|
+
}, wo = ({
|
|
508
553
|
projectNames: e,
|
|
509
554
|
topics: t,
|
|
510
555
|
isSyncing: o = !1,
|
|
511
|
-
shouldSyncOnUpdate:
|
|
556
|
+
shouldSyncOnUpdate: r
|
|
512
557
|
}) => {
|
|
513
|
-
const n =
|
|
558
|
+
const n = u(ne);
|
|
514
559
|
if (!n)
|
|
515
560
|
throw new Error("useSyncUpdates must be used within an EntityUpdatesProvider");
|
|
516
|
-
const
|
|
517
|
-
(
|
|
561
|
+
const s = e || n.projectNames, a = S(0), i = S(!1), c = n.updates.filter(
|
|
562
|
+
(l) => rt(l.project, s) && t.some((f) => nt(l.topic, f)) && (r?.(l) ?? !0)
|
|
518
563
|
);
|
|
519
|
-
return
|
|
520
|
-
o && !
|
|
521
|
-
}, [n, o,
|
|
564
|
+
return v(() => {
|
|
565
|
+
o && !i.current ? a.current = n.getLatestId() : !o && i.current && n.acknowledge(t, s, a.current), i.current = o;
|
|
566
|
+
}, [n, o, s, t]), {
|
|
522
567
|
updates: c,
|
|
523
568
|
hasUpdates: c.length > 0,
|
|
524
569
|
updateCount: c.length
|
|
525
570
|
};
|
|
526
|
-
},
|
|
527
|
-
const e =
|
|
571
|
+
}, xo = () => {
|
|
572
|
+
const e = u(ne);
|
|
528
573
|
if (!e)
|
|
529
574
|
throw new Error("useAutoSyncSettings must be used within an EntityUpdatesProvider");
|
|
530
575
|
const { autoSyncSettings: t, setAutoSyncSettings: o } = e;
|
|
531
576
|
return [t, (n) => {
|
|
532
|
-
const { settings:
|
|
533
|
-
o(
|
|
577
|
+
const { settings: s, global: a } = n;
|
|
578
|
+
o(a !== void 0 ? ot(a) : (i) => ({ ...i, ...s }));
|
|
534
579
|
}];
|
|
535
|
-
},
|
|
580
|
+
}, yo = (e, t) => {
|
|
536
581
|
if (!t) return !1;
|
|
537
|
-
const o =
|
|
582
|
+
const o = st(e);
|
|
538
583
|
return o ? t[o] : !1;
|
|
539
|
-
},
|
|
584
|
+
}, at = p.li`
|
|
540
585
|
position: relative;
|
|
541
586
|
padding: 4px 6px 4px 12px;
|
|
542
587
|
user-select: none;
|
|
@@ -589,7 +634,7 @@ const He = u(ve)`
|
|
|
589
634
|
display: flex;
|
|
590
635
|
}
|
|
591
636
|
}
|
|
592
|
-
`,
|
|
637
|
+
`, M = p(j)`
|
|
593
638
|
&.hasIcon {
|
|
594
639
|
padding: 2px;
|
|
595
640
|
}
|
|
@@ -607,79 +652,79 @@ const He = u(ve)`
|
|
|
607
652
|
}
|
|
608
653
|
}
|
|
609
654
|
}
|
|
610
|
-
`,
|
|
655
|
+
`, it = B(
|
|
611
656
|
({
|
|
612
657
|
id: e,
|
|
613
658
|
label: t,
|
|
614
659
|
startContent: o,
|
|
615
|
-
endContent:
|
|
660
|
+
endContent: r,
|
|
616
661
|
isSelected: n,
|
|
617
|
-
isEditable:
|
|
618
|
-
isSaveable:
|
|
619
|
-
highlighted:
|
|
662
|
+
isEditable: s,
|
|
663
|
+
isSaveable: a,
|
|
664
|
+
highlighted: i,
|
|
620
665
|
onEdit: c,
|
|
621
|
-
onSave:
|
|
622
|
-
onResetView:
|
|
666
|
+
onSave: l,
|
|
667
|
+
onResetView: f,
|
|
623
668
|
className: C,
|
|
624
669
|
...P
|
|
625
670
|
}, E) => {
|
|
626
|
-
const { viewAlias:
|
|
627
|
-
|
|
628
|
-
message: `Save current ${
|
|
671
|
+
const { viewAlias: w } = mt(), T = (m, R) => {
|
|
672
|
+
m.stopPropagation(), R ? ge({
|
|
673
|
+
message: `Save current ${w} settings and overwrite this ${w}?`,
|
|
629
674
|
header: "Confirm save",
|
|
630
|
-
accept: () =>
|
|
631
|
-
}) :
|
|
675
|
+
accept: () => l && l(m, e)
|
|
676
|
+
}) : l && l(m, e);
|
|
632
677
|
};
|
|
633
|
-
return /* @__PURE__ */
|
|
634
|
-
|
|
678
|
+
return /* @__PURE__ */ g(
|
|
679
|
+
at,
|
|
635
680
|
{
|
|
636
681
|
...P,
|
|
637
682
|
id: e,
|
|
638
|
-
className:
|
|
683
|
+
className: $(C, { selected: n }),
|
|
639
684
|
ref: E,
|
|
640
685
|
children: [
|
|
641
686
|
o && o,
|
|
642
687
|
/* @__PURE__ */ d("span", { className: "label", children: t }),
|
|
643
|
-
|
|
644
|
-
|
|
688
|
+
f && /* @__PURE__ */ d(
|
|
689
|
+
M,
|
|
645
690
|
{
|
|
646
691
|
icon: "restart_alt",
|
|
647
692
|
variant: "text",
|
|
648
693
|
className: "reset",
|
|
649
|
-
onClick:
|
|
694
|
+
onClick: f,
|
|
650
695
|
"data-tooltip": "Reset to Default",
|
|
651
|
-
"data-shortcut":
|
|
696
|
+
"data-shortcut": fe("0", [H.Shift, H.Ctrl])
|
|
652
697
|
}
|
|
653
698
|
),
|
|
654
|
-
|
|
655
|
-
|
|
699
|
+
s && a && !n && /* @__PURE__ */ d(
|
|
700
|
+
M,
|
|
656
701
|
{
|
|
657
702
|
icon: "save",
|
|
658
703
|
variant: "text",
|
|
659
|
-
className:
|
|
660
|
-
onClick: (
|
|
661
|
-
"data-tooltip": `Save ${
|
|
704
|
+
className: $("save", { active: i === "save" }),
|
|
705
|
+
onClick: (m) => T(m, i !== "save"),
|
|
706
|
+
"data-tooltip": `Save ${w} settings from current ${w}`
|
|
662
707
|
}
|
|
663
708
|
),
|
|
664
|
-
|
|
665
|
-
|
|
709
|
+
s && c && /* @__PURE__ */ d(
|
|
710
|
+
M,
|
|
666
711
|
{
|
|
667
712
|
variant: "text",
|
|
668
713
|
icon: "more_horiz",
|
|
669
|
-
className:
|
|
670
|
-
onClick: (
|
|
671
|
-
"data-tooltip": `Edit ${
|
|
714
|
+
className: $("more", { active: i === "edit" }),
|
|
715
|
+
onClick: (m) => c(m, e),
|
|
716
|
+
"data-tooltip": `Edit ${w}`
|
|
672
717
|
}
|
|
673
718
|
),
|
|
674
|
-
|
|
719
|
+
r && r
|
|
675
720
|
]
|
|
676
721
|
}
|
|
677
722
|
);
|
|
678
723
|
}
|
|
679
|
-
),
|
|
724
|
+
), ct = p.div`
|
|
680
725
|
overflow: auto;
|
|
681
726
|
max-height: 40vh;
|
|
682
|
-
`,
|
|
727
|
+
`, dt = p.ul`
|
|
683
728
|
/* reset defaults */
|
|
684
729
|
margin: 0;
|
|
685
730
|
padding: 0;
|
|
@@ -689,17 +734,17 @@ const He = u(ve)`
|
|
|
689
734
|
flex-direction: column;
|
|
690
735
|
gap: var(--base-gap-small);
|
|
691
736
|
margin-bottom: var(--padding-s);
|
|
692
|
-
`,
|
|
737
|
+
`, lt = p.li`
|
|
693
738
|
height: 1px;
|
|
694
739
|
background-color: var(--md-sys-color-outline-variant);
|
|
695
740
|
margin: 4px 0;
|
|
696
741
|
`;
|
|
697
|
-
|
|
698
|
-
${
|
|
742
|
+
p.li`
|
|
743
|
+
${X.labelSmall}
|
|
699
744
|
color: var(--md-sys-color-outline);
|
|
700
745
|
`;
|
|
701
|
-
const
|
|
702
|
-
${
|
|
746
|
+
const ut = p.li`
|
|
747
|
+
${X.labelSmall}
|
|
703
748
|
color: var(--md-sys-color-outline);
|
|
704
749
|
user-select: none;
|
|
705
750
|
border-radius: var(--border-radius-m);
|
|
@@ -734,23 +779,23 @@ const dt = u.li`
|
|
|
734
779
|
&:hover .icon {
|
|
735
780
|
display: inline-flex;
|
|
736
781
|
}
|
|
737
|
-
`,
|
|
738
|
-
({ title: e, collapsed: t, className: o, ...
|
|
739
|
-
|
|
782
|
+
`, pt = B(
|
|
783
|
+
({ title: e, collapsed: t, className: o, ...r }, n) => /* @__PURE__ */ g(
|
|
784
|
+
ut,
|
|
740
785
|
{
|
|
741
|
-
...
|
|
742
|
-
className:
|
|
786
|
+
...r,
|
|
787
|
+
className: $("views-section-header", { collapsed: t }, o),
|
|
743
788
|
ref: n,
|
|
744
789
|
children: [
|
|
745
790
|
/* @__PURE__ */ d("span", { children: e }),
|
|
746
791
|
/* @__PURE__ */ d("span", { className: "spacer" }),
|
|
747
|
-
/* @__PURE__ */ d(
|
|
792
|
+
/* @__PURE__ */ d(F, { className: "icon", icon: "expand_more" })
|
|
748
793
|
]
|
|
749
794
|
}
|
|
750
795
|
)
|
|
751
|
-
),
|
|
752
|
-
({ items: e, selected: t, ...o },
|
|
753
|
-
|
|
796
|
+
), bo = "_divider_", ht = (e) => typeof e == "object" && e !== null && "type" in e && e.type === "section", So = B(
|
|
797
|
+
({ items: e, selected: t, ...o }, r) => /* @__PURE__ */ d(ct, { children: /* @__PURE__ */ d(dt, { ...o, ref: r, children: e.map((n, s) => n === "_divider_" ? /* @__PURE__ */ d(lt, {}, s) : ht(n) ? /* @__PURE__ */ d(
|
|
798
|
+
pt,
|
|
754
799
|
{
|
|
755
800
|
id: n.id,
|
|
756
801
|
title: n.title,
|
|
@@ -759,59 +804,59 @@ const dt = u.li`
|
|
|
759
804
|
},
|
|
760
805
|
n.id
|
|
761
806
|
) : /* @__PURE__ */ d(
|
|
762
|
-
|
|
807
|
+
it,
|
|
763
808
|
{
|
|
764
809
|
tabIndex: 0,
|
|
765
810
|
isSelected: n.id === t,
|
|
766
|
-
autoFocus:
|
|
811
|
+
autoFocus: s === 0,
|
|
767
812
|
...n
|
|
768
813
|
},
|
|
769
|
-
(n.id || "") +
|
|
814
|
+
(n.id || "") + s.toString()
|
|
770
815
|
)) }) })
|
|
771
|
-
),
|
|
772
|
-
const e =
|
|
816
|
+
), ft = h(null), mt = () => {
|
|
817
|
+
const e = u(ft);
|
|
773
818
|
if (!e)
|
|
774
819
|
throw new Error("useViewsContext must be used within a ViewsProvider");
|
|
775
820
|
return e;
|
|
776
|
-
},
|
|
821
|
+
}, Co = 1, gt = p.div`
|
|
777
822
|
min-width: 350px;
|
|
778
|
-
`,
|
|
823
|
+
`, vt = p.div`
|
|
779
824
|
margin-top: 12px;
|
|
780
825
|
min-height: 60px;
|
|
781
826
|
min-width: 350px;
|
|
782
|
-
`,
|
|
827
|
+
`, wt = p.p`
|
|
783
828
|
font-weight: 600;
|
|
784
829
|
margin-bottom: 4px;
|
|
785
|
-
`,
|
|
830
|
+
`, xt = p.p`
|
|
786
831
|
margin-top: 12px;
|
|
787
832
|
font-weight: 600;
|
|
788
833
|
color: var(--md-sys-color-error);
|
|
789
|
-
`,
|
|
834
|
+
`, Po = ({
|
|
790
835
|
entityLabel: e,
|
|
791
836
|
childrenDetails: t,
|
|
792
837
|
totalLine: o,
|
|
793
|
-
message:
|
|
794
|
-
}) => /* @__PURE__ */
|
|
795
|
-
/* @__PURE__ */ d("p", { children:
|
|
796
|
-
t.length > 0 && /* @__PURE__ */
|
|
797
|
-
/* @__PURE__ */ d(
|
|
798
|
-
t.map((n,
|
|
838
|
+
message: r
|
|
839
|
+
}) => /* @__PURE__ */ g(gt, { children: [
|
|
840
|
+
/* @__PURE__ */ d("p", { children: r || `Are you sure you want to delete ${e}? This action cannot be undone.` }),
|
|
841
|
+
t.length > 0 && /* @__PURE__ */ g(vt, { children: [
|
|
842
|
+
/* @__PURE__ */ d(wt, { children: "The following will also be affected:" }),
|
|
843
|
+
t.map((n, s) => /* @__PURE__ */ d("p", { children: n }, s))
|
|
799
844
|
] }),
|
|
800
|
-
o && /* @__PURE__ */ d(
|
|
801
|
-
] }),
|
|
845
|
+
o && /* @__PURE__ */ d(xt, { children: o })
|
|
846
|
+
] }), Eo = p(he)`
|
|
802
847
|
max-height: min(600px, 90vh);
|
|
803
|
-
`,
|
|
848
|
+
`, Io = p.div`
|
|
804
849
|
display: flex;
|
|
805
850
|
flex-direction: column;
|
|
806
851
|
width: 100%;
|
|
807
|
-
`,
|
|
852
|
+
`, Ao = p.label`
|
|
808
853
|
margin: 2px 0 14px 0;
|
|
809
|
-
`,
|
|
854
|
+
`, Do = p.div`
|
|
810
855
|
display: flex;
|
|
811
856
|
padding-top: 14px;
|
|
812
857
|
gap: 8px;
|
|
813
858
|
justify-content: flex-end;
|
|
814
|
-
`,
|
|
859
|
+
`, To = p.div`
|
|
815
860
|
display: flex;
|
|
816
861
|
flex-direction: column;
|
|
817
862
|
gap: 8px;
|
|
@@ -820,110 +865,111 @@ const dt = u.li`
|
|
|
820
865
|
/* scroll container clips the inputs' 2px focus outline — inset it, then pull back to keep alignment */
|
|
821
866
|
padding: 4px;
|
|
822
867
|
margin: -4px;
|
|
823
|
-
`,
|
|
868
|
+
`, Ro = p.label`
|
|
824
869
|
display: flex;
|
|
825
870
|
align-items: center;
|
|
826
871
|
justify-content: space-between;
|
|
827
872
|
gap: 12px;
|
|
828
|
-
`,
|
|
873
|
+
`, $o = p(Z)`
|
|
829
874
|
width: 180px;
|
|
830
|
-
`,
|
|
875
|
+
`, Oo = p(Z)`
|
|
831
876
|
width: 100%;
|
|
832
877
|
/* room for the 2px focus outline */
|
|
833
878
|
margin: 2px 0;
|
|
834
|
-
`,
|
|
879
|
+
`, yt = /* @__PURE__ */ new Set([
|
|
835
880
|
"folder",
|
|
836
881
|
"task",
|
|
837
882
|
"product",
|
|
838
883
|
"version",
|
|
839
884
|
"representation",
|
|
840
885
|
"workfile"
|
|
841
|
-
]),
|
|
842
|
-
const e =
|
|
886
|
+
]), _o = (e) => !!e && yt.has(e), re = h(null), ko = () => {
|
|
887
|
+
const e = u(re);
|
|
843
888
|
if (!e)
|
|
844
889
|
throw new Error("useDeleteEntitiesContext must be used within a DeleteEntitiesProvider");
|
|
845
890
|
return e;
|
|
846
|
-
},
|
|
891
|
+
}, Lo = () => u(re), No = "tableExport", bt = h(null), jo = () => u(bt);
|
|
847
892
|
export {
|
|
848
|
-
|
|
893
|
+
No as $,
|
|
849
894
|
Ht as A,
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
895
|
+
Kt as B,
|
|
896
|
+
Oo as C,
|
|
897
|
+
Po as D,
|
|
898
|
+
ne as E,
|
|
899
|
+
Io as F,
|
|
900
|
+
Re as G,
|
|
901
|
+
Gt as H,
|
|
902
|
+
Ce as I,
|
|
903
|
+
V as J,
|
|
904
|
+
Ve as K,
|
|
905
|
+
Xt as L,
|
|
906
|
+
Qe as M,
|
|
907
|
+
je as N,
|
|
908
|
+
Je as O,
|
|
909
|
+
te as P,
|
|
910
|
+
qe as Q,
|
|
911
|
+
Ee as R,
|
|
912
|
+
Eo as S,
|
|
913
|
+
We as T,
|
|
914
|
+
ze as U,
|
|
915
|
+
Xe as V,
|
|
916
|
+
Ze as W,
|
|
917
|
+
Oe as X,
|
|
918
|
+
Pe as Y,
|
|
919
|
+
_e as Z,
|
|
920
|
+
re as _,
|
|
921
|
+
zt as a,
|
|
922
|
+
bt as a0,
|
|
923
|
+
io as a1,
|
|
924
|
+
ee as a2,
|
|
925
|
+
ho as a3,
|
|
926
|
+
to as a4,
|
|
927
|
+
yo as a5,
|
|
928
|
+
Fe as a6,
|
|
929
|
+
_o as a7,
|
|
930
|
+
oo as a8,
|
|
931
|
+
lo as a9,
|
|
932
|
+
co as aa,
|
|
933
|
+
xo as ab,
|
|
889
934
|
ko as ac,
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
935
|
+
Lo as ad,
|
|
936
|
+
vo as ae,
|
|
937
|
+
He as af,
|
|
938
|
+
no as ag,
|
|
939
|
+
ao as ah,
|
|
940
|
+
po as ai,
|
|
941
|
+
ro as aj,
|
|
942
|
+
wo as ak,
|
|
943
|
+
jo as al,
|
|
944
|
+
so as am,
|
|
945
|
+
bo as an,
|
|
946
|
+
ft as ao,
|
|
947
|
+
pt as ap,
|
|
948
|
+
So as aq,
|
|
949
|
+
it as ar,
|
|
950
|
+
Yt as b,
|
|
951
|
+
nt as c,
|
|
952
|
+
qt as d,
|
|
953
|
+
mt as e,
|
|
954
|
+
Co as f,
|
|
955
|
+
st as g,
|
|
956
|
+
Ao as h,
|
|
957
|
+
To as i,
|
|
958
|
+
Ro as j,
|
|
959
|
+
$o as k,
|
|
960
|
+
Do as l,
|
|
961
|
+
rt as m,
|
|
962
|
+
oe as n,
|
|
963
|
+
mo as o,
|
|
964
|
+
ke as p,
|
|
919
965
|
Zt as q,
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
966
|
+
Le as r,
|
|
967
|
+
eo as s,
|
|
968
|
+
ot as t,
|
|
969
|
+
uo as u,
|
|
970
|
+
Qt as v,
|
|
971
|
+
Ne as w,
|
|
972
|
+
Be as x,
|
|
973
|
+
fo as y,
|
|
974
|
+
go as z
|
|
929
975
|
};
|