@ynput/ayon-frontend-shared 0.6.9 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/ContextMenu.es.js +44 -27
  2. package/dist/DetailsPanel.es.js +767 -740
  3. package/dist/ListTable.es.js +430 -430
  4. package/dist/NewEntity.es.js +43 -42
  5. package/dist/ProjectTreeTable.es.js +3496 -3342
  6. package/dist/Slicer.es.js +301 -276
  7. package/dist/Views.es.js +537 -521
  8. package/dist/api.es.js +429 -412
  9. package/dist/chunks/Actions.es.js +19 -18
  10. package/dist/chunks/ColumnDropIndicator.es.js +19 -18
  11. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  12. package/dist/chunks/ContextMenuContextInstance.es.js +4 -3
  13. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +53 -41
  14. package/dist/chunks/DetailsDialog.es.js +26 -24
  15. package/dist/chunks/EmptyPlaceholder.es.js +3 -3
  16. package/dist/chunks/EmptyPlaceholderFlex.styled.es.js +40 -0
  17. package/dist/chunks/EntityPath.es.js +72 -71
  18. package/dist/chunks/EntityPickerDialog.es.js +88 -83
  19. package/dist/chunks/EntityTooltip.es.js +11 -10
  20. package/dist/chunks/EntityUpdatesContext.es.js +11 -11
  21. package/dist/chunks/Feed.es.js +864 -859
  22. package/dist/chunks/FilterErrorActions.es.js +4 -3
  23. package/dist/chunks/Menu.es.js +633 -289
  24. package/dist/chunks/MenuContext.es.js +1 -1
  25. package/dist/chunks/MetaWidget.es.js +2751 -2217
  26. package/dist/chunks/PlayableIcon.es.js +79 -78
  27. package/dist/chunks/ProjectContext.es.js +7 -7
  28. package/dist/chunks/RepresentationsList.es.js +1 -1
  29. package/dist/chunks/ReviewablesSelector.es.js +625 -609
  30. package/dist/chunks/SimpleForm.es.js +1 -1
  31. package/dist/chunks/SimpleTable.es.js +386 -363
  32. package/dist/chunks/Slicer.es.js +954 -821
  33. package/dist/chunks/{DeleteEntitiesContextInstance.es.js → TableExportContextInstance.es.js} +190 -186
  34. package/dist/chunks/TableSettingsFallback.es.js +4 -3
  35. package/dist/chunks/ThumbnailSimple.es.js +96 -95
  36. package/dist/chunks/VideoPlayer.es.js +1 -1
  37. package/dist/chunks/Watchers.es.js +850 -797
  38. package/dist/chunks/getBundleMode.es.js +1 -1
  39. package/dist/chunks/getEntityTypeIcon.es.js +5 -4
  40. package/dist/chunks/getUris.es.js +3704 -3504
  41. package/dist/chunks/realtimeUpdatesUtils.es.js +91 -82
  42. package/dist/chunks/searchTerms.es.js +649 -563
  43. package/dist/chunks/sortLists.es.js +22 -0
  44. package/dist/chunks/useAttributeEnums.es.js +21 -21
  45. package/dist/chunks/useHierarchySelection.es.js +6 -5
  46. package/dist/chunks/useLoadModule.es.js +24 -23
  47. package/dist/chunks/viewUpdateHelper.es.js +19 -18
  48. package/dist/components.es.js +628 -593
  49. package/dist/context.es.js +525 -499
  50. package/dist/hooks.es.js +54 -53
  51. package/dist/index.es.js +4 -4
  52. package/dist/types/ContextMenu.d.ts +4 -1
  53. package/dist/types/Feed.d.ts +1 -1
  54. package/dist/types/ListTable.d.ts +1 -1
  55. package/dist/types/ProjectTreeTable.d.ts +144 -14
  56. package/dist/types/SimpleTable.d.ts +2 -1
  57. package/dist/types/Slicer.d.ts +32 -5
  58. package/dist/types/Views.d.ts +6 -0
  59. package/dist/types/api.d.ts +2252 -510
  60. package/dist/types/components.d.ts +52 -4
  61. package/dist/types/context.d.ts +96 -2
  62. package/dist/types/hooks.d.ts +36 -1
  63. package/dist/types/util.d.ts +54 -0
  64. package/dist/util.es.js +129 -119
  65. package/package.json +4 -4
  66. package/dist/chunks/MenuItem.es.js +0 -420
package/dist/hooks.es.js CHANGED
@@ -1,13 +1,13 @@
1
- import { d as k, a as R } from "./chunks/DeleteEntitiesContextInstance.es.js";
2
- import { q as ie, r as ae, s as ue, p as de, v as ce, w as le } from "./chunks/DeleteEntitiesContextInstance.es.js";
3
- import { u as T } from "./chunks/useLoadModule.es.js";
1
+ import { d as T, a as k } from "./chunks/TableExportContextInstance.es.js";
2
+ import { q as se, r as ie, s as ae, p as ue, v as de, w as ce } from "./chunks/TableExportContextInstance.es.js";
3
+ import { u as R } from "./chunks/useLoadModule.es.js";
4
4
  import { loadRemote as V } from "@module-federation/enhanced/runtime";
5
5
  import { useRef as G, useState as S, useEffect as v, useCallback as M } from "react";
6
6
  import A from "semver";
7
- import { k as fe, l as pe, m as ge, n as he, o as ye, p as we } from "./chunks/Watchers.es.js";
8
- import { u as Le } from "./chunks/useActionTriggers.es.js";
9
- import { b3 as C } from "./chunks/searchTerms.es.js";
10
- import { bw as N, cR as O } from "./chunks/getUris.es.js";
7
+ import { k as me, l as fe, m as pe, n as ge, o as he, p as ye } from "./chunks/Watchers.es.js";
8
+ import { u as Ee } from "./chunks/useActionTriggers.es.js";
9
+ import { bc as C } from "./chunks/searchTerms.es.js";
10
+ import { bA as N, cX as O } from "./chunks/getUris.es.js";
11
11
  import "primereact/confirmdialog";
12
12
  import { jsx as x, jsxs as K } from "react/jsx-runtime";
13
13
  import { toast as U } from "react-toastify";
@@ -18,13 +18,14 @@ import "./chunks/ContextMenuContextInstance.es.js";
18
18
  import "clsx";
19
19
  import "react-dom";
20
20
  import "react-redux";
21
- import { u as ve } from "./chunks/EntityPickerDialog.es.js";
22
- import { u as Ie } from "./chunks/useQueryArgumentChangeLoading.es.js";
23
- import { u as xe } from "./chunks/useGroupedPagination.es.js";
21
+ import "react-router-dom";
22
+ import { u as Se } from "./chunks/EntityPickerDialog.es.js";
23
+ import { u as be } from "./chunks/useQueryArgumentChangeLoading.es.js";
24
+ import { u as Ae } from "./chunks/useGroupedPagination.es.js";
24
25
  import "./chunks/ReviewablesSelector.es.js";
25
26
  import "match-sorter";
26
27
  import "./chunks/SimpleForm.es.js";
27
- import "./chunks/MetaWidget.es.js";
28
+ import { f as He } from "./chunks/MetaWidget.es.js";
28
29
  import "date-fns";
29
30
  import "./chunks/PlayableIcon.es.js";
30
31
  import "./chunks/JsonViewer.es.js";
@@ -38,7 +39,7 @@ import "@lexical/utils";
38
39
  import "@lexical/react/LexicalBlockWithAlignableContents";
39
40
  import "@lexical/react/LexicalDecoratorBlockNode";
40
41
  import "./chunks/EmptyPlaceholder.es.js";
41
- import "./chunks/Menu.es.js";
42
+ import "./chunks/EmptyPlaceholderFlex.styled.es.js";
42
43
  import "./chunks/InfoMessage.es.js";
43
44
  import "@dnd-kit/core";
44
45
  import "@dnd-kit/sortable";
@@ -49,16 +50,15 @@ import "./chunks/EntityTooltip.es.js";
49
50
  import "./chunks/ColumnDropIndicator.styled.es.js";
50
51
  import "@tanstack/react-table";
51
52
  import { T as F } from "./chunks/TableSettingsFallback.es.js";
52
- import "react-router-dom";
53
53
  import "./chunks/Slicer.es.js";
54
54
  import "primereact/splitter";
55
55
  import "./chunks/ThumbnailSimple.es.js";
56
- import "./chunks/MenuItem.es.js";
56
+ import "./chunks/Menu.es.js";
57
57
  import H from "styled-components";
58
58
  import { i as W } from "./chunks/isHTMLElement.es.js";
59
- import { u as Pe } from "./chunks/useAttributeEnums.es.js";
59
+ import { u as Te } from "./chunks/useAttributeEnums.es.js";
60
60
  import { a as $ } from "./chunks/afterStartup.es.js";
61
- const Jt = (t, n, e) => {
61
+ const Xt = (t, n, e) => {
62
62
  const o = G(/* @__PURE__ */ new Set()), [m, r] = S(
63
63
  () => p(t)
64
64
  ), [s, f] = S(n.length > 0 && !e);
@@ -183,8 +183,8 @@ const Jt = (t, n, e) => {
183
183
  });
184
184
  }
185
185
  return { modules: m, isLoading: s };
186
- }, Xt = ({ selectors: t = [], init: n }) => {
187
- const { user: e } = k(), { data: { frontendPreferences: o = {} } = {} } = e || {}, m = t.filter((i) => i != null).map((i) => i.replace(/\s/g, ""));
186
+ }, Dt = ({ selectors: t = [], init: n }) => {
187
+ const { user: e } = T(), { data: { frontendPreferences: o = {} } = {} } = e || {}, m = t.filter((i) => i != null).map((i) => i.replace(/\s/g, ""));
188
188
  let r = o;
189
189
  for (const i of m)
190
190
  r = r?.[i];
@@ -212,7 +212,7 @@ const Jt = (t, n, e) => {
212
212
  console.error(p), U.error(p.data?.detail);
213
213
  }
214
214
  }, { isSuccess: !0 }];
215
- }, Yt = ({ groupBy: t, projectName: n, entityType: e }) => {
215
+ }, Jt = ({ groupBy: t, projectName: n, entityType: e }) => {
216
216
  t?.id === "taskType" && (e = "task");
217
217
  const o = t?.id || "", { data: { groups: m = [] } = {}, error: r } = N(
218
218
  { projectName: n, entityType: e, groupingKey: o, empty: !0 },
@@ -236,8 +236,8 @@ const Jt = (t, n, e) => {
236
236
  }) => /* @__PURE__ */ x(F, { feature: "groupAttributes", requiredVersion: t, children: n.map((e) => /* @__PURE__ */ x(q, { children: /* @__PURE__ */ K(z, { variant: "text", icon: e.icon, children: [
237
237
  e.label,
238
238
  /* @__PURE__ */ x(j, { icon: "bolt", style: { marginLeft: "auto" } })
239
- ] }) }, e.value)) }), Zt = () => {
240
- const { powerLicense: t } = R(), [n, { outdated: e, isLoading: o }] = T({
239
+ ] }) }, e.value)) }), Yt = () => {
240
+ const { powerLicense: t } = k(), [n, { outdated: e, isLoading: o }] = R({
241
241
  addon: "powerpack",
242
242
  remote: "slicer",
243
243
  module: "GroupSettings",
@@ -252,7 +252,7 @@ const Jt = (t, n, e) => {
252
252
  isLoading: o
253
253
  };
254
254
  }, Q = ["w", "s"];
255
- function te({
255
+ function Zt({
256
256
  reviewables: t,
257
257
  selected: n,
258
258
  onChange: e,
@@ -271,8 +271,8 @@ function te({
271
271
  return window.addEventListener("keydown", r), () => window.removeEventListener("keydown", r);
272
272
  }, [m, t, n, e, o]);
273
273
  }
274
- const D = 4, J = 0.3;
275
- function ee({
274
+ const X = 4, D = 0.3;
275
+ function te({
276
276
  containerRef: t,
277
277
  toolsRef: n,
278
278
  reviewablesCount: e
@@ -287,9 +287,9 @@ function ee({
287
287
  E();
288
288
  const g = new ResizeObserver(E);
289
289
  return g.observe(i), p && g.observe(p), () => g.disconnect();
290
- }, [t, n]), e <= D || !o || !r ? "column" : o - r < o * J ? "row" : "column";
290
+ }, [t, n]), e <= X || !o || !r ? "column" : o - r < o * D ? "row" : "column";
291
291
  }
292
- const re = () => {
292
+ const ee = () => {
293
293
  const { data: t, isLoading: n, isError: e } = O({});
294
294
  return {
295
295
  getProductionAddon: M(
@@ -311,35 +311,36 @@ const re = () => {
311
311
  isLoading: n,
312
312
  isError: e
313
313
  };
314
- }, oe = (t) => {
314
+ }, re = (t) => {
315
315
  const [n, e] = S(!1);
316
316
  return v(() => $(() => e(!0), t), [t]), n;
317
317
  };
318
318
  export {
319
- fe as filterProjectStatuses,
320
- ie as readLocalStorage,
321
- ae as readSessionStorage,
322
- Le as useActionTriggers,
323
- oe as useAfterStartup,
324
- pe as useAttributeEnumOptions,
325
- Pe as useAttributeEnums,
326
- ge as useEntityUpdate,
327
- he as useFetchAttributeEnumOptions,
328
- Yt as useGetEntityGroups,
329
- re as useGetProductionAddon,
330
- Zt as useGroupByRemoteModules,
331
- xe as useGroupedPagination,
332
- ve as useHierarchyTable,
333
- T as useLoadModule,
334
- Jt as useLoadModules,
335
- ue as useLocalStorage,
336
- Ie as useQueryArgumentChangeLoading,
337
- te as useReviewablesKeyboardNavigation,
338
- ee as useReviewablesLayout,
339
- ye as useScopedStatuses,
340
- we as useScopedTypes,
341
- de as useSessionStorage,
342
- Xt as useUserProjectConfig,
343
- ce as writeLocalStorage,
344
- le as writeSessionStorage
319
+ me as filterProjectStatuses,
320
+ se as readLocalStorage,
321
+ ie as readSessionStorage,
322
+ Ee as useActionTriggers,
323
+ re as useAfterStartup,
324
+ fe as useAttributeEnumOptions,
325
+ Te as useAttributeEnums,
326
+ He as useEditProjectTags,
327
+ pe as useEntityUpdate,
328
+ ge as useFetchAttributeEnumOptions,
329
+ Jt as useGetEntityGroups,
330
+ ee as useGetProductionAddon,
331
+ Yt as useGroupByRemoteModules,
332
+ Ae as useGroupedPagination,
333
+ Se as useHierarchyTable,
334
+ R as useLoadModule,
335
+ Xt as useLoadModules,
336
+ ae as useLocalStorage,
337
+ be as useQueryArgumentChangeLoading,
338
+ Zt as useReviewablesKeyboardNavigation,
339
+ te as useReviewablesLayout,
340
+ he as useScopedStatuses,
341
+ ye as useScopedTypes,
342
+ ue as useSessionStorage,
343
+ Dt as useUserProjectConfig,
344
+ de as writeLocalStorage,
345
+ ce as writeSessionStorage
345
346
  };
package/dist/index.es.js CHANGED
@@ -9,7 +9,7 @@ import "./chunks/MetaWidget.es.js";
9
9
  import "react-dom";
10
10
  import "date-fns";
11
11
  import { U as W } from "./chunks/PlayableIcon.es.js";
12
- import { u as Y } from "./chunks/DeleteEntitiesContextInstance.es.js";
12
+ import { u as Y } from "./chunks/TableExportContextInstance.es.js";
13
13
  import "lodash";
14
14
  import "primereact/confirmdialog";
15
15
  import "react-toastify";
@@ -32,8 +32,9 @@ import "semver";
32
32
  import "./chunks/ContextMenuContextInstance.es.js";
33
33
  import { M as _ } from "./chunks/MenuContext.es.js";
34
34
  import "react-redux";
35
+ import "react-router-dom";
35
36
  import { E as rr } from "./chunks/EmptyPlaceholder.es.js";
36
- import "./chunks/Menu.es.js";
37
+ import "./chunks/EmptyPlaceholderFlex.styled.es.js";
37
38
  import "./chunks/InfoMessage.es.js";
38
39
  import "@dnd-kit/core";
39
40
  import "@dnd-kit/sortable";
@@ -44,11 +45,10 @@ import "./chunks/EntityTooltip.es.js";
44
45
  import "./chunks/ColumnDropIndicator.styled.es.js";
45
46
  import "@tanstack/react-table";
46
47
  import "./chunks/EntityPickerDialog.es.js";
47
- import "react-router-dom";
48
48
  import "./chunks/Slicer.es.js";
49
49
  import "primereact/splitter";
50
50
  import { T as mr } from "./chunks/ThumbnailSimple.es.js";
51
- import "./chunks/MenuItem.es.js";
51
+ import "./chunks/Menu.es.js";
52
52
  export {
53
53
  rr as EmptyPlaceholder,
54
54
  _ as MenuProvider,
@@ -33,11 +33,14 @@ export declare interface CommandEvent {
33
33
  };
34
34
  }
35
35
 
36
+ export declare const CONTEXT_MENU_TARGET_ATTR = "data-context-menu-target";
37
+
36
38
  export declare const ContextMenuContext: Context<ContextMenuContextType | undefined>;
37
39
 
38
40
  export declare interface ContextMenuContextType {
39
41
  openContext: (event: default_2.MouseEvent, model: ContextMenuItem[]) => void;
40
42
  closeContext: () => void;
43
+ clearContextTarget: () => void;
41
44
  ref: RefObject<any>;
42
45
  model: ContextMenuItem[];
43
46
  isContextOpen: boolean;
@@ -111,7 +114,7 @@ declare type PowerpackDialogType = {
111
114
  icon?: string;
112
115
  };
113
116
 
114
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'entityLinks';
117
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
115
118
 
116
119
  export declare function useContextMenu(): ContextMenuContextType;
117
120
 
@@ -234,7 +234,7 @@ export declare type MimeTypeDefinition = {
234
234
  callback?: (file: any) => void;
235
235
  };
236
236
 
237
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'entityLinks';
237
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
238
238
 
239
239
  declare type ProductSuggestionItem = {
240
240
  /** The date and time when the suggested entity was created */
@@ -259,7 +259,7 @@ export declare interface ListTableWidgetRenderContext<TData extends RowData> {
259
259
 
260
260
  export declare type ListTableWidgetRenderer<TData extends RowData> = (context: ListTableWidgetRenderContext<TData>) => React.ReactNode;
261
261
 
262
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'entityLinks';
262
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
263
263
 
264
264
  export declare const renderListTableFallbackValue: (value: unknown) => string;
265
265
 
@@ -26,6 +26,7 @@ import { IconProps } from '@ynput/ayon-react-components';
26
26
  import { Id } from 'react-toastify';
27
27
  import { IStyledComponentBase } from 'styled-components/dist/types';
28
28
  import { JSX as JSX_2 } from 'react/jsx-runtime';
29
+ import { MixedChange } from '@ynput/ayon-react-components';
29
30
  import { Modifier } from '@dnd-kit/core';
30
31
  import { MouseEvent as MouseEvent_2 } from 'react';
31
32
  import { MutableRefObject } from 'react';
@@ -368,6 +369,13 @@ export declare const CellEditingProvider: React.FC<{
368
369
 
369
370
  export declare type CellId = string;
370
371
 
372
+ export declare type CellMark = {
373
+ placeholder?: string;
374
+ highlight?: string;
375
+ warning?: boolean;
376
+ tooltip?: string;
377
+ };
378
+
371
379
  export declare interface CellPosition {
372
380
  rowId: RowId;
373
381
  colId: ColId;
@@ -397,7 +405,7 @@ export declare interface ClipboardContextType {
397
405
  pasteFromClipboard: (selected: string[], config?: {
398
406
  method?: PasteMethod;
399
407
  }) => Promise<void>;
400
- exportCSV: (selected: string[], projectName: string, fullRow?: boolean) => void;
408
+ exportCSV: (selected: string[], projectName: string, delimiter: CsvDelimiter) => Promise<void>;
401
409
  }
402
410
 
403
411
  export declare const clipboardError: (error: string) => Id;
@@ -430,6 +438,12 @@ export declare const COLUMN_SORT_CONFIG: Record<string, ColumnSortConfig>;
430
438
 
431
439
  declare type ColumnConfig = {
432
440
  display?: DisplayConfig;
441
+ headerIcon?: {
442
+ icon: string;
443
+ tooltip?: string;
444
+ };
445
+ groupEdge?: 'start' | 'end';
446
+ menuItems?: ColumnMenuItemType[];
433
447
  };
434
448
 
435
449
  export declare const ColumnDndProvider: FC<ColumnDndProviderProps>;
@@ -442,7 +456,7 @@ export declare interface ColumnEnums extends BuiltInFieldOptions {
442
456
  [attrib: string]: EnumItem[];
443
457
  }
444
458
 
445
- export declare const ColumnHeaderMenu: ({ header, canHide, canPin, canSort, isResizing, className, menuId, isOpen, }: ColumnHeaderMenuProps) => JSX_2.Element | null;
459
+ export declare const ColumnHeaderMenu: ({ header, canHide, canPin, canSort, isResizing, className, menuId, isOpen, extraMenuItems, }: ColumnHeaderMenuProps) => JSX_2.Element | null;
446
460
 
447
461
  declare interface ColumnHeaderMenuProps {
448
462
  header: Header<TableRow, unknown>;
@@ -453,10 +467,21 @@ declare interface ColumnHeaderMenuProps {
453
467
  className?: string;
454
468
  menuId?: string;
455
469
  isOpen?: boolean;
470
+ extraMenuItems?: ColumnMenuItemType[];
456
471
  }
457
472
 
458
473
  export declare type ColumnIdAliases = Record<string, string>;
459
474
 
475
+ declare type ColumnMenuItemType = {
476
+ id: string;
477
+ label?: string;
478
+ icon?: string;
479
+ className?: string;
480
+ onClick?: () => void;
481
+ type?: 'divider';
482
+ selected?: boolean;
483
+ };
484
+
460
485
  export declare type ColumnsConfig = {
461
486
  columnVisibility: VisibilityState;
462
487
  columnOrder: ColumnOrderState;
@@ -640,6 +665,8 @@ export declare const createMetaRowId: (entityId: string, type: MetaRowType) => s
640
665
  */
641
666
  export declare const createRelativeValue: (patternId: DateOptionType, index: number) => string;
642
667
 
668
+ declare type CsvDelimiter = ',' | ';' | '\t';
669
+
643
670
  declare type CustomTemplate = {
644
671
  name: string;
645
672
  value?: string;
@@ -668,7 +695,7 @@ export declare const DEFAULT_ROW_SCOPE: RowScope;
668
695
 
669
696
  export declare const DEFAULT_SUMMARY_FORMAT: SummaryFormat;
670
697
 
671
- export declare type DefaultColumns = typeof ROW_SELECTION_COLUMN_ID | 'thumbnail' | 'name' | 'entityType' | typeof ENTITY_COLUMN_IDS.folder | 'status' | 'subType' | 'assignees' | 'tags' | 'createdAt' | 'updatedAt' | 'comments';
698
+ export declare type DefaultColumns = typeof ROW_SELECTION_COLUMN_ID | 'thumbnail' | 'name' | 'entityType' | typeof ENTITY_COLUMN_IDS.folder | 'status' | 'subType' | 'assignees' | 'tags' | 'createdAt' | 'updatedAt' | 'comments' | typeof LISTS_COLUMN_ID | typeof REVIEW_SESSIONS_COLUMN_ID;
672
699
 
673
700
  declare type DefaultMenuItem = 'copy-paste' | 'show-details' | 'rename' | 'expand-collapse' | 'inherit' | 'delete' | 'export' | 'create-folder' | 'create-task' | 'open-viewer';
674
701
 
@@ -731,12 +758,6 @@ export declare type DetermineLoadingTaskFoldersParams = {
731
758
  foldersMap: FolderNodeMap;
732
759
  };
733
760
 
734
- /**
735
- * Column Configuration System
736
- *
737
- * Extensible configuration for controlling column and widget behavior.
738
- * Supports per-column configuration for display, behavior, styling, and other settings.
739
- */
740
761
  declare type DisplayConfig = Record<string, boolean>;
741
762
 
742
763
  export declare const DRAG_HANDLE_COLUMN_ID = "drag-handle";
@@ -761,7 +782,8 @@ declare interface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivEleme
761
782
  folderId?: string | null;
762
783
  midnightExclusiveFields?: string[];
763
784
  tooltip?: string;
764
- onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void;
785
+ mark?: CellMark;
786
+ onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape', listChange?: ListChange) => void;
765
787
  pt?: {
766
788
  enum?: Partial<EnumWidgetProps>;
767
789
  text?: Partial<TextWidgetProps>;
@@ -1543,6 +1565,8 @@ export declare const getScopedColumnId: (scope: EntityScope, field: string, isAt
1543
1565
 
1544
1566
  export declare const getScopedEntity: (row: TableRow, scope: EntityScope) => EntityData | undefined;
1545
1567
 
1568
+ export declare const getScopedHeader: (scope: EntityScope, header: string) => string;
1569
+
1546
1570
  export declare const getScopedValue: (row: TableRow, scope: EntityScope, field: string, isAttrib?: boolean) => any;
1547
1571
 
1548
1572
  export declare const getSortableColumnOptions: (scopes?: string[], columns?: SortColumnLabel[]) => {
@@ -1660,6 +1684,8 @@ declare type GetTasksLinksQuery = {
1660
1684
  };
1661
1685
  };
1662
1686
 
1687
+ export declare const getTasksSortArgs: (sorting: SortingState, showHierarchy: boolean) => SortArgs;
1688
+
1663
1689
  export declare const getTypeDefaultValue: (type: AttributeData["type"]) => {} | null;
1664
1690
 
1665
1691
  export declare const getValueIdType: (row: Row<TableRow>, field: string, nestedField?: "attrib" | "links" | "subtasks" | "latestComments") => {
@@ -1959,6 +1985,10 @@ export declare const isGroupId: (id: string) => boolean;
1959
1985
 
1960
1986
  export declare const isLinkEditable: (direction: "in" | "out", linkType: string, entityType: string) => boolean;
1961
1987
 
1988
+ export declare const isListColumnEntityType: (columnId: string, entityType?: string) => entityType is ListsMembershipEntityType;
1989
+
1990
+ export declare const isListsMembershipEntityType: (entityType?: string) => entityType is ListsMembershipEntityType;
1991
+
1962
1992
  /**
1963
1993
  * Checks if a row ID is a meta row ID
1964
1994
  * @param rowId - The row ID to check
@@ -2074,6 +2104,48 @@ export declare type LinkWidgetData = {
2074
2104
  links: LinkEntity[];
2075
2105
  };
2076
2106
 
2107
+ export declare const LIST_COLUMN_IDS: string[];
2108
+
2109
+ export declare const LIST_COLUMNS: Record<string, ListColumnConfig>;
2110
+
2111
+ declare type ListChange = MixedChange & {
2112
+ cellIds: string[];
2113
+ };
2114
+
2115
+ declare type ListColumnConfig = {
2116
+ label: string;
2117
+ icon: string;
2118
+ listType: string;
2119
+ entityTypes: ListsMembershipEntityType[];
2120
+ };
2121
+
2122
+ declare type ListMembership = ListMembershipFragmentFragment;
2123
+
2124
+ declare type ListMembershipFragmentFragment = {
2125
+ id: string;
2126
+ label: string;
2127
+ entityListType: string;
2128
+ itemIds: Array<string>;
2129
+ };
2130
+
2131
+ export declare const LISTS_COLUMN_ID = "lists";
2132
+
2133
+ declare type ListsMembershipEntityType = 'folder' | 'task' | 'version';
2134
+
2135
+ export declare const ListsWidget: FC<ListsWidgetProps>;
2136
+
2137
+ export declare type ListsWidgetData = {
2138
+ entityId: string;
2139
+ entityType: ListsMembershipEntityType;
2140
+ columnId: string;
2141
+ };
2142
+
2143
+ declare interface ListsWidgetProps extends WidgetBaseProps {
2144
+ value?: ListsWidgetData;
2145
+ projectName: string;
2146
+ cellId: string;
2147
+ }
2148
+
2077
2149
  export declare type LoadingTasks = Record<string, number>;
2078
2150
 
2079
2151
  export declare type MainBreakdownFields = {
@@ -2336,7 +2408,7 @@ declare type PowerpackDialogType = {
2336
2408
  icon?: string;
2337
2409
  };
2338
2410
 
2339
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'entityLinks';
2411
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
2340
2412
 
2341
2413
  export declare const processFieldValue: (value: string, fieldValueType: "string" | "number" | "boolean" | "array") => any;
2342
2414
 
@@ -2656,6 +2728,7 @@ export declare interface ProjectTableContextType {
2656
2728
  fetchNextPage: ProjectTableProviderProps['fetchNextPage'];
2657
2729
  onSyncData: ProjectTableProviderProps['onSyncData'];
2658
2730
  getEntityById: (id: string, field?: string) => EntityMap | undefined;
2731
+ isRowReadOnly: (rowId: string) => boolean;
2659
2732
  loadingLinksEntityIds?: Set<string>;
2660
2733
  groups: ProjectTableProviderProps['groups'];
2661
2734
  overrideGroupBy?: ProjectTableProviderProps['overrideGroupBy'];
@@ -2682,6 +2755,7 @@ export declare interface ProjectTableContextType {
2682
2755
  playerOpen?: ProjectTableProviderProps['playerOpen'];
2683
2756
  onOpenPlayer?: ProjectTableProviderProps['onOpenPlayer'];
2684
2757
  onResetView?: () => void;
2758
+ hiddenListIds?: string[];
2685
2759
  useParams?: typeof useParams;
2686
2760
  useNavigate?: typeof useNavigate;
2687
2761
  useLocation?: typeof useLocation;
@@ -2695,7 +2769,7 @@ declare type ProjectTableModulesType = {
2695
2769
  isLoading: boolean;
2696
2770
  };
2697
2771
 
2698
- export declare const ProjectTableProvider: ({ children, foldersMap, tableRows, tasksMap, entitiesMap, tasksByFolderMap, selectedFolders, expanded, showHierarchy, loadingTasks, isLoadingMore, isLoading, error, softError, softErrorAction, isInitialized, users, attribFields, scopes, groups, groupRowFunc, overrideGroupBy, groupCounts, groupCountsComplete, queryFilters, updateShowHierarchy, toggleExpanded, updateExpanded, fetchNextPage, onSyncData, setExpanded, contextMenuItems, powerpack, modules, loadingLinksEntityIds, groupByConfig, hierarchyOptions, hierarchyActive, isFlatFolderView, SubtasksManager, playerOpen, onOpenPlayer, onResetView, useParams, useNavigate, useLocation, useSearchParams, dispatch, }: ProjectTableProviderProps) => JSX_2.Element;
2772
+ export declare const ProjectTableProvider: ({ children, foldersMap, tableRows, tasksMap, entitiesMap, tasksByFolderMap, selectedFolders, expanded, showHierarchy, loadingTasks, isLoadingMore, isLoading, error, softError, softErrorAction, isInitialized, users, attribFields, scopes, groups, groupRowFunc, overrideGroupBy, groupCounts, groupCountsComplete, queryFilters, updateShowHierarchy, toggleExpanded, updateExpanded, fetchNextPage, onSyncData, setExpanded, contextMenuItems, powerpack, modules, loadingLinksEntityIds, groupByConfig, hierarchyOptions, hierarchyActive, isFlatFolderView, SubtasksManager, playerOpen, onOpenPlayer, onResetView, hiddenListIds, useParams, useNavigate, useLocation, useSearchParams, dispatch, }: ProjectTableProviderProps) => JSX_2.Element;
2699
2773
 
2700
2774
  export declare interface ProjectTableProviderProps {
2701
2775
  children: ReactNode;
@@ -2758,6 +2832,7 @@ export declare interface ProjectTableProviderProps {
2758
2832
  quickView?: boolean;
2759
2833
  }) => void;
2760
2834
  onResetView?: () => void;
2835
+ hiddenListIds?: string[];
2761
2836
  useParams?: typeof useParams;
2762
2837
  useNavigate?: typeof useNavigate;
2763
2838
  useLocation?: typeof useLocation;
@@ -2787,7 +2862,7 @@ export declare interface ProjectTableQueriesProviderProps {
2787
2862
  }, force?: boolean) => Promise<any>;
2788
2863
  }
2789
2864
 
2790
- export declare const ProjectTreeTable: ({ scope, sliceId, onScroll, onScrollBottom, onOpenNew, readOnly, excludedColumns, excludedSorting, extraColumns, includeLinks, includeParents, parentColumns, isLoading: isLoadingProp, isExpandable, enableSorting, clientSorting, sortableRows, onRowReorder, dndActiveId, columnsConfig, showColumnSummaries, fieldStats, groupFieldStats, fieldStatsLoading, fieldStatsError, mainCountLabels, mainBreakdownFields, onScrollBottomGroupBy, contextMenuItems: propsContextMenuItems, onColumnVisibleChange, onColumnVisibleChangeSubscribed, onVisibleRowsChange, pt, ...props }: ProjectTreeTableProps) => JSX_2.Element;
2865
+ export declare const ProjectTreeTable: ({ scope, sliceId, onScroll, onScrollBottom, onOpenNew, readOnly, excludedColumns, excludedSorting, extraColumns, includeLinks, includeParents, parentColumns, isLoading: isLoadingProp, isExpandable, enableSorting, clientSorting, sortableRows, onRowReorder, dndActiveId, columnsConfig, showColumnSummaries, fieldStats, groupFieldStats, fieldStatsLoading, fieldStatsError, mainCountLabels, mainBreakdownFields, onScrollBottomGroupBy, contextMenuItems: propsContextMenuItems, onColumnVisibleChange, onColumnVisibleChangeSubscribed, onVisibleRowsChange, scrollToRowId, onScrolledToRow, pt, ...props }: ProjectTreeTableProps) => JSX_2.Element;
2791
2866
 
2792
2867
  export declare interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {
2793
2868
  scope: string;
@@ -2821,6 +2896,8 @@ export declare interface ProjectTreeTableProps extends React.HTMLAttributes<HTML
2821
2896
  onColumnVisibleChange?: (changes: Record<string, boolean>) => void;
2822
2897
  onColumnVisibleChangeSubscribed?: string[];
2823
2898
  onVisibleRowsChange?: (entityIds: string[]) => void;
2899
+ scrollToRowId?: string | null;
2900
+ onScrolledToRow?: (rowId: string) => void;
2824
2901
  pt?: {
2825
2902
  container?: React.HTMLAttributes<HTMLDivElement>;
2826
2903
  head?: Partial<TableHeadProps>;
@@ -2926,6 +3003,8 @@ export declare const READ_ONLY = "readonly";
2926
3003
 
2927
3004
  declare type RepresentationLink = GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0];
2928
3005
 
3006
+ export declare const resolveColumnVisibility: (columnVisibility: VisibilityState, columnIds: string[], defaultVisibility?: VisibilityState, explicitVisibility?: Record<string, boolean | undefined>) => VisibilityState;
3007
+
2929
3008
  /**
2930
3009
  * Resolves a relative date value to an actual ISO date string
2931
3010
  * e.g., "relative:today:0" → "2026-04-14T00:00:00.000Z" (current today)
@@ -2944,6 +3023,8 @@ export declare interface RestrictedEntityData extends BaseEntityData {
2944
3023
  entityType: 'unknown';
2945
3024
  }
2946
3025
 
3026
+ export declare const REVIEW_SESSIONS_COLUMN_ID = "reviewSessions";
3027
+
2947
3028
  declare type Root = {
2948
3029
  name: string;
2949
3030
  windows?: string;
@@ -3138,6 +3219,11 @@ export declare type SoftErrorAction = {
3138
3219
  callback: () => void;
3139
3220
  };
3140
3221
 
3222
+ declare type SortArgs = {
3223
+ sortBy: string | string[] | undefined;
3224
+ desc: boolean;
3225
+ };
3226
+
3141
3227
  declare type SortColumnLabel = {
3142
3228
  value: string;
3143
3229
  label: string;
@@ -3302,6 +3388,8 @@ export declare type SummaryKind = 'main' | 'number' | 'boolean' | 'text' | 'enum
3302
3388
 
3303
3389
  export declare const TABLE_CONTAINER_ATTR = "data-column-dnd-container";
3304
3390
 
3391
+ export declare const TableCellContext: Context<TableCellContextValue>;
3392
+
3305
3393
  export declare type TableCellContextData = {
3306
3394
  cellId: string;
3307
3395
  columnId: string;
@@ -3317,6 +3405,11 @@ export declare type TableCellContextData = {
3317
3405
  data?: EntityMap | undefined;
3318
3406
  };
3319
3407
 
3408
+ export declare type TableCellContextValue = {
3409
+ mark?: CellMark;
3410
+ isRowReadOnly?: boolean;
3411
+ };
3412
+
3320
3413
  export declare interface TableGroupBy {
3321
3414
  desc: boolean;
3322
3415
  id: string;
@@ -3343,6 +3436,8 @@ export declare interface TableRow {
3343
3436
  group?: GroupData;
3344
3437
  subRows?: TableRow[];
3345
3438
  childOnlyMatch?: boolean;
3439
+ readOnly?: boolean;
3440
+ cellMarks?: Record<string, CellMark>;
3346
3441
  }
3347
3442
 
3348
3443
  export declare type TableUser = {
@@ -3381,6 +3476,21 @@ declare type Tag_5 = {
3381
3476
  color?: string;
3382
3477
  };
3383
3478
 
3479
+ export declare const TagsWidget: ({ value, options, projectName, isEditing, isReadOnly, onChange, onCancelEdit, placeholder, align, className, isProjectTags, pt, ...mixedProps }: TagsWidgetProps) => JSX_2.Element;
3480
+
3481
+ export declare interface TagsWidgetProps extends Pick<DropdownProps, 'mixedCounts' | 'mixedTotal' | 'mixedLabel' | 'onMixedChange'>, WidgetBaseProps {
3482
+ value: (string | number | boolean)[];
3483
+ options: EnumItem[];
3484
+ projectName?: string;
3485
+ placeholder?: string;
3486
+ align?: 'left' | 'right';
3487
+ className?: string;
3488
+ isProjectTags?: boolean;
3489
+ pt?: {
3490
+ template?: Partial<EnumTemplateProps>;
3491
+ };
3492
+ }
3493
+
3384
3494
  export declare interface TaskEntityData extends BaseEntityData {
3385
3495
  entityType: 'task';
3386
3496
  subType: string;
@@ -3522,6 +3632,7 @@ declare type TopicUpdateType = 'created' | 'label_changed' | 'renamed' | 'type_c
3522
3632
  export declare type TreeTableExtraColumn = {
3523
3633
  column: ColumnDef<TableRow>;
3524
3634
  position?: number;
3635
+ after?: string;
3525
3636
  };
3526
3637
 
3527
3638
  export declare type TreeTableSubType = 'folderType' | 'taskType' | 'productType';
@@ -3625,6 +3736,11 @@ declare interface UseEntitiesMapProps {
3625
3736
  tasksMap: TaskNodeMap;
3626
3737
  }
3627
3738
 
3739
+ export declare const useEntityListsMembership: (projectName: string, entityType: ListsMembershipEntityType, entityId: string) => {
3740
+ lists?: ListMembership[];
3741
+ error?: string;
3742
+ };
3743
+
3628
3744
  export declare const useExpandedState: ({ expanded, setExpanded }: UseExpandedStateProps) => {
3629
3745
  updateExpanded: OnChangeFn<ExpandedState>;
3630
3746
  toggleExpanded: (id: string) => void;
@@ -3636,6 +3752,12 @@ declare interface UseExpandedStateProps {
3636
3752
  setExpanded: (expanded: ExpandedState) => void;
3637
3753
  }
3638
3754
 
3755
+ export declare const useFetchListsMembership: ({ projectName, entities, enabled, }: {
3756
+ projectName: string;
3757
+ entities: VisibleEntity[];
3758
+ enabled: boolean;
3759
+ }) => void;
3760
+
3639
3761
  export declare const useFetchOverviewData: ({ projectName, selectedFolders, excludeSelectedFolders, taskIds, taskFilters, folderFilters, sorting, groupBy, taskGroups, taskGroupsCount, expanded, showHierarchy, isFlatFolderView, attribFields, modules, skipLinks, showComments, isLoadingViews, onCollapseAll, visibleEntityIds, folderStatsArgs, taskStatsArgs, folderStatsUninitialized, taskStatsUninitialized, dispatch, }: Params_2) => useFetchOverviewDataData;
3640
3762
 
3641
3763
  declare type useFetchOverviewDataData = {
@@ -3769,6 +3891,8 @@ export declare const useSelectedRowsContext: () => SelectedRowsContextType;
3769
3891
 
3770
3892
  export declare const useSelectionCellsContext: () => SelectionCellsContextType;
3771
3893
 
3894
+ export declare const useTableCellContext: () => TableCellContextValue;
3895
+
3772
3896
  declare const useUpdateSubtasksMutation: <R extends Record<string, any> = ({
3773
3897
  requestId?: undefined;
3774
3898
  status: QueryStatus.uninitialized;
@@ -3980,14 +4104,20 @@ export declare type VersionStatsArgs = {
3980
4104
  productFilter?: string;
3981
4105
  taskFilter?: string;
3982
4106
  folderFilter?: string;
4107
+ representationFilter?: string;
3983
4108
  folderIds?: string[];
3984
4109
  versionIds?: string[];
3985
4110
  productIds?: string[];
3986
4111
  latestPerFolder?: boolean;
3987
4112
  };
3988
4113
 
4114
+ declare type VisibleEntity = {
4115
+ id: string;
4116
+ entityType: string;
4117
+ };
4118
+
3989
4119
  declare type WidgetAttributeData = {
3990
- type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments';
4120
+ type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments' | 'lists';
3991
4121
  widget?: AttributeData['widget'];
3992
4122
  enumResolver?: AttributeData['enumResolver'];
3993
4123
  };