@ynput/ayon-frontend-shared 0.7.6 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/DetailsPanel.es.js +361 -355
  2. package/dist/Feed.es.js +1 -1
  3. package/dist/ListTable.es.js +18 -18
  4. package/dist/NewEntity.es.js +30 -30
  5. package/dist/ProjectTreeTable.es.js +984 -974
  6. package/dist/ProjectsTable.es.js +3 -3
  7. package/dist/Slicer.es.js +53 -50
  8. package/dist/Views.es.js +150 -151
  9. package/dist/api.es.js +166 -165
  10. package/dist/chunks/Actions.es.js +9 -10
  11. package/dist/chunks/ColumnDropIndicator.es.js +2 -2
  12. package/dist/chunks/ColumnHeaderMenuUI.es.js +3 -4
  13. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +2 -2
  14. package/dist/chunks/DetailsDialog.es.js +3 -3
  15. package/dist/chunks/EmptyPlaceholder.es.js +7 -7
  16. package/dist/chunks/EntityPath.es.js +38 -39
  17. package/dist/chunks/EntityPickerDialog.es.js +65 -66
  18. package/dist/chunks/EntityTooltip.es.js +18 -19
  19. package/dist/chunks/Feed.es.js +1381 -1355
  20. package/dist/chunks/FilmstripEntityCard.es.js +5201 -0
  21. package/dist/chunks/FilterErrorActions.es.js +2 -3
  22. package/dist/chunks/GroupSettingsFallback.es.js +2 -2
  23. package/dist/chunks/Menu.es.js +52 -53
  24. package/dist/chunks/MetaWidget.es.js +1948 -1875
  25. package/dist/chunks/ProjectFoldersContext.es.js +40 -40
  26. package/dist/chunks/RepresentationsList.es.js +1 -1
  27. package/dist/chunks/ReviewablesSelector.es.js +759 -742
  28. package/dist/chunks/SimpleTable.es.js +2 -1
  29. package/dist/chunks/Slicer.es.js +49 -50
  30. package/dist/chunks/TableExportContextInstance.es.js +600 -402
  31. package/dist/chunks/TableSettingsFallback.es.js +3 -4
  32. package/dist/chunks/ThumbnailSimple.es.js +114 -99
  33. package/dist/chunks/VideoPlayer.es.js +8 -9
  34. package/dist/chunks/Watchers.es.js +928 -871
  35. package/dist/chunks/expandRelativeDates.es.js +1 -1
  36. package/dist/chunks/getThumbnailUrl.es.js +33 -21
  37. package/dist/chunks/getUris.es.js +1580 -1610
  38. package/dist/chunks/queryFilterToClientFilter.es.js +1 -1
  39. package/dist/chunks/realtimeUpdatesUtils.es.js +15 -15
  40. package/dist/chunks/searchTerms.es.js +773 -696
  41. package/dist/chunks/useAttributeEnums.es.js +22 -22
  42. package/dist/chunks/useDateRangeFilter.es.js +1 -1
  43. package/dist/chunks/useHierarchySelection.es.js +3 -4
  44. package/dist/chunks/useLoadModule.es.js +3 -4
  45. package/dist/components.es.js +475 -467
  46. package/dist/context.es.js +615 -540
  47. package/dist/hooks.es.js +193 -171
  48. package/dist/index.es.js +2 -2
  49. package/dist/types/Actions.d.ts +10 -8
  50. package/dist/types/DetailsPanel.d.ts +54 -76
  51. package/dist/types/EntityPickerDialog.d.ts +12 -6
  52. package/dist/types/Feed.d.ts +24 -24
  53. package/dist/types/ListTable.d.ts +33 -27
  54. package/dist/types/NewEntity.d.ts +26 -39
  55. package/dist/types/ProjectTreeTable.d.ts +199 -195
  56. package/dist/types/ProjectsTable.d.ts +6 -6
  57. package/dist/types/RepresentationsList.d.ts +4 -0
  58. package/dist/types/Slicer.d.ts +63 -246
  59. package/dist/types/Views.d.ts +71 -298
  60. package/dist/types/api.d.ts +3164 -2363
  61. package/dist/types/components.d.ts +327 -474
  62. package/dist/types/context.d.ts +285 -572
  63. package/dist/types/hooks.d.ts +76 -47
  64. package/dist/types/index.d.ts +6 -0
  65. package/dist/types/util.d.ts +141 -120
  66. package/dist/util.es.js +71 -68
  67. package/package.json +6 -6
  68. package/dist/chunks/EntityUpdatesContext.es.js +0 -61
  69. package/dist/chunks/PlayableIcon.es.js +0 -5020
  70. package/dist/chunks/viewUpdateHelper.es.js +0 -153
@@ -1,47 +1,46 @@
1
- import { C as dt, S as pt, A as Pe, a as ft, T as mt, D as ht, b as gt, c as bt, d as Ie, e as De, f as wt, g as vt, h as yt, M as Et, F as St, i as kt, j as Ct, k as Ot, l as Tt, m as Pt, B as It, L as Dt, n as At, o as Vt, p as xt, q as Rt, r as Ft, s as _t } from "./chunks/ReviewablesSelector.es.js";
2
- import { t as Co, u as Oo, v as To, w as Po, x as Io, y as Do, z as Ao, E as Vo, G as xo, H as Ro, I as Fo, J as _o, K as Lo, N as Mo, O as No, Q as Bo, P as Uo, U as $o, R as zo, V as Go, W as Ho, X as Wo, Y as Yo, Z as jo, _ as Ko, $ as qo, a0 as Qo, a1 as Xo, a2 as Jo, a3 as Zo, a4 as en, a5 as tn, a6 as sn } from "./chunks/ReviewablesSelector.es.js";
1
+ import { C as dt, S as pt, A as Ie, a as ft, T as mt, D as ht, b as gt, c as bt, d as Pe, e as Ae, f as wt, g as vt, h as yt, M as Et, F as St, i as kt, j as Ct, k as Ot, l as Tt, m as It, B as Pt, L as At, n as Dt, o as Rt, p as Vt, q as xt, r as Ft, s as _t } from "./chunks/ReviewablesSelector.es.js";
2
+ import { t as ko, u as Co, v as Oo, w as To, x as Io, y as Po, z as Ao, E as Do, G as Ro, H as Vo, I as xo, J as Fo, K as _o, N as Lo, O as Mo, Q as No, P as Bo, U as Uo, R as $o, V as zo, W as Go, X as Ho, Y as Wo, Z as Yo, _ as jo, $ as Ko, a0 as qo, a1 as Qo, a2 as Xo, a3 as Jo, a4 as Zo, a5 as en, a6 as tn } from "./chunks/ReviewablesSelector.es.js";
3
3
  import { jsxs as N, jsx as p, Fragment as ae } from "react/jsx-runtime";
4
- import { useState as R, useRef as le, useCallback as K, useEffect as H, useMemo as U, createElement as Lt, useId as Mt, useContext as Nt } from "react";
5
- import { matchSorter as Ae } from "match-sorter";
6
- import { InputText as We, Icon as pe, Panel as Ve, InputPassword as Bt, Button as Se, Section as Ut, SEARCH_FILTER_ID as $t } from "@ynput/ayon-react-components";
4
+ import { useState as x, useRef as le, useCallback as K, useEffect as H, useMemo as U, createElement as Lt, useId as Mt, useContext as Nt } from "react";
5
+ import { matchSorter as De } from "match-sorter";
6
+ import { InputText as We, Icon as pe, Panel as Re, InputPassword as Bt, Button as Se, Section as Ut, SEARCH_FILTER_ID as $t } from "@ynput/ayon-react-components";
7
7
  import ue from "clsx";
8
- import { B as on, a as nn, S as rn } from "./chunks/SimpleForm.es.js";
9
- import { e as Ye, P as zt } from "./chunks/MetaWidget.es.js";
10
- import { A as cn, k as un, l as dn, m as pn, n as fn, L as mn, o as hn, q as gn, r as bn, s as wn } from "./chunks/MetaWidget.es.js";
8
+ import { B as an, a as on, S as nn } from "./chunks/SimpleForm.es.js";
9
+ import { d as Ye, P as zt } from "./chunks/MetaWidget.es.js";
10
+ import { A as ln, k as cn, l as un, m as dn, n as pn, L as fn, o as mn, q as hn, r as gn, s as bn } from "./chunks/MetaWidget.es.js";
11
11
  import { createPortal as Gt } from "react-dom";
12
12
  import { format as de, parseISO as je, isValid as Ke } from "date-fns";
13
- import { B as xe, e as qe, g as ve, h as ye } from "./chunks/PlayableIcon.es.js";
14
- import { $ as yn, j as En, k as Sn, l as kn, m as Cn, n as On, o as Tn, q as Pn, A as In, C as Dn, a as An, r as Vn, D as xn, s as Rn, t as Fn, F as _n, I as Ln, u as Mn, v as Nn, w as Bn, x as Un, y as $n, M as zn, z as Gn, E as Hn, N as Wn, U as Yn, Y as jn, G as Kn, H as qn, J as Qn, K as Xn, d as Jn, f as Zn, L as er, O as tr, P as sr, Q as ar, R as or, S as nr, T as rr, V as lr, W as ir, X as cr, p as ur, Z as dr } from "./chunks/PlayableIcon.es.js";
15
- import { d as Qe, y as Xe, b as Ht, e as Je, z as Wt, u as Ze } from "./chunks/TableExportContextInstance.es.js";
16
- import { f as fr, D as mr, I as hr } from "./chunks/TableExportContextInstance.es.js";
17
- import { p as Yt, d as Re } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
18
- import { e as br, D as wr, b as vr, a as yr, c as Er, s as Sr } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
19
- import { D as Cr } from "./chunks/DetailsDialog.es.js";
20
- import { q as jt, r as Kt, b as qt } from "./chunks/Watchers.es.js";
21
- import { s as Tr, t as Pr, v as Ir, R as Dr, h as Ar, g as Vr, w as xr, x as Rr, W as Fr, i as _r } from "./chunks/Watchers.es.js";
22
- import { E as Mr, P as Nr } from "./chunks/EmptyPlaceholder.es.js";
23
- import { E as Ur, a as $r } from "./chunks/EmptyPlaceholderFlex.styled.es.js";
24
- import { I as Gr } from "./chunks/InfoMessage.es.js";
25
- import { J as Wr } from "./chunks/JsonViewer.es.js";
26
- import { E as jr, a as Kr, R as qr, g as Qr } from "./chunks/EntityPath.es.js";
27
- import { a as Jr, E as Zr } from "./chunks/EntityTooltip.es.js";
28
- import { a as Fe, bB as _e, bA as Qt, bD as Xt } from "./chunks/searchTerms.es.js";
29
- import { bP as Jt, bU as Zt, cB as es, aO as ts, aT as ss, bK as as, br as os, du as ns, co as rs, ca as ls, ce as is, bS as cs } from "./chunks/getUris.es.js";
13
+ import { B as Ve, e as qe, g as ve, h as ye } from "./chunks/FilmstripEntityCard.es.js";
14
+ import { $ as vn, j as yn, k as En, l as Sn, m as kn, n as Cn, o as On, q as Tn, A as In, C as Pn, a as An, r as Dn, D as Rn, s as Vn, t as xn, u as Fn, v as _n, w as Ln, x as Mn, F as Nn, y as Bn, I as Un, z as $n, E as zn, G as Gn, H as Hn, J as Wn, M as Yn, K as jn, L as Kn, N as qn, U as Qn, Y as Xn, O as Jn, P as Zn, Q as er, R as tr, d as sr, f as ar, S as or, T as nr, V as rr, W as lr, X as ir, Z as cr, _ as ur, a0 as dr, a1 as pr, a2 as fr, a3 as mr, a4 as hr, p as gr, a5 as br, a6 as wr, a7 as vr } from "./chunks/FilmstripEntityCard.es.js";
15
+ import { c as Qe, q as Xe, b as Ht, ao as Je, ap as Ze, aq as Wt, s as Yt, u as et } from "./chunks/TableExportContextInstance.es.js";
16
+ import { d as Er, D as Sr, z as kr } from "./chunks/TableExportContextInstance.es.js";
17
+ import { p as jt, d as xe } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
18
+ import { e as Or, D as Tr, b as Ir, a as Pr, c as Ar, s as Dr } from "./chunks/DeleteEntitiesConfirmDialog.es.js";
19
+ import { D as Vr } from "./chunks/DetailsDialog.es.js";
20
+ import { q as Kt, r as qt, n as Qt } from "./chunks/Watchers.es.js";
21
+ import { s as Fr, t as _r, v as Lr, R as Mr, c as Nr, b as Br, w as Ur, x as $r, W as zr, u as Gr } from "./chunks/Watchers.es.js";
22
+ import { E as Wr, P as Yr } from "./chunks/EmptyPlaceholder.es.js";
23
+ import { E as Kr, a as qr } from "./chunks/EmptyPlaceholderFlex.styled.es.js";
24
+ import { I as Xr } from "./chunks/InfoMessage.es.js";
25
+ import { J as Zr } from "./chunks/JsonViewer.es.js";
26
+ import { E as tl, a as sl, R as al, g as ol } from "./chunks/EntityPath.es.js";
27
+ import { a as rl, E as ll } from "./chunks/EntityTooltip.es.js";
28
+ import { a as Fe, bB as _e, bA as Xt, bD as Jt } from "./chunks/searchTerms.es.js";
29
+ import { bQ as Zt, bV as es, cC as ts, aO as ss, aT as as, bL as os, bs as ns, dv as rs, cp as ls, cb as is, cf as cs, bT as us } from "./chunks/getUris.es.js";
30
30
  export * from "primereact/confirmdialog";
31
31
  import "@module-federation/enhanced/runtime";
32
- import { loadPiece as us, pieceContext as ds, reportContributionError as Le } from "@ynput/ayon-addon/host";
32
+ import { loadPiece as ds, pieceContext as ps, reportContributionError as Le } from "@ynput/ayon-addon/host";
33
33
  import { toast as Q } from "react-toastify";
34
- import { isEmpty as ps, upperFirst as me } from "lodash";
34
+ import { isEmpty as fs, upperFirst as me } from "lodash";
35
35
  import "uuid";
36
- import { a as fs } from "./chunks/afterStartup.es.js";
36
+ import { a as ms } from "./chunks/afterStartup.es.js";
37
37
  import Me from "axios";
38
38
  import "semver";
39
39
  import "./chunks/ContextMenuContextInstance.es.js";
40
- import { useDispatch as ms } from "react-redux";
41
- import { useSearchParams as hs, useLocation as gs, useNavigate as et, useParams as bs } from "react-router-dom";
40
+ import { useSearchParams as hs, useLocation as gs, useNavigate as tt, useParams as bs } from "react-router-dom";
42
41
  import { F as ws } from "./chunks/addonColumnTags.es.js";
43
- import { C as sl, S as al, b as ol, u as nl } from "./chunks/addonColumnTags.es.js";
44
- import { F as ll } from "./chunks/FilterErrorActions.es.js";
42
+ import { C as ul, S as dl, b as pl, u as fl } from "./chunks/addonColumnTags.es.js";
43
+ import { F as hl } from "./chunks/FilterErrorActions.es.js";
45
44
  import "lexical";
46
45
  import "@lexical/markdown";
47
46
  import "@lexical/code";
@@ -51,34 +50,34 @@ import "@lexical/selection";
51
50
  import "@lexical/utils";
52
51
  import "@lexical/react/LexicalBlockWithAlignableContents";
53
52
  import "@lexical/react/LexicalDecoratorBlockNode";
54
- import { m as cl, r as ul, a as dl, u as pl } from "./chunks/useDateRangeFilter.es.js";
55
- import { T as ml } from "./chunks/TableSettingsFallback.es.js";
56
- import { useContributions as tt, ContributionView as ke, ProjectPageLayout as vs, Slicer as ys, prefetchPiece as Ne, runContribution as Es } from "@ynput/ayon-addon";
57
- import { a as st, b as Ss } from "./chunks/viewUpdateHelper.es.js";
53
+ import { m as bl, r as wl, a as vl, u as yl } from "./chunks/useDateRangeFilter.es.js";
54
+ import { T as Sl } from "./chunks/TableSettingsFallback.es.js";
55
+ import { useContributions as st, ContributionView as ke, ProjectPageLayout as vs, Slicer as ys, prefetchPiece as Ne, runContribution as Es } from "@ynput/ayon-addon";
56
+ import { useDispatch as Ss } from "react-redux";
58
57
  import ks from "remark-gfm";
59
58
  import Cs from "react-markdown";
60
59
  import { Splitter as Os, SplitterPanel as Be } from "primereact/splitter";
61
- import { o as Ts, h as Ps, e as Is } from "./chunks/Slicer.es.js";
62
- import { p as gl, q as bl } from "./chunks/Slicer.es.js";
60
+ import { o as Ts, h as Is, e as Ps } from "./chunks/Slicer.es.js";
61
+ import { p as Cl, q as Ol } from "./chunks/Slicer.es.js";
63
62
  import "./chunks/NewEntityContextInstance.es.js";
64
- import { V as Ds } from "./chunks/VersionUploadContextInstance.es.js";
65
- import { u as vl, a as yl } from "./chunks/VersionUploadContextInstance.es.js";
63
+ import { V as As } from "./chunks/VersionUploadContextInstance.es.js";
64
+ import { u as Il, a as Pl } from "./chunks/VersionUploadContextInstance.es.js";
66
65
  import "@tanstack/react-table";
67
66
  import { M as at, a as ot } from "./chunks/Menu.es.js";
68
- import { b as Sl, c as kl, d as Cl } from "./chunks/Menu.es.js";
69
- import { A as As, f as Vs } from "./chunks/SimpleTable.es.js";
70
- import { s as Tl, g as Pl } from "./chunks/SimpleTable.es.js";
71
- import { e as xs, E as Rs } from "./chunks/EntityPickerDialog.es.js";
72
- import { T as Dl } from "./chunks/EntityPickerDialog.es.js";
67
+ import { b as Dl, c as Rl, d as Vl } from "./chunks/Menu.es.js";
68
+ import { A as Ds, f as Rs } from "./chunks/SimpleTable.es.js";
69
+ import { s as Fl, g as _l } from "./chunks/SimpleTable.es.js";
70
+ import { e as Vs, E as xs } from "./chunks/EntityPickerDialog.es.js";
71
+ import { T as Ml } from "./chunks/EntityPickerDialog.es.js";
73
72
  import { g as re } from "./chunks/getEntityTypeIcon.es.js";
74
73
  import { g as q } from "./chunks/iconUtils.es.js";
75
- import { C as Vl, T as xl } from "./chunks/ThumbnailSimple.es.js";
76
- import { S as Fl } from "./chunks/SimpleFormDialog.es.js";
74
+ import { C as Bl, T as Ul } from "./chunks/ThumbnailSimple.es.js";
75
+ import { S as zl } from "./chunks/SimpleFormDialog.es.js";
77
76
  import { e as Fs } from "./chunks/extractVersionFromFilename.es.js";
78
77
  import { b as _s, c as Ls, v as Ms } from "./chunks/versionUploadHelpers.es.js";
79
78
  import { p as Ns } from "./chunks/parseFilename.es.js";
80
- import { C as Ll } from "./chunks/ColumnHeaderMenuUI.es.js";
81
- const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
79
+ import { C as Hl } from "./chunks/ColumnHeaderMenuUI.es.js";
80
+ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Xa = ({
82
81
  shareOptions: e,
83
82
  existingAccess: t,
84
83
  owner: n,
@@ -89,13 +88,13 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
89
88
  pt: h,
90
89
  ...i
91
90
  }) => {
92
- const [d, c] = R(""), [S, y] = R(!1), [T, g] = R(-1), x = le(null), O = e.filter((C) => !t.includes(C.value)).toSorted((C, b) => {
91
+ const [d, c] = x(""), [S, y] = x(!1), [T, g] = x(-1), V = le(null), O = e.filter((C) => !t.includes(C.value)).toSorted((C, b) => {
93
92
  const v = (f) => f.value === "__everyone__" ? 0 : f.value.startsWith("__") ? 1 : f.value.startsWith("team:") ? 2 : f.value.startsWith("group:") ? 3 : f.value.startsWith("user:") ? 4 : 5, k = v(C), r = v(b);
94
93
  return k !== r ? k - r : C.label.localeCompare(b.label);
95
- }), w = (d ? Ae(O, d, {
94
+ }), w = (d ? De(O, d, {
96
95
  keys: ["name", "label", "value"],
97
- threshold: Ae.rankings.CONTAINS
98
- }) : O).slice(0, Ue), A = Bs.test(d) && !e.some((C) => C.name === d) && s === "external", V = () => {
96
+ threshold: De.rankings.CONTAINS
97
+ }) : O).slice(0, Ue), D = Bs.test(d) && !e.some((C) => C.name === d) && s === "external", R = () => {
99
98
  y(!0), g(-1);
100
99
  }, L = () => {
101
100
  setTimeout(() => {
@@ -119,11 +118,11 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
119
118
  C.preventDefault(), T >= 0 && T < w.length ? $(w[T]) : w.length > 0 && $(w[0]);
120
119
  break;
121
120
  case "Escape":
122
- y(!1), g(-1), x.current?.blur(), C.stopPropagation();
121
+ y(!1), g(-1), V.current?.blur(), C.stopPropagation();
123
122
  break;
124
123
  }
125
124
  }, $ = (C) => {
126
- a(C, 10), c(""), y(!1), g(-1), x.current?.focus();
125
+ a(C, 10), c(""), y(!1), g(-1), V.current?.focus();
127
126
  }, W = () => {
128
127
  a(
129
128
  {
@@ -133,32 +132,32 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
133
132
  shareType: "guest"
134
133
  },
135
134
  10
136
- ), c(""), y(!1), g(-1), x.current?.focus();
135
+ ), c(""), y(!1), g(-1), V.current?.focus();
137
136
  };
138
137
  return /* @__PURE__ */ N(dt, { ...i, children: [
139
138
  /* @__PURE__ */ p(
140
139
  We,
141
140
  {
142
- ref: x,
141
+ ref: V,
143
142
  value: d,
144
143
  placeholder: l,
145
144
  disabled: o,
146
- onFocus: V,
147
- onClick: V,
145
+ onFocus: R,
146
+ onClick: R,
148
147
  onBlur: L,
149
148
  onChange: B,
150
149
  onKeyDown: F,
151
150
  style: { width: "100%" }
152
151
  }
153
152
  ),
154
- S && (w.length > 0 || A) && /* @__PURE__ */ N(
153
+ S && (w.length > 0 || D) && /* @__PURE__ */ N(
155
154
  pt,
156
155
  {
157
156
  ...h?.list,
158
157
  className: ue(h?.list?.className, { "no-owner": !n }),
159
158
  children: [
160
159
  w.map((C, b) => /* @__PURE__ */ p(
161
- Pe,
160
+ Ie,
162
161
  {
163
162
  name: C.name,
164
163
  label: C.label,
@@ -175,8 +174,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
175
174
  },
176
175
  C.value
177
176
  )),
178
- A && /* @__PURE__ */ p(
179
- Pe,
177
+ D && /* @__PURE__ */ p(
178
+ Ie,
180
179
  {
181
180
  name: d,
182
181
  label: d,
@@ -197,7 +196,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
197
196
  }
198
197
  )
199
198
  ] });
200
- }, Za = {
199
+ }, Ja = {
201
200
  0: "No access",
202
201
  10: "Viewer",
203
202
  20: "Editor",
@@ -232,7 +231,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
232
231
  return null;
233
232
  }
234
233
  return null;
235
- }, eo = ({
234
+ }, Za = ({
236
235
  value: e,
237
236
  onChange: t,
238
237
  emptyTrigger: n,
@@ -245,14 +244,14 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
245
244
  maxDate: d,
246
245
  pt: c
247
246
  }) => {
248
- const [S, y] = R(!1), [T, g] = R(""), [x, O] = R(""), w = le(null), A = le(null), V = le(null), L = le(null), B = e.startDate || e.endDate, F = K(() => {
249
- const E = ne(T), _ = ne(x);
247
+ const [S, y] = x(!1), [T, g] = x(""), [V, O] = x(""), w = le(null), D = le(null), R = le(null), L = le(null), B = e.startDate || e.endDate, F = K(() => {
248
+ const E = ne(T), _ = ne(V);
250
249
  (E !== e.startDate || _ !== e.endDate) && t({ startDate: E, endDate: _ }), y(!1);
251
- }, [T, x, e.startDate, e.endDate, t]);
250
+ }, [T, V, e.startDate, e.endDate, t]);
252
251
  H(() => {
253
252
  S && (g($e(e.startDate)), O($e(e.endDate)), !e.startDate && !e.endDate && setTimeout(() => {
254
253
  try {
255
- V.current?.showPicker();
254
+ R.current?.showPicker();
256
255
  } catch {
257
256
  }
258
257
  }, 100));
@@ -260,7 +259,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
260
259
  if (!S) return;
261
260
  const E = (_) => {
262
261
  const z = _.target;
263
- w.current && !w.current.contains(z) && A.current && !A.current.contains(z) && F();
262
+ w.current && !w.current.contains(z) && D.current && !D.current.contains(z) && F();
264
263
  };
265
264
  return document.addEventListener("mousedown", E), () => document.removeEventListener("mousedown", E);
266
265
  }, [S, F]), H(() => {
@@ -273,7 +272,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
273
272
  const $ = (E) => {
274
273
  const _ = E.target.value;
275
274
  g(_);
276
- const z = ne(_), j = ne(x);
275
+ const z = ne(_), j = ne(V);
277
276
  if (z && j) {
278
277
  const X = new Date(z), oe = new Date(j);
279
278
  X > oe && O(_);
@@ -298,19 +297,19 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
298
297
  g(""), O(""), t({ startDate: null, endDate: null }), y(!1);
299
298
  }, b = (E) => {
300
299
  E.stopPropagation(), s || (S ? F() : y(!0));
301
- }, v = S ? ne(T) : e.startDate, k = S ? ne(x) : e.endDate, r = ze(v, h), f = ze(k, h), u = r && f ? `${r} - ${f}` : r || f || "", m = () => {
300
+ }, v = S ? ne(T) : e.startDate, k = S ? ne(V) : e.endDate, r = ze(v, h), f = ze(k, h), u = r && f ? `${r} - ${f}` : r || f || "", m = () => {
302
301
  if (!w.current) return { top: 0, left: 0 };
303
302
  const E = w.current.getBoundingClientRect();
304
303
  return {
305
304
  top: E.bottom + 4,
306
305
  left: o === "left" ? E.left : E.right
307
306
  };
308
- }, P = () => B ? l ? l(e, u) : /* @__PURE__ */ p("span", { className: ue("date-value", c?.valueDisplay?.className), ...c?.valueDisplay, children: u }) : n || /* @__PURE__ */ p(vt, { icon: "calendar_add_on" }), I = m();
307
+ }, I = () => B ? l ? l(e, u) : /* @__PURE__ */ p("span", { className: ue("date-value", c?.valueDisplay?.className), ...c?.valueDisplay, children: u }) : n || /* @__PURE__ */ p(vt, { icon: "calendar_add_on" }), P = m();
309
308
  return /* @__PURE__ */ N(
310
309
  ft,
311
310
  {
312
311
  ...c?.root,
313
- className: ue(xe, a, c?.root?.className),
312
+ className: ue(Ve, a, c?.root?.className),
314
313
  children: [
315
314
  /* @__PURE__ */ p(
316
315
  mt,
@@ -321,23 +320,23 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
321
320
  type: "button",
322
321
  ...c?.trigger,
323
322
  className: ue(B ? "has-value" : "empty", c?.trigger?.className),
324
- children: P()
323
+ children: I()
325
324
  }
326
325
  ),
327
326
  S && Gt(
328
327
  /* @__PURE__ */ p(
329
328
  ht,
330
329
  {
331
- ref: A,
330
+ ref: D,
332
331
  style: {
333
- top: I.top,
334
- left: o === "left" ? I.left : "auto",
335
- right: o === "right" ? window.innerWidth - I.left : "auto",
332
+ top: P.top,
333
+ left: o === "left" ? P.left : "auto",
334
+ right: o === "right" ? window.innerWidth - P.left : "auto",
336
335
  ...c?.dropdown?.style
337
336
  },
338
337
  onMouseDown: (E) => E.stopPropagation(),
339
338
  ...c?.dropdown,
340
- className: ue(xe, o, c?.dropdown?.className),
339
+ className: ue(Ve, o, c?.dropdown?.className),
341
340
  children: /* @__PURE__ */ N(gt, { className: c?.content?.className, ...c?.content, children: [
342
341
  /* @__PURE__ */ p(
343
342
  bt,
@@ -349,16 +348,16 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
349
348
  }
350
349
  ),
351
350
  /* @__PURE__ */ N(
352
- Ie,
351
+ Pe,
353
352
  {
354
353
  className: c?.startDate?.field?.className,
355
354
  ...c?.startDate?.field,
356
355
  children: [
357
356
  /* @__PURE__ */ p("label", { ...c?.startDate?.label, children: "Start date" }),
358
357
  /* @__PURE__ */ p(
359
- De,
358
+ Ae,
360
359
  {
361
- ref: V,
360
+ ref: R,
362
361
  type: "date",
363
362
  value: T,
364
363
  onChange: $,
@@ -376,14 +375,14 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
376
375
  ]
377
376
  }
378
377
  ),
379
- /* @__PURE__ */ N(Ie, { className: c?.endDate?.field?.className, ...c?.endDate?.field, children: [
378
+ /* @__PURE__ */ N(Pe, { className: c?.endDate?.field?.className, ...c?.endDate?.field, children: [
380
379
  /* @__PURE__ */ p("label", { ...c?.endDate?.label, children: "End date" }),
381
380
  /* @__PURE__ */ p(
382
- De,
381
+ Ae,
383
382
  {
384
383
  ref: L,
385
384
  type: "date",
386
- value: x,
385
+ value: V,
387
386
  onChange: W,
388
387
  max: d ? de(d, "yyyy-MM-dd") : void 0,
389
388
  min: T || (i ? de(i, "yyyy-MM-dd") : void 0),
@@ -410,46 +409,46 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
410
409
  version: 1,
411
410
  name: "review",
412
411
  productType: "review"
413
- }, to = ({
412
+ }, eo = ({
414
413
  children: e,
415
414
  projectName: t,
416
415
  onVersionCreated: n,
417
416
  dispatch: l
418
417
  }) => {
419
- const [o, s] = R(""), [a, h] = R(""), [i, d] = R(null), [c, S] = R(null), [y, T] = R(!1), [g, x] = R([]), [O, w] = R(ie), [A, V] = R(!1), [L, B] = R(""), [F, $] = R(null), [W, C] = R(null), [b, v] = R(void 0), [k, r] = R(void 0), f = le(!1), u = le(null), { data: m = [], isLoading: P } = Jt(
418
+ const [o, s] = x(""), [a, h] = x(""), [i, d] = x(null), [c, S] = x(null), [y, T] = x(!1), [g, V] = x([]), [O, w] = x(ie), [D, R] = x(!1), [L, B] = x(""), [F, $] = x(null), [W, C] = x(null), [b, v] = x(void 0), [k, r] = x(void 0), f = le(!1), u = le(null), { data: m = [], isLoading: I } = Zt(
420
419
  { projectName: t, folderId: o },
421
420
  { skip: !o || !y || !!a }
422
- ), I = U(() => {
421
+ ), P = U(() => {
423
422
  if (!(a || !O.name || m.length === 0))
424
- return m.find((D) => D.name === O.name);
425
- }, [a, O.name, m]), E = a || I?.id || "", { currentData: _ } = Zt(
423
+ return m.find((A) => A.name === O.name);
424
+ }, [a, O.name, m]), E = a || P?.id || "", { currentData: _ } = es(
426
425
  {
427
426
  projectName: t,
428
427
  productId: a
429
428
  },
430
429
  { skip: !a || !y || b != null }
431
- ), { data: z } = es(
430
+ ), { data: z } = ts(
432
431
  { projectName: t, versionId: k },
433
432
  { skip: !k || !y || i !== null }
434
433
  ), j = i ?? z?.taskId ?? "", X = !!(k && i === null && !z), oe = K(
435
- ({ productId: D, folderId: M, taskId: G, linkedTask: se, latestVersionNumber: fe, latestVersionId: ct }) => {
436
- h(D || ""), s(M || ""), d(G || null), S(se || null), v(fe), r(ct), w((ut) => ({
434
+ ({ productId: A, folderId: M, taskId: G, linkedTask: se, latestVersionNumber: fe, latestVersionId: ct }) => {
435
+ h(A || ""), s(M || ""), d(G || null), S(se || null), v(fe), r(ct), w((ut) => ({
437
436
  ...ut,
438
437
  ...fe != null ? { version: fe + 1 } : {}
439
438
  })), T(!0);
440
439
  },
441
440
  []
442
441
  ), te = K(() => {
443
- g.forEach((D) => {
444
- D.preview && URL.revokeObjectURL(D.preview);
445
- }), x([]), w(ie), $(null), C(null), B(""), V(!1), T(!1), h(""), s(""), d(null), S(null), f.current = !1, v(void 0), r(void 0);
446
- }, [g]), [we] = ts(), [he] = ss(), J = K(
447
- async (D) => {
442
+ g.forEach((A) => {
443
+ A.preview && URL.revokeObjectURL(A.preview);
444
+ }), V([]), w(ie), $(null), C(null), B(""), R(!1), T(!1), h(""), s(""), d(null), S(null), f.current = !1, v(void 0), r(void 0);
445
+ }, [g]), [we] = ss(), [he] = as(), J = K(
446
+ async (A) => {
448
447
  try {
449
448
  if (E) {
450
449
  const M = await _s(he, t, {
451
450
  productId: E,
452
- version: D.version,
451
+ version: A.version,
453
452
  taskId: j || void 0
454
453
  });
455
454
  return n(E, M.id), Q.success("Created new version"), {
@@ -463,12 +462,12 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
463
462
  t,
464
463
  {
465
464
  folderId: o,
466
- name: D.name,
467
- productType: D.productType || "review",
468
- productBaseType: D.productType || "review"
465
+ name: A.name,
466
+ productType: A.productType || "review",
467
+ productBaseType: A.productType || "review"
469
468
  },
470
469
  {
471
- version: D.version,
470
+ version: A.version,
472
471
  taskId: j || void 0
473
472
  }
474
473
  );
@@ -483,9 +482,9 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
483
482
  },
484
483
  [te, E, o, j, t]
485
484
  ), ge = K(
486
- (D) => {
485
+ (A) => {
487
486
  if (E) return;
488
- const M = D[0];
487
+ const M = A[0];
489
488
  if (M) {
490
489
  const G = Ns(M.name), se = Fs(G);
491
490
  se && se !== O.version && w((fe) => ({
@@ -495,62 +494,62 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
495
494
  }
496
495
  },
497
496
  [E, O.version]
498
- ), Z = _?.version ?? b ?? I?.latestVersion?.version, ee = K((D, M) => {
497
+ ), Z = _?.version ?? b ?? P?.latestVersion?.version, ee = K((A, M) => {
499
498
  w((G) => ({
500
499
  ...G,
501
- [D]: M
500
+ [A]: M
502
501
  })), B("");
503
502
  }, []), Oe = K(
504
- async (D) => {
503
+ async (A) => {
505
504
  try {
506
- V(!0), B("");
507
- const M = Ms(D, Z, !E);
505
+ R(!0), B("");
506
+ const M = Ms(A, Z, !E);
508
507
  if (!M.isValid)
509
508
  throw M.error;
510
- const G = await J(D);
511
- o && (u.current = { folderId: o, productName: D.name }), G?.productId && $(G.productId), G?.versionId && C(G.versionId), g.length < 1 && (V(!1), te());
509
+ const G = await J(A);
510
+ o && (u.current = { folderId: o, productName: A.name }), G?.productId && $(G.productId), G?.versionId && C(G.versionId), g.length < 1 && (R(!1), te());
512
511
  } catch (M) {
513
- B(M), V(!1);
512
+ B(M), R(!1);
514
513
  }
515
514
  },
516
515
  [J, g.length, te, Z, E]
517
516
  );
518
517
  H(() => {
519
518
  if (!(!y || b != null))
520
- return w(_ ? (D) => ({ ...D, version: _.version + 1 }) : ie), () => {
519
+ return w(_ ? (A) => ({ ...A, version: _.version + 1 }) : ie), () => {
521
520
  w(ie);
522
521
  };
523
522
  }, [y, _, b]), H(() => {
524
523
  if (!y || a || m.length === 0 || O.name !== ie.name) return;
525
- const D = u.current;
526
- if (D && D.folderId === o && m.some((se) => se.name === D.productName)) {
527
- w((se) => ({ ...se, name: D.productName }));
524
+ const A = u.current;
525
+ if (A && A.folderId === o && m.some((se) => se.name === A.productName)) {
526
+ w((se) => ({ ...se, name: A.productName }));
528
527
  return;
529
528
  }
530
529
  const M = m[m.length - 1];
531
530
  M && w((G) => ({ ...G, name: M.name }));
532
531
  }, [y, a, m]), H(() => {
533
532
  if (!(!y || a))
534
- if (I) {
533
+ if (P) {
535
534
  w((M) => ({
536
535
  ...M,
537
- productType: I.productType,
538
- ...I.latestVersion && {
539
- version: I.latestVersion.version + 1
536
+ productType: P.productType,
537
+ ...P.latestVersion && {
538
+ version: P.latestVersion.version + 1
540
539
  }
541
540
  }));
542
- const D = I.latestVersion?.task;
543
- D && (i === null || f.current) ? (d(D.id), S({
544
- id: D.id,
545
- name: D.name,
546
- label: D.label,
547
- taskType: D.taskType
548
- }), f.current = !0) : !D && f.current && (d(null), S(null), f.current = !1);
541
+ const A = P.latestVersion?.task;
542
+ A && (i === null || f.current) ? (d(A.id), S({
543
+ id: A.id,
544
+ name: A.name,
545
+ label: A.label,
546
+ taskType: A.taskType
547
+ }), f.current = !0) : !A && f.current && (d(null), S(null), f.current = !1);
549
548
  } else
550
- w((D) => ({ ...D, version: ie.version })), (i === null || f.current) && (d(null), S(null), f.current = !1);
551
- }, [y, a, I]);
552
- const Te = K((D) => {
553
- d(D), f.current = !1;
549
+ w((A) => ({ ...A, version: ie.version })), (i === null || f.current) && (d(null), S(null), f.current = !1);
550
+ }, [y, a, P]);
551
+ const Te = K((A) => {
552
+ d(A), f.current = !1;
554
553
  }, []), it = U(
555
554
  () => ({
556
555
  productId: a,
@@ -566,22 +565,22 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
566
565
  projectName: t,
567
566
  latestVersion: Z,
568
567
  pendingFiles: g,
569
- setPendingFiles: x,
568
+ setPendingFiles: V,
570
569
  onOpenVersionUpload: oe,
571
570
  onCloseVersionUpload: te,
572
571
  onUploadVersion: J,
573
572
  extractAndSetVersionFromFiles: ge,
574
573
  form: O,
575
574
  setForm: w,
576
- isSubmitting: A,
575
+ isSubmitting: D,
577
576
  error: L,
578
577
  createdProductId: F,
579
578
  createdVersionId: W,
580
579
  handleFormChange: ee,
581
580
  handleFormSubmit: Oe,
582
581
  folderProducts: m,
583
- isFolderProductsLoading: P,
584
- matchedProduct: I,
582
+ isFolderProductsLoading: I,
583
+ matchedProduct: P,
585
584
  dispatch: l
586
585
  }),
587
586
  [
@@ -598,33 +597,33 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
598
597
  t,
599
598
  Z,
600
599
  g,
601
- x,
600
+ V,
602
601
  oe,
603
602
  te,
604
603
  J,
605
604
  ge,
606
605
  O,
607
- A,
606
+ D,
608
607
  L,
609
608
  F,
610
609
  W,
611
610
  ee,
612
611
  Oe,
613
612
  m,
614
- P,
615
613
  I,
614
+ P,
616
615
  l
617
616
  ]
618
617
  );
619
- return /* @__PURE__ */ p(Ds.Provider, { value: it, children: e });
620
- }, so = ({ children: e }) => {
621
- const [t, n] = R(!1), { siteInfo: l, user: o, cloudInfo: s } = Qe(), { data: a, isLoading: h } = as(
618
+ return /* @__PURE__ */ p(As.Provider, { value: it, children: e });
619
+ }, to = ({ children: e }) => {
620
+ const [t, n] = x(!1), { siteInfo: l, user: o, cloudInfo: s } = Qe(), { data: a, isLoading: h } = os(
622
621
  {},
623
622
  {
624
623
  skip: !o?.name || !s?.connected
625
624
  }
626
625
  ), i = () => {
627
- t || (fs(() => {
626
+ t || (ms(() => {
628
627
  if (document.getElementById("featurebase-sdk")) return;
629
628
  const u = document.createElement("script");
630
629
  u.src = "https://do.featurebase.app/js/sdk.js", u.id = "featurebase-sdk", u.async = !0, document.body.appendChild(u);
@@ -645,10 +644,10 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
645
644
  instanceId: s?.instanceId
646
645
  }
647
646
  };
648
- console.log(u), window.Featurebase("identify", u, (P) => {
649
- P ? console.error(P) : console.log("Featurebase identify completed");
647
+ console.log(u), window.Featurebase("identify", u, (I) => {
648
+ I ? console.error(I) : console.log("Featurebase identify completed");
650
649
  });
651
- }, [T, g] = R(!1), [x, O] = R(0), w = () => {
650
+ }, [T, g] = x(!1), [V, O] = x(0), w = () => {
652
651
  const u = window;
653
652
  if (typeof u.Featurebase == "function") {
654
653
  if (console.log("Initializing Featurebase messenger widget"), !a?.available)
@@ -660,17 +659,17 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
660
659
  ...a?.data
661
660
  },
662
661
  (m) => {
663
- m ? console.error(m) : (console.log("Featurebase messenger completed"), g(!0), u.Featurebase("onUnreadCountChange", function(P) {
664
- O(P);
662
+ m ? console.error(m) : (console.log("Featurebase messenger completed"), g(!0), u.Featurebase("onUnreadCountChange", function(I) {
663
+ O(I);
665
664
  }));
666
665
  }
667
666
  );
668
667
  }
669
- }, A = () => {
668
+ }, D = () => {
670
669
  const u = [];
671
670
  if (o?.data?.isAdmin) {
672
- const P = ["Server", "Addon", "Pipeline"];
673
- u.push(...P);
671
+ const I = ["Server", "Addon", "Pipeline"];
672
+ u.push(...I);
674
673
  } else l?.disableChangelog || u.push("Highlights");
675
674
  const m = window;
676
675
  return typeof m.Featurebase == "function" && m.Featurebase("init_changelog_widget", {
@@ -686,7 +685,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
686
685
  category: u,
687
686
  theme: "dark"
688
687
  }), !1;
689
- }, V = () => {
688
+ }, R = () => {
690
689
  const u = window;
691
690
  return typeof u.Featurebase == "function" && u.Featurebase(
692
691
  "initialize_feedback_widget",
@@ -728,9 +727,9 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
728
727
  ), !1;
729
728
  };
730
729
  H(() => {
731
- o?.name && l && (l.disableFeedback || t || (i(), d(), A(), V(), L()));
730
+ o?.name && l && (l.disableFeedback || t || (i(), d(), D(), R(), L()));
732
731
  }, [o?.name, t, l]);
733
- const [F, $] = R(!1);
732
+ const [F, $] = x(!1);
734
733
  H(() => {
735
734
  !o?.name || !s || !a || !t || F || (y(), B(), $(!0));
736
735
  }, [
@@ -760,7 +759,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
760
759
  ...m && { articleId: m }
761
760
  }
762
761
  });
763
- }, [b, v] = R(!1), k = document.getElementById("fb-messenger-root"), r = (u) => k instanceof HTMLElement && (k.style.display = u ? "block" : "none");
762
+ }, [b, v] = x(!1), k = document.getElementById("fb-messenger-root"), r = (u) => k instanceof HTMLElement && (k.style.display = u ? "block" : "none");
764
763
  H(() => {
765
764
  !t || !T || r(b);
766
765
  }, [t, T, b]), H(() => {
@@ -771,36 +770,36 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
771
770
  });
772
771
  }, [t, T]);
773
772
  const f = (u = "Home", m) => {
774
- const P = window;
775
- if (typeof P.Featurebase != "function") {
773
+ const I = window;
774
+ if (typeof I.Featurebase != "function") {
776
775
  window.alert("Featurebase SDK is not loaded yet. Please try again later."), console.warn("Featurebase SDK is not loaded yet.");
777
776
  return;
778
777
  }
779
778
  if (b) {
780
- P.Featurebase("hide"), v(!1);
779
+ I.Featurebase("hide"), v(!1);
781
780
  return;
782
781
  }
783
782
  switch (v(!0), u) {
784
783
  case "Home":
785
- P.Featurebase("show");
784
+ I.Featurebase("show");
786
785
  break;
787
786
  case "Messages":
788
- P.Featurebase("show", "messages");
787
+ I.Featurebase("show", "messages");
789
788
  break;
790
789
  case "Changelog":
791
- P.Featurebase("show", "changelog");
790
+ I.Featurebase("show", "changelog");
792
791
  break;
793
792
  case "Help":
794
- P.Featurebase("show", "help");
793
+ I.Featurebase("show", "help");
795
794
  break;
796
795
  case "ShowArticle":
797
- m ? P.Featurebase("showArticle", m) : P.Featurebase("show", "help");
796
+ m ? I.Featurebase("showArticle", m) : I.Featurebase("show", "help");
798
797
  break;
799
798
  case "NewMessage":
800
- P.Featurebase("showNewMessage", m);
799
+ I.Featurebase("showNewMessage", m);
801
800
  break;
802
801
  default:
803
- P.Featurebase("show");
802
+ I.Featurebase("show");
804
803
  break;
805
804
  }
806
805
  };
@@ -812,7 +811,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
812
811
  openFeedback: W,
813
812
  openPortal: C,
814
813
  messengerLoaded: T,
815
- unreadCount: x,
814
+ unreadCount: V,
816
815
  messengerVisibility: b,
817
816
  setMessengerVisibility: v,
818
817
  loaded: t
@@ -820,17 +819,17 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
820
819
  children: e
821
820
  }
822
821
  );
823
- }, ao = ({
822
+ }, so = ({
824
823
  projectName: e,
825
824
  list: t,
826
825
  isLoading: n,
827
826
  attributes: l = []
828
827
  }) => {
829
- const [o, s] = R({
828
+ const [o, s] = x({
830
829
  label: "",
831
830
  tags: [],
832
831
  active: !1
833
- }), a = (t?.accessLevel || 0) >= 30, { tags: h } = Xe(), { data: i = [] } = os(), d = U(
832
+ }), a = (t?.accessLevel || 0) >= 30, { tags: h } = Xe(), { data: i = [] } = ns(), d = U(
834
833
  () => i.filter((g) => g.scope?.includes("list")).map((g) => ({
835
834
  name: g.name,
836
835
  data: g.data
@@ -857,9 +856,9 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
857
856
  );
858
857
  H(() => {
859
858
  if (t) {
860
- const g = t.attrib || {}, O = [...d, ...l].reduce((w, { name: A }) => {
861
- const V = g[A];
862
- return w[A] = V || "", w;
859
+ const g = t.attrib || {}, O = [...d, ...l].reduce((w, { name: D }) => {
860
+ const R = g[D];
861
+ return w[D] = R || "", w;
863
862
  }, {});
864
863
  s({
865
864
  label: t?.label || "",
@@ -869,13 +868,13 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
869
868
  });
870
869
  }
871
870
  }, [t, JSON.stringify(l), JSON.stringify(d)]);
872
- const [S] = ns(), y = (g) => l.some((x) => x.name === g) || d.some((x) => x.name === g), T = K(
873
- async (g, x) => {
871
+ const [S] = rs(), y = (g) => l.some((V) => V.name === g) || d.some((V) => V.name === g), T = K(
872
+ async (g, V) => {
874
873
  if (!t?.id) return console.warn("No list ID provided");
875
874
  let O;
876
875
  if (y(g)) {
877
876
  const w = t.attrib || {};
878
- x === "" && g === "category" ? O = {
877
+ V === "" && g === "category" ? O = {
879
878
  attrib: {
880
879
  ...w,
881
880
  [g]: null
@@ -883,16 +882,16 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
883
882
  } : O = {
884
883
  attrib: {
885
884
  ...w,
886
- [g]: x
885
+ [g]: V
887
886
  }
888
- }, s((A) => ({ ...A, [g]: x }));
887
+ }, s((D) => ({ ...D, [g]: V }));
889
888
  } else {
890
- const w = { [g]: x };
891
- O = w, s((A) => ({ ...A, ...w }));
889
+ const w = { [g]: V };
890
+ O = w, s((D) => ({ ...D, ...w }));
892
891
  }
893
892
  try {
894
893
  await S({
895
- listId: t.id,
894
+ entityListId: t.id,
896
895
  projectName: e,
897
896
  entityListPatchModel: O
898
897
  });
@@ -903,7 +902,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
903
902
  [t?.id, t?.attrib, e, S, d, l]
904
903
  );
905
904
  return /* @__PURE__ */ p(
906
- jt,
905
+ Kt,
907
906
  {
908
907
  enableEditing: a,
909
908
  projectName: e,
@@ -914,7 +913,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
914
913
  title: "Attributes"
915
914
  }
916
915
  );
917
- }, oo = ({ list: e, isLoading: t }) => {
916
+ }, ao = ({ list: e, isLoading: t }) => {
918
917
  const n = Object.fromEntries(
919
918
  Object.entries(e?.data || {}).filter(
920
919
  ([s, a]) => !["category", "count"].includes(s) && a !== null && typeof a != "object"
@@ -935,36 +934,36 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
935
934
  data: { type: "string" },
936
935
  hidden: !1
937
936
  }));
938
- return /* @__PURE__ */ p(Kt, { form: l, fields: o, isLoading: !!t });
939
- }, no = ({
937
+ return /* @__PURE__ */ p(qt, { form: l, fields: o, isLoading: !!t });
938
+ }, oo = ({
940
939
  label: e,
941
940
  description: t,
942
941
  features: n,
943
942
  isCloseable: l = !0,
944
943
  addon: o
945
944
  }) => {
946
- const [s, a] = R(!1), { setPowerpackDialog: h, selectedPowerPack: i, powerpackDialog: d, addonDialog: c } = Ht(), S = !!o || !!c, y = e ?? d?.label ?? c?.label, T = t ?? d?.description ?? (c ? c.features[c.selectedFeature ?? ""]?.description ?? Object.values(c.features)[0]?.description : void 0), g = o?.icon ?? (c ? c.icon : "bolt");
945
+ const [s, a] = x(!1), { setPowerpackDialog: h, selectedPowerPack: i, powerpackDialog: d, addonDialog: c } = Ht(), S = !!o || !!c, y = e ?? d?.label ?? c?.label, T = t ?? d?.description ?? (c ? c.features[c.selectedFeature ?? ""]?.description ?? Object.values(c.features)[0]?.description : void 0), g = o?.icon ?? (c ? c.icon : "bolt");
947
946
  if (!d && !c && (!e || !t)) return null;
948
947
  const O = (() => {
949
948
  if (n)
950
949
  return Object.entries(n);
951
950
  if (c) {
952
- const A = c.featureOrder.filter((V) => V in c.features).map(
953
- (V) => [V, c.features[V]]
951
+ const D = c.featureOrder.filter((R) => R in c.features).map(
952
+ (R) => [R, c.features[R]]
954
953
  );
955
954
  if (c.selectedFeature) {
956
- const V = A.findIndex(([L]) => L === c.selectedFeature);
957
- if (V > 0) {
958
- const [L] = A.splice(V, 1);
959
- A.unshift(L);
955
+ const R = D.findIndex(([L]) => L === c.selectedFeature);
956
+ if (R > 0) {
957
+ const [L] = D.splice(R, 1);
958
+ D.unshift(L);
960
959
  }
961
960
  }
962
- return A;
961
+ return D;
963
962
  }
964
- return Object.entries(Yt).sort(([A], [V]) => {
965
- if (A === i) return -1;
966
- if (V === i) return 1;
967
- const L = Re.indexOf(A), B = Re.indexOf(V);
963
+ return Object.entries(jt).sort(([D], [R]) => {
964
+ if (D === i) return -1;
965
+ if (R === i) return 1;
966
+ const L = xe.indexOf(D), B = xe.indexOf(R);
968
967
  return L > -1 && B > -1 ? L - B : L > -1 ? -1 : B > -1 ? 1 : 0;
969
968
  });
970
969
  })();
@@ -998,18 +997,18 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
998
997
  /* @__PURE__ */ p("span", { className: "green", children: "Power Features" }),
999
998
  " with an AYON subscription."
1000
999
  ] }),
1001
- /* @__PURE__ */ p("ul", { children: O.slice(0, s ? void 0 : 5).map(([A, V]) => /* @__PURE__ */ N("li", { children: [
1002
- /* @__PURE__ */ p(pe, { icon: V.icon ?? "check" }),
1003
- /* @__PURE__ */ p("span", { children: V.bullet })
1004
- ] }, A)) }),
1000
+ /* @__PURE__ */ p("ul", { children: O.slice(0, s ? void 0 : 5).map(([D, R]) => /* @__PURE__ */ N("li", { children: [
1001
+ /* @__PURE__ */ p(pe, { icon: R.icon ?? "check" }),
1002
+ /* @__PURE__ */ p("span", { children: R.bullet })
1003
+ ] }, D)) }),
1005
1004
  !s && O.length > 5 && /* @__PURE__ */ p(kt, { onClick: () => a(!0), children: "Show all" })
1006
1005
  ] }),
1007
1006
  /* @__PURE__ */ p(Ct, { addon: o?.name, children: /* @__PURE__ */ p(Ot, {}) })
1008
1007
  ]
1009
1008
  }
1010
1009
  );
1011
- }, ro = (e) => {
1012
- const { projectName: t } = Xe(), { contributions: n } = tt("projectTable.customizeSection");
1010
+ }, no = (e) => {
1011
+ const { projectName: t } = Xe(), { contributions: n } = st("projectTable.customizeSection");
1013
1012
  return U(() => {
1014
1013
  const l = { projectName: t, page: e };
1015
1014
  return n.filter((o) => !o.pages?.length || o.pages.includes(e)).map((o) => ({
@@ -1035,16 +1034,16 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1035
1034
  onUpdateEntity: i,
1036
1035
  ...d
1037
1036
  }) => {
1038
- const c = Je(), { onCreateView: S, getLatestSettings: y, markCacheDirty: T } = st();
1037
+ const c = Je(), { onCreateView: S, getLatestSettings: y, markCacheDirty: T } = Ze();
1039
1038
  return /* @__PURE__ */ p(
1040
1039
  e,
1041
1040
  {
1042
- router: { useParams: bs, useNavigate: et, useLocation: gs, useSearchParams: hs },
1041
+ router: { useParams: bs, useNavigate: tt, useLocation: gs, useSearchParams: hs },
1043
1042
  projectName: t,
1044
1043
  views: {
1045
1044
  ...c,
1046
1045
  settings: c.viewSettings,
1047
- updateViewSettings: (...g) => Ss(...g, c, S, y, T)
1046
+ updateViewSettings: (...g) => Wt(...g, c, S, y, T)
1048
1047
  },
1049
1048
  context: {},
1050
1049
  state: n,
@@ -1058,7 +1057,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1058
1057
  ...d
1059
1058
  }
1060
1059
  );
1061
- }, Us = ({ children: e, fields: t }) => /* @__PURE__ */ p("main", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ p(vs, { sidebar: /* @__PURE__ */ p(ys, { fields: t }), children: e }) }), lo = ({
1060
+ }, Us = ({ children: e, fields: t }) => /* @__PURE__ */ p("main", { style: { width: "100%", height: "100%" }, children: /* @__PURE__ */ p(vs, { sidebar: /* @__PURE__ */ p(ys, { fields: t }), children: e }) }), ro = ({
1062
1061
  Component: e,
1063
1062
  projectName: t,
1064
1063
  slicer: n,
@@ -1094,8 +1093,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1094
1093
  "and",
1095
1094
  " ",
1096
1095
  /* @__PURE__ */ p("a", { href: "https://ynput.io/privacy-policy", target: "_blank", children: "Privacy Policy" })
1097
- ] }), io = ({ onLogin: e, loading: t = null, isFirstTime: n = !1 }) => {
1098
- const l = ms(), o = new URLSearchParams(window.location.search), [s, a] = R(""), [h, i] = R(""), d = o.getAll("provider"), [c, S] = R(!1), [y, T] = R(!1), { data: g, isLoading: x } = rs({ full: !0 }), O = g || {}, { motd: w, loginPageBrand: A = "", loginPageBackground: V = "" } = O;
1096
+ ] }), lo = ({ onLogin: e, loading: t = null, isFirstTime: n = !1 }) => {
1097
+ const l = Ss(), o = new URLSearchParams(window.location.search), [s, a] = x(""), [h, i] = x(""), d = o.getAll("provider"), [c, S] = x(!1), [y, T] = x(!1), { data: g, isLoading: V } = ls({ full: !0 }), O = g || {}, { motd: w, loginPageBrand: D = "", loginPageBackground: R = "" } = O;
1099
1098
  H(() => {
1100
1099
  document.title = "Login • AYON";
1101
1100
  }, []), H(() => {
@@ -1125,7 +1124,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1125
1124
  const v = new URLSearchParams(window.location.search);
1126
1125
  if (!v.toString()) return;
1127
1126
  window.history.replaceState({}, "", window.location.pathname);
1128
- let k = (O?.ssoOptions || []).find((I) => I.name === b);
1127
+ let k = (O?.ssoOptions || []).find((P) => P.name === b);
1129
1128
  if (b === "_token" && (k = {
1130
1129
  name: "secure token",
1131
1130
  callback: "/api/auth/tokenauth"
@@ -1134,8 +1133,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1134
1133
  let r = !1, f = null, u = null;
1135
1134
  try {
1136
1135
  console.debug("SSO Callback", k.callback), f = await Me.get(k.callback, { params: v }), r = !0;
1137
- } catch (I) {
1138
- const E = I;
1136
+ } catch (P) {
1137
+ const E = P;
1139
1138
  console.error("SSO Callback error", E.response?.data), Q.error(
1140
1139
  /* @__PURE__ */ N(ae, { children: [
1141
1140
  /* @__PURE__ */ N("p", { children: [
@@ -1147,13 +1146,13 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1147
1146
  ] })
1148
1147
  );
1149
1148
  }
1150
- let m = null, P = null;
1149
+ let m = null, I = null;
1151
1150
  if (r && f?.data?.user) {
1152
1151
  console.debug("SSO Callback response", f.data);
1153
- const I = f.data;
1154
- Q.info(I.detail || `Logged in as ${I.user.name}`), m = I.user, P = I.token, I.redirectUrl && (u = I.redirectUrl);
1152
+ const P = f.data;
1153
+ Q.info(P.detail || `Logged in as ${P.user.name}`), m = P.user, I = P.token, P.redirectUrl && (u = P.redirectUrl);
1155
1154
  } else r && (Q.error("Unable to login using SSO"), r = !1);
1156
- r ? (!u && localStorage.getItem("auth-preferred-url") && (u = localStorage.getItem("auth-preferred-url")), u || (u = window.location.origin), T(!1), localStorage.removeItem("auth-preferred-url"), e({ user: m, accessToken: P, redirectUrl: u }), l(Fe.util.resetApiState())) : (console.log("SSO Callback failed, clearing auth state"), T(!1), localStorage.removeItem("auth-preferred-url"));
1155
+ r ? (!u && localStorage.getItem("auth-preferred-url") && (u = localStorage.getItem("auth-preferred-url")), u || (u = window.location.origin), T(!1), localStorage.removeItem("auth-preferred-url"), e({ user: m, accessToken: I, redirectUrl: u }), l(Fe.util.resetApiState())) : (console.log("SSO Callback failed, clearing auth state"), T(!1), localStorage.removeItem("auth-preferred-url"));
1157
1156
  };
1158
1157
  H(() => {
1159
1158
  B(O.ssoOptions);
@@ -1161,11 +1160,11 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1161
1160
  const F = c || !O?.hidePasswordAuth || d?.length && d.includes("password") || null, $ = !c && (d || !F), W = U(() => O.ssoOptions?.length ? O.ssoOptions.filter(
1162
1161
  ({ name: C, hidden: b }) => !b && (!d?.length || d.includes(C) || c)
1163
1162
  ).map(({ name: C, title: b, url: v, args: k, redirectKey: r, icon: f, color: u, textColor: m }) => {
1164
- const P = { ...k }, I = `${window.location.origin}/login/${C}`;
1165
- P[r] = I;
1166
- const E = new URLSearchParams(P), _ = `${v}?${E}`;
1163
+ const I = { ...k }, P = `${window.location.origin}/login/${C}`;
1164
+ I[r] = P;
1165
+ const E = new URLSearchParams(I), _ = `${v}?${E}`;
1167
1166
  return /* @__PURE__ */ p(
1168
- Pt,
1167
+ It,
1169
1168
  {
1170
1169
  name: b || C,
1171
1170
  url: _,
@@ -1176,16 +1175,16 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1176
1175
  C
1177
1176
  );
1178
1177
  }) : null, [O.ssoOptions, d, c]);
1179
- return y || x ? n ? null : /* @__PURE__ */ p(ae, { children: t }) : /* @__PURE__ */ p(ae, { children: /* @__PURE__ */ N("main", { className: "center", children: [
1180
- V && /* @__PURE__ */ p(It, { src: V }),
1181
- /* @__PURE__ */ N(Dt, { children: [
1182
- (w || A) && /* @__PURE__ */ N(Ve, { children: [
1183
- A && /* @__PURE__ */ p(At, { src: A }),
1184
- /* @__PURE__ */ p(Vt, { children: /* @__PURE__ */ p(Cs, { remarkPlugins: [ks], children: w }) })
1178
+ return y || V ? n ? null : /* @__PURE__ */ p(ae, { children: t }) : /* @__PURE__ */ p(ae, { children: /* @__PURE__ */ N("main", { className: "center", children: [
1179
+ R && /* @__PURE__ */ p(Pt, { src: R }),
1180
+ /* @__PURE__ */ N(At, { children: [
1181
+ (w || D) && /* @__PURE__ */ N(Re, { children: [
1182
+ D && /* @__PURE__ */ p(Dt, { src: D }),
1183
+ /* @__PURE__ */ p(Rt, { children: /* @__PURE__ */ p(Cs, { remarkPlugins: [ks], children: w }) })
1185
1184
  ] }),
1186
- /* @__PURE__ */ N(Ve, { children: [
1187
- /* @__PURE__ */ p(xt, { src: "/AYON.svg" }),
1188
- /* @__PURE__ */ N(Rt, { children: [
1185
+ /* @__PURE__ */ N(Re, { children: [
1186
+ /* @__PURE__ */ p(Vt, { src: "/AYON.svg" }),
1187
+ /* @__PURE__ */ N(xt, { children: [
1189
1188
  F ? /* @__PURE__ */ N("form", { onSubmit: L, children: [
1190
1189
  /* @__PURE__ */ p("label", { id: "username", children: "Username" }),
1191
1190
  /* @__PURE__ */ p(
@@ -1228,7 +1227,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1228
1227
  ] })
1229
1228
  ] })
1230
1229
  ] }) });
1231
- }, co = ({ sidebar: e, children: t }) => {
1230
+ }, io = ({ sidebar: e, children: t }) => {
1232
1231
  const [n, l] = Ts();
1233
1232
  return e ? /* @__PURE__ */ N(
1234
1233
  Os,
@@ -1242,17 +1241,17 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1242
1241
  ]
1243
1242
  }
1244
1243
  ) : /* @__PURE__ */ p(ae, { children: t });
1245
- }, uo = ({ fields: e }) => {
1244
+ }, co = ({ fields: e }) => {
1246
1245
  const t = e.join(","), n = U(
1247
- () => Ps.filter((l) => e.includes(l.value)),
1246
+ () => Is.filter((l) => e.includes(l.value)),
1248
1247
  // fields is compared by content: addons pass a new array literal every render
1249
1248
  // eslint-disable-next-line react-hooks/exhaustive-deps
1250
1249
  [t]
1251
1250
  );
1252
- return /* @__PURE__ */ p(Ut, { wrap: !0, style: { height: "100%" }, children: /* @__PURE__ */ p(Is, { sliceFields: n, pinnedSliceType: "hierarchy" }) });
1251
+ return /* @__PURE__ */ p(Ut, { wrap: !0, style: { height: "100%" }, children: /* @__PURE__ */ p(Ps, { sliceFields: n, pinnedSliceType: "hierarchy" }) });
1253
1252
  }, zs = () => {
1254
1253
  }, nt = () => {
1255
- const e = Je(), { updateViewSettings: t } = st(), { viewType: n, viewSettings: l, isLoadingViews: o } = e, s = K(
1254
+ const e = Je(), { updateViewSettings: t } = Ze(), { viewType: n, viewSettings: l, isLoadingViews: o } = e, s = K(
1256
1255
  (a) => t(a, zs, void 0, {}),
1257
1256
  [t]
1258
1257
  );
@@ -1273,7 +1272,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1273
1272
  getParentFolderIds: l,
1274
1273
  getChildFolderIds: o,
1275
1274
  getFolderIdsWithoutChildren: s
1276
- } = Wt();
1275
+ } = Yt();
1277
1276
  return U(
1278
1277
  () => ({
1279
1278
  // attrib is typed `object` in the api model
@@ -1293,8 +1292,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1293
1292
  s
1294
1293
  ]
1295
1294
  );
1296
- }, po = (e) => {
1297
- const { data: t } = ls({ projectName: e }), { rowSelection: n, sliceType: l } = Ye(), o = U(
1295
+ }, uo = (e) => {
1296
+ const { data: t } = is({ projectName: e }), { rowSelection: n, sliceType: l } = Ye(), o = U(
1298
1297
  () => ({
1299
1298
  sliceType: l,
1300
1299
  selection: Object.keys(n).filter((h) => n[h])
@@ -1305,7 +1304,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1305
1304
  () => ({ projectName: e, project: t, slicer: o, projectFolders: s, views: a }),
1306
1305
  [e, t, o, s, a]
1307
1306
  );
1308
- }, fo = (e) => {
1307
+ }, po = (e) => {
1309
1308
  const t = nt();
1310
1309
  return U(() => ({ selectedProjects: e, views: t }), [e, t]);
1311
1310
  }, Hs = (e) => ["to", "run", "dialog", "menu", "popover", "component"].find(
@@ -1328,25 +1327,25 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1328
1327
  } : {},
1329
1328
  ...c?.length ? { items: Ce(c, t) } : {}
1330
1329
  };
1331
- }), mo = ({
1330
+ }), fo = ({
1332
1331
  contribution: e,
1333
1332
  context: t,
1334
1333
  renderButton: n,
1335
1334
  autoOpen: l,
1336
1335
  onContext: o
1337
1336
  }) => {
1338
- const s = e, a = Hs(s), h = et(), i = U(
1337
+ const s = e, a = Hs(s), h = tt(), i = U(
1339
1338
  () => ({ ...t, navigate: (r) => h(r) }),
1340
1339
  [t, h]
1341
- ), [d, c] = R(!!l && a === "dialog"), S = K(() => c(!1), []), y = U(() => ({ ...i, close: S }), [i, S]), { menuOpen: T, setMenuOpen: g, toggleMenuOpen: x } = Ze(), [O, w] = R(!!l && a === "popover"), A = K(() => w(!1), []), V = K(() => {
1340
+ ), [d, c] = x(!!l && a === "dialog"), S = K(() => c(!1), []), y = U(() => ({ ...i, close: S }), [i, S]), { menuOpen: T, setMenuOpen: g, toggleMenuOpen: V } = et(), [O, w] = x(!!l && a === "popover"), D = K(() => w(!1), []), R = K(() => {
1342
1341
  O || g(!1), w((r) => !r);
1343
1342
  }, [O, g]), L = U(
1344
- () => ({ ...i, close: A }),
1345
- [i, A]
1343
+ () => ({ ...i, close: D }),
1344
+ [i, D]
1346
1345
  ), B = U(
1347
- () => s.popover ? { ...i, popoverOpen: O, togglePopover: V } : i,
1348
- [s.popover, i, O, V]
1349
- ), F = `addon:${s.slot}:${s.key}`, [$, W] = R([]), [C, b] = R(null);
1346
+ () => s.popover ? { ...i, popoverOpen: O, togglePopover: R } : i,
1347
+ [s.popover, i, O, R]
1348
+ ), F = `addon:${s.slot}:${s.key}`, [$, W] = x([]), [C, b] = x(null);
1350
1349
  H(
1351
1350
  () => o?.(
1352
1351
  a === "dialog" ? y : a === "popover" ? L : i
@@ -1386,29 +1385,29 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1386
1385
  if (a === "to") h(s.to);
1387
1386
  else if (a === "run") Es(e, i);
1388
1387
  else if (a === "dialog") c((r) => !r);
1389
- else if (a === "popover") V();
1388
+ else if (a === "popover") R();
1390
1389
  else if (a === "menu") {
1391
1390
  if (T === F) return g(!1);
1392
- us(s.menu).then((r) => {
1391
+ ds(s.menu).then((r) => {
1393
1392
  if (typeof r != "function") throw new Error('"menu" has no default export function');
1394
1393
  return r(
1395
- ds(s, i)
1394
+ ps(s, i)
1396
1395
  );
1397
1396
  }).then((r) => {
1398
- W(Ce(r, (f) => Le(s, f))), x(F);
1397
+ W(Ce(r, (f) => Le(s, f))), V(F);
1399
1398
  }).catch((r) => Le(s, r));
1400
1399
  }
1401
1400
  },
1402
1401
  onMouseEnter: () => a && a !== "to" && Ne(s[a])
1403
1402
  }),
1404
- a === "dialog" && d && /* @__PURE__ */ p(As, { contribution: e, context: y }),
1403
+ a === "dialog" && d && /* @__PURE__ */ p(Ds, { contribution: e, context: y }),
1405
1404
  a === "menu" && /* @__PURE__ */ p(at, { id: F, target: C, children: /* @__PURE__ */ p(ot, { menu: $ }) }),
1406
1405
  v
1407
1406
  ] });
1408
1407
  }, Ws = (e = []) => {
1409
1408
  const t = {};
1410
1409
  for (const { id: n, entityType: l } of e) {
1411
- if (!(l in xs)) continue;
1410
+ if (!(l in Vs)) continue;
1412
1411
  const o = l;
1413
1412
  t[o] = { ...t[o], [n]: !0 };
1414
1413
  }
@@ -1422,7 +1421,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1422
1421
  ...a?.name && { name: a.name },
1423
1422
  ...a?.label && { label: a.label }
1424
1423
  };
1425
- }), ho = ({
1424
+ }), mo = ({
1426
1425
  projectName: e,
1427
1426
  entityType: t,
1428
1427
  multiSelect: n,
@@ -1430,7 +1429,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1430
1429
  onSubmit: o,
1431
1430
  onClose: s
1432
1431
  }) => /* @__PURE__ */ p(
1433
- Rs,
1432
+ xs,
1434
1433
  {
1435
1434
  projectName: e,
1436
1435
  entityType: t,
@@ -1440,15 +1439,15 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1440
1439
  onSubmit: (a, h) => o(Ys(a, h, t, e))
1441
1440
  }
1442
1441
  ), js = () => {
1443
- }, go = ({ projectName: e }) => {
1444
- const { contributions: t } = tt("app.service"), n = U(() => ({ projectName: e }), [e]);
1442
+ }, ho = ({ projectName: e }) => {
1443
+ const { contributions: t } = st("app.service"), n = U(() => ({ projectName: e }), [e]);
1445
1444
  return /* @__PURE__ */ p(ae, { children: t.map((l) => /* @__PURE__ */ p(
1446
1445
  ke,
1447
1446
  {
1448
1447
  contribution: l,
1449
1448
  context: n,
1450
1449
  error: (o) => /* @__PURE__ */ p(
1451
- Vs,
1450
+ Rs,
1452
1451
  {
1453
1452
  contribution: l,
1454
1453
  error: o,
@@ -1458,7 +1457,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1458
1457
  },
1459
1458
  l.key
1460
1459
  )) });
1461
- }, bo = ({
1460
+ }, go = ({
1462
1461
  items: e,
1463
1462
  icon: t = "more_horiz",
1464
1463
  label: n,
@@ -1470,12 +1469,12 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1470
1469
  onError: i,
1471
1470
  "data-testid": d
1472
1471
  }) => {
1473
- const { menuOpen: c, toggleMenuOpen: S } = Ze(), y = `addon-more-menu:${Mt()}`, T = c === y, [g, x] = R(null), O = U(() => Ce(e, i), [e, i]), w = l || n || "More";
1472
+ const { menuOpen: c, toggleMenuOpen: S } = et(), y = `addon-more-menu:${Mt()}`, T = c === y, [g, V] = x(null), O = U(() => Ce(e, i), [e, i]), w = l || n || "More";
1474
1473
  return /* @__PURE__ */ N(ae, { children: [
1475
1474
  /* @__PURE__ */ p(
1476
1475
  Se,
1477
1476
  {
1478
- ref: x,
1477
+ ref: V,
1479
1478
  icon: t,
1480
1479
  label: n,
1481
1480
  variant: o,
@@ -1507,7 +1506,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1507
1506
  "hasReviewables",
1508
1507
  "createdAt",
1509
1508
  "updatedAt"
1510
- ]), wo = ({
1509
+ ]), bo = ({
1511
1510
  filterTypes: e = [],
1512
1511
  projectNames: t,
1513
1512
  scope: n,
@@ -1516,7 +1515,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1516
1515
  config: s,
1517
1516
  power: a
1518
1517
  }) => {
1519
- const h = qt(), i = o.productTypes || [], d = o.productBaseTypes || [];
1518
+ const h = Qt(), i = o.productTypes || [], d = o.productBaseTypes || [];
1520
1519
  let c = [];
1521
1520
  const S = /* @__PURE__ */ new Map(), y = l || (n ? Array.isArray(n) ? n : [n] : []).map((v) => ({
1522
1521
  scope: v,
@@ -1525,25 +1524,25 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1525
1524
  Array.from(new Set(y.flatMap(({ filterTypes: b }) => b))).filter(
1526
1525
  (b) => y.filter(({ filterTypes: v }) => v.includes(b)).length > 1
1527
1526
  )
1528
- ), x = y.some(
1527
+ ), V = y.some(
1529
1528
  (b) => ["entitySubType", "status"].some((v) => b.filterTypes.includes(v))
1530
1529
  ), O = y.some(
1531
1530
  (b) => ["assignees", "users", "author"].some(
1532
1531
  (v) => b.filterTypes.includes(v)
1533
1532
  )
1534
- ), { data: w = {} } = is(
1533
+ ), { data: w = {} } = cs(
1535
1534
  {
1536
1535
  projects: t
1537
1536
  },
1538
1537
  {
1539
- skip: !t?.length || !x
1538
+ skip: !t?.length || !V
1540
1539
  }
1541
- ), { data: A = [] } = cs(
1540
+ ), { data: D = [] } = us(
1542
1541
  { projects: t },
1543
1542
  {
1544
1543
  skip: !t?.length || !O
1545
1544
  }
1546
- ), { attributes: V } = Qe(), L = Nt(zt), B = L?.attribFields?.length ? L.attribFields : V, F = /* @__PURE__ */ new Map();
1545
+ ), { attributes: R } = Qe(), L = Nt(zt), B = L?.attribFields?.length ? L.attribFields : R, F = /* @__PURE__ */ new Map();
1547
1546
  y.forEach(({ scope: b, filterTypes: v }) => {
1548
1547
  v.includes("attributes") && B.filter((k) => k.scope?.includes(b)).forEach((k) => {
1549
1548
  F.set(
@@ -1645,7 +1644,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1645
1644
  );
1646
1645
  r && (Object.values(w).forEach((f) => {
1647
1646
  (f?.statuses || []).filter((m) => m.scope?.includes(b)).forEach((m) => {
1648
- r.values?.some((P) => P.id === m.name) || r.values?.push({
1647
+ r.values?.some((I) => I.id === m.name) || r.values?.push({
1649
1648
  id: m.name,
1650
1649
  label: m.name,
1651
1650
  icon: m.icon,
@@ -1661,7 +1660,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1661
1660
  k,
1662
1661
  g.has("assignees")
1663
1662
  );
1664
- r && (A.forEach((f) => {
1663
+ r && (D.forEach((f) => {
1665
1664
  r.values?.some((u) => u.id === f.name) || r.values?.push({
1666
1665
  id: f.name,
1667
1666
  label: f.attrib.fullName || f.name,
@@ -1669,8 +1668,8 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1669
1668
  icon: null
1670
1669
  });
1671
1670
  }), r.values?.sort((f, u) => {
1672
- const m = o.assignees?.filter((I) => I === f.id).length || 0;
1673
- return (o.assignees?.filter((I) => I === u.id).length || 0) - m;
1671
+ const m = o.assignees?.filter((P) => P === f.id).length || 0;
1672
+ return (o.assignees?.filter((P) => P === u.id).length || 0) - m;
1674
1673
  }), c.push(r));
1675
1674
  }
1676
1675
  if (v.includes("author")) {
@@ -1680,7 +1679,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1680
1679
  k,
1681
1680
  g.has("author")
1682
1681
  );
1683
- r && (A.forEach((f) => {
1682
+ r && (D.forEach((f) => {
1684
1683
  r.values?.some((u) => u.id === f.name) || r.values?.push({
1685
1684
  id: f.name,
1686
1685
  label: f.attrib.fullName || f.name,
@@ -1693,23 +1692,23 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1693
1692
  const r = Y("tags", s, k, g.has("tags"));
1694
1693
  if (r) {
1695
1694
  const f = /* @__PURE__ */ new Map();
1696
- Object.values(w).forEach((P) => {
1697
- P?.tags && P.tags.forEach((I) => {
1698
- f.has(I.name) || f.set(I.name, I);
1695
+ Object.values(w).forEach((I) => {
1696
+ I?.tags && I.tags.forEach((P) => {
1697
+ f.has(P.name) || f.set(P.name, P);
1699
1698
  });
1700
1699
  });
1701
1700
  const u = /* @__PURE__ */ new Map();
1702
- o.tags?.forEach((P) => {
1703
- const I = u.get(P);
1704
- if (I) {
1705
- I.count++;
1701
+ o.tags?.forEach((I) => {
1702
+ const P = u.get(I);
1703
+ if (P) {
1704
+ P.count++;
1706
1705
  return;
1707
1706
  } else {
1708
- const E = f.get(P);
1709
- u.set(P, {
1710
- id: P,
1707
+ const E = f.get(I);
1708
+ u.set(I, {
1709
+ id: I,
1711
1710
  type: "string",
1712
- label: P,
1711
+ label: I,
1713
1712
  values: [],
1714
1713
  color: E?.color || null,
1715
1714
  count: 1
@@ -1717,7 +1716,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1717
1716
  }
1718
1717
  });
1719
1718
  const m = Array.from(u.values()).sort(
1720
- (P, I) => I.count - P.count
1719
+ (I, P) => P.count - I.count
1721
1720
  );
1722
1721
  r.values?.push(...m), c.push(r);
1723
1722
  }
@@ -1801,11 +1800,11 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1801
1800
  (m) => m.scope?.includes(b) && // replaced by the dedicated extension option: publishing never sets this
1802
1801
  // attribute on representations, so filtering on it matches nothing
1803
1802
  !(v.includes("extension") && m.name === "extension")
1804
- ), f = ps(o.attributes) ? r : r.filter(
1803
+ ), f = fs(o.attributes) ? r : r.filter(
1805
1804
  (m) => o.attributes && o.attributes[m.name]
1806
1805
  );
1807
1806
  (s?.enableRelativeValues ? f : f.filter((m) => m.data.type !== "datetime")).forEach((m) => {
1808
- const P = o.attributes && o.attributes[m.name], I = m.data.enum, E = m.data.type, _ = [
1807
+ const I = o.attributes && o.attributes[m.name], P = m.data.enum, E = m.data.type, _ = [
1809
1808
  "list_of_strings",
1810
1809
  "list_of_integers",
1811
1810
  "list_of_any",
@@ -1824,7 +1823,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1824
1823
  if (m.data.enumResolver) {
1825
1824
  const ee = m.data;
1826
1825
  J.loadValuesKey = t?.[0], J.loadValues = async () => He(
1827
- P,
1826
+ I,
1828
1827
  await h(ee, t?.[0]),
1829
1828
  E
1830
1829
  );
@@ -1837,7 +1836,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
1837
1836
  "list_of_integers"
1838
1837
  ], Z = [];
1839
1838
  if (ge.includes(E)) {
1840
- const ee = He(P, I, E);
1839
+ const ee = He(I, P, E);
1841
1840
  Z.push(...ee);
1842
1841
  }
1843
1842
  if (E === "boolean") {
@@ -2223,9 +2222,9 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
2223
2222
  const l = [], o = [];
2224
2223
  if (t) {
2225
2224
  const s = (e || []).flatMap((a) => Array.isArray(a) ? a : [a]);
2226
- Qt(t, s).forEach(
2225
+ Xt(t, s).forEach(
2227
2226
  (a) => {
2228
- const h = a.icon, i = Xt(h);
2227
+ const h = a.icon, i = Jt(h);
2229
2228
  l.push({
2230
2229
  id: a.value.toString(),
2231
2230
  type: n,
@@ -2294,7 +2293,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
2294
2293
  return Number.MAX_SAFE_INTEGER;
2295
2294
  }, h = t ? [1, s.get(t) ?? Number.MAX_SAFE_INTEGER] : [0, a(e)], i = l ? [1, s.get(l) ?? Number.MAX_SAFE_INTEGER] : [0, a(n)];
2296
2295
  return h[0] - i[0] || h[1] - i[1];
2297
- }, vo = (e, t, n, l) => {
2296
+ }, wo = (e, t, n, l) => {
2298
2297
  const o = {
2299
2298
  folder: { conditions: [], operator: e?.operator || "and" },
2300
2299
  product: { conditions: [], operator: e?.operator || "and" },
@@ -2350,7 +2349,7 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
2350
2349
  const d = i;
2351
2350
  o[d].conditions = h.flatMap((c) => c[d]);
2352
2351
  }), o;
2353
- }, yo = (e, t, n) => {
2352
+ }, vo = (e, t, n) => {
2354
2353
  const l = {
2355
2354
  folder: [],
2356
2355
  product: [],
@@ -2397,199 +2396,208 @@ const Ue = 500, Bs = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, Ja = ({
2397
2396
  product: [...ce, "productName", "productBaseType"],
2398
2397
  representation: [...ce, "name", "extension"],
2399
2398
  user: [...ce]
2400
- }, Eo = (e, t) => e.map((n) => ({
2399
+ }, yo = (e, t) => e.map((n) => ({
2401
2400
  scope: n,
2402
2401
  filterTypes: Js[n].filter((l) => !t?.[n]?.includes(l))
2403
2402
  }));
2404
2403
  export {
2405
- yn as $createMediaNode,
2406
- En as $createMentionNode,
2407
- Sn as $createYouTubeNode,
2408
- kn as $getMarkdown,
2409
- Cn as $isMediaNode,
2410
- On as $isMentionNode,
2411
- Tn as $isYouTubeNode,
2412
- Pn as $setMarkdown,
2413
- Za as ACCESS_LEVEL_LABELS,
2404
+ vn as $createMediaNode,
2405
+ yn as $createMentionNode,
2406
+ En as $createYouTubeNode,
2407
+ Sn as $getMarkdown,
2408
+ kn as $isMediaNode,
2409
+ Cn as $isMentionNode,
2410
+ On as $isYouTubeNode,
2411
+ Tn as $setMarkdown,
2412
+ Ja as ACCESS_LEVEL_LABELS,
2414
2413
  In as ACTIVITY_LINK_LABEL,
2415
- Ja as AccessSearchInput,
2416
- Pe as AccessUser,
2417
- Co as AddColumnButton,
2418
- cn as AddNewLinks,
2419
- mo as AddonButton,
2420
- As as AddonDialog,
2421
- ho as AddonEntityPicker,
2422
- Oo as AddonLoadingScreen,
2423
- bo as AddonMoreMenu,
2424
- go as AddonServices,
2425
- To as AttributeEditor,
2426
- xe as BLOCK_DIALOG_CLOSE_CLASS,
2427
- on as Badge,
2428
- nn as BadgeWrapper,
2429
- Dn as CUSTOM_RANGE_ICON,
2414
+ Xa as AccessSearchInput,
2415
+ Ie as AccessUser,
2416
+ ko as AddColumnButton,
2417
+ ln as AddNewLinks,
2418
+ fo as AddonButton,
2419
+ Ds as AddonDialog,
2420
+ mo as AddonEntityPicker,
2421
+ Co as AddonLoadingScreen,
2422
+ go as AddonMoreMenu,
2423
+ ho as AddonServices,
2424
+ Oo as AttributeEditor,
2425
+ Ve as BLOCK_DIALOG_CLOSE_CLASS,
2426
+ an as Badge,
2427
+ on as BadgeWrapper,
2428
+ Pn as CUSTOM_RANGE_ICON,
2430
2429
  An as CUSTOM_RANGE_ID,
2431
- Vn as CellEditingDialog,
2432
- un as Chips,
2433
- Ll as ColumnHeaderMenuUI,
2434
- sl as ColumnMenuButton,
2435
- Po as ColumnsSettings,
2430
+ Dn as CellEditingDialog,
2431
+ cn as Chips,
2432
+ Hl as ColumnHeaderMenuUI,
2433
+ ul as ColumnMenuButton,
2434
+ To as ColumnsSettings,
2436
2435
  Io as ColumnsSettingsWithContext,
2437
- Vl as CustomDateRangeDialog,
2438
- Do as CustomizeButton,
2436
+ Bl as CustomDateRangeDialog,
2437
+ Po as CustomizeButton,
2439
2438
  Ao as DEFAULT_FEATURED_ORDER,
2440
- xn as DEFAULT_TOOLBAR,
2441
- fr as DELETE_CONFIRM_THRESHOLD,
2442
- br as DELETE_TYPE_ORDER,
2443
- Rn as DESCRIPTION_TOOLBAR,
2444
- eo as DateRangePicker,
2445
- mr as DeleteConfirmContent,
2446
- wr as DeleteEntitiesConfirmDialog,
2447
- dn as DescriptionSection,
2448
- Cr as DetailsDialog,
2449
- jt as DetailsPanelAttributesEditor,
2450
- Tr as DetailsPanelDetails,
2451
- Kt as DetailsSection,
2452
- Fn as DoneCheckbox,
2453
- Jr as ENTITY_TOOLTIP_TYPES,
2454
- Vo as EVERYONE_GROUP_KEY,
2455
- xo as EVERY_GUESTS_KEY,
2456
- Ro as EarlyPreview,
2457
- Mr as EmptyPlaceholder,
2458
- Ur as EmptyPlaceholderFlex,
2459
- $r as EmptyPlaceholderFlexWrapper,
2460
- pn as EntityIcon,
2461
- jr as EntityPanelUploader,
2462
- Kr as EntityPath,
2463
- Zr as EntityTooltip,
2464
- Fo as EnumEditor,
2465
- _o as EnumEditorItem,
2466
- fn as EnumItemDialog,
2439
+ Rn as DEFAULT_TOOLBAR,
2440
+ Er as DELETE_CONFIRM_THRESHOLD,
2441
+ Or as DELETE_TYPE_ORDER,
2442
+ Vn as DESCRIPTION_TOOLBAR,
2443
+ Za as DateRangePicker,
2444
+ Sr as DeleteConfirmContent,
2445
+ Tr as DeleteEntitiesConfirmDialog,
2446
+ un as DescriptionSection,
2447
+ Vr as DetailsDialog,
2448
+ Kt as DetailsPanelAttributesEditor,
2449
+ Fr as DetailsPanelDetails,
2450
+ qt as DetailsSection,
2451
+ xn as DoneCheckbox,
2452
+ rl as ENTITY_TOOLTIP_TYPES,
2453
+ Do as EVERYONE_GROUP_KEY,
2454
+ Ro as EVERY_GUESTS_KEY,
2455
+ Vo as EarlyPreview,
2456
+ Wr as EmptyPlaceholder,
2457
+ Kr as EmptyPlaceholderFlex,
2458
+ qr as EmptyPlaceholderFlexWrapper,
2459
+ dn as EntityIcon,
2460
+ tl as EntityPanelUploader,
2461
+ sl as EntityPath,
2462
+ ll as EntityTooltip,
2463
+ xo as EnumEditor,
2464
+ Fo as EnumEditorItem,
2465
+ pn as EnumItemDialog,
2467
2466
  _t as FEATURED_VERSION_TYPES,
2467
+ Fn as FILMSTRIP_ACTIVE_ATTRIBUTE,
2468
+ _n as FILMSTRIP_FILE_ATTRIBUTE,
2469
+ Ln as FILMSTRIP_POSITION_ATTRIBUTE,
2468
2470
  Js as FILTER_TYPES_BY_SCOPE,
2469
- _n as FLOATING_TOOLBAR,
2470
- Lo as FeaturedVersionOrder,
2471
+ Mn as FLOATING_TOOLBAR,
2472
+ _o as FeaturedVersionOrder,
2471
2473
  ws as FeedbackContext,
2472
- so as FeedbackProvider,
2473
- Pr as FieldLabel,
2474
- Ir as FileThumbnail,
2475
- ll as FilterErrorActions,
2474
+ to as FeedbackProvider,
2475
+ _r as FieldLabel,
2476
+ Lr as FileThumbnail,
2477
+ Nn as Filmstrip,
2478
+ Bn as FilmstripEntityCard,
2479
+ hl as FilterErrorActions,
2476
2480
  Ct as FreeTrialLink,
2477
- Mo as GROUP_KEY_PREFIX,
2478
- No as GUEST_KEY_PREFIX,
2479
- Ln as INSERT_MENTION_TRIGGER_COMMAND,
2480
- Gr as InfoMessage,
2481
- Wr as JsonViewer,
2482
- Bo as LegacyBadge,
2483
- mn as LinkManagerItem,
2484
- hn as LinksManager,
2485
- ao as ListAttributeForm,
2486
- oo as ListMetaData,
2487
- io as LoginPage,
2488
- Mn as MARKDOWN_TRANSFORMERS,
2489
- Nn as MENTION,
2490
- Bn as MENTION_REF_TYPES,
2491
- Un as MENTION_TRIGGER_BY_TYPE,
2492
- Sl as MENU_PORTAL_CONTENT_ID,
2493
- kl as MENU_PORTAL_DIALOG_ID,
2494
- $n as MarkdownEditor,
2495
- zn as MediaBlock,
2496
- Gn as MediaNode,
2497
- Hn as MentionNode,
2481
+ Lo as GROUP_KEY_PREFIX,
2482
+ Mo as GUEST_KEY_PREFIX,
2483
+ Un as INSERT_MENTION_TRIGGER_COMMAND,
2484
+ Xr as InfoMessage,
2485
+ Zr as JsonViewer,
2486
+ No as LegacyBadge,
2487
+ fn as LinkManagerItem,
2488
+ mn as LinksManager,
2489
+ so as ListAttributeForm,
2490
+ ao as ListMetaData,
2491
+ lo as LoginPage,
2492
+ $n as MARKDOWN_TRANSFORMERS,
2493
+ zn as MENTION,
2494
+ Gn as MENTION_REF_TYPES,
2495
+ Hn as MENTION_TRIGGER_BY_TYPE,
2496
+ Dl as MENU_PORTAL_CONTENT_ID,
2497
+ Rl as MENU_PORTAL_DIALOG_ID,
2498
+ Wn as MarkdownEditor,
2499
+ Yn as MediaBlock,
2500
+ jn as MediaNode,
2501
+ Kn as MentionNode,
2498
2502
  ot as Menu,
2499
2503
  at as MenuContainer,
2500
- Cl as MenuList,
2501
- Wn as NO_DATE,
2502
- Nr as Placeholder,
2503
- Uo as PowerpackButton,
2504
- no as PowerpackDialog,
2505
- co as ProjectPageLayoutHost,
2506
- lo as ProjectPageRemote,
2507
- $o as ProjectTableSettings,
2508
- hr as RefreshToast,
2504
+ Vl as MenuList,
2505
+ qn as NO_DATE,
2506
+ Yr as Placeholder,
2507
+ Bo as PowerpackButton,
2508
+ oo as PowerpackDialog,
2509
+ io as ProjectPageLayoutHost,
2510
+ ro as ProjectPageRemote,
2511
+ Uo as ProjectTableSettings,
2512
+ kr as RefreshToast,
2509
2513
  Ge as RemotePageWrapper,
2510
- Vs as ReportCrash,
2511
- zo as RequiredAddonVersion,
2512
- Dr as ReviewableCard,
2513
- Ar as ReviewableProgressCard,
2514
- Vr as ReviewableUpload,
2515
- qr as ReviewablesList,
2516
- Go as ReviewablesSelector,
2517
- Ho as SettingOption,
2518
- Wo as SettingSwitch,
2519
- Yo as SettingsPanel,
2520
- jo as SettingsPanelItemTemplate,
2521
- Ko as ShareOptionIcon,
2522
- rn as SimpleForm,
2523
- Fl as SimpleFormDialog,
2524
- qo as SizeSlider,
2525
- uo as SlicerHost,
2526
- Qo as SplitterStyles,
2527
- xr as StackedThumbnails,
2528
- Xo as StyledLink,
2529
- gn as SubtasksManagerWrapper,
2530
- al as SupportBubble,
2531
- gl as SyncButton,
2532
- Jo as TEAM_KEY_PREFIX,
2533
- Zo as TableGridSwitch,
2534
- Dl as TableSearch,
2535
- ml as TableSettingsFallback,
2536
- Rr as Thumbnail,
2537
- xl as ThumbnailSimple,
2538
- en as USER_KEY_PREFIX,
2539
- tn as UploadVersionDialog,
2540
- Yn as UserImage,
2541
- Ds as VersionUploadContext,
2542
- to as VersionUploadProvider,
2543
- Fr as Watchers,
2544
- jn as YouTubeEmbed,
2545
- Kn as YouTubeNode,
2546
- vr as buildChildrenDetails,
2547
- yr as buildEntityLabel,
2548
- Er as buildExpectedCounts,
2549
- Eo as buildScopes,
2550
- bl as buildSortMenuItem,
2551
- qn as createFeedMentionSource,
2514
+ Rs as ReportCrash,
2515
+ $o as RequiredAddonVersion,
2516
+ Mr as ReviewableCard,
2517
+ Nr as ReviewableProgressCard,
2518
+ Br as ReviewableUpload,
2519
+ al as ReviewablesList,
2520
+ zo as ReviewablesSelector,
2521
+ Go as SettingOption,
2522
+ Ho as SettingSwitch,
2523
+ Wo as SettingsPanel,
2524
+ Yo as SettingsPanelItemTemplate,
2525
+ jo as ShareOptionIcon,
2526
+ nn as SimpleForm,
2527
+ zl as SimpleFormDialog,
2528
+ Ko as SizeSlider,
2529
+ co as SlicerHost,
2530
+ qo as SplitterStyles,
2531
+ Ur as StackedThumbnails,
2532
+ Qo as StyledLink,
2533
+ hn as SubtasksManagerWrapper,
2534
+ dl as SupportBubble,
2535
+ Cl as SyncButton,
2536
+ Xo as TEAM_KEY_PREFIX,
2537
+ Jo as TableGridSwitch,
2538
+ Ml as TableSearch,
2539
+ Sl as TableSettingsFallback,
2540
+ $r as Thumbnail,
2541
+ Ul as ThumbnailSimple,
2542
+ Zo as USER_KEY_PREFIX,
2543
+ en as UploadVersionDialog,
2544
+ Qn as UserImage,
2545
+ As as VersionUploadContext,
2546
+ eo as VersionUploadProvider,
2547
+ zr as Watchers,
2548
+ Xn as YouTubeEmbed,
2549
+ Jn as YouTubeNode,
2550
+ Ir as buildChildrenDetails,
2551
+ Pr as buildEntityLabel,
2552
+ Ar as buildExpectedCounts,
2553
+ yo as buildScopes,
2554
+ Ol as buildSortMenuItem,
2555
+ Zn as createFeedMentionSource,
2552
2556
  ve as customRangeOption,
2553
- Qn as dateOptions,
2554
- Xn as datePresetOptions,
2555
- Jn as detectRelativeDatePattern,
2556
- Zn as filterDateFunctions,
2557
- er as generateDateOptions,
2557
+ er as dateOptions,
2558
+ tr as datePresetOptions,
2559
+ sr as detectRelativeDatePattern,
2560
+ ar as filterDateFunctions,
2561
+ or as generateDateOptions,
2558
2562
  ye as generateDatePresetOptions,
2559
2563
  Hs as getButtonAction,
2560
- Qr as getGroupedReviewables,
2561
- tr as getInlineMediaFileIds,
2562
- sr as getLinkLabel,
2563
- ar as getMediaKind,
2564
- or as getMentionTrigger,
2565
- nr as getProjectFileId,
2566
- rr as getSourceLink,
2567
- sn as getUiTypeLabel,
2568
- bn as groupLinksByEntity,
2569
- lr as isMediaFile,
2570
- cl as markdownToPlainText,
2571
- ir as normalizeLegacyMarkdown,
2572
- cr as parseActivityLink,
2564
+ nr as getFilmstripTarget,
2565
+ ol as getGroupedReviewables,
2566
+ rr as getInlineMediaFileIds,
2567
+ lr as getLinkLabel,
2568
+ ir as getMediaKind,
2569
+ cr as getMentionTrigger,
2570
+ ur as getProjectFileId,
2571
+ dr as getSourceLink,
2572
+ tn as getUiTypeLabel,
2573
+ gn as groupLinksByEntity,
2574
+ pr as isMediaFile,
2575
+ fr as loadFilmstrip,
2576
+ bl as markdownToPlainText,
2577
+ mr as normalizeLegacyMarkdown,
2578
+ hr as parseActivityLink,
2573
2579
  Ns as parseFilename,
2574
- ur as parseYouTubeUrl,
2575
- ul as renderMediaParagraph,
2576
- dl as renderYouTubeParagraph,
2577
- Tl as shortcutEntities,
2578
- yo as splitClientFiltersByScope,
2579
- vo as splitFiltersByScope,
2580
- Sr as sumExpectedCounts,
2580
+ gr as parseYouTubeUrl,
2581
+ br as peekFilmstrip,
2582
+ wl as renderMediaParagraph,
2583
+ vl as renderYouTubeParagraph,
2584
+ Fl as shortcutEntities,
2585
+ vo as splitClientFiltersByScope,
2586
+ wo as splitFiltersByScope,
2587
+ Dr as sumExpectedCounts,
2581
2588
  Ce as toMenuItems,
2582
- dr as toggleBlockFormat,
2583
- ro as useAddonCustomizeSections,
2584
- Pl as useAddonTableShortcuts,
2585
- wo as useBuildFilterOptions,
2586
- pl as useDateRangeFilter,
2587
- ol as useFeedback,
2588
- nl as useFeedbackSafe,
2589
- vl as useOptionalVersionUploadContext,
2590
- po as useProjectPageSlotContext,
2591
- _r as useReviewablesUpload,
2592
- fo as useStudioPageSlotContext,
2593
- wn as useUpdateLinks,
2594
- yl as useVersionUploadContext
2589
+ wr as toggleBlockFormat,
2590
+ no as useAddonCustomizeSections,
2591
+ _l as useAddonTableShortcuts,
2592
+ bo as useBuildFilterOptions,
2593
+ yl as useDateRangeFilter,
2594
+ vr as useEntityCardFilmstrip,
2595
+ pl as useFeedback,
2596
+ fl as useFeedbackSafe,
2597
+ Il as useOptionalVersionUploadContext,
2598
+ uo as useProjectPageSlotContext,
2599
+ Gr as useReviewablesUpload,
2600
+ po as useStudioPageSlotContext,
2601
+ bn as useUpdateLinks,
2602
+ Pl as useVersionUploadContext
2595
2603
  };