@ynput/ayon-frontend-shared 0.3.49 → 0.3.51

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 (108) hide show
  1. package/dist/Slicer.cjs.js +1 -1
  2. package/dist/Slicer.es.js +13 -11
  3. package/dist/Slicer.es.js.map +1 -1
  4. package/dist/_virtual/index.cjs10.js +1 -1
  5. package/dist/_virtual/index.cjs11.js +1 -1
  6. package/dist/_virtual/index.cjs12.js +1 -1
  7. package/dist/_virtual/index.cjs5.js +1 -1
  8. package/dist/_virtual/index.cjs6.js +1 -1
  9. package/dist/_virtual/index.es10.js +3 -3
  10. package/dist/_virtual/index.es11.js +5 -5
  11. package/dist/_virtual/index.es12.js +5 -5
  12. package/dist/_virtual/index.es5.js +5 -2
  13. package/dist/_virtual/index.es5.js.map +1 -1
  14. package/dist/_virtual/index.es6.js +2 -5
  15. package/dist/_virtual/index.es6.js.map +1 -1
  16. package/dist/components.cjs.js +1 -1
  17. package/dist/components.es.js +112 -109
  18. package/dist/components.es.js.map +1 -1
  19. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  20. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  21. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  22. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  23. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  24. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  25. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  26. package/dist/node_modules/remove-accents/index.es.js +1 -1
  27. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  28. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  29. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  30. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  31. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  32. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  33. package/dist/shared/src/api/generated/graphql.cjs.js +1 -1
  34. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  35. package/dist/shared/src/api/generated/graphql.es.js +1 -1
  36. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  37. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
  38. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  39. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +56 -44
  40. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  41. package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js +1 -1
  42. package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js.map +1 -1
  43. package/dist/shared/src/api/queries/columnStats/groupCounts.es.js +10 -8
  44. package/dist/shared/src/api/queries/columnStats/groupCounts.es.js.map +1 -1
  45. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  46. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  47. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  48. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  49. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +220 -216
  50. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  51. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
  52. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
  53. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +1 -1
  54. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
  55. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  56. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  57. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +138 -127
  58. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  59. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  60. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  61. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  62. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  63. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +56 -55
  64. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  65. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  66. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  67. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +249 -254
  68. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  69. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
  70. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
  71. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  72. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  73. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +41 -40
  74. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  75. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  76. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  77. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +55 -47
  78. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  79. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +2 -0
  80. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -0
  81. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +319 -0
  82. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -0
  83. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  84. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  85. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +118 -104
  86. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  87. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  88. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  89. package/dist/shared/src/context/DetailsPanelContext.es.js +57 -55
  90. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  91. package/dist/shared/src/util/confirmDelete.cjs.js +1 -1
  92. package/dist/shared/src/util/confirmDelete.cjs.js.map +1 -1
  93. package/dist/shared/src/util/confirmDelete.es.js +28 -24
  94. package/dist/shared/src/util/confirmDelete.es.js.map +1 -1
  95. package/dist/types/components/index.d.ts +1 -0
  96. package/dist/types/containers/Feed/components/FeedSearchFilter.d.ts +2 -2
  97. package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +2 -3
  98. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +8 -0
  99. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +0 -1
  100. package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +1 -0
  101. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -0
  102. package/dist/types/containers/Slicer/hooks/index.d.ts +1 -0
  103. package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +17 -0
  104. package/dist/types/containers/Slicer/hooks/useTableDataBySlice.d.ts +5 -1
  105. package/dist/types/util/confirmDelete.d.ts +3 -1
  106. package/dist/util.cjs.js +1 -1
  107. package/dist/util.es.js +77 -76
  108. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { useState as A, useEffect as F, useMemo as z } from "react";
1
+ import { useState as k, useEffect as Q, useMemo as C } from "react";
2
2
  import "../../../context/RemoteModulesContext.es.js";
3
3
  import "../../../../node_modules/@module-federation/runtime/dist/index.es.js";
4
4
  import "../../../../../_virtual/semver.es.js";
@@ -105,8 +105,8 @@ import "../../../../../_virtual/jsx-runtime.es.js";
105
105
  import "../../../context/PowerpackContextInstance.es.js";
106
106
  import "../../../context/UriContext.es.js";
107
107
  import "../../../context/DetailsPanelContextInstance.es.js";
108
- import { getEntityTypeIcon as g } from "../../../util/getEntityTypeIcon.es.js";
109
- import { getAttributeIcon as G } from "../../../util/getAttributeIcon.es.js";
108
+ import { getEntityTypeIcon as L } from "../../../util/getEntityTypeIcon.es.js";
109
+ import { getAttributeIcon as X } from "../../../util/getAttributeIcon.es.js";
110
110
  import "uuid";
111
111
  import "../../../util/pubsub.es.js";
112
112
  import "../../../context/SubtasksModulesContextInstance.es.js";
@@ -121,7 +121,7 @@ import "../../../context/MoveEntityContext.es.js";
121
121
  import "../../../context/MenuContext.es.js";
122
122
  import "../../../context/WebsocketContext.es.js";
123
123
  import "../../../context/GlobalContext.es.js";
124
- import { useProjectContext as J } from "../../../context/ProjectContext.es.js";
124
+ import { useProjectContext as Y } from "../../../context/ProjectContext.es.js";
125
125
  import "../../../context/ProjectFoldersContextInstance.es.js";
126
126
  import "../../../context/EntityUpdatesContextInstance.es.js";
127
127
  import "../../ContextMenu/ContextMenuContext.es.js";
@@ -204,12 +204,12 @@ import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
204
204
  import "../../../components/SizeSlider/SizeSlider.es.js";
205
205
  import "react-router-dom";
206
206
  import "../components/Slicer.es.js";
207
- import { useSlicerContext as K } from "../context/SlicerContext.es.js";
208
- import Q from "./useProjectAnatomySlices.es.js";
209
- import W from "./useSlicerAttributesData.es.js";
207
+ import { useSlicerContext as Z } from "../context/SlicerContext.es.js";
208
+ import tt from "./useProjectAnatomySlices.es.js";
209
+ import it from "./useSlicerAttributesData.es.js";
210
210
  import "../components/SlicerDropdownFallback.es.js";
211
- import X from "./useUsersTable.es.js";
212
- import { useEntityListsSlice as Y } from "./useEntityListsSlice.es.js";
211
+ import ot from "./useUsersTable.es.js";
212
+ import { useEntityListsSlice as rt } from "./useEntityListsSlice.es.js";
213
213
  import "react-redux";
214
214
  import "../../../components/ReviewableCard/ReviewableCard.es.js";
215
215
  import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
@@ -270,6 +270,7 @@ import "../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
270
270
  import "../../ProjectTreeTable/context/SelectedRowsContext.es.js";
271
271
  import "../../ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
272
272
  import "../../ProjectTreeTable/context/ProjectDataContextInstance.es.js";
273
+ import { UNGROUPED_VALUE as pt } from "../../ProjectTreeTable/hooks/useBuildGroupByTableData.es.js";
273
274
  import "../../ProjectTreeTable/context/ProjectTableContextInstance.es.js";
274
275
  import "../../ProjectTreeTable/widgets/EmptyWidget.es.js";
275
276
  import "../../ProjectTreeTable/widgets/ErrorWidget.es.js";
@@ -301,27 +302,34 @@ import "../../ListTable/ListTableRow.es.js";
301
302
  import "../../ListTable/ListTable.styled.es.js";
302
303
  import "../../../context/DeleteEntitiesContext.es.js";
303
304
  import "custom-protocol-check";
304
- import { useHierarchyTable as Z } from "../../../hooks/useHierarchyTable.es.js";
305
+ import { useHierarchyTable as mt } from "../../../hooks/useHierarchyTable.es.js";
305
306
  import "../../ProjectTreeTable/components/GroupSettingsFallback.es.js";
306
- const tt = (p) => ({
307
+ const et = (i, p, s, a) => i.id === "noValue" ? p.get(pt)?.count ?? (a ? 0 : void 0) : i.id === "hasValue" ? a ? s : void 0 : p.get(i.id)?.count ?? (i.name ? p.get(i.name)?.count : void 0) ?? (a ? 0 : void 0), U = (i, p, s, a) => p ? i.map((e) => {
308
+ const r = et(e, p, s, a);
309
+ return {
310
+ ...e,
311
+ badge: r != null ? String(r) : e.badge,
312
+ subRows: e.subRows?.length ? U(e.subRows, p, s, a) : e.subRows
313
+ };
314
+ }) : i, at = (i) => ({
307
315
  id: "noValue",
308
316
  name: "noValue",
309
- label: `No ${p}`,
317
+ label: `No ${i}`,
310
318
  icon: "unpublished",
311
319
  subRows: [],
312
320
  data: {
313
321
  id: "noValue"
314
322
  }
315
- }), it = (p) => ({
323
+ }), st = (i) => ({
316
324
  id: "hasValue",
317
325
  name: "hasValue",
318
- label: `Some ${p}`,
326
+ label: `Some ${i}`,
319
327
  icon: "check",
320
328
  subRows: [],
321
329
  data: {
322
330
  id: "hasValue"
323
331
  }
324
- }), V = [
332
+ }), j = [
325
333
  {
326
334
  label: "Hierarchy",
327
335
  value: "hierarchy",
@@ -340,17 +348,17 @@ const tt = (p) => ({
340
348
  {
341
349
  label: "Task Type",
342
350
  value: "taskType",
343
- icon: g("task")
351
+ icon: L("task")
344
352
  },
345
353
  {
346
354
  label: "Folder Type",
347
355
  value: "folderType",
348
- icon: g("folder")
356
+ icon: L("folder")
349
357
  },
350
358
  {
351
359
  label: "Product Type",
352
360
  value: "productType",
353
- icon: g("product")
361
+ icon: L("product")
354
362
  },
355
363
  {
356
364
  label: "Author",
@@ -362,148 +370,154 @@ const tt = (p) => ({
362
370
  value: "entityList",
363
371
  icon: "list_alt"
364
372
  }
365
- ], _m = ({
366
- sliceFields: p,
367
- entityTypes: s = []
373
+ ], Wm = ({
374
+ sliceFields: i,
375
+ entityTypes: p = [],
376
+ counts: s,
377
+ filled: a = 0,
378
+ countsComplete: e = !1
368
379
  }) => {
369
- const { sliceType: o, onSliceTypeChange: b, useExtraSlices: n, isLoadingExtraSlices: k } = K(), { projectName: l } = J(), { formatAttribute: C } = n(), h = p.filter((t) => V.some((i) => i.value === t.value)).map((t) => ({
370
- ...V.find((r) => r.value === t.value),
380
+ const { sliceType: r, onSliceTypeChange: E, useExtraSlices: c, isLoadingExtraSlices: N } = Z(), { projectName: d } = Y(), { formatAttribute: O } = c(), D = i.filter((t) => j.some((o) => o.value === t.value)).map((t) => ({
381
+ ...j.find((m) => m.value === t.value),
371
382
  ...t
372
- })), y = p.some((t) => t.value === "attributes"), { attributes: L, isLoading: E } = W({
373
- entityTypes: s
383
+ })), S = i.some((t) => t.value === "attributes"), { attributes: v, isLoading: x } = it({
384
+ entityTypes: p
374
385
  });
375
- y && typeof C == "function" && L.forEach(
376
- (t) => h.push({
386
+ S && typeof O == "function" && v.forEach(
387
+ (t) => D.push({
377
388
  label: t.data.title || t.name,
378
389
  value: "attrib." + t.name,
379
- icon: G(t.name, t.data.type, !!t.data.enum?.length)
390
+ icon: X(t.name, t.data.type, !!t.data.enum?.length)
380
391
  })
381
392
  );
382
- const [P, D] = A(!1), {
383
- project: j,
384
- getStatuses: R,
385
- getTypes: H,
386
- getTaskTypes: I,
387
- getProductTypes: N,
388
- getAttribute: O,
389
- isLoading: a
390
- } = Q({ scopes: s, useExtraSlices: n }), {
391
- data: _,
392
- getData: M,
393
- isFetching: S
394
- } = Z({
395
- projectName: l || "",
396
- folderTypes: j?.folderTypes || [],
393
+ const [_, T] = k(!1), {
394
+ project: H,
395
+ getStatuses: I,
396
+ getTypes: B,
397
+ getTaskTypes: M,
398
+ getProductTypes: $,
399
+ getAttribute: q,
400
+ isLoading: u
401
+ } = tt({ scopes: p, useExtraSlices: c }), {
402
+ data: F,
403
+ getData: G,
404
+ isFetching: w
405
+ } = mt({
406
+ projectName: d || "",
407
+ folderTypes: H?.folderTypes || [],
397
408
  includeColors: !0
398
- }), { getData: w, isLoading: c } = X({
399
- projectName: l,
400
- useExtraSlices: n
409
+ }), { getData: V, isLoading: g } = ot({
410
+ projectName: d,
411
+ useExtraSlices: c
401
412
  }), {
402
- getData: U,
403
- isLoading: x,
404
- isExpandable: $
405
- } = Y(s, o === "entityList"), u = S || a || c || k && o !== "hierarchy" || x && o === "entityList" || E, m = {
413
+ getData: W,
414
+ isLoading: A,
415
+ isExpandable: z
416
+ } = rt(p, r === "entityList"), f = w || u || g || N && r !== "hierarchy" || A && r === "entityList" || x, n = {
406
417
  hierarchy: {
407
- getData: M,
408
- isLoading: S,
418
+ getData: G,
419
+ isLoading: w,
409
420
  isExpandable: !0
410
421
  },
411
422
  assignees: {
412
- getData: w,
413
- isLoading: c,
423
+ getData: V,
424
+ isLoading: g,
414
425
  isExpandable: !1,
415
426
  noValue: !0,
416
427
  hasValue: !0
417
428
  },
418
429
  author: {
419
- getData: w,
420
- isLoading: c,
430
+ getData: V,
431
+ isLoading: g,
421
432
  isExpandable: !1
422
433
  },
423
434
  status: {
424
- getData: R,
425
- isLoading: a,
435
+ getData: I,
436
+ isLoading: u,
426
437
  isExpandable: !1
427
438
  },
428
439
  type: {
429
- getData: H,
430
- isLoading: a,
440
+ getData: B,
441
+ isLoading: u,
431
442
  isExpandable: !0
432
443
  },
433
444
  taskType: {
434
- getData: I,
435
- isLoading: a,
445
+ getData: M,
446
+ isLoading: u,
436
447
  isExpandable: !1
437
448
  },
438
449
  productType: {
439
- getData: N,
450
+ getData: $,
440
451
  isLoading: !1,
441
452
  isExpandable: !1
442
453
  },
443
454
  entityList: {
444
- getData: U,
445
- isLoading: x,
446
- isExpandable: $
455
+ getData: W,
456
+ isLoading: A,
457
+ isExpandable: z
447
458
  }
448
459
  };
449
- for (const t of L)
450
- m["attrib." + t.name] = {
451
- getData: () => O(t),
452
- isLoading: E,
460
+ for (const t of v)
461
+ n["attrib." + t.name] = {
462
+ getData: () => q(t),
463
+ isLoading: x,
453
464
  isExpandable: !1,
454
465
  isAttribute: !0
455
466
  };
456
- const T = { data: [], isExpandable: !1 }, [d, v] = A(T), e = m[o], q = (t, i) => {
457
- const r = m[t];
458
- if (!r) {
467
+ const R = { data: [], isExpandable: !1 }, [b, P] = k(R), l = n[r], J = (t, o) => {
468
+ const m = n[t];
469
+ if (!m) {
459
470
  console.warn(`Slice type ${t} not found`);
460
471
  return;
461
472
  }
462
- (r.isAttribute && y || p.some((f) => f.value === t)) && b(t, i);
473
+ (m.isAttribute && S || i.some((y) => y.value === t)) && E(t, o);
463
474
  };
464
- F(() => {
465
- if (u) return;
475
+ Q(() => {
476
+ if (f) return;
466
477
  (async () => {
467
478
  try {
468
- if (!e) return;
469
- D(!0);
470
- const i = await e.getData();
471
- if (i === void 0)
479
+ if (!l) return;
480
+ T(!0);
481
+ const o = await l.getData();
482
+ if (o === void 0)
472
483
  throw window.alert(
473
484
  "Slice options failed to load. This likely means the PowerFeatures addon is out of date. Please update to the latest version."
474
- ), b("hierarchy", !1), new Error("Slice data is undefined");
475
- e.hasValue && i.unshift(it(o)), e.noValue && i.unshift(tt(o)), v({
476
- data: i,
477
- isExpandable: e.isExpandable
485
+ ), E("hierarchy", !1), new Error("Slice data is undefined");
486
+ l.hasValue && o.unshift(st(r)), l.noValue && o.unshift(at(r)), P({
487
+ data: o,
488
+ isExpandable: l.isExpandable
478
489
  });
479
- } catch (i) {
480
- console.error("Error fetching slice data:", i), v(T);
490
+ } catch (o) {
491
+ console.error("Error fetching slice data:", o), P(R);
481
492
  } finally {
482
- D(!1);
493
+ T(!1);
483
494
  }
484
495
  })();
485
- }, [o, l, u, o === "hierarchy" ? _ : null]);
486
- const B = z(() => {
487
- const t = /* @__PURE__ */ new Map(), i = [...d.data];
488
- for (; i.length > 0; ) {
489
- const r = i.shift();
490
- if (r && (t.set(r.id, r), r.subRows && r.subRows.length > 0))
491
- for (const f of r.subRows)
492
- i.push(f);
496
+ }, [r, d, f, r === "hierarchy" ? F : null]);
497
+ const h = C(
498
+ () => U(b.data, s, a, e),
499
+ [b.data, s, a, e]
500
+ ), K = C(() => {
501
+ const t = /* @__PURE__ */ new Map(), o = [...h];
502
+ for (; o.length > 0; ) {
503
+ const m = o.shift();
504
+ if (m && (t.set(m.id, m), m.subRows && m.subRows.length > 0))
505
+ for (const y of m.subRows)
506
+ o.push(y);
493
507
  }
494
508
  return t;
495
- }, [d.data]);
509
+ }, [h]);
496
510
  return {
497
- sliceOptions: h,
498
- table: d,
499
- sliceMap: B,
500
- isLoading: m[o] && m[o].isLoading || P || u,
501
- sliceType: o,
502
- handleSliceTypeChange: q
511
+ sliceOptions: D,
512
+ table: { ...b, data: h },
513
+ sliceMap: K,
514
+ isLoading: n[r] && n[r].isLoading || _ || f,
515
+ sliceType: r,
516
+ handleSliceTypeChange: J
503
517
  };
504
518
  };
505
519
  export {
506
- _m as default,
507
- V as defaultSliceOptions
520
+ Wm as default,
521
+ j as defaultSliceOptions
508
522
  };
509
523
  //# sourceMappingURL=useTableDataBySlice.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableDataBySlice.es.js","sources":["../../../../../../src/containers/Slicer/hooks/useTableDataBySlice.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { useHierarchyTable } from '@shared/hooks'\nimport useUsersTable from './useUsersTable'\nimport useProjectAnatomySlices from './useProjectAnatomySlices'\nimport { Slice, SliceData, SliceTypeField, TableData } from '../types'\nimport { SimpleTableRow } from '@shared/containers/SimpleTable'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { useSlicerContext } from '../context/SlicerContext'\nimport useSlicerAttributesData from './useSlicerAttributesData'\nimport { useEntityListsSlice } from './useEntityListsSlice'\nimport { getAttributeIcon, getEntityTypeIcon } from '@shared/util'\nimport { useProjectContext } from '@shared/context'\n\ninterface TableDataBySliceProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n}\n\nconst getNoValue = (field: string): SimpleTableRow => ({\n id: 'noValue',\n name: 'noValue',\n label: `No ${field}`,\n icon: 'unpublished',\n subRows: [],\n data: {\n id: 'noValue',\n },\n})\n\nconst getSomeValue = (field: string): SimpleTableRow => ({\n id: 'hasValue',\n name: 'hasValue',\n label: `Some ${field}`,\n icon: 'check',\n subRows: [],\n data: {\n id: 'hasValue',\n },\n})\n\nexport const defaultSliceOptions: SliceTypeField[] = [\n {\n label: 'Hierarchy',\n value: 'hierarchy' as SliceType,\n icon: 'table_rows',\n },\n {\n label: 'Assignee',\n value: 'assignees' as SliceType,\n icon: 'person',\n },\n {\n label: 'Status',\n value: 'status' as SliceType,\n icon: 'arrow_circle_right',\n },\n {\n label: 'Task Type',\n value: 'taskType' as SliceType,\n icon: getEntityTypeIcon('task'),\n },\n {\n label: 'Folder Type',\n value: 'folderType' as SliceType,\n icon: getEntityTypeIcon('folder'),\n },\n {\n label: 'Product Type',\n value: 'productType' as SliceType,\n icon: getEntityTypeIcon('product'),\n },\n {\n label: 'Author',\n value: 'author' as SliceType,\n icon: 'attribution',\n },\n {\n label: 'Lists',\n value: 'entityList' as SliceType,\n icon: 'list_alt',\n },\n]\n\nconst useTableDataBySlice = ({\n sliceFields,\n entityTypes = [],\n}: TableDataBySliceProps): TableData => {\n const { sliceType, onSliceTypeChange, useExtraSlices, isLoadingExtraSlices } = useSlicerContext()\n const { projectName } = useProjectContext()\n const { formatAttribute } = useExtraSlices()\n\n const sliceOptions = sliceFields\n .filter((f) => defaultSliceOptions.some((o) => o.value === f.value))\n .map((field) => {\n const defaultOption = defaultSliceOptions.find((opt) => opt.value === field.value)\n // use default option as fallback data\n return {\n ...defaultOption,\n ...field,\n }\n })\n\n const showAttributes = sliceFields.some((field) => field.value === 'attributes')\n const { attributes: slicerAttribs, isLoading: isLoadingAttribs } = useSlicerAttributesData({\n entityTypes,\n })\n\n if (showAttributes && typeof formatAttribute === 'function') {\n slicerAttribs.forEach((attr) =>\n sliceOptions.push({\n label: attr.data.title || attr.name,\n value: 'attrib.' + attr.name,\n icon: getAttributeIcon(attr.name, attr.data.type, !!attr.data.enum?.length),\n }),\n )\n }\n\n const [isLoading, setIsLoading] = useState(false)\n\n // project info\n const {\n project,\n getStatuses,\n getTypes,\n getTaskTypes,\n getProductTypes,\n getAttribute,\n isLoading: isLoadingProject,\n } = useProjectAnatomySlices({ scopes: entityTypes, useExtraSlices })\n\n // Hierarchy\n const {\n data: hierarchyData,\n getData: getHierarchyData,\n isFetching: isLoadingHierarchy,\n } = useHierarchyTable({\n projectName: projectName || '',\n folderTypes: project?.folderTypes || [],\n includeColors: true,\n })\n // Users\n const { getData: getUsersData, isLoading: isUsersLoading } = useUsersTable({\n projectName,\n useExtraSlices,\n })\n // Entity Lists\n const {\n getData: getEntityListsData,\n isLoading: isLoadingLists,\n isExpandable: isEntityListExpandable,\n } = useEntityListsSlice(entityTypes, sliceType === 'entityList')\n const isLoadingData =\n isLoadingHierarchy ||\n isLoadingProject ||\n isUsersLoading ||\n (isLoadingExtraSlices && sliceType !== 'hierarchy') ||\n (isLoadingLists && sliceType === 'entityList') ||\n isLoadingAttribs\n\n const builtInSlices: Record<SliceType, SliceData> = {\n hierarchy: {\n getData: getHierarchyData,\n isLoading: isLoadingHierarchy,\n isExpandable: true,\n },\n assignees: {\n getData: getUsersData,\n isLoading: isUsersLoading,\n isExpandable: false,\n noValue: true,\n hasValue: true,\n },\n author: {\n getData: getUsersData,\n isLoading: isUsersLoading,\n isExpandable: false,\n },\n status: {\n getData: getStatuses,\n isLoading: isLoadingProject,\n isExpandable: false,\n },\n type: {\n getData: getTypes,\n isLoading: isLoadingProject,\n isExpandable: true,\n },\n taskType: {\n getData: getTaskTypes,\n isLoading: isLoadingProject,\n isExpandable: false,\n },\n productType: {\n getData: getProductTypes,\n isLoading: false,\n isExpandable: false,\n },\n entityList: {\n getData: getEntityListsData,\n isLoading: isLoadingLists,\n isExpandable: isEntityListExpandable,\n },\n }\n\n for (const attrib of slicerAttribs) {\n builtInSlices['attrib.' + attrib.name] = {\n getData: () => getAttribute(attrib),\n isLoading: isLoadingAttribs,\n isExpandable: false,\n isAttribute: true,\n }\n }\n\n const initSlice = { data: [], isExpandable: false }\n const [slice, setSlice] = useState<Slice>(initSlice)\n const sliceConfig = builtInSlices[sliceType]\n\n const handleSliceTypeChange = (sliceType: SliceType, pinCurrent?: boolean) => {\n // get slice data object\n const sliceConfig = builtInSlices[sliceType]\n if (!sliceConfig) {\n console.warn(`Slice type ${sliceType} not found`)\n return\n }\n // check slice type is enabled\n if (\n (sliceConfig.isAttribute && showAttributes) ||\n sliceFields.some((field) => field.value === sliceType)\n ) {\n onSliceTypeChange(sliceType, pinCurrent)\n }\n }\n\n useEffect(() => {\n // wait for hierarchy data to load before fetching slice data\n if (isLoadingData) return\n\n const fetchData = async () => {\n try {\n if (!sliceConfig) return\n setIsLoading(true)\n const newData = await sliceConfig.getData()\n\n if (newData === undefined) {\n window.alert(\n 'Slice options failed to load. This likely means the PowerFeatures addon is out of date. Please update to the latest version.',\n )\n // setSlice type to hierarchy\n onSliceTypeChange('hierarchy', false)\n throw new Error('Slice data is undefined')\n }\n\n // add some value option\n if (sliceConfig.hasValue) newData.unshift(getSomeValue(sliceType))\n\n // add no value option\n if (sliceConfig.noValue) newData.unshift(getNoValue(sliceType))\n setSlice({\n data: newData,\n isExpandable: sliceConfig.isExpandable,\n })\n } catch (error) {\n console.error('Error fetching slice data:', error)\n // set to initial empty state\n setSlice(initSlice)\n } finally {\n setIsLoading(false)\n }\n }\n\n fetchData()\n }, [sliceType, projectName, isLoadingData, sliceType === 'hierarchy' ? hierarchyData : null])\n\n // from slice data, flatten into a map of ids to rows\n const sliceMap = useMemo(() => {\n const map = new Map<string, SimpleTableRow>()\n const queue: SimpleTableRow[] = [...slice.data]\n\n while (queue.length > 0) {\n const row = queue.shift()\n if (row) {\n map.set(row.id, row)\n if (row.subRows && row.subRows.length > 0) {\n for (const subRow of row.subRows) {\n queue.push(subRow)\n }\n }\n }\n }\n return map\n }, [slice.data])\n\n return {\n sliceOptions,\n table: slice,\n sliceMap,\n isLoading:\n (builtInSlices[sliceType] && builtInSlices[sliceType].isLoading) ||\n isLoading ||\n isLoadingData,\n sliceType,\n handleSliceTypeChange,\n }\n}\n\nexport default useTableDataBySlice\n"],"names":["getNoValue","field","getSomeValue","defaultSliceOptions","getEntityTypeIcon","useTableDataBySlice","sliceFields","entityTypes","sliceType","onSliceTypeChange","useExtraSlices","isLoadingExtraSlices","useSlicerContext","projectName","useProjectContext","formatAttribute","sliceOptions","f","o","opt","showAttributes","slicerAttribs","isLoadingAttribs","useSlicerAttributesData","attr","getAttributeIcon","isLoading","setIsLoading","useState","project","getStatuses","getTypes","getTaskTypes","getProductTypes","getAttribute","isLoadingProject","useProjectAnatomySlices","hierarchyData","getHierarchyData","isLoadingHierarchy","useHierarchyTable","getUsersData","isUsersLoading","useUsersTable","getEntityListsData","isLoadingLists","isEntityListExpandable","useEntityListsSlice","isLoadingData","builtInSlices","attrib","initSlice","slice","setSlice","sliceConfig","handleSliceTypeChange","pinCurrent","useEffect","newData","error","sliceMap","useMemo","map","queue","row","subRow"],"mappings":"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"}
1
+ {"version":3,"file":"useTableDataBySlice.es.js","sources":["../../../../../../src/containers/Slicer/hooks/useTableDataBySlice.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { useHierarchyTable } from '@shared/hooks'\nimport useUsersTable from './useUsersTable'\nimport useProjectAnatomySlices from './useProjectAnatomySlices'\nimport { Slice, SliceData, SliceTypeField, TableData } from '../types'\nimport { SimpleTableRow } from '@shared/containers/SimpleTable'\nimport { SliceType } from '@shared/containers/Slicer'\nimport { useSlicerContext } from '../context/SlicerContext'\nimport useSlicerAttributesData from './useSlicerAttributesData'\nimport { useEntityListsSlice } from './useEntityListsSlice'\nimport { getAttributeIcon, getEntityTypeIcon } from '@shared/util'\nimport { useProjectContext } from '@shared/context'\nimport type { GroupCountsMap } from '@shared/api'\nimport { UNGROUPED_VALUE } from '../../ProjectTreeTable/hooks/useBuildGroupByTableData'\n\ninterface TableDataBySliceProps {\n sliceFields: SliceTypeField[]\n entityTypes?: string[] // entity types\n counts?: GroupCountsMap\n filled?: number\n countsComplete?: boolean\n}\n\nconst getRowCount = (\n row: SimpleTableRow,\n counts: GroupCountsMap,\n filled: number,\n complete: boolean,\n): number | undefined => {\n if (row.id === 'noValue') return counts.get(UNGROUPED_VALUE)?.count ?? (complete ? 0 : undefined)\n if (row.id === 'hasValue') return complete ? filled : undefined\n const hit = counts.get(row.id)?.count ?? (row.name ? counts.get(row.name)?.count : undefined)\n return hit ?? (complete ? 0 : undefined)\n}\n\nconst decorateBadges = (\n rows: SimpleTableRow[],\n counts: GroupCountsMap | undefined,\n filled: number,\n complete: boolean,\n): SimpleTableRow[] => {\n if (!counts) return rows\n return rows.map((row) => {\n const count = getRowCount(row, counts, filled, complete)\n return {\n ...row,\n badge: count != null ? String(count) : row.badge,\n subRows: row.subRows?.length\n ? decorateBadges(row.subRows, counts, filled, complete)\n : row.subRows,\n }\n })\n}\n\nconst getNoValue = (field: string): SimpleTableRow => ({\n id: 'noValue',\n name: 'noValue',\n label: `No ${field}`,\n icon: 'unpublished',\n subRows: [],\n data: {\n id: 'noValue',\n },\n})\n\nconst getSomeValue = (field: string): SimpleTableRow => ({\n id: 'hasValue',\n name: 'hasValue',\n label: `Some ${field}`,\n icon: 'check',\n subRows: [],\n data: {\n id: 'hasValue',\n },\n})\n\nexport const defaultSliceOptions: SliceTypeField[] = [\n {\n label: 'Hierarchy',\n value: 'hierarchy' as SliceType,\n icon: 'table_rows',\n },\n {\n label: 'Assignee',\n value: 'assignees' as SliceType,\n icon: 'person',\n },\n {\n label: 'Status',\n value: 'status' as SliceType,\n icon: 'arrow_circle_right',\n },\n {\n label: 'Task Type',\n value: 'taskType' as SliceType,\n icon: getEntityTypeIcon('task'),\n },\n {\n label: 'Folder Type',\n value: 'folderType' as SliceType,\n icon: getEntityTypeIcon('folder'),\n },\n {\n label: 'Product Type',\n value: 'productType' as SliceType,\n icon: getEntityTypeIcon('product'),\n },\n {\n label: 'Author',\n value: 'author' as SliceType,\n icon: 'attribution',\n },\n {\n label: 'Lists',\n value: 'entityList' as SliceType,\n icon: 'list_alt',\n },\n]\n\nconst useTableDataBySlice = ({\n sliceFields,\n entityTypes = [],\n counts,\n filled = 0,\n countsComplete = false,\n}: TableDataBySliceProps): TableData => {\n const { sliceType, onSliceTypeChange, useExtraSlices, isLoadingExtraSlices } = useSlicerContext()\n const { projectName } = useProjectContext()\n const { formatAttribute } = useExtraSlices()\n\n const sliceOptions = sliceFields\n .filter((f) => defaultSliceOptions.some((o) => o.value === f.value))\n .map((field) => {\n const defaultOption = defaultSliceOptions.find((opt) => opt.value === field.value)\n // use default option as fallback data\n return {\n ...defaultOption,\n ...field,\n }\n })\n\n const showAttributes = sliceFields.some((field) => field.value === 'attributes')\n const { attributes: slicerAttribs, isLoading: isLoadingAttribs } = useSlicerAttributesData({\n entityTypes,\n })\n\n if (showAttributes && typeof formatAttribute === 'function') {\n slicerAttribs.forEach((attr) =>\n sliceOptions.push({\n label: attr.data.title || attr.name,\n value: 'attrib.' + attr.name,\n icon: getAttributeIcon(attr.name, attr.data.type, !!attr.data.enum?.length),\n }),\n )\n }\n\n const [isLoading, setIsLoading] = useState(false)\n\n // project info\n const {\n project,\n getStatuses,\n getTypes,\n getTaskTypes,\n getProductTypes,\n getAttribute,\n isLoading: isLoadingProject,\n } = useProjectAnatomySlices({ scopes: entityTypes, useExtraSlices })\n\n // Hierarchy\n const {\n data: hierarchyData,\n getData: getHierarchyData,\n isFetching: isLoadingHierarchy,\n } = useHierarchyTable({\n projectName: projectName || '',\n folderTypes: project?.folderTypes || [],\n includeColors: true,\n })\n // Users\n const { getData: getUsersData, isLoading: isUsersLoading } = useUsersTable({\n projectName,\n useExtraSlices,\n })\n // Entity Lists\n const {\n getData: getEntityListsData,\n isLoading: isLoadingLists,\n isExpandable: isEntityListExpandable,\n } = useEntityListsSlice(entityTypes, sliceType === 'entityList')\n const isLoadingData =\n isLoadingHierarchy ||\n isLoadingProject ||\n isUsersLoading ||\n (isLoadingExtraSlices && sliceType !== 'hierarchy') ||\n (isLoadingLists && sliceType === 'entityList') ||\n isLoadingAttribs\n\n const builtInSlices: Record<SliceType, SliceData> = {\n hierarchy: {\n getData: getHierarchyData,\n isLoading: isLoadingHierarchy,\n isExpandable: true,\n },\n assignees: {\n getData: getUsersData,\n isLoading: isUsersLoading,\n isExpandable: false,\n noValue: true,\n hasValue: true,\n },\n author: {\n getData: getUsersData,\n isLoading: isUsersLoading,\n isExpandable: false,\n },\n status: {\n getData: getStatuses,\n isLoading: isLoadingProject,\n isExpandable: false,\n },\n type: {\n getData: getTypes,\n isLoading: isLoadingProject,\n isExpandable: true,\n },\n taskType: {\n getData: getTaskTypes,\n isLoading: isLoadingProject,\n isExpandable: false,\n },\n productType: {\n getData: getProductTypes,\n isLoading: false,\n isExpandable: false,\n },\n entityList: {\n getData: getEntityListsData,\n isLoading: isLoadingLists,\n isExpandable: isEntityListExpandable,\n },\n }\n\n for (const attrib of slicerAttribs) {\n builtInSlices['attrib.' + attrib.name] = {\n getData: () => getAttribute(attrib),\n isLoading: isLoadingAttribs,\n isExpandable: false,\n isAttribute: true,\n }\n }\n\n const initSlice = { data: [], isExpandable: false }\n const [slice, setSlice] = useState<Slice>(initSlice)\n const sliceConfig = builtInSlices[sliceType]\n\n const handleSliceTypeChange = (sliceType: SliceType, pinCurrent?: boolean) => {\n // get slice data object\n const sliceConfig = builtInSlices[sliceType]\n if (!sliceConfig) {\n console.warn(`Slice type ${sliceType} not found`)\n return\n }\n // check slice type is enabled\n if (\n (sliceConfig.isAttribute && showAttributes) ||\n sliceFields.some((field) => field.value === sliceType)\n ) {\n onSliceTypeChange(sliceType, pinCurrent)\n }\n }\n\n useEffect(() => {\n // wait for hierarchy data to load before fetching slice data\n if (isLoadingData) return\n\n const fetchData = async () => {\n try {\n if (!sliceConfig) return\n setIsLoading(true)\n const newData = await sliceConfig.getData()\n\n if (newData === undefined) {\n window.alert(\n 'Slice options failed to load. This likely means the PowerFeatures addon is out of date. Please update to the latest version.',\n )\n // setSlice type to hierarchy\n onSliceTypeChange('hierarchy', false)\n throw new Error('Slice data is undefined')\n }\n\n // add some value option\n if (sliceConfig.hasValue) newData.unshift(getSomeValue(sliceType))\n\n // add no value option\n if (sliceConfig.noValue) newData.unshift(getNoValue(sliceType))\n setSlice({\n data: newData,\n isExpandable: sliceConfig.isExpandable,\n })\n } catch (error) {\n console.error('Error fetching slice data:', error)\n // set to initial empty state\n setSlice(initSlice)\n } finally {\n setIsLoading(false)\n }\n }\n\n fetchData()\n }, [sliceType, projectName, isLoadingData, sliceType === 'hierarchy' ? hierarchyData : null])\n\n const dataWithBadges = useMemo(\n () => decorateBadges(slice.data, counts, filled, countsComplete),\n [slice.data, counts, filled, countsComplete],\n )\n\n // from slice data, flatten into a map of ids to rows\n const sliceMap = useMemo(() => {\n const map = new Map<string, SimpleTableRow>()\n const queue: SimpleTableRow[] = [...dataWithBadges]\n\n while (queue.length > 0) {\n const row = queue.shift()\n if (row) {\n map.set(row.id, row)\n if (row.subRows && row.subRows.length > 0) {\n for (const subRow of row.subRows) {\n queue.push(subRow)\n }\n }\n }\n }\n return map\n }, [dataWithBadges])\n\n return {\n sliceOptions,\n table: { ...slice, data: dataWithBadges },\n sliceMap,\n isLoading:\n (builtInSlices[sliceType] && builtInSlices[sliceType].isLoading) ||\n isLoading ||\n isLoadingData,\n sliceType,\n handleSliceTypeChange,\n }\n}\n\nexport default useTableDataBySlice\n"],"names":["getRowCount","row","counts","filled","complete","UNGROUPED_VALUE","decorateBadges","rows","count","getNoValue","field","getSomeValue","defaultSliceOptions","getEntityTypeIcon","useTableDataBySlice","sliceFields","entityTypes","countsComplete","sliceType","onSliceTypeChange","useExtraSlices","isLoadingExtraSlices","useSlicerContext","projectName","useProjectContext","formatAttribute","sliceOptions","f","opt","showAttributes","slicerAttribs","isLoadingAttribs","useSlicerAttributesData","attr","getAttributeIcon","isLoading","setIsLoading","useState","project","getStatuses","getTypes","getTaskTypes","getProductTypes","getAttribute","isLoadingProject","useProjectAnatomySlices","hierarchyData","getHierarchyData","isLoadingHierarchy","useHierarchyTable","getUsersData","isUsersLoading","useUsersTable","getEntityListsData","isLoadingLists","isEntityListExpandable","useEntityListsSlice","isLoadingData","builtInSlices","attrib","initSlice","slice","setSlice","sliceConfig","handleSliceTypeChange","pinCurrent","useEffect","newData","error","dataWithBadges","useMemo","sliceMap","map","queue","subRow"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),ue=require("./PowerpackContext.cjs.js"),qe=require("./UriContext.cjs.js"),L=require("../hooks/useLocalStorage.cjs.js"),j=require("../hooks/useSessionStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../node_modules/@module-federation/runtime/dist/index.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/dataImport.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/projectFolders.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/bundles/getBundles.cjs.js");require("../api/queries/bundles/updateBundles.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/columnStats/metricTargets.cjs.js");require("../api/queries/columnStats/groupCounts.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/products/getFolderProducts.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/projectFolders/projectFolders.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/tasks/getTasks.cjs.js");require("../api/queries/tasks/updateTasks.cjs.js");require("../api/queries/teams/getTeams.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");const I=require("./DetailsPanelContextInstance.cjs.js");require("uuid");const te=require("../util/getBundleMode.cjs.js");require("../util/pubsub.cjs.js");require("./SubtasksModulesContextInstance.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContextInstance.cjs.js");require("./EntityUpdatesContextInstance.cjs.js");require("../containers/ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../containers/Feed/context/FeedContext.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../components/AccessUser/AccessUser.cjs.js");require("../components/AttributeEditor/AttributeEditor.cjs.js");require("../components/AttributeEditor/attributeTypeMap.cjs.js");require("../components/Badge/Badge.cjs.js");require("../components/Chips/Chips.cjs.js");require("date-fns");require("../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../components/LinksManager/CellEditingDialog.cjs.js");require("../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../_virtual/index.cjs.js");require("../../../node_modules/refractor/lib/common.cjs.js");require("../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../components/QuillListStyles/QuillListStyles.cjs.js");require("../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../components/EarlyPreview/EarlyPreview.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/EnumEditor/EnumEditor.styled.cjs.js");require("../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../components/EntityPath/EntityPath.styled.cjs.js");require("../components/EntityPath/SegmentProvider.cjs.js");require("../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../components/Feedback/FeedbackContextInstance.cjs.js");require("../components/Feedback/SupportBubble.cjs.js");require("../components/FileThumbnail/FileThumbnail.cjs.js");require("../components/LegacyBadge/LegacyBadge.cjs.js");require("../components/LinksManager/LinksManager.styled.cjs.js");require("../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../components/Powerpack/PowerpackButton.cjs.js");require("../components/Powerpack/FreeTrialLink.cjs.js");require("../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../components/Powerpack/CTAButton.cjs.js");require("../components/Powerpack/RequiredAddonVersion.cjs.js");require("../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../containers/Slicer/components/Slicer.cjs.js");require("../containers/Slicer/context/SlicerContextInstance.cjs.js");require("../containers/Slicer/components/SlicerDropdownFallback.cjs.js");require("../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../components/ReviewableCard/ReviewableCard.cjs.js");require("../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../components/SearchFilter/filterDates.cjs.js");require("../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../components/SettingsPanel/SettingsPanel.cjs.js");require("../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../components/StyledLink/StyledLink.cjs.js");require("../components/SyncButton/SyncButton.cjs.js");require("../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../components/Thumbnail/Thumbnail.styled.cjs.js");require("../components/Thumbnail/StackedThumbnails.cjs.js");require("../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../components/Watchers/Watchers.cjs.js");require("../components/Menu/Menu.styled.cjs.js");require("../components/Menu/MenuItem.cjs.js");require("../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../components/ColumnHeaderMenuUI.cjs.js");require("../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../containers/Feed/components/ActivityDate.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../containers/Feed/Feed.styled.cjs.js");require("../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("short-uuid");require("../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../components/PlayableIcon/PlayableIcon.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../containers/Actions/Actions.styled.cjs.js");require("../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../containers/Actions/ActionIcon.cjs.js");require("../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../containers/Views/context/ViewsContextInstance.cjs.js");require("../containers/Views/Views.styled.cjs.js");require("../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../containers/ListTable/ListTableRow.cjs.js");require("../containers/ListTable/ListTable.styled.cjs.js");require("./DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const se=["feed","subtasks","details","files"],A=r=>typeof r=="string"&&se.includes(r),ne=({children:r,defaultTab:s="feed",hasLicense:a,debug:n={},...o})=>{const c=o.user,p=te.getBundleModeFromUser(c),d="isGuest"in n?n.isGuest:c?.data?.isGuest,{powerLicense:g,setPowerpackDialog:f}=ue.usePowerpack(),l="hasLicense"in n?n.hasLicense:!!g||a,[q,x]=e.useState({}),[N,R]=e.useState([]),_=e.useCallback(i=>q[i]?q[i]:!1,[q]),G=e.useCallback((i,t)=>{const u={...q};u[i]=t,x(u)},[q]),[S,M]=j.useSessionStorage(b,{}),Y=e.useCallback(i=>{const t=S[i];return A(t)?t:s},[S,s]),[O,k]=e.useState(null),H=e.useCallback(i=>{k(i)},[]),E=e.useCallback(()=>{k(null),O&&C([])},[]);e.useEffect(()=>{E()},[o.useLocation().pathname]);const[K,m]=e.useState(null),z=e.useCallback(i=>{m(i)},[]),J=e.useCallback(()=>{m(null)},[]),[Q,T]=e.useState(null),[V,C]=e.useState([]),{uriType:W,uri:X,entity:P,getUriEntities:Z}=qe.useURIContext(),[y]=o.useSearchParams(),D=y.get("project"),h=y.get("type"),v=y.get("id"),w=y.get("activity");e.useEffect(()=>{if(W==="entity"&&P&&P.entityType!=="product"){Z().then(i=>{if(i.length===0)return;const t=i.find(re=>re.uri===X),u=t?.entities?.[0];if(!t||!u)return;const B=u?.projectName||P.projectName||"",F=u.representationId||u.versionId||u.productId||u.taskId||u.folderId;if(!B||!F)return;const ee={entityType:P.entityType,entities:[{id:F,projectName:B}],source:"uri"};T(ee)}).catch(i=>{console.warn("Failed to get URI entities:",i)});return}D&&h&&v&&(T({entityType:h,entities:[{id:v,projectName:D}],source:"url"}),w&&(C([w]),M({...S,overview:"feed"})))},[D,h,v]);const $={panelOpenByScope:q,getOpenForScope:_,setPanelOpen:G,setPanelOpenByScope:x,tabsByScope:S,getTabForScope:Y,slideOut:O,openSlideOut:H,closeSlideOut:E,highlightedActivities:V,setHighlightedActivities:C,pip:K,openPip:z,closePip:J,entities:Q,setEntities:T,feedAnnotations:N,setFeedAnnotations:R,bundleMode:p,isGuest:d,hasLicense:l,onPowerFeature:f,...o};return ie.jsxRuntimeExports.jsx(I.DetailsPanelContext.Provider,{value:$,children:r})},U=()=>{const r=e.useContext(I.DetailsPanelContext);if(r===void 0)throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");return r},b="details/tabs-by-scope",oe=(r,s)=>{const a=L.readLocalStorage(b,{});L.writeLocalStorage(b,{...a,[r]:s})},ae=r=>{const{getOpenForScope:s,setPanelOpen:a,getTabForScope:n}=U(),[o,c]=j.useSessionStorage(b,{}),p=o[r],d=A(p)?p:n(r),g=e.useCallback(l=>{c(q=>({...q,[r]:l}))},[r,c]),f=d==="feed";return{isOpen:s(r),setOpen:l=>a(r,l),currentTab:d,setTab:g,isFeed:f}};exports.DetailsPanelProvider=ne;exports.setDetailsPanelTabForScope=oe;exports.useDetailsPanelContext=U;exports.useScopedDetailsPanel=ae;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ie=require("../../../_virtual/jsx-runtime.cjs.js"),e=require("react"),ue=require("./PowerpackContext.cjs.js"),qe=require("./UriContext.cjs.js"),L=require("../hooks/useLocalStorage.cjs.js"),j=require("../hooks/useSessionStorage.cjs.js");require("./RemoteModulesContext.cjs.js");require("../../node_modules/@module-federation/runtime/dist/index.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/dataImport.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/projectFolders.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/activities/getCategories.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/bundles/getBundles.cjs.js");require("../api/queries/bundles/updateBundles.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/columnStats/metricTargets.cjs.js");require("../api/queries/columnStats/groupCounts.cjs.js");require("../api/queries/config/getConfig.cjs.js");require("../api/queries/config/updateConfig.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/versions/getVersionsProducts.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/entityLists/listFolders.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/products/getFolderProducts.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/projectFolders/projectFolders.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/tasks/getTasks.cjs.js");require("../api/queries/tasks/updateTasks.cjs.js");require("../api/queries/teams/getTeams.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/users/guests.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("../api/queries/uris/getUris.cjs.js");require("lodash");require("react-toastify");const I=require("./DetailsPanelContextInstance.cjs.js");require("uuid");const te=require("../util/getBundleMode.cjs.js");require("../util/pubsub.cjs.js");require("./SubtasksModulesContextInstance.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("./MenuContext.cjs.js");require("./WebsocketContext.cjs.js");require("./GlobalContext.cjs.js");require("./ProjectContext.cjs.js");require("./ProjectFoldersContextInstance.cjs.js");require("./EntityUpdatesContextInstance.cjs.js");require("../containers/ContextMenu/ContextMenuContext.cjs.js");require("@ynput/ayon-react-components");;/* empty css */require("clsx");require("../containers/Feed/context/FeedContext.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../containers/Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("react-markdown");require("remark-emoji");require("remark-gfm");require("remark-directive");require("remark-directive-rehype");require("../containers/Feed/components/CommentInput/CommentInput.cjs.js");require("../containers/Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../containers/Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../containers/Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../components/AccessUser/AccessUser.cjs.js");require("../components/AttributeEditor/AttributeEditor.cjs.js");require("../components/AttributeEditor/attributeTypeMap.cjs.js");require("../components/Badge/Badge.cjs.js");require("../components/Chips/Chips.cjs.js");require("date-fns");require("../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../components/LinksManager/CellEditingDialog.cjs.js");require("../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../../_virtual/index.cjs.js");require("../../../node_modules/refractor/lib/common.cjs.js");require("../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../components/QuillListStyles/QuillListStyles.cjs.js");require("../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("rehype-raw");require("../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../containers/Feed/components/CommentInput/modules/index.cjs.js");require("../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../components/EarlyPreview/EarlyPreview.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../components/InfoMessage/InfoMessage.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../components/EnumEditor/EnumEditor.styled.cjs.js");require("../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../components/EntityPath/EntityPath.styled.cjs.js");require("../components/EntityPath/SegmentProvider.cjs.js");require("../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../components/Feedback/FeedbackContextInstance.cjs.js");require("../components/Feedback/SupportBubble.cjs.js");require("../components/FileThumbnail/FileThumbnail.cjs.js");require("../components/LegacyBadge/LegacyBadge.cjs.js");require("../components/LinksManager/LinksManager.styled.cjs.js");require("../containers/EntityPickerDialog/EntityPickerDialog.cjs.js");require("../components/Powerpack/PowerpackButton.cjs.js");require("../components/Powerpack/FreeTrialLink.cjs.js");require("../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../components/Powerpack/CTAButton.cjs.js");require("../components/Powerpack/RequiredAddonVersion.cjs.js");require("../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../components/SizeSlider/SizeSlider.cjs.js");require("react-router-dom");require("../containers/Slicer/components/Slicer.cjs.js");require("../containers/Slicer/context/SlicerContextInstance.cjs.js");require("../containers/Slicer/components/SlicerDropdownFallback.cjs.js");require("../containers/Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../components/ReviewableCard/ReviewableCard.cjs.js");require("../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../components/SearchFilter/filterDates.cjs.js");require("../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../components/SettingsPanel/SettingsPanel.cjs.js");require("../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../components/StyledLink/StyledLink.cjs.js");require("../components/SyncButton/SyncButton.cjs.js");require("../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../components/Thumbnail/Thumbnail.styled.cjs.js");require("../components/Thumbnail/StackedThumbnails.cjs.js");require("../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../components/Watchers/Watchers.cjs.js");require("../components/Menu/Menu.styled.cjs.js");require("../components/Menu/MenuItem.cjs.js");require("../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../components/ColumnHeaderMenuUI.cjs.js");require("../containers/Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("../containers/Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../containers/Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../containers/Feed/components/ActivityDate.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../containers/Feed/components/ActivityStatusChange/ActivityStatusSecondary.cjs.js");require("../containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../containers/Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../containers/Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../containers/Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../containers/Feed/Feed.styled.cjs.js");require("../containers/Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../containers/ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/DateWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../containers/ProjectTreeTable/widgets/TextWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/CellWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/LinksWidget.cjs.js");require("short-uuid");require("../containers/ProjectTreeTable/context/CellEditingContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../containers/ProjectTreeTable/context/ClipboardContext.cjs.js");require("../containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../containers/ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../containers/ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js");require("../containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js");require("../containers/ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../containers/ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../containers/ProjectTreeTable/components/SelectionCell.cjs.js");require("../containers/ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../containers/ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../containers/ProjectTreeTable/components/TableFooterRow.cjs.js");require("../containers/DetailsPanel/DetailsPanel.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../components/PlayableIcon/PlayableIcon.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../containers/Actions/Actions.styled.cjs.js");require("../containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../containers/Actions/ActionIcon.cjs.js");require("../containers/Views/ViewsMenu/ViewsMenu.cjs.js");require("../containers/Views/context/ViewsContextInstance.cjs.js");require("../containers/Views/Views.styled.cjs.js");require("../containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../containers/ListTable/ListTableRow.cjs.js");require("../containers/ListTable/ListTable.styled.cjs.js");require("./DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");const se=["feed","subtasks","details","files"],A=r=>typeof r=="string"&&se.includes(r),ne=({children:r,defaultTab:s="feed",hasLicense:a,debug:n={},...o})=>{const c=o.user,p=te.getBundleModeFromUser(c),d="isGuest"in n?n.isGuest:c?.data?.isGuest,{powerLicense:C,setPowerpackDialog:D}=ue.usePowerpack(),l="hasLicense"in n?n.hasLicense:!!C||a,[q,x]=e.useState({}),[N,R]=e.useState([]),_=e.useCallback(i=>q[i]?q[i]:!1,[q]),G=e.useCallback((i,t)=>{const u={...q};u[i]=t,x(u)},[q]),[S,M]=j.useSessionStorage(T,{}),Y=e.useCallback(i=>{const t=S[i];return A(t)?t:s},[S,s]),[O,k]=e.useState(null),H=e.useCallback(i=>{k(i)},[]),E=e.useCallback(()=>{k(null),O&&v([])},[]);e.useEffect(()=>{E()},[o.useLocation().pathname]);const[K,m]=e.useState(null),z=e.useCallback(i=>{m(i)},[]),J=e.useCallback(()=>{m(null)},[]),[Q,h]=e.useState(null),[V,v]=e.useState([]),{uriType:W,uri:X,entity:P,getUriEntities:Z}=qe.useURIContext(),[y]=o.useSearchParams(),b=y.get("project"),g=y.get("type"),f=y.get("id"),w=y.get("activity");e.useEffect(()=>{if(!(!b&&!g&&!f)){if(W==="entity"&&P&&P.entityType!=="product"){Z().then(i=>{if(i.length===0)return;const t=i.find(re=>re.uri===X),u=t?.entities?.[0];if(!t||!u)return;const B=u?.projectName||P.projectName||"",F=u.representationId||u.versionId||u.productId||u.taskId||u.folderId;if(!B||!F)return;const ee={entityType:P.entityType,entities:[{id:F,projectName:B}],source:"uri"};h(ee)}).catch(i=>{console.warn("Failed to get URI entities:",i)});return}b&&g&&f&&(h({entityType:g,entities:[{id:f,projectName:b}],source:"url"}),w&&(v([w]),M({...S,overview:"feed"})))}},[b,g,f]);const $={panelOpenByScope:q,getOpenForScope:_,setPanelOpen:G,setPanelOpenByScope:x,tabsByScope:S,getTabForScope:Y,slideOut:O,openSlideOut:H,closeSlideOut:E,highlightedActivities:V,setHighlightedActivities:v,pip:K,openPip:z,closePip:J,entities:Q,setEntities:h,feedAnnotations:N,setFeedAnnotations:R,bundleMode:p,isGuest:d,hasLicense:l,onPowerFeature:D,...o};return ie.jsxRuntimeExports.jsx(I.DetailsPanelContext.Provider,{value:$,children:r})},U=()=>{const r=e.useContext(I.DetailsPanelContext);if(r===void 0)throw new Error("useDetailsPanel must be used within a DetailsPanelProvider");return r},T="details/tabs-by-scope",oe=(r,s)=>{const a=L.readLocalStorage(T,{});L.writeLocalStorage(T,{...a,[r]:s})},ae=r=>{const{getOpenForScope:s,setPanelOpen:a,getTabForScope:n}=U(),[o,c]=j.useSessionStorage(T,{}),p=o[r],d=A(p)?p:n(r),C=e.useCallback(l=>{c(q=>({...q,[r]:l}))},[r,c]),D=d==="feed";return{isOpen:s(r),setOpen:l=>a(r,l),currentTab:d,setTab:C,isFeed:D}};exports.DetailsPanelProvider=ne;exports.setDetailsPanelTabForScope=oe;exports.useDetailsPanelContext=U;exports.useScopedDetailsPanel=ae;
2
2
  //# sourceMappingURL=DetailsPanelContext.cjs.js.map