@ynput/ayon-frontend-shared 0.6.4 → 0.6.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.
Files changed (55) hide show
  1. package/dist/DetailsPanel.es.js +480 -477
  2. package/dist/ListTable.es.js +24 -25
  3. package/dist/NewEntity.es.js +6 -7
  4. package/dist/ProjectTreeTable.es.js +2018 -2006
  5. package/dist/Views.es.js +28 -28
  6. package/dist/api.es.js +291 -289
  7. package/dist/chunks/Actions.es.js +12 -12
  8. package/dist/chunks/ColumnDropIndicator.es.js +8 -9
  9. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +31 -25
  10. package/dist/chunks/DeleteEntitiesContextInstance.es.js +1 -1
  11. package/dist/chunks/DetailsDialog.es.js +1 -1
  12. package/dist/chunks/EmptyPlaceholder.es.js +13 -12
  13. package/dist/chunks/EntityPath.es.js +67 -67
  14. package/dist/chunks/EntityPickerDialog.es.js +1 -1
  15. package/dist/chunks/EntityTooltip.es.js +8 -8
  16. package/dist/chunks/Feed.es.js +1742 -1734
  17. package/dist/chunks/Menu.es.js +168 -166
  18. package/dist/chunks/MenuItem.es.js +112 -77
  19. package/dist/chunks/MetaWidget.es.js +1283 -1279
  20. package/dist/chunks/PlayableIcon.es.js +458 -451
  21. package/dist/chunks/ProjectContext.es.js +20 -20
  22. package/dist/chunks/RepresentationsList.es.js +9 -9
  23. package/dist/chunks/ReviewablesSelector.es.js +1504 -1374
  24. package/dist/chunks/SimpleForm.es.js +78 -75
  25. package/dist/chunks/Slicer.es.js +68 -69
  26. package/dist/chunks/ThumbnailSimple.es.js +4 -4
  27. package/dist/chunks/Watchers.es.js +104 -105
  28. package/dist/chunks/activeEntities.es.js +58 -0
  29. package/dist/chunks/columnConfigConverter.es.js +57 -63
  30. package/dist/chunks/getUris.es.js +1014 -960
  31. package/dist/chunks/iconUtils.es.js +151 -0
  32. package/dist/chunks/queryFilterToClientFilter.es.js +90 -81
  33. package/dist/chunks/realtimeUpdatesUtils.es.js +113 -80
  34. package/dist/chunks/searchTerms.es.js +332 -247
  35. package/dist/chunks/useAttributeEnums.es.js +34 -34
  36. package/dist/chunks/viewUpdateHelper.es.js +11 -11
  37. package/dist/components.es.js +340 -337
  38. package/dist/context.es.js +48 -48
  39. package/dist/hooks.es.js +34 -34
  40. package/dist/index.es.js +1 -1
  41. package/dist/types/ContextMenu.d.ts +1 -1
  42. package/dist/types/Feed.d.ts +2 -2
  43. package/dist/types/ListTable.d.ts +1 -1
  44. package/dist/types/ProjectTreeTable.d.ts +7 -6
  45. package/dist/types/SimpleTable.d.ts +1 -1
  46. package/dist/types/Slicer.d.ts +6 -6
  47. package/dist/types/Views.d.ts +6 -6
  48. package/dist/types/api.d.ts +554 -176
  49. package/dist/types/components.d.ts +73 -11
  50. package/dist/types/context.d.ts +7 -7
  51. package/dist/types/util.d.ts +238 -3
  52. package/dist/util.es.js +127 -114
  53. package/package.json +1 -1
  54. package/dist/chunks/extractEntityHierarchyFromParents.es.js +0 -28
  55. package/dist/chunks/parseHtmlToPlainTextWithLinks.es.js +0 -138
@@ -1,32 +1,32 @@
1
- import { C as Ye, S as $e, A as Se, a as je, T as Ke, D as Xe, b as Je, c as Qe, d as ke, e as Oe, f as qe, g as Ze, h as et, M as tt, F as st, i as at, j as ot, k as nt, l as rt } from "./chunks/ReviewablesSelector.es.js";
2
- import { m as ia, n as ca, o as ua, p as da, q as pa, r as fa, s as ma, E as ha, t as ga, u as ba, v as wa, w as ya, x as va, G as Ea, y as Ca, L as Sa, P as ka, z as Oa, R as Da, B as Va, H as Ta, I as Ra, J as Ia, K as Fa, N as Aa, O as Pa, Q as _a, U as xa, V as Na, W as La, X as Ma, Y as Ba } from "./chunks/ReviewablesSelector.es.js";
3
- import { jsxs as z, jsx as C } from "react/jsx-runtime";
1
+ import { C as Ye, S as $e, A as ke, a as Ke, T as je, D as Xe, b as Qe, c as Je, d as Se, e as Oe, f as qe, g as Ze, h as et, M as tt, F as st, i as at, j as ot, k as nt, l as rt } from "./chunks/ReviewablesSelector.es.js";
2
+ import { m as ia, n as ca, o as ua, p as da, q as pa, r as fa, s as ma, E as ha, t as ga, u as ba, v as wa, w as ya, x as va, G as Ea, y as Ca, L as ka, P as Sa, z as Oa, R as Da, B as Va, H as Ta, I as Ra, J as Ia, K as Aa, N as Fa, O as Pa, Q as _a, U as xa, V as La, W as Na, X as Ma, Y as Ba } from "./chunks/ReviewablesSelector.es.js";
3
+ import { jsxs as G, jsx as C } from "react/jsx-runtime";
4
4
  import { useState as _, useRef as oe, useCallback as ee, useEffect as Y, useMemo as me, useContext as lt } from "react";
5
5
  import { matchSorter as De } from "match-sorter";
6
6
  import { InputText as it, Icon as le, Section as ct, SEARCH_FILTER_ID as ut } from "@ynput/ayon-react-components";
7
7
  import ue from "clsx";
8
- import { B as Wa, a as Ha, S as za } from "./chunks/SimpleForm.es.js";
8
+ import { B as Wa, a as Ha, S as Ga } from "./chunks/SimpleForm.es.js";
9
9
  import { d as dt, P as pt } from "./chunks/MetaWidget.es.js";
10
- import { i as Ya, D as $a, E as ja, L as Ka, j as Xa, k as Ja } from "./chunks/MetaWidget.es.js";
10
+ import { A as Ya, i as $a, D as Ka, E as ja, L as Xa, j as Qa, k as Ja, l as qa, m as Za } from "./chunks/MetaWidget.es.js";
11
11
  import { createPortal as ft } from "react-dom";
12
- import { format as re, parseISO as Ne, isValid as Le } from "date-fns";
12
+ import { format as re, parseISO as Le, isValid as Ne } from "date-fns";
13
13
  import { B as Ve, b as Me, c as we, g as ye } from "./chunks/PlayableIcon.es.js";
14
- import { C as qa, a as Za, e as eo, D as to, N as so, U as ao, h as oo, i as no, d as ro, f as lo, j as io } from "./chunks/PlayableIcon.es.js";
14
+ import { C as to, a as so, e as ao, D as oo, N as no, U as ro, h as lo, i as io, d as co, f as uo, j as po } from "./chunks/PlayableIcon.es.js";
15
15
  import { d as Be, x as mt, a as ht, e as gt } from "./chunks/DeleteEntitiesContextInstance.es.js";
16
- import { f as uo, D as po, R as fo } from "./chunks/DeleteEntitiesContextInstance.es.js";
16
+ import { f as mo, D as ho, R as go } from "./chunks/DeleteEntitiesContextInstance.es.js";
17
17
  import { p as bt, a as Te } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
18
- import { D as ho, b as go, c as bo, d as wo, e as yo, s as vo } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
19
- import { D as Co } from "./chunks/DetailsDialog.es.js";
18
+ import { D as wo, b as yo, c as vo, d as Eo, e as Co, s as ko } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
19
+ import { D as Oo } from "./chunks/DetailsDialog.es.js";
20
20
  import { q as wt, r as yt, b as vt } from "./chunks/Watchers.es.js";
21
- import { s as ko, t as Oo, v as Do, R as Vo, h as To, g as Ro, w as Io, x as Fo, W as Ao, i as Po } from "./chunks/Watchers.es.js";
22
- import { E as xo, P as No } from "./chunks/EmptyPlaceholder.es.js";
23
- import { E as Mo, b as Bo, c as Uo, d as Wo, a as Ho, M as zo, e as Go } from "./chunks/Menu.es.js";
24
- import { I as $o } from "./chunks/InfoMessage.es.js";
25
- import { J as Ko } from "./chunks/JsonViewer.es.js";
26
- import { E as Jo, a as Qo, R as qo, g as Zo } from "./chunks/EntityPath.es.js";
27
- import { E as tn, a as sn } from "./chunks/EntityTooltip.es.js";
21
+ import { s as Vo, t as To, v as Ro, R as Io, h as Ao, g as Fo, w as Po, x as _o, W as xo, i as Lo } from "./chunks/Watchers.es.js";
22
+ import { E as Mo, P as Bo } from "./chunks/EmptyPlaceholder.es.js";
23
+ import { E as Wo, b as Ho, c as Go, d as zo, a as Yo, M as $o, e as Ko } from "./chunks/Menu.es.js";
24
+ import { I as Xo } from "./chunks/InfoMessage.es.js";
25
+ import { J as Jo } from "./chunks/JsonViewer.es.js";
26
+ import { E as Zo, a as en, R as tn, g as sn } from "./chunks/EntityPath.es.js";
27
+ import { E as on, a as nn } from "./chunks/EntityTooltip.es.js";
28
28
  import { bj as Re, bp as Et, br as Ct } from "./chunks/searchTerms.es.js";
29
- import { bK as St, bP as kt, ct as Ot, aJ as Dt, aO as Vt, bF as Tt, bm as Rt, dj as It, c6 as Ft, bN as At } from "./chunks/getUris.es.js";
29
+ import { bL as kt, bQ as St, cv as Ot, aK as Dt, aP as Vt, bG as Tt, bn as Rt, dl as It, c8 as At, bO as Ft } from "./chunks/getUris.es.js";
30
30
  export * from "primereact/confirmdialog";
31
31
  import "@module-federation/enhanced/runtime";
32
32
  import { isEmpty as Pt, upperFirst as de } from "lodash";
@@ -36,8 +36,8 @@ import "semver";
36
36
  import "./chunks/ContextMenuContextInstance.es.js";
37
37
  import "react-redux";
38
38
  import { F as _t } from "./chunks/ColumnDropIndicator.styled.es.js";
39
- import { C as nn, S as rn, b as ln, u as cn } from "./chunks/ColumnDropIndicator.styled.es.js";
40
- import { F as dn } from "./chunks/FilterErrorActions.es.js";
39
+ import { C as cn, S as un, b as dn, u as pn } from "./chunks/ColumnDropIndicator.styled.es.js";
40
+ import { F as mn } from "./chunks/FilterErrorActions.es.js";
41
41
  import "lexical";
42
42
  import "@lexical/markdown";
43
43
  import "@lexical/react/LexicalBlockWithAlignableContents";
@@ -47,25 +47,25 @@ import "@lexical/list";
47
47
  import "@lexical/rich-text";
48
48
  import "@lexical/selection";
49
49
  import "@lexical/utils";
50
- import { T as fn } from "./chunks/TableSettingsFallback.es.js";
51
- import { a as xt, b as Nt } from "./chunks/viewUpdateHelper.es.js";
52
- import { useSearchParams as Lt, useLocation as Mt, useNavigate as Bt, useParams as Ut } from "react-router-dom";
53
- import { g as Wt, c as Ht, b as zt, d as Gt } from "./chunks/Slicer.es.js";
54
- import { l as hn } from "./chunks/Slicer.es.js";
50
+ import { T as gn } from "./chunks/TableSettingsFallback.es.js";
51
+ import { a as xt, b as Lt } from "./chunks/viewUpdateHelper.es.js";
52
+ import { useSearchParams as Nt, useLocation as Mt, useNavigate as Bt, useParams as Ut } from "react-router-dom";
53
+ import { g as Wt, c as Ht, b as Gt, d as zt } from "./chunks/Slicer.es.js";
54
+ import { l as wn } from "./chunks/Slicer.es.js";
55
55
  import { Splitter as Yt, SplitterPanel as Ie } from "primereact/splitter";
56
56
  import { g as ae } from "./chunks/getEntityTypeIcon.es.js";
57
- import { g as j } from "./chunks/parseHtmlToPlainTextWithLinks.es.js";
58
- import { u as bn } from "./chunks/useDateRangeFilter.es.js";
59
- import { C as yn, T as vn } from "./chunks/ThumbnailSimple.es.js";
60
- import { S as Cn } from "./chunks/SimpleFormDialog.es.js";
61
- import { T as kn } from "./chunks/EntityPickerDialog.es.js";
57
+ import { g as K } from "./chunks/iconUtils.es.js";
58
+ import { u as vn } from "./chunks/useDateRangeFilter.es.js";
59
+ import { C as Cn, T as kn } from "./chunks/ThumbnailSimple.es.js";
60
+ import { S as On } from "./chunks/SimpleFormDialog.es.js";
61
+ import { T as Vn } from "./chunks/EntityPickerDialog.es.js";
62
62
  import { e as $t } from "./chunks/extractVersionFromFilename.es.js";
63
- import { b as jt, c as Kt, v as Xt } from "./chunks/versionUploadHelpers.es.js";
64
- import { p as Jt } from "./chunks/parseFilename.es.js";
65
- import { V as Qt } from "./chunks/VersionUploadContextInstance.es.js";
66
- import { u as Dn, a as Vn } from "./chunks/VersionUploadContextInstance.es.js";
67
- import { C as Rn } from "./chunks/ColumnHeaderMenuUI.es.js";
68
- const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
63
+ import { b as Kt, c as jt, v as Xt } from "./chunks/versionUploadHelpers.es.js";
64
+ import { p as Qt } from "./chunks/parseFilename.es.js";
65
+ import { V as Jt } from "./chunks/VersionUploadContextInstance.es.js";
66
+ import { u as Rn, a as In } from "./chunks/VersionUploadContextInstance.es.js";
67
+ import { C as Fn } from "./chunks/ColumnHeaderMenuUI.es.js";
68
+ const Ae = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ks = ({
69
69
  shareOptions: t,
70
70
  existingAccess: e,
71
71
  owner: i,
@@ -76,23 +76,23 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
76
76
  pt: h,
77
77
  ...l
78
78
  }) => {
79
- const [f, n] = _(""), [E, y] = _(!1), [D, m] = _(-1), F = oe(null), R = t.filter((V) => !e.includes(V.value)).toSorted((V, b) => {
79
+ const [f, n] = _(""), [E, y] = _(!1), [D, m] = _(-1), A = oe(null), R = t.filter((V) => !e.includes(V.value)).toSorted((V, b) => {
80
80
  const v = (p) => p.value === "__everyone__" ? 0 : p.value.startsWith("__") ? 1 : p.value.startsWith("team:") ? 2 : p.value.startsWith("group:") ? 3 : p.value.startsWith("user:") ? 4 : 5, O = v(V), r = v(b);
81
81
  return O !== r ? O - r : V.label.localeCompare(b.label);
82
82
  }), g = (f ? De(R, f, {
83
83
  keys: ["name", "label", "value"],
84
84
  threshold: De.rankings.CONTAINS
85
- }) : R).slice(0, Fe), T = qt.test(f) && !t.some((V) => V.name === f) && s === "external", I = () => {
85
+ }) : R).slice(0, Ae), T = qt.test(f) && !t.some((V) => V.name === f) && s === "external", I = () => {
86
86
  y(!0), m(-1);
87
- }, L = () => {
87
+ }, N = () => {
88
88
  setTimeout(() => {
89
89
  y(!1), m(-1);
90
90
  }, 200);
91
- }, N = (V) => {
91
+ }, L = (V) => {
92
92
  n(V.target.value), m(-1), y(!0);
93
93
  }, M = (V) => {
94
94
  if (!E || g.length === 0) {
95
- V.key === "Enter" && g.length > 0 && (V.preventDefault(), G(g[0]));
95
+ V.key === "Enter" && g.length > 0 && (V.preventDefault(), z(g[0]));
96
96
  return;
97
97
  }
98
98
  switch (V.key) {
@@ -103,14 +103,14 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
103
103
  V.preventDefault(), m((b) => b > 0 ? b - 1 : -1);
104
104
  break;
105
105
  case "Enter":
106
- V.preventDefault(), D >= 0 && D < g.length ? G(g[D]) : g.length > 0 && G(g[0]);
106
+ V.preventDefault(), D >= 0 && D < g.length ? z(g[D]) : g.length > 0 && z(g[0]);
107
107
  break;
108
108
  case "Escape":
109
- y(!1), m(-1), F.current?.blur(), V.stopPropagation();
109
+ y(!1), m(-1), A.current?.blur(), V.stopPropagation();
110
110
  break;
111
111
  }
112
- }, G = (V) => {
113
- a(V, 10), n(""), y(!1), m(-1), F.current?.focus();
112
+ }, z = (V) => {
113
+ a(V, 10), n(""), y(!1), m(-1), A.current?.focus();
114
114
  }, $ = () => {
115
115
  a(
116
116
  {
@@ -120,32 +120,32 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
120
120
  shareType: "guest"
121
121
  },
122
122
  10
123
- ), n(""), y(!1), m(-1), F.current?.focus();
123
+ ), n(""), y(!1), m(-1), A.current?.focus();
124
124
  };
125
- return /* @__PURE__ */ z(Ye, { ...l, children: [
125
+ return /* @__PURE__ */ G(Ye, { ...l, children: [
126
126
  /* @__PURE__ */ C(
127
127
  it,
128
128
  {
129
- ref: F,
129
+ ref: A,
130
130
  value: f,
131
131
  placeholder: c,
132
132
  disabled: o,
133
133
  onFocus: I,
134
134
  onClick: I,
135
- onBlur: L,
136
- onChange: N,
135
+ onBlur: N,
136
+ onChange: L,
137
137
  onKeyDown: M,
138
138
  style: { width: "100%" }
139
139
  }
140
140
  ),
141
- E && (g.length > 0 || T) && /* @__PURE__ */ z(
141
+ E && (g.length > 0 || T) && /* @__PURE__ */ G(
142
142
  $e,
143
143
  {
144
144
  ...h?.list,
145
145
  className: ue(h?.list?.className, { "no-owner": !i }),
146
146
  children: [
147
147
  g.map((V, b) => /* @__PURE__ */ C(
148
- Se,
148
+ ke,
149
149
  {
150
150
  name: V.name,
151
151
  label: V.label,
@@ -155,7 +155,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
155
155
  "data-index": b,
156
156
  className: b === D ? "highlighted" : "",
157
157
  style: { cursor: "pointer" },
158
- onClick: () => G(V),
158
+ onClick: () => z(V),
159
159
  onMouseEnter: () => m(b),
160
160
  isCompact: !0,
161
161
  isSearchResult: !0
@@ -163,7 +163,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
163
163
  V.value
164
164
  )),
165
165
  T && /* @__PURE__ */ C(
166
- Se,
166
+ ke,
167
167
  {
168
168
  name: f,
169
169
  label: f,
@@ -179,21 +179,21 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
179
179
  isSearchResult: !0
180
180
  }
181
181
  ),
182
- g.length === Fe && /* @__PURE__ */ C("li", { className: "tip", children: "More than 500 results, please refine your search..." })
182
+ g.length === Ae && /* @__PURE__ */ C("li", { className: "tip", children: "More than 500 results, please refine your search..." })
183
183
  ]
184
184
  }
185
185
  )
186
186
  ] });
187
- }, Ks = {
187
+ }, js = {
188
188
  0: "No access",
189
189
  10: "Viewer",
190
190
  20: "Editor",
191
191
  30: "Admin"
192
- }, Ae = (t) => {
192
+ }, Fe = (t) => {
193
193
  if (!t) return "";
194
194
  try {
195
- const e = Ne(t);
196
- if (Le(e))
195
+ const e = Le(t);
196
+ if (Ne(e))
197
197
  return Me(e, "yyyy-MM-dd");
198
198
  } catch {
199
199
  return "";
@@ -202,8 +202,8 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
202
202
  }, Pe = (t, e) => {
203
203
  if (!t) return null;
204
204
  try {
205
- const i = Ne(t);
206
- if (Le(i))
205
+ const i = Le(t);
206
+ if (Ne(i))
207
207
  return Me(i, e);
208
208
  } catch {
209
209
  return null;
@@ -232,12 +232,12 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
232
232
  maxDate: f,
233
233
  pt: n
234
234
  }) => {
235
- const [E, y] = _(!1), [D, m] = _(""), [F, R] = _(""), g = oe(null), T = oe(null), I = oe(null), L = oe(null), N = t.startDate || t.endDate, M = ee(() => {
236
- const w = se(D), x = se(F);
235
+ const [E, y] = _(!1), [D, m] = _(""), [A, R] = _(""), g = oe(null), T = oe(null), I = oe(null), N = oe(null), L = t.startDate || t.endDate, M = ee(() => {
236
+ const w = se(D), x = se(A);
237
237
  (w !== t.startDate || x !== t.endDate) && e({ startDate: w, endDate: x }), y(!1);
238
- }, [D, F, t.startDate, t.endDate, e]);
238
+ }, [D, A, t.startDate, t.endDate, e]);
239
239
  Y(() => {
240
- E && (m(Ae(t.startDate)), R(Ae(t.endDate)), !t.startDate && !t.endDate && setTimeout(() => {
240
+ E && (m(Fe(t.startDate)), R(Fe(t.endDate)), !t.startDate && !t.endDate && setTimeout(() => {
241
241
  try {
242
242
  I.current?.showPicker();
243
243
  } catch {
@@ -257,17 +257,17 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
257
257
  };
258
258
  return document.addEventListener("keydown", w), () => document.removeEventListener("keydown", w);
259
259
  }, [E, M]);
260
- const G = (w) => {
260
+ const z = (w) => {
261
261
  const x = w.target.value;
262
262
  m(x);
263
- const B = se(x), W = se(F);
263
+ const B = se(x), W = se(A);
264
264
  if (B && W) {
265
- const K = new Date(B), te = new Date(W);
266
- K > te && R(x);
265
+ const j = new Date(B), te = new Date(W);
266
+ j > te && R(x);
267
267
  }
268
268
  B && setTimeout(() => {
269
269
  try {
270
- L.current?.showPicker();
270
+ N.current?.showPicker();
271
271
  } catch {
272
272
  }
273
273
  }, 100);
@@ -275,40 +275,40 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
275
275
  const x = w.target.value;
276
276
  R(x);
277
277
  const B = se(x), W = se(D);
278
- let K = W, te = B;
278
+ let j = W, te = B;
279
279
  if (B && W) {
280
280
  const q = new Date(W);
281
- new Date(B) < q && (m(x), K = B);
281
+ new Date(B) < q && (m(x), j = B);
282
282
  }
283
- e({ startDate: K, endDate: te });
283
+ e({ startDate: j, endDate: te });
284
284
  }, V = () => {
285
285
  m(""), R(""), e({ startDate: null, endDate: null }), y(!1);
286
286
  }, b = (w) => {
287
287
  w.stopPropagation(), s || (E ? M() : y(!0));
288
- }, v = E ? se(D) : t.startDate, O = E ? se(F) : t.endDate, r = Pe(v, h), p = Pe(O, h), u = r && p ? `${r} - ${p}` : r || p || "", d = () => {
288
+ }, v = E ? se(D) : t.startDate, O = E ? se(A) : t.endDate, r = Pe(v, h), p = Pe(O, h), u = r && p ? `${r} - ${p}` : r || p || "", d = () => {
289
289
  if (!g.current) return { top: 0, left: 0 };
290
290
  const w = g.current.getBoundingClientRect();
291
291
  return {
292
292
  top: w.bottom + 4,
293
293
  left: o === "left" ? w.left : w.right
294
294
  };
295
- }, S = () => N ? c ? c(t, u) : /* @__PURE__ */ C("span", { className: ue("date-value", n?.valueDisplay?.className), ...n?.valueDisplay, children: u }) : i || /* @__PURE__ */ C(Ze, { icon: "calendar_add_on" }), A = d();
296
- return /* @__PURE__ */ z(
297
- je,
295
+ }, k = () => L ? c ? c(t, u) : /* @__PURE__ */ C("span", { className: ue("date-value", n?.valueDisplay?.className), ...n?.valueDisplay, children: u }) : i || /* @__PURE__ */ C(Ze, { icon: "calendar_add_on" }), F = d();
296
+ return /* @__PURE__ */ G(
297
+ Ke,
298
298
  {
299
299
  ...n?.root,
300
300
  className: ue(Ve, a, n?.root?.className),
301
301
  children: [
302
302
  /* @__PURE__ */ C(
303
- Ke,
303
+ je,
304
304
  {
305
305
  ref: g,
306
306
  onClick: b,
307
307
  disabled: s,
308
308
  type: "button",
309
309
  ...n?.trigger,
310
- className: ue(N ? "has-value" : "empty", n?.trigger?.className),
311
- children: S()
310
+ className: ue(L ? "has-value" : "empty", n?.trigger?.className),
311
+ children: k()
312
312
  }
313
313
  ),
314
314
  E && ft(
@@ -317,17 +317,17 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
317
317
  {
318
318
  ref: T,
319
319
  style: {
320
- top: A.top,
321
- left: o === "left" ? A.left : "auto",
322
- right: o === "right" ? window.innerWidth - A.left : "auto",
320
+ top: F.top,
321
+ left: o === "left" ? F.left : "auto",
322
+ right: o === "right" ? window.innerWidth - F.left : "auto",
323
323
  ...n?.dropdown?.style
324
324
  },
325
325
  onMouseDown: (w) => w.stopPropagation(),
326
326
  ...n?.dropdown,
327
327
  className: ue(Ve, o, n?.dropdown?.className),
328
- children: /* @__PURE__ */ z(Je, { className: n?.content?.className, ...n?.content, children: [
328
+ children: /* @__PURE__ */ G(Qe, { className: n?.content?.className, ...n?.content, children: [
329
329
  /* @__PURE__ */ C(
330
- Qe,
330
+ Je,
331
331
  {
332
332
  icon: "close",
333
333
  variant: "text",
@@ -335,8 +335,8 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
335
335
  ...n?.closeButton
336
336
  }
337
337
  ),
338
- /* @__PURE__ */ z(
339
- ke,
338
+ /* @__PURE__ */ G(
339
+ Se,
340
340
  {
341
341
  className: n?.startDate?.field?.className,
342
342
  ...n?.startDate?.field,
@@ -348,7 +348,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
348
348
  ref: I,
349
349
  type: "date",
350
350
  value: D,
351
- onChange: G,
351
+ onChange: z,
352
352
  max: f ? re(f, "yyyy-MM-dd") : void 0,
353
353
  min: l ? re(l, "yyyy-MM-dd") : void 0,
354
354
  onClick: (w) => {
@@ -363,14 +363,14 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
363
363
  ]
364
364
  }
365
365
  ),
366
- /* @__PURE__ */ z(ke, { className: n?.endDate?.field?.className, ...n?.endDate?.field, children: [
366
+ /* @__PURE__ */ G(Se, { className: n?.endDate?.field?.className, ...n?.endDate?.field, children: [
367
367
  /* @__PURE__ */ C("label", { ...n?.endDate?.label, children: "End date" }),
368
368
  /* @__PURE__ */ C(
369
369
  Oe,
370
370
  {
371
- ref: L,
371
+ ref: N,
372
372
  type: "date",
373
- value: F,
373
+ value: A,
374
374
  onChange: $,
375
375
  max: f ? re(f, "yyyy-MM-dd") : void 0,
376
376
  min: D || (l ? re(l, "yyyy-MM-dd") : void 0),
@@ -384,7 +384,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
384
384
  }
385
385
  )
386
386
  ] }),
387
- N && /* @__PURE__ */ C(qe, { onClick: V, variant: "text", ...n?.clearButton, children: "Clear dates" })
387
+ L && /* @__PURE__ */ C(qe, { onClick: V, variant: "text", ...n?.clearButton, children: "Clear dates" })
388
388
  ] })
389
389
  }
390
390
  ),
@@ -397,19 +397,19 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
397
397
  version: 1,
398
398
  name: "review",
399
399
  productType: "review"
400
- }, Js = ({
400
+ }, Qs = ({
401
401
  children: t,
402
402
  projectName: e,
403
403
  onVersionCreated: i,
404
404
  dispatch: c
405
405
  }) => {
406
- const [o, s] = _(""), [a, h] = _(""), [l, f] = _(null), [n, E] = _(null), [y, D] = _(!1), [m, F] = _([]), [R, g] = _(ne), [T, I] = _(!1), [L, N] = _(""), [M, G] = _(null), [$, V] = _(null), [b, v] = _(void 0), [O, r] = _(void 0), p = oe(!1), u = oe(null), { data: d = [], isLoading: S } = St(
406
+ const [o, s] = _(""), [a, h] = _(""), [l, f] = _(null), [n, E] = _(null), [y, D] = _(!1), [m, A] = _([]), [R, g] = _(ne), [T, I] = _(!1), [N, L] = _(""), [M, z] = _(null), [$, V] = _(null), [b, v] = _(void 0), [O, r] = _(void 0), p = oe(!1), u = oe(null), { data: d = [], isLoading: k } = kt(
407
407
  { projectName: e, folderId: o },
408
408
  { skip: !o || !y || !!a }
409
- ), A = me(() => {
409
+ ), F = me(() => {
410
410
  if (!(a || !R.name || d.length === 0))
411
- return d.find((k) => k.name === R.name);
412
- }, [a, R.name, d]), w = a || A?.id || "", { currentData: x } = kt(
411
+ return d.find((S) => S.name === R.name);
412
+ }, [a, R.name, d]), w = a || F?.id || "", { currentData: x } = St(
413
413
  {
414
414
  projectName: e,
415
415
  productId: a
@@ -418,25 +418,25 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
418
418
  ), { data: B } = Ot(
419
419
  { projectName: e, versionId: O },
420
420
  { skip: !O || !y || l !== null }
421
- ), W = l ?? B?.taskId ?? "", K = !!(O && l === null && !B), te = ee(
422
- ({ productId: k, folderId: P, taskId: U, linkedTask: Z, latestVersionNumber: ie, latestVersionId: ze }) => {
423
- h(k || ""), s(P || ""), f(U || null), E(Z || null), v(ie), r(ze), g((Ge) => ({
424
- ...Ge,
421
+ ), W = l ?? B?.taskId ?? "", j = !!(O && l === null && !B), te = ee(
422
+ ({ productId: S, folderId: P, taskId: U, linkedTask: Z, latestVersionNumber: ie, latestVersionId: Ge }) => {
423
+ h(S || ""), s(P || ""), f(U || null), E(Z || null), v(ie), r(Ge), g((ze) => ({
424
+ ...ze,
425
425
  ...ie != null ? { version: ie + 1 } : {}
426
426
  })), D(!0);
427
427
  },
428
428
  []
429
429
  ), q = ee(() => {
430
- m.forEach((k) => {
431
- k.preview && URL.revokeObjectURL(k.preview);
432
- }), F([]), g(ne), G(null), V(null), N(""), I(!1), D(!1), h(""), s(""), f(null), E(null), p.current = !1, v(void 0), r(void 0);
430
+ m.forEach((S) => {
431
+ S.preview && URL.revokeObjectURL(S.preview);
432
+ }), A([]), g(ne), z(null), V(null), L(""), I(!1), D(!1), h(""), s(""), f(null), E(null), p.current = !1, v(void 0), r(void 0);
433
433
  }, [m]), [be] = Dt(), [pe] = Vt(), X = ee(
434
- async (k) => {
434
+ async (S) => {
435
435
  try {
436
436
  if (w) {
437
- const P = await jt(pe, e, {
437
+ const P = await Kt(pe, e, {
438
438
  productId: w,
439
- version: k.version,
439
+ version: S.version,
440
440
  taskId: W || void 0
441
441
  });
442
442
  return i(w, P.id), he.success("Created new version"), {
@@ -444,18 +444,18 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
444
444
  versionId: P.id
445
445
  };
446
446
  } else {
447
- const { product: P, version: U } = await Kt(
447
+ const { product: P, version: U } = await jt(
448
448
  be,
449
449
  pe,
450
450
  e,
451
451
  {
452
452
  folderId: o,
453
- name: k.name,
454
- productType: k.productType || "review",
455
- productBaseType: k.productType || "review"
453
+ name: S.name,
454
+ productType: S.productType || "review",
455
+ productBaseType: S.productType || "review"
456
456
  },
457
457
  {
458
- version: k.version,
458
+ version: S.version,
459
459
  taskId: W || void 0
460
460
  }
461
461
  );
@@ -470,11 +470,11 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
470
470
  },
471
471
  [q, w, o, W, e]
472
472
  ), fe = ee(
473
- (k) => {
473
+ (S) => {
474
474
  if (w) return;
475
- const P = k[0];
475
+ const P = S[0];
476
476
  if (P) {
477
- const U = Jt(P.name), Z = $t(U);
477
+ const U = Qt(P.name), Z = $t(U);
478
478
  Z && Z !== R.version && g((ie) => ({
479
479
  ...ie,
480
480
  version: Z
@@ -482,62 +482,62 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
482
482
  }
483
483
  },
484
484
  [w, R.version]
485
- ), J = x?.version ?? b ?? A?.latestVersion?.version, Q = ee((k, P) => {
485
+ ), Q = x?.version ?? b ?? F?.latestVersion?.version, J = ee((S, P) => {
486
486
  g((U) => ({
487
487
  ...U,
488
- [k]: P
489
- })), N("");
488
+ [S]: P
489
+ })), L("");
490
490
  }, []), Ee = ee(
491
- async (k) => {
491
+ async (S) => {
492
492
  try {
493
- I(!0), N("");
494
- const P = Xt(k, J, !w);
493
+ I(!0), L("");
494
+ const P = Xt(S, Q, !w);
495
495
  if (!P.isValid)
496
496
  throw P.error;
497
- const U = await X(k);
498
- o && (u.current = { folderId: o, productName: k.name }), U?.productId && G(U.productId), U?.versionId && V(U.versionId), m.length < 1 && (I(!1), q());
497
+ const U = await X(S);
498
+ o && (u.current = { folderId: o, productName: S.name }), U?.productId && z(U.productId), U?.versionId && V(U.versionId), m.length < 1 && (I(!1), q());
499
499
  } catch (P) {
500
- N(P), I(!1);
500
+ L(P), I(!1);
501
501
  }
502
502
  },
503
- [X, m.length, q, J, w]
503
+ [X, m.length, q, Q, w]
504
504
  );
505
505
  Y(() => {
506
506
  if (!(!y || b != null))
507
- return g(x ? (k) => ({ ...k, version: x.version + 1 }) : ne), () => {
507
+ return g(x ? (S) => ({ ...S, version: x.version + 1 }) : ne), () => {
508
508
  g(ne);
509
509
  };
510
510
  }, [y, x, b]), Y(() => {
511
511
  if (!y || a || d.length === 0 || R.name !== ne.name) return;
512
- const k = u.current;
513
- if (k && k.folderId === o && d.some((Z) => Z.name === k.productName)) {
514
- g((Z) => ({ ...Z, name: k.productName }));
512
+ const S = u.current;
513
+ if (S && S.folderId === o && d.some((Z) => Z.name === S.productName)) {
514
+ g((Z) => ({ ...Z, name: S.productName }));
515
515
  return;
516
516
  }
517
517
  const P = d[d.length - 1];
518
518
  P && g((U) => ({ ...U, name: P.name }));
519
519
  }, [y, a, d]), Y(() => {
520
520
  if (!(!y || a))
521
- if (A) {
521
+ if (F) {
522
522
  g((P) => ({
523
523
  ...P,
524
- productType: A.productType,
525
- ...A.latestVersion && {
526
- version: A.latestVersion.version + 1
524
+ productType: F.productType,
525
+ ...F.latestVersion && {
526
+ version: F.latestVersion.version + 1
527
527
  }
528
528
  }));
529
- const k = A.latestVersion?.task;
530
- k && (l === null || p.current) ? (f(k.id), E({
531
- id: k.id,
532
- name: k.name,
533
- label: k.label,
534
- taskType: k.taskType
535
- }), p.current = !0) : !k && p.current && (f(null), E(null), p.current = !1);
529
+ const S = F.latestVersion?.task;
530
+ S && (l === null || p.current) ? (f(S.id), E({
531
+ id: S.id,
532
+ name: S.name,
533
+ label: S.label,
534
+ taskType: S.taskType
535
+ }), p.current = !0) : !S && p.current && (f(null), E(null), p.current = !1);
536
536
  } else
537
- g((k) => ({ ...k, version: ne.version })), (l === null || p.current) && (f(null), E(null), p.current = !1);
538
- }, [y, a, A]);
539
- const Ce = ee((k) => {
540
- f(k), p.current = !1;
537
+ g((S) => ({ ...S, version: ne.version })), (l === null || p.current) && (f(null), E(null), p.current = !1);
538
+ }, [y, a, F]);
539
+ const Ce = ee((S) => {
540
+ f(S), p.current = !1;
541
541
  }, []), He = me(
542
542
  () => ({
543
543
  productId: a,
@@ -545,15 +545,15 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
545
545
  folderId: o,
546
546
  taskId: W,
547
547
  linkedTask: n,
548
- isLoadingTask: K,
548
+ isLoadingTask: j,
549
549
  setTaskId: Ce,
550
550
  setLinkedTask: E,
551
551
  setFolderId: s,
552
552
  isOpen: y,
553
553
  projectName: e,
554
- latestVersion: J,
554
+ latestVersion: Q,
555
555
  pendingFiles: m,
556
- setPendingFiles: F,
556
+ setPendingFiles: A,
557
557
  onOpenVersionUpload: te,
558
558
  onCloseVersionUpload: q,
559
559
  onUploadVersion: X,
@@ -561,14 +561,14 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
561
561
  form: R,
562
562
  setForm: g,
563
563
  isSubmitting: T,
564
- error: L,
564
+ error: N,
565
565
  createdProductId: M,
566
566
  createdVersionId: $,
567
- handleFormChange: Q,
567
+ handleFormChange: J,
568
568
  handleFormSubmit: Ee,
569
569
  folderProducts: d,
570
- isFolderProductsLoading: S,
571
- matchedProduct: A,
570
+ isFolderProductsLoading: k,
571
+ matchedProduct: F,
572
572
  dispatch: c
573
573
  }),
574
574
  [
@@ -577,34 +577,34 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
577
577
  a,
578
578
  W,
579
579
  n,
580
- K,
580
+ j,
581
581
  Ce,
582
582
  E,
583
583
  h,
584
584
  y,
585
585
  e,
586
- J,
586
+ Q,
587
587
  m,
588
- F,
588
+ A,
589
589
  te,
590
590
  q,
591
591
  X,
592
592
  fe,
593
593
  R,
594
594
  T,
595
- L,
595
+ N,
596
596
  M,
597
597
  $,
598
- Q,
598
+ J,
599
599
  Ee,
600
600
  d,
601
- S,
602
- A,
601
+ k,
602
+ F,
603
603
  c
604
604
  ]
605
605
  );
606
- return /* @__PURE__ */ C(Qt.Provider, { value: He, children: t });
607
- }, Qs = ({ children: t }) => {
606
+ return /* @__PURE__ */ C(Jt.Provider, { value: He, children: t });
607
+ }, Js = ({ children: t }) => {
608
608
  const [e, i] = _(!1), { siteInfo: c, user: o, cloudInfo: s } = Be(), { data: a, isLoading: h } = Tt(
609
609
  {},
610
610
  {
@@ -631,10 +631,10 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
631
631
  instanceId: s?.instanceId
632
632
  }
633
633
  };
634
- console.log(u), window.Featurebase("identify", u, (S) => {
635
- S ? console.error(S) : console.log("Featurebase identify completed");
634
+ console.log(u), window.Featurebase("identify", u, (k) => {
635
+ k ? console.error(k) : console.log("Featurebase identify completed");
636
636
  });
637
- }, [D, m] = _(!1), [F, R] = _(0), g = () => {
637
+ }, [D, m] = _(!1), [A, R] = _(0), g = () => {
638
638
  const u = window;
639
639
  if (typeof u.Featurebase == "function") {
640
640
  if (console.log("Initializing Featurebase messenger widget"), !a?.available)
@@ -646,8 +646,8 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
646
646
  ...a?.data
647
647
  },
648
648
  (d) => {
649
- d ? console.error(d) : (console.log("Featurebase messenger completed"), m(!0), u.Featurebase("onUnreadCountChange", function(S) {
650
- R(S);
649
+ d ? console.error(d) : (console.log("Featurebase messenger completed"), m(!0), u.Featurebase("onUnreadCountChange", function(k) {
650
+ R(k);
651
651
  }));
652
652
  }
653
653
  );
@@ -655,8 +655,8 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
655
655
  }, T = () => {
656
656
  const u = [];
657
657
  if (o?.data?.isAdmin) {
658
- const S = ["Server", "Addon", "Pipeline"];
659
- u.push(...S);
658
+ const k = ["Server", "Addon", "Pipeline"];
659
+ u.push(...k);
660
660
  } else c?.disableChangelog || u.push("Highlights");
661
661
  const d = window;
662
662
  return typeof d.Featurebase == "function" && d.Featurebase("init_changelog_widget", {
@@ -685,7 +685,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
685
685
  d && console.error("Error initializing feedback widget:", d);
686
686
  }
687
687
  ), !1;
688
- }, L = () => {
688
+ }, N = () => {
689
689
  const u = window;
690
690
  return typeof u.Featurebase == "function" && u.Featurebase(
691
691
  "initialize_portal_widget",
@@ -696,7 +696,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
696
696
  },
697
697
  (d) => d ? (console.error("Error initializing portal widget:", d), !1) : !0
698
698
  ), !1;
699
- }, N = () => {
699
+ }, L = () => {
700
700
  const u = window;
701
701
  return typeof u.Featurebase == "function" && u.Featurebase(
702
702
  "initialize_survey_widget",
@@ -714,11 +714,11 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
714
714
  ), !1;
715
715
  };
716
716
  Y(() => {
717
- o?.name && c && (c.disableFeedback || e || (l(), f(), T(), I(), L()));
717
+ o?.name && c && (c.disableFeedback || e || (l(), f(), T(), I(), N()));
718
718
  }, [o?.name, e, c]);
719
- const [M, G] = _(!1);
719
+ const [M, z] = _(!1);
720
720
  Y(() => {
721
- !o?.name || !s || !a || !e || M || (y(), N(), G(!0));
721
+ !o?.name || !s || !a || !e || M || (y(), L(), z(!0));
722
722
  }, [
723
723
  o?.name,
724
724
  s?.instanceId,
@@ -757,36 +757,36 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
757
757
  });
758
758
  }, [e, D]);
759
759
  const p = (u = "Home", d) => {
760
- const S = window;
761
- if (typeof S.Featurebase != "function") {
760
+ const k = window;
761
+ if (typeof k.Featurebase != "function") {
762
762
  window.alert("Featurebase SDK is not loaded yet. Please try again later."), console.warn("Featurebase SDK is not loaded yet.");
763
763
  return;
764
764
  }
765
765
  if (b) {
766
- S.Featurebase("hide"), v(!1);
766
+ k.Featurebase("hide"), v(!1);
767
767
  return;
768
768
  }
769
769
  switch (v(!0), u) {
770
770
  case "Home":
771
- S.Featurebase("show");
771
+ k.Featurebase("show");
772
772
  break;
773
773
  case "Messages":
774
- S.Featurebase("show", "messages");
774
+ k.Featurebase("show", "messages");
775
775
  break;
776
776
  case "Changelog":
777
- S.Featurebase("show", "changelog");
777
+ k.Featurebase("show", "changelog");
778
778
  break;
779
779
  case "Help":
780
- S.Featurebase("show", "help");
780
+ k.Featurebase("show", "help");
781
781
  break;
782
782
  case "ShowArticle":
783
- d ? S.Featurebase("showArticle", d) : S.Featurebase("show", "help");
783
+ d ? k.Featurebase("showArticle", d) : k.Featurebase("show", "help");
784
784
  break;
785
785
  case "NewMessage":
786
- S.Featurebase("showNewMessage", d);
786
+ k.Featurebase("showNewMessage", d);
787
787
  break;
788
788
  default:
789
- S.Featurebase("show");
789
+ k.Featurebase("show");
790
790
  break;
791
791
  }
792
792
  };
@@ -798,7 +798,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
798
798
  openFeedback: $,
799
799
  openPortal: V,
800
800
  messengerLoaded: D,
801
- unreadCount: F,
801
+ unreadCount: A,
802
802
  messengerVisibility: b,
803
803
  setMessengerVisibility: v,
804
804
  loaded: e
@@ -855,13 +855,13 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
855
855
  });
856
856
  }
857
857
  }, [e, JSON.stringify(c), JSON.stringify(f)]);
858
- const [E] = It(), y = (m) => c.some((F) => F.name === m) || f.some((F) => F.name === m), D = ee(
859
- async (m, F) => {
858
+ const [E] = It(), y = (m) => c.some((A) => A.name === m) || f.some((A) => A.name === m), D = ee(
859
+ async (m, A) => {
860
860
  if (!e?.id) return console.warn("No list ID provided");
861
861
  let R;
862
862
  if (y(m)) {
863
863
  const g = e.attrib || {};
864
- F === "" && m === "category" ? R = {
864
+ A === "" && m === "category" ? R = {
865
865
  attrib: {
866
866
  ...g,
867
867
  [m]: null
@@ -869,11 +869,11 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
869
869
  } : R = {
870
870
  attrib: {
871
871
  ...g,
872
- [m]: F
872
+ [m]: A
873
873
  }
874
- }, s((T) => ({ ...T, [m]: F }));
874
+ }, s((T) => ({ ...T, [m]: A }));
875
875
  } else {
876
- const g = { [m]: F };
876
+ const g = { [m]: A };
877
877
  R = g, s((T) => ({ ...T, ...g }));
878
878
  }
879
879
  try {
@@ -939,10 +939,10 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
939
939
  (I) => [I, n.features[I]]
940
940
  );
941
941
  if (n.selectedFeature) {
942
- const I = T.findIndex(([L]) => L === n.selectedFeature);
942
+ const I = T.findIndex(([N]) => N === n.selectedFeature);
943
943
  if (I > 0) {
944
- const [L] = T.splice(I, 1);
945
- T.unshift(L);
944
+ const [N] = T.splice(I, 1);
945
+ T.unshift(N);
946
946
  }
947
947
  }
948
948
  return T;
@@ -950,11 +950,11 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
950
950
  return Object.entries(bt).sort(([T], [I]) => {
951
951
  if (T === l) return -1;
952
952
  if (I === l) return 1;
953
- const L = Te.indexOf(T), N = Te.indexOf(I);
954
- return L > -1 && N > -1 ? L - N : L > -1 ? -1 : N > -1 ? 1 : 0;
953
+ const N = Te.indexOf(T), L = Te.indexOf(I);
954
+ return N > -1 && L > -1 ? N - L : N > -1 ? -1 : L > -1 ? 1 : 0;
955
955
  });
956
956
  })();
957
- return /* @__PURE__ */ z(
957
+ return /* @__PURE__ */ G(
958
958
  et,
959
959
  {
960
960
  isOpen: !0,
@@ -965,26 +965,26 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
965
965
  hideCancelButton: !c,
966
966
  hideBackdrop: !c,
967
967
  children: [
968
- /* @__PURE__ */ z(tt, { children: [
969
- /* @__PURE__ */ z("h1", { children: [
968
+ /* @__PURE__ */ G(tt, { children: [
969
+ /* @__PURE__ */ G("h1", { children: [
970
970
  /* @__PURE__ */ C(le, { icon: m }),
971
971
  y
972
972
  ] }),
973
973
  /* @__PURE__ */ C("h2", { children: D })
974
974
  ] }),
975
- /* @__PURE__ */ z(st, { children: [
976
- E ? /* @__PURE__ */ z("h3", { children: [
975
+ /* @__PURE__ */ G(st, { children: [
976
+ E ? /* @__PURE__ */ G("h3", { children: [
977
977
  "Unlock all ",
978
978
  /* @__PURE__ */ C("span", { className: "green", children: "Premium Addons" }),
979
979
  " with an AYON Studio subscription."
980
- ] }) : /* @__PURE__ */ z("h3", { children: [
980
+ ] }) : /* @__PURE__ */ G("h3", { children: [
981
981
  "Unlock all ",
982
982
  /* @__PURE__ */ C(le, { icon: "bolt" }),
983
983
  " ",
984
984
  /* @__PURE__ */ C("span", { className: "green", children: "Power Features" }),
985
985
  " with an AYON subscription."
986
986
  ] }),
987
- /* @__PURE__ */ C("ul", { children: R.slice(0, s ? void 0 : 5).map(([T, I]) => /* @__PURE__ */ z("li", { children: [
987
+ /* @__PURE__ */ C("ul", { children: R.slice(0, s ? void 0 : 5).map(([T, I]) => /* @__PURE__ */ G("li", { children: [
988
988
  /* @__PURE__ */ C(le, { icon: I.icon ?? "check" }),
989
989
  /* @__PURE__ */ C("span", { children: I.bullet })
990
990
  ] }, T)) }),
@@ -1010,12 +1010,12 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1010
1010
  return /* @__PURE__ */ C(
1011
1011
  t,
1012
1012
  {
1013
- router: { useParams: Ut, useNavigate: Bt, useLocation: Mt, useSearchParams: Lt },
1013
+ router: { useParams: Ut, useNavigate: Bt, useLocation: Mt, useSearchParams: Nt },
1014
1014
  projectName: e,
1015
1015
  views: {
1016
1016
  ...n,
1017
1017
  settings: n.viewSettings,
1018
- updateViewSettings: (...m) => Nt(...m, n, E, y, D)
1018
+ updateViewSettings: (...m) => Lt(...m, n, E, y, D)
1019
1019
  },
1020
1020
  context: {},
1021
1021
  state: i,
@@ -1031,7 +1031,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1031
1031
  );
1032
1032
  }, Zt = ({ children: t, fields: e }) => {
1033
1033
  const i = Wt.filter((c) => e.includes(c.value));
1034
- return /* @__PURE__ */ C("main", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ z(
1034
+ return /* @__PURE__ */ C("main", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ G(
1035
1035
  Yt,
1036
1036
  {
1037
1037
  layout: "horizontal",
@@ -1039,7 +1039,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1039
1039
  stateKey: Ht,
1040
1040
  stateStorage: "local",
1041
1041
  children: [
1042
- /* @__PURE__ */ C(Ie, { ...zt, children: /* @__PURE__ */ C(ct, { wrap: !0, children: /* @__PURE__ */ C(Gt, { sliceFields: i, pinnedSliceType: "hierarchy" }) }) }),
1042
+ /* @__PURE__ */ C(Ie, { ...Gt, children: /* @__PURE__ */ C(ct, { wrap: !0, children: /* @__PURE__ */ C(zt, { sliceFields: i, pinnedSliceType: "hierarchy" }) }) }),
1043
1043
  /* @__PURE__ */ C(Ie, { size: 80, children: t })
1044
1044
  ]
1045
1045
  }
@@ -1105,27 +1105,27 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1105
1105
  Array.from(new Set(y.flatMap(({ filterTypes: b }) => b))).filter(
1106
1106
  (b) => y.filter(({ filterTypes: v }) => v.includes(b)).length > 1
1107
1107
  )
1108
- ), F = y.some(
1108
+ ), A = y.some(
1109
1109
  (b) => ["entitySubType", "status"].some((v) => b.filterTypes.includes(v))
1110
1110
  ), R = y.some(
1111
1111
  (b) => ["assignees", "users", "author"].some(
1112
1112
  (v) => b.filterTypes.includes(v)
1113
1113
  )
1114
- ), { data: g = {} } = Ft(
1114
+ ), { data: g = {} } = At(
1115
1115
  {
1116
1116
  projects: e
1117
1117
  },
1118
1118
  {
1119
- skip: !e?.length || !F
1119
+ skip: !e?.length || !A
1120
1120
  }
1121
- ), { data: T = [] } = At(
1121
+ ), { data: T = [] } = Ft(
1122
1122
  { projects: e },
1123
1123
  {
1124
1124
  skip: !e?.length || !R
1125
1125
  }
1126
- ), { attributes: I } = Be(), L = lt(pt), N = L?.attribFields?.length ? L.attribFields : I, M = /* @__PURE__ */ new Map();
1126
+ ), { attributes: I } = Be(), N = lt(pt), L = N?.attribFields?.length ? N.attribFields : I, M = /* @__PURE__ */ new Map();
1127
1127
  y.forEach(({ scope: b, filterTypes: v }) => {
1128
- v.includes("attributes") && N.filter((O) => O.scope?.includes(b)).forEach((O) => {
1128
+ v.includes("attributes") && L.filter((O) => O.scope?.includes(b)).forEach((O) => {
1129
1129
  M.set(
1130
1130
  O.name,
1131
1131
  (M.get(O.name) || 0) + 1
@@ -1225,7 +1225,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1225
1225
  );
1226
1226
  r && (Object.values(g).forEach((p) => {
1227
1227
  (p?.statuses || []).filter((d) => d.scope?.includes(b)).forEach((d) => {
1228
- r.values?.some((S) => S.id === d.name) || r.values?.push({
1228
+ r.values?.some((k) => k.id === d.name) || r.values?.push({
1229
1229
  id: d.name,
1230
1230
  label: d.name,
1231
1231
  icon: d.icon,
@@ -1249,8 +1249,8 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1249
1249
  icon: null
1250
1250
  });
1251
1251
  }), r.values?.sort((p, u) => {
1252
- const d = o.assignees?.filter((A) => A === p.id).length || 0;
1253
- return (o.assignees?.filter((A) => A === u.id).length || 0) - d;
1252
+ const d = o.assignees?.filter((F) => F === p.id).length || 0;
1253
+ return (o.assignees?.filter((F) => F === u.id).length || 0) - d;
1254
1254
  }), n.push(r));
1255
1255
  }
1256
1256
  if (v.includes("author")) {
@@ -1273,23 +1273,23 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1273
1273
  const r = H("tags", s, O, m.has("tags"));
1274
1274
  if (r) {
1275
1275
  const p = /* @__PURE__ */ new Map();
1276
- Object.values(g).forEach((S) => {
1277
- S?.tags && S.tags.forEach((A) => {
1278
- p.has(A.name) || p.set(A.name, A);
1276
+ Object.values(g).forEach((k) => {
1277
+ k?.tags && k.tags.forEach((F) => {
1278
+ p.has(F.name) || p.set(F.name, F);
1279
1279
  });
1280
1280
  });
1281
1281
  const u = /* @__PURE__ */ new Map();
1282
- o.tags?.forEach((S) => {
1283
- const A = u.get(S);
1284
- if (A) {
1285
- A.count++;
1282
+ o.tags?.forEach((k) => {
1283
+ const F = u.get(k);
1284
+ if (F) {
1285
+ F.count++;
1286
1286
  return;
1287
1287
  } else {
1288
- const w = p.get(S);
1289
- u.set(S, {
1290
- id: S,
1288
+ const w = p.get(k);
1289
+ u.set(k, {
1290
+ id: k,
1291
1291
  type: "string",
1292
- label: S,
1292
+ label: k,
1293
1293
  values: [],
1294
1294
  color: w?.color || null,
1295
1295
  count: 1
@@ -1297,7 +1297,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1297
1297
  }
1298
1298
  });
1299
1299
  const d = Array.from(u.values()).sort(
1300
- (S, A) => A.count - S.count
1300
+ (k, F) => F.count - k.count
1301
1301
  );
1302
1302
  r.values?.push(...d), n.push(r);
1303
1303
  }
@@ -1368,18 +1368,18 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1368
1368
  ), n.push(r));
1369
1369
  }
1370
1370
  if (v.includes("attributes")) {
1371
- const r = N.filter(
1371
+ const r = L.filter(
1372
1372
  (d) => d.scope?.includes(b)
1373
1373
  ), p = Pt(o.attributes) ? r : r.filter(
1374
1374
  (d) => o.attributes && o.attributes[d.name]
1375
1375
  );
1376
1376
  (s?.enableRelativeValues ? p : p.filter((d) => d.data.type !== "datetime")).forEach((d) => {
1377
- const S = o.attributes && o.attributes[d.name], A = d.data.enum, w = d.data.type, x = [
1377
+ const k = o.attributes && o.attributes[d.name], F = d.data.enum, w = d.data.type, x = [
1378
1378
  "list_of_strings",
1379
1379
  "list_of_integers",
1380
1380
  "list_of_any",
1381
1381
  "list_of_submodels"
1382
- ].includes(w || ""), B = w === "datetime", W = w === "string", K = w === "integer" || w === "float", te = x ? s?.enableOperatorChange : !1, q = d.data.default !== void 0 && d.data.default !== null && d.data.inherit !== !1, pe = (x || B || W || K) && !q ? s?.enableRelativeValues : !1, X = ts(
1382
+ ].includes(w || ""), B = w === "datetime", W = w === "string", j = w === "integer" || w === "float", te = x ? s?.enableOperatorChange : !1, q = d.data.default !== void 0 && d.data.default !== null && d.data.inherit !== !1, pe = (x || B || W || j) && !q ? s?.enableRelativeValues : !1, X = ts(
1383
1383
  d,
1384
1384
  {
1385
1385
  ...s,
@@ -1391,10 +1391,10 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1391
1391
  (M.get(d.name) || 0) > 1
1392
1392
  );
1393
1393
  if (d.data.enumResolver) {
1394
- const Q = d.data;
1394
+ const J = d.data;
1395
1395
  X.loadValuesKey = e?.[0], X.loadValues = async () => xe(
1396
- S,
1397
- await h(Q, e?.[0]),
1396
+ k,
1397
+ await h(J, e?.[0]),
1398
1398
  w
1399
1399
  );
1400
1400
  }
@@ -1404,13 +1404,13 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1404
1404
  "float",
1405
1405
  "list_of_strings",
1406
1406
  "list_of_integers"
1407
- ], J = [];
1407
+ ], Q = [];
1408
1408
  if (fe.includes(w)) {
1409
- const Q = xe(S, A, w);
1410
- J.push(...Q);
1409
+ const J = xe(k, F, w);
1410
+ Q.push(...J);
1411
1411
  }
1412
1412
  if (w === "boolean") {
1413
- const Q = [
1413
+ const J = [
1414
1414
  {
1415
1415
  id: "true",
1416
1416
  label: "Yes",
@@ -1422,18 +1422,18 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1422
1422
  values: []
1423
1423
  }
1424
1424
  ];
1425
- J.push(...Q);
1425
+ Q.push(...J);
1426
1426
  }
1427
- B && (J.push(we), J.push(
1428
- ...ye().map((Q) => ({
1429
- ...Q,
1427
+ B && (Q.push(we), Q.push(
1428
+ ...ye().map((J) => ({
1429
+ ...J,
1430
1430
  contentAfter: a ? void 0 : /* @__PURE__ */ C(le, { icon: "bolt" })
1431
1431
  }))
1432
- )), X.values?.push(...J), E.set(X.id, d.name), n.push(X);
1432
+ )), X.values?.push(...Q), E.set(X.id, d.name), n.push(X);
1433
1433
  });
1434
1434
  }
1435
1435
  });
1436
- const G = n.reduce((b, v) => {
1436
+ const z = n.reduce((b, v) => {
1437
1437
  if (!v.group) return b;
1438
1438
  const O = typeof v.group == "string" ? void 0 : v.group, r = O?.name || v.group, p = y.some(({ scope: u }) => u === r);
1439
1439
  return b.some((u) => u.name === r) || b.push({
@@ -1442,11 +1442,11 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1442
1442
  icon: p ? ae(r) : O?.icon || v.icon,
1443
1443
  color: O?.color || v.color
1444
1444
  }), b;
1445
- }, []), $ = ss(n, E, N), V = as(
1446
- G,
1445
+ }, []), $ = ss(n, E, L), V = as(
1446
+ z,
1447
1447
  $,
1448
1448
  E,
1449
- N
1449
+ L
1450
1450
  );
1451
1451
  return { options: $, groupOptions: V };
1452
1452
  }, ve = ({
@@ -1514,7 +1514,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1514
1514
  id: o("taskType"),
1515
1515
  type: "string",
1516
1516
  label: "Task Type",
1517
- icon: j("task"),
1517
+ icon: K("task"),
1518
1518
  inverted: !1,
1519
1519
  operator: "OR",
1520
1520
  values: [],
@@ -1530,7 +1530,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1530
1530
  id: o("folderType"),
1531
1531
  type: "string",
1532
1532
  label: "Folder Type",
1533
- icon: j("folder"),
1533
+ icon: K("folder"),
1534
1534
  inverted: !1,
1535
1535
  operator: "OR",
1536
1536
  values: [],
@@ -1546,7 +1546,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1546
1546
  id: o("productType"),
1547
1547
  type: "string",
1548
1548
  label: "Product Type",
1549
- icon: j("product"),
1549
+ icon: K("product"),
1550
1550
  inverted: !1,
1551
1551
  operator: "OR",
1552
1552
  values: [],
@@ -1562,7 +1562,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1562
1562
  id: o("productBaseType"),
1563
1563
  type: "string",
1564
1564
  label: "Product Base Type",
1565
- icon: j("product"),
1565
+ icon: K("product"),
1566
1566
  inverted: !1,
1567
1567
  operator: "OR",
1568
1568
  values: [],
@@ -1578,7 +1578,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1578
1578
  id: o("productNames"),
1579
1579
  type: "string",
1580
1580
  label: "Product Name",
1581
- icon: j("productName", "string"),
1581
+ icon: K("productName", "string"),
1582
1582
  inverted: !1,
1583
1583
  operator: "OR",
1584
1584
  values: [],
@@ -1594,7 +1594,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1594
1594
  id: o("status"),
1595
1595
  type: "string",
1596
1596
  label: "Status",
1597
- icon: j("status"),
1597
+ icon: K("status"),
1598
1598
  inverted: !1,
1599
1599
  operator: "OR",
1600
1600
  values: [],
@@ -1610,7 +1610,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1610
1610
  id: o("assignees"),
1611
1611
  type: "list_of_strings",
1612
1612
  label: "Assignee",
1613
- icon: j("assignees"),
1613
+ icon: K("assignees"),
1614
1614
  inverted: !1,
1615
1615
  operator: "OR",
1616
1616
  values: [],
@@ -1626,7 +1626,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1626
1626
  id: o("author"),
1627
1627
  type: "string",
1628
1628
  label: "Author",
1629
- icon: j("author"),
1629
+ icon: K("author"),
1630
1630
  inverted: !1,
1631
1631
  operator: "OR",
1632
1632
  values: [],
@@ -1642,7 +1642,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1642
1642
  id: o("tags"),
1643
1643
  type: "list_of_strings",
1644
1644
  label: "Tags",
1645
- icon: j("tags"),
1645
+ icon: K("tags"),
1646
1646
  inverted: !1,
1647
1647
  operator: "OR",
1648
1648
  values: [],
@@ -1752,7 +1752,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1752
1752
  const o = t.data.title || t.name, s = c || i ? {
1753
1753
  name: i || t.name,
1754
1754
  label: i ? de(i) : o,
1755
- icon: i ? ae(i) : j(t.name, t.data.type, Re(t.data))
1755
+ icon: i ? ae(i) : K(t.name, t.data.type, Re(t.data))
1756
1756
  } : void 0;
1757
1757
  return {
1758
1758
  id: Ue(t.name, "attributes", e, i),
@@ -1766,7 +1766,7 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1766
1766
  allowNoValue: e.enableRelativeValues,
1767
1767
  allowExcludes: e?.enableExcludes,
1768
1768
  operatorChangeable: e?.enableOperatorChange,
1769
- icon: j(t.name, t.data.type, Re(t.data)),
1769
+ icon: K(t.name, t.data.type, Re(t.data)),
1770
1770
  group: s,
1771
1771
  tooltip: i ? `${de(i)} ${o}` : void 0,
1772
1772
  value: i ? { icon: ae(i) } : void 0,
@@ -1951,134 +1951,137 @@ const Fe = 500, qt = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, js = ({
1951
1951
  filterTypes: os[i].filter((c) => !e?.[i]?.includes(c))
1952
1952
  }));
1953
1953
  export {
1954
- Ks as ACCESS_LEVEL_LABELS,
1955
- js as AccessSearchInput,
1956
- Se as AccessUser,
1954
+ js as ACCESS_LEVEL_LABELS,
1955
+ Ks as AccessSearchInput,
1956
+ ke as AccessUser,
1957
1957
  ia as AddColumnButton,
1958
+ Ya as AddNewLinks,
1958
1959
  ca as AddonLoadingScreen,
1959
1960
  ua as AttributeEditor,
1960
1961
  Ve as BLOCK_DIALOG_CLOSE_CLASS,
1961
1962
  Wa as Badge,
1962
1963
  Ha as BadgeWrapper,
1963
- qa as CUSTOM_RANGE_ICON,
1964
- Za as CUSTOM_RANGE_ID,
1965
- eo as CellEditingDialog,
1966
- Ya as Chips,
1967
- Rn as ColumnHeaderMenuUI,
1968
- nn as ColumnMenuButton,
1964
+ to as CUSTOM_RANGE_ICON,
1965
+ so as CUSTOM_RANGE_ID,
1966
+ ao as CellEditingDialog,
1967
+ $a as Chips,
1968
+ Fn as ColumnHeaderMenuUI,
1969
+ cn as ColumnMenuButton,
1969
1970
  da as ColumnsSettings,
1970
1971
  pa as ColumnsSettingsWithContext,
1971
- yn as CustomDateRangeDialog,
1972
+ Cn as CustomDateRangeDialog,
1972
1973
  fa as CustomizeButton,
1973
1974
  ma as DEFAULT_FEATURED_ORDER,
1974
- uo as DELETE_CONFIRM_THRESHOLD,
1975
- ho as DELETE_TYPE_ORDER,
1975
+ mo as DELETE_CONFIRM_THRESHOLD,
1976
+ wo as DELETE_TYPE_ORDER,
1976
1977
  Xs as DateRangePicker,
1977
- po as DeleteConfirmContent,
1978
- go as DeleteEntitiesConfirmDialog,
1979
- $a as DescriptionSection,
1980
- Co as DetailsDialog,
1978
+ ho as DeleteConfirmContent,
1979
+ yo as DeleteEntitiesConfirmDialog,
1980
+ Ka as DescriptionSection,
1981
+ Oo as DetailsDialog,
1981
1982
  wt as DetailsPanelAttributesEditor,
1982
- ko as DetailsPanelDetails,
1983
+ Vo as DetailsPanelDetails,
1983
1984
  yt as DetailsSection,
1984
- to as DoneCheckbox,
1985
- tn as ENTITY_TOOLTIP_TYPES,
1985
+ oo as DoneCheckbox,
1986
+ on as ENTITY_TOOLTIP_TYPES,
1986
1987
  ha as EVERYONE_GROUP_KEY,
1987
1988
  ga as EVERY_GUESTS_KEY,
1988
1989
  ba as EarlyPreview,
1989
- xo as EmptyPlaceholder,
1990
- Mo as EmptyPlaceholderFlex,
1991
- Bo as EmptyPlaceholderFlexWrapper,
1990
+ Mo as EmptyPlaceholder,
1991
+ Wo as EmptyPlaceholderFlex,
1992
+ Ho as EmptyPlaceholderFlexWrapper,
1992
1993
  ja as EntityIcon,
1993
- Jo as EntityPanelUploader,
1994
- Qo as EntityPath,
1995
- sn as EntityTooltip,
1994
+ Zo as EntityPanelUploader,
1995
+ en as EntityPath,
1996
+ nn as EntityTooltip,
1996
1997
  wa as EnumEditor,
1997
1998
  ya as EnumEditorItem,
1998
1999
  rt as FEATURED_VERSION_TYPES,
1999
2000
  os as FILTER_TYPES_BY_SCOPE,
2000
2001
  va as FeaturedVersionOrder,
2001
2002
  _t as FeedbackContext,
2002
- Qs as FeedbackProvider,
2003
- Oo as FieldLabel,
2004
- Do as FileThumbnail,
2005
- dn as FilterErrorActions,
2003
+ Js as FeedbackProvider,
2004
+ To as FieldLabel,
2005
+ Ro as FileThumbnail,
2006
+ mn as FilterErrorActions,
2006
2007
  ot as FreeTrialLink,
2007
2008
  Ea as GROUP_KEY_PREFIX,
2008
2009
  Ca as GUEST_KEY_PREFIX,
2009
- $o as InfoMessage,
2010
- Ko as JsonViewer,
2011
- Sa as LegacyBadge,
2012
- Ka as LinkManagerItem,
2013
- Xa as LinksManager,
2010
+ Xo as InfoMessage,
2011
+ Jo as JsonViewer,
2012
+ ka as LegacyBadge,
2013
+ Xa as LinkManagerItem,
2014
+ Qa as LinksManager,
2014
2015
  qs as ListAttributeForm,
2015
2016
  Zs as ListMetaData,
2016
- Uo as MENU_PORTAL_CONTENT_ID,
2017
- Wo as MENU_PORTAL_DIALOG_ID,
2018
- Ho as Menu,
2019
- zo as MenuContainer,
2020
- Go as MenuList,
2021
- so as NO_DATE,
2022
- No as Placeholder,
2023
- ka as PowerpackButton,
2017
+ Go as MENU_PORTAL_CONTENT_ID,
2018
+ zo as MENU_PORTAL_DIALOG_ID,
2019
+ Yo as Menu,
2020
+ $o as MenuContainer,
2021
+ Ko as MenuList,
2022
+ no as NO_DATE,
2023
+ Bo as Placeholder,
2024
+ Sa as PowerpackButton,
2024
2025
  ea as PowerpackDialog,
2025
2026
  ta as ProjectPageRemote,
2026
2027
  Oa as ProjectTableSettings,
2027
- fo as RefreshToast,
2028
+ go as RefreshToast,
2028
2029
  _e as RemotePageWrapper,
2029
2030
  Da as RequiredAddonVersion,
2030
- Vo as ReviewableCard,
2031
- To as ReviewableProgressCard,
2032
- Ro as ReviewableUpload,
2033
- qo as ReviewablesList,
2031
+ Io as ReviewableCard,
2032
+ Ao as ReviewableProgressCard,
2033
+ Fo as ReviewableUpload,
2034
+ tn as ReviewablesList,
2034
2035
  Va as ReviewablesSelector,
2035
2036
  Ta as SettingOption,
2036
2037
  Ra as SettingSwitch,
2037
2038
  Ia as SettingsPanel,
2038
- Fa as SettingsPanelItemTemplate,
2039
- Aa as ShareOptionIcon,
2040
- za as SimpleForm,
2041
- Cn as SimpleFormDialog,
2039
+ Aa as SettingsPanelItemTemplate,
2040
+ Fa as ShareOptionIcon,
2041
+ Ga as SimpleForm,
2042
+ On as SimpleFormDialog,
2042
2043
  Pa as SizeSlider,
2043
- Io as StackedThumbnails,
2044
+ Po as StackedThumbnails,
2044
2045
  _a as StyledLink,
2045
2046
  Ja as SubtasksManagerWrapper,
2046
- rn as SupportBubble,
2047
- hn as SyncButton,
2047
+ un as SupportBubble,
2048
+ wn as SyncButton,
2048
2049
  xa as TEAM_KEY_PREFIX,
2049
- Na as TableGridSwitch,
2050
- kn as TableSearch,
2051
- fn as TableSettingsFallback,
2052
- Fo as Thumbnail,
2053
- vn as ThumbnailSimple,
2054
- La as USER_KEY_PREFIX,
2050
+ La as TableGridSwitch,
2051
+ Vn as TableSearch,
2052
+ gn as TableSettingsFallback,
2053
+ _o as Thumbnail,
2054
+ kn as ThumbnailSimple,
2055
+ Na as USER_KEY_PREFIX,
2055
2056
  Ma as UploadVersionDialog,
2056
- ao as UserImage,
2057
- Qt as VersionUploadContext,
2058
- Js as VersionUploadProvider,
2059
- Ao as Watchers,
2060
- bo as buildChildrenDetails,
2061
- wo as buildEntityLabel,
2062
- yo as buildExpectedCounts,
2057
+ ro as UserImage,
2058
+ Jt as VersionUploadContext,
2059
+ Qs as VersionUploadProvider,
2060
+ xo as Watchers,
2061
+ vo as buildChildrenDetails,
2062
+ Eo as buildEntityLabel,
2063
+ Co as buildExpectedCounts,
2063
2064
  na as buildScopes,
2064
2065
  we as customRangeOption,
2065
- oo as dateOptions,
2066
- no as datePresetOptions,
2067
- ro as detectRelativeDatePattern,
2068
- lo as filterDateFunctions,
2069
- io as generateDateOptions,
2066
+ lo as dateOptions,
2067
+ io as datePresetOptions,
2068
+ co as detectRelativeDatePattern,
2069
+ uo as filterDateFunctions,
2070
+ po as generateDateOptions,
2070
2071
  ye as generateDatePresetOptions,
2071
- Zo as getGroupedReviewables,
2072
+ sn as getGroupedReviewables,
2072
2073
  Ba as getUiTypeLabel,
2073
- Jt as parseFilename,
2074
+ qa as groupLinksByEntity,
2075
+ Qt as parseFilename,
2074
2076
  oa as splitClientFiltersByScope,
2075
2077
  aa as splitFiltersByScope,
2076
- vo as sumExpectedCounts,
2078
+ ko as sumExpectedCounts,
2077
2079
  sa as useBuildFilterOptions,
2078
- bn as useDateRangeFilter,
2079
- ln as useFeedback,
2080
- cn as useFeedbackSafe,
2081
- Dn as useOptionalVersionUploadContext,
2082
- Po as useReviewablesUpload,
2083
- Vn as useVersionUploadContext
2080
+ vn as useDateRangeFilter,
2081
+ dn as useFeedback,
2082
+ pn as useFeedbackSafe,
2083
+ Rn as useOptionalVersionUploadContext,
2084
+ Lo as useReviewablesUpload,
2085
+ Za as useUpdateLinks,
2086
+ In as useVersionUploadContext
2084
2087
  };