@ynput/ayon-frontend-shared 0.6.9 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/ContextMenu.es.js +44 -27
  2. package/dist/DetailsPanel.es.js +225 -224
  3. package/dist/ListTable.es.js +420 -420
  4. package/dist/NewEntity.es.js +42 -41
  5. package/dist/ProjectTreeTable.es.js +3517 -3378
  6. package/dist/Slicer.es.js +301 -276
  7. package/dist/Views.es.js +366 -352
  8. package/dist/api.es.js +428 -413
  9. package/dist/chunks/Actions.es.js +18 -17
  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 +60 -59
  18. package/dist/chunks/EntityPickerDialog.es.js +88 -83
  19. package/dist/chunks/EntityTooltip.es.js +15 -14
  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 +2457 -2196
  26. package/dist/chunks/PlayableIcon.es.js +77 -76
  27. package/dist/chunks/ProjectContext.es.js +6 -6
  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 +100 -99
  36. package/dist/chunks/VideoPlayer.es.js +1 -1
  37. package/dist/chunks/Watchers.es.js +222 -221
  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 +3873 -3736
  41. package/dist/chunks/realtimeUpdatesUtils.es.js +91 -82
  42. package/dist/chunks/searchTerms.es.js +621 -499
  43. package/dist/chunks/sortLists.es.js +22 -0
  44. package/dist/chunks/useAttributeEnums.es.js +43 -43
  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 +16 -15
  48. package/dist/components.es.js +565 -531
  49. package/dist/context.es.js +529 -503
  50. package/dist/hooks.es.js +13 -13
  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 +123 -13
  56. package/dist/types/SimpleTable.d.ts +2 -1
  57. package/dist/types/Slicer.d.ts +26 -1
  58. package/dist/types/Views.d.ts +2 -0
  59. package/dist/types/api.d.ts +2359 -590
  60. package/dist/types/components.d.ts +30 -4
  61. package/dist/types/context.d.ts +94 -2
  62. package/dist/types/util.d.ts +54 -0
  63. package/dist/util.es.js +129 -119
  64. package/package.json +2 -2
  65. 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 k, a as T } from "./chunks/TableExportContextInstance.es.js";
2
+ import { q as ie, r as ae, s as ue, p as de, v as ce, w as le } 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
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
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";
9
+ import { bc as C } from "./chunks/searchTerms.es.js";
10
+ import { bz as N, cW 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,6 +18,7 @@ import "./chunks/ContextMenuContextInstance.es.js";
18
18
  import "clsx";
19
19
  import "react-dom";
20
20
  import "react-redux";
21
+ import "react-router-dom";
21
22
  import { u as ve } from "./chunks/EntityPickerDialog.es.js";
22
23
  import { u as Ie } from "./chunks/useQueryArgumentChangeLoading.es.js";
23
24
  import { u as xe } from "./chunks/useGroupedPagination.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,11 +50,10 @@ 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
59
  import { u as Pe } from "./chunks/useAttributeEnums.es.js";
@@ -222,22 +222,22 @@ const Jt = (t, n, e) => {
222
222
  groups: m,
223
223
  error: r
224
224
  };
225
- }, q = H.li`
225
+ }, z = H.li`
226
226
  display: flex;
227
227
  align-items: center;
228
228
  padding: 0;
229
229
  margin: 0;
230
- `, z = H(_)`
230
+ `, q = H(_)`
231
231
  width: 100%;
232
232
  justify-content: start;
233
233
  `, B = ({
234
234
  requiredVersion: t,
235
235
  fields: n
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: [
236
+ }) => /* @__PURE__ */ x(F, { feature: "groupAttributes", requiredVersion: t, children: n.map((e) => /* @__PURE__ */ x(z, { children: /* @__PURE__ */ K(q, { variant: "text", icon: e.icon, children: [
237
237
  e.label,
238
238
  /* @__PURE__ */ x(j, { icon: "bolt", style: { marginLeft: "auto" } })
239
239
  ] }) }, e.value)) }), Zt = () => {
240
- const { powerLicense: t } = R(), [n, { outdated: e, isLoading: o }] = T({
240
+ const { powerLicense: t } = T(), [n, { outdated: e, isLoading: o }] = R({
241
241
  addon: "powerpack",
242
242
  remote: "slicer",
243
243
  module: "GroupSettings",
@@ -330,7 +330,7 @@ export {
330
330
  Zt as useGroupByRemoteModules,
331
331
  xe as useGroupedPagination,
332
332
  ve as useHierarchyTable,
333
- T as useLoadModule,
333
+ R as useLoadModule,
334
334
  Jt as useLoadModules,
335
335
  ue as useLocalStorage,
336
336
  Ie as useQueryArgumentChangeLoading,
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
 
@@ -368,6 +368,13 @@ export declare const CellEditingProvider: React.FC<{
368
368
 
369
369
  export declare type CellId = string;
370
370
 
371
+ export declare type CellMark = {
372
+ placeholder?: string;
373
+ highlight?: string;
374
+ warning?: boolean;
375
+ tooltip?: string;
376
+ };
377
+
371
378
  export declare interface CellPosition {
372
379
  rowId: RowId;
373
380
  colId: ColId;
@@ -397,7 +404,7 @@ export declare interface ClipboardContextType {
397
404
  pasteFromClipboard: (selected: string[], config?: {
398
405
  method?: PasteMethod;
399
406
  }) => Promise<void>;
400
- exportCSV: (selected: string[], projectName: string, fullRow?: boolean) => void;
407
+ exportCSV: (selected: string[], projectName: string, delimiter: CsvDelimiter) => Promise<void>;
401
408
  }
402
409
 
403
410
  export declare const clipboardError: (error: string) => Id;
@@ -430,6 +437,12 @@ export declare const COLUMN_SORT_CONFIG: Record<string, ColumnSortConfig>;
430
437
 
431
438
  declare type ColumnConfig = {
432
439
  display?: DisplayConfig;
440
+ headerIcon?: {
441
+ icon: string;
442
+ tooltip?: string;
443
+ };
444
+ groupEdge?: 'start' | 'end';
445
+ menuItems?: ColumnMenuItemType[];
433
446
  };
434
447
 
435
448
  export declare const ColumnDndProvider: FC<ColumnDndProviderProps>;
@@ -442,7 +455,7 @@ export declare interface ColumnEnums extends BuiltInFieldOptions {
442
455
  [attrib: string]: EnumItem[];
443
456
  }
444
457
 
445
- export declare const ColumnHeaderMenu: ({ header, canHide, canPin, canSort, isResizing, className, menuId, isOpen, }: ColumnHeaderMenuProps) => JSX_2.Element | null;
458
+ export declare const ColumnHeaderMenu: ({ header, canHide, canPin, canSort, isResizing, className, menuId, isOpen, extraMenuItems, }: ColumnHeaderMenuProps) => JSX_2.Element | null;
446
459
 
447
460
  declare interface ColumnHeaderMenuProps {
448
461
  header: Header<TableRow, unknown>;
@@ -453,10 +466,21 @@ declare interface ColumnHeaderMenuProps {
453
466
  className?: string;
454
467
  menuId?: string;
455
468
  isOpen?: boolean;
469
+ extraMenuItems?: ColumnMenuItemType[];
456
470
  }
457
471
 
458
472
  export declare type ColumnIdAliases = Record<string, string>;
459
473
 
474
+ declare type ColumnMenuItemType = {
475
+ id: string;
476
+ label?: string;
477
+ icon?: string;
478
+ className?: string;
479
+ onClick?: () => void;
480
+ type?: 'divider';
481
+ selected?: boolean;
482
+ };
483
+
460
484
  export declare type ColumnsConfig = {
461
485
  columnVisibility: VisibilityState;
462
486
  columnOrder: ColumnOrderState;
@@ -640,6 +664,8 @@ export declare const createMetaRowId: (entityId: string, type: MetaRowType) => s
640
664
  */
641
665
  export declare const createRelativeValue: (patternId: DateOptionType, index: number) => string;
642
666
 
667
+ declare type CsvDelimiter = ',' | ';' | '\t';
668
+
643
669
  declare type CustomTemplate = {
644
670
  name: string;
645
671
  value?: string;
@@ -668,7 +694,7 @@ export declare const DEFAULT_ROW_SCOPE: RowScope;
668
694
 
669
695
  export declare const DEFAULT_SUMMARY_FORMAT: SummaryFormat;
670
696
 
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';
697
+ 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
698
 
673
699
  declare type DefaultMenuItem = 'copy-paste' | 'show-details' | 'rename' | 'expand-collapse' | 'inherit' | 'delete' | 'export' | 'create-folder' | 'create-task' | 'open-viewer';
674
700
 
@@ -731,12 +757,6 @@ export declare type DetermineLoadingTaskFoldersParams = {
731
757
  foldersMap: FolderNodeMap;
732
758
  };
733
759
 
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
760
  declare type DisplayConfig = Record<string, boolean>;
741
761
 
742
762
  export declare const DRAG_HANDLE_COLUMN_ID = "drag-handle";
@@ -761,6 +781,7 @@ declare interface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivEleme
761
781
  folderId?: string | null;
762
782
  midnightExclusiveFields?: string[];
763
783
  tooltip?: string;
784
+ mark?: CellMark;
764
785
  onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void;
765
786
  pt?: {
766
787
  enum?: Partial<EnumWidgetProps>;
@@ -1543,6 +1564,8 @@ export declare const getScopedColumnId: (scope: EntityScope, field: string, isAt
1543
1564
 
1544
1565
  export declare const getScopedEntity: (row: TableRow, scope: EntityScope) => EntityData | undefined;
1545
1566
 
1567
+ export declare const getScopedHeader: (scope: EntityScope, header: string) => string;
1568
+
1546
1569
  export declare const getScopedValue: (row: TableRow, scope: EntityScope, field: string, isAttrib?: boolean) => any;
1547
1570
 
1548
1571
  export declare const getSortableColumnOptions: (scopes?: string[], columns?: SortColumnLabel[]) => {
@@ -1660,6 +1683,8 @@ declare type GetTasksLinksQuery = {
1660
1683
  };
1661
1684
  };
1662
1685
 
1686
+ export declare const getTasksSortArgs: (sorting: SortingState, showHierarchy: boolean) => SortArgs;
1687
+
1663
1688
  export declare const getTypeDefaultValue: (type: AttributeData["type"]) => {} | null;
1664
1689
 
1665
1690
  export declare const getValueIdType: (row: Row<TableRow>, field: string, nestedField?: "attrib" | "links" | "subtasks" | "latestComments") => {
@@ -1959,6 +1984,10 @@ export declare const isGroupId: (id: string) => boolean;
1959
1984
 
1960
1985
  export declare const isLinkEditable: (direction: "in" | "out", linkType: string, entityType: string) => boolean;
1961
1986
 
1987
+ export declare const isListColumnEntityType: (columnId: string, entityType?: string) => entityType is ListsMembershipEntityType;
1988
+
1989
+ export declare const isListsMembershipEntityType: (entityType?: string) => entityType is ListsMembershipEntityType;
1990
+
1962
1991
  /**
1963
1992
  * Checks if a row ID is a meta row ID
1964
1993
  * @param rowId - The row ID to check
@@ -2074,6 +2103,44 @@ export declare type LinkWidgetData = {
2074
2103
  links: LinkEntity[];
2075
2104
  };
2076
2105
 
2106
+ export declare const LIST_COLUMN_IDS: string[];
2107
+
2108
+ export declare const LIST_COLUMNS: Record<string, ListColumnConfig>;
2109
+
2110
+ declare type ListColumnConfig = {
2111
+ label: string;
2112
+ icon: string;
2113
+ listType: string;
2114
+ entityTypes: ListsMembershipEntityType[];
2115
+ };
2116
+
2117
+ declare type ListMembership = ListMembershipFragmentFragment;
2118
+
2119
+ declare type ListMembershipFragmentFragment = {
2120
+ id: string;
2121
+ label: string;
2122
+ entityListType: string;
2123
+ itemIds: Array<string>;
2124
+ };
2125
+
2126
+ export declare const LISTS_COLUMN_ID = "lists";
2127
+
2128
+ declare type ListsMembershipEntityType = 'folder' | 'task' | 'version';
2129
+
2130
+ export declare const ListsWidget: FC<ListsWidgetProps>;
2131
+
2132
+ export declare type ListsWidgetData = {
2133
+ entityId: string;
2134
+ entityType: ListsMembershipEntityType;
2135
+ columnId: string;
2136
+ };
2137
+
2138
+ declare interface ListsWidgetProps extends WidgetBaseProps {
2139
+ value?: ListsWidgetData;
2140
+ projectName: string;
2141
+ cellId: string;
2142
+ }
2143
+
2077
2144
  export declare type LoadingTasks = Record<string, number>;
2078
2145
 
2079
2146
  export declare type MainBreakdownFields = {
@@ -2336,7 +2403,7 @@ declare type PowerpackDialogType = {
2336
2403
  icon?: string;
2337
2404
  };
2338
2405
 
2339
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'entityLinks';
2406
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
2340
2407
 
2341
2408
  export declare const processFieldValue: (value: string, fieldValueType: "string" | "number" | "boolean" | "array") => any;
2342
2409
 
@@ -2656,6 +2723,7 @@ export declare interface ProjectTableContextType {
2656
2723
  fetchNextPage: ProjectTableProviderProps['fetchNextPage'];
2657
2724
  onSyncData: ProjectTableProviderProps['onSyncData'];
2658
2725
  getEntityById: (id: string, field?: string) => EntityMap | undefined;
2726
+ isRowReadOnly: (rowId: string) => boolean;
2659
2727
  loadingLinksEntityIds?: Set<string>;
2660
2728
  groups: ProjectTableProviderProps['groups'];
2661
2729
  overrideGroupBy?: ProjectTableProviderProps['overrideGroupBy'];
@@ -2682,6 +2750,7 @@ export declare interface ProjectTableContextType {
2682
2750
  playerOpen?: ProjectTableProviderProps['playerOpen'];
2683
2751
  onOpenPlayer?: ProjectTableProviderProps['onOpenPlayer'];
2684
2752
  onResetView?: () => void;
2753
+ hiddenListIds?: string[];
2685
2754
  useParams?: typeof useParams;
2686
2755
  useNavigate?: typeof useNavigate;
2687
2756
  useLocation?: typeof useLocation;
@@ -2695,7 +2764,7 @@ declare type ProjectTableModulesType = {
2695
2764
  isLoading: boolean;
2696
2765
  };
2697
2766
 
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;
2767
+ 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
2768
 
2700
2769
  export declare interface ProjectTableProviderProps {
2701
2770
  children: ReactNode;
@@ -2758,6 +2827,7 @@ export declare interface ProjectTableProviderProps {
2758
2827
  quickView?: boolean;
2759
2828
  }) => void;
2760
2829
  onResetView?: () => void;
2830
+ hiddenListIds?: string[];
2761
2831
  useParams?: typeof useParams;
2762
2832
  useNavigate?: typeof useNavigate;
2763
2833
  useLocation?: typeof useLocation;
@@ -2787,7 +2857,7 @@ export declare interface ProjectTableQueriesProviderProps {
2787
2857
  }, force?: boolean) => Promise<any>;
2788
2858
  }
2789
2859
 
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;
2860
+ 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
2861
 
2792
2862
  export declare interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {
2793
2863
  scope: string;
@@ -2821,6 +2891,8 @@ export declare interface ProjectTreeTableProps extends React.HTMLAttributes<HTML
2821
2891
  onColumnVisibleChange?: (changes: Record<string, boolean>) => void;
2822
2892
  onColumnVisibleChangeSubscribed?: string[];
2823
2893
  onVisibleRowsChange?: (entityIds: string[]) => void;
2894
+ scrollToRowId?: string | null;
2895
+ onScrolledToRow?: (rowId: string) => void;
2824
2896
  pt?: {
2825
2897
  container?: React.HTMLAttributes<HTMLDivElement>;
2826
2898
  head?: Partial<TableHeadProps>;
@@ -2926,6 +2998,8 @@ export declare const READ_ONLY = "readonly";
2926
2998
 
2927
2999
  declare type RepresentationLink = GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0];
2928
3000
 
3001
+ export declare const resolveColumnVisibility: (columnVisibility: VisibilityState, columnIds: string[], defaultVisibility?: VisibilityState, explicitVisibility?: Record<string, boolean | undefined>) => VisibilityState;
3002
+
2929
3003
  /**
2930
3004
  * Resolves a relative date value to an actual ISO date string
2931
3005
  * e.g., "relative:today:0" → "2026-04-14T00:00:00.000Z" (current today)
@@ -2944,6 +3018,8 @@ export declare interface RestrictedEntityData extends BaseEntityData {
2944
3018
  entityType: 'unknown';
2945
3019
  }
2946
3020
 
3021
+ export declare const REVIEW_SESSIONS_COLUMN_ID = "reviewSessions";
3022
+
2947
3023
  declare type Root = {
2948
3024
  name: string;
2949
3025
  windows?: string;
@@ -3138,6 +3214,11 @@ export declare type SoftErrorAction = {
3138
3214
  callback: () => void;
3139
3215
  };
3140
3216
 
3217
+ declare type SortArgs = {
3218
+ sortBy: string | string[] | undefined;
3219
+ desc: boolean;
3220
+ };
3221
+
3141
3222
  declare type SortColumnLabel = {
3142
3223
  value: string;
3143
3224
  label: string;
@@ -3302,6 +3383,8 @@ export declare type SummaryKind = 'main' | 'number' | 'boolean' | 'text' | 'enum
3302
3383
 
3303
3384
  export declare const TABLE_CONTAINER_ATTR = "data-column-dnd-container";
3304
3385
 
3386
+ export declare const TableCellContext: Context<TableCellContextValue>;
3387
+
3305
3388
  export declare type TableCellContextData = {
3306
3389
  cellId: string;
3307
3390
  columnId: string;
@@ -3317,6 +3400,11 @@ export declare type TableCellContextData = {
3317
3400
  data?: EntityMap | undefined;
3318
3401
  };
3319
3402
 
3403
+ export declare type TableCellContextValue = {
3404
+ mark?: CellMark;
3405
+ isRowReadOnly?: boolean;
3406
+ };
3407
+
3320
3408
  export declare interface TableGroupBy {
3321
3409
  desc: boolean;
3322
3410
  id: string;
@@ -3343,6 +3431,8 @@ export declare interface TableRow {
3343
3431
  group?: GroupData;
3344
3432
  subRows?: TableRow[];
3345
3433
  childOnlyMatch?: boolean;
3434
+ readOnly?: boolean;
3435
+ cellMarks?: Record<string, CellMark>;
3346
3436
  }
3347
3437
 
3348
3438
  export declare type TableUser = {
@@ -3522,6 +3612,7 @@ declare type TopicUpdateType = 'created' | 'label_changed' | 'renamed' | 'type_c
3522
3612
  export declare type TreeTableExtraColumn = {
3523
3613
  column: ColumnDef<TableRow>;
3524
3614
  position?: number;
3615
+ after?: string;
3525
3616
  };
3526
3617
 
3527
3618
  export declare type TreeTableSubType = 'folderType' | 'taskType' | 'productType';
@@ -3625,6 +3716,11 @@ declare interface UseEntitiesMapProps {
3625
3716
  tasksMap: TaskNodeMap;
3626
3717
  }
3627
3718
 
3719
+ export declare const useEntityListsMembership: (projectName: string, entityType: ListsMembershipEntityType, entityId: string) => {
3720
+ lists?: ListMembership[];
3721
+ error?: string;
3722
+ };
3723
+
3628
3724
  export declare const useExpandedState: ({ expanded, setExpanded }: UseExpandedStateProps) => {
3629
3725
  updateExpanded: OnChangeFn<ExpandedState>;
3630
3726
  toggleExpanded: (id: string) => void;
@@ -3636,6 +3732,12 @@ declare interface UseExpandedStateProps {
3636
3732
  setExpanded: (expanded: ExpandedState) => void;
3637
3733
  }
3638
3734
 
3735
+ export declare const useFetchListsMembership: ({ projectName, entities, enabled, }: {
3736
+ projectName: string;
3737
+ entities: VisibleEntity[];
3738
+ enabled: boolean;
3739
+ }) => void;
3740
+
3639
3741
  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
3742
 
3641
3743
  declare type useFetchOverviewDataData = {
@@ -3769,6 +3871,8 @@ export declare const useSelectedRowsContext: () => SelectedRowsContextType;
3769
3871
 
3770
3872
  export declare const useSelectionCellsContext: () => SelectionCellsContextType;
3771
3873
 
3874
+ export declare const useTableCellContext: () => TableCellContextValue;
3875
+
3772
3876
  declare const useUpdateSubtasksMutation: <R extends Record<string, any> = ({
3773
3877
  requestId?: undefined;
3774
3878
  status: QueryStatus.uninitialized;
@@ -3980,14 +4084,20 @@ export declare type VersionStatsArgs = {
3980
4084
  productFilter?: string;
3981
4085
  taskFilter?: string;
3982
4086
  folderFilter?: string;
4087
+ representationFilter?: string;
3983
4088
  folderIds?: string[];
3984
4089
  versionIds?: string[];
3985
4090
  productIds?: string[];
3986
4091
  latestPerFolder?: boolean;
3987
4092
  };
3988
4093
 
4094
+ declare type VisibleEntity = {
4095
+ id: string;
4096
+ entityType: string;
4097
+ };
4098
+
3989
4099
  declare type WidgetAttributeData = {
3990
- type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments';
4100
+ type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments' | 'lists';
3991
4101
  widget?: AttributeData['widget'];
3992
4102
  enumResolver?: AttributeData['enumResolver'];
3993
4103
  };
@@ -78,7 +78,7 @@ export declare const HeaderButton: IStyledComponentBase<"web", FastOmit<Omit< Bu
78
78
  ref?: ((instance: HTMLButtonElement | null) => void | DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | RefObject<HTMLButtonElement> | null | undefined;
79
79
  }, never>>> & string & Omit< ForwardRefExoticComponent< ButtonProps & RefAttributes<HTMLButtonElement>>, keyof Component<any, {}, any>>;
80
80
 
81
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'entityLinks';
81
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
82
82
 
83
83
  export declare const RowExpander: ({ isRowExpandable, isRowExpanded, enableNonFolderIndent, isTableExpandable, onExpandClick, }: RowExpanderProps) => false | JSX_2.Element | undefined;
84
84
 
@@ -170,6 +170,7 @@ export declare interface SimpleTableProps extends Omit<React.HTMLAttributes<HTML
170
170
  imgRatio?: number;
171
171
  imgPosition?: 'start' | 'end';
172
172
  onScrollBottom?: () => void;
173
+ scrollToRowId?: string;
173
174
  onRename?: (id: string, row: Row<SimpleTableRow>) => void;
174
175
  renamingId?: string | null;
175
176
  renameInitialValue?: string;
@@ -223,12 +223,16 @@ declare type GetAllProjectUsersAsAssigneeQuery = {
223
223
  };
224
224
  };
225
225
 
226
+ export declare const getDefaultSliceSort: (sliceType: SliceType) => SliceSort;
227
+
226
228
  declare type GetDefaultViewApiResponse =
227
229
  /** status 200 Successful Response */
228
230
  OverviewViewModel | TaskProgressViewModel | ListsViewModel | ReviewsViewModel | VersionsViewModel | GenericViewModel;
229
231
 
230
232
  export declare type GetSlicerCountsSource = (sliceType: string) => SlicerCountsSource | undefined;
231
233
 
234
+ export declare const getSliceSortOptions: (sliceType: SliceType) => SortMenuOption[];
235
+
232
236
  declare type GroupCount = {
233
237
  count: number;
234
238
  percentage?: number;
@@ -343,7 +347,7 @@ export declare interface PinnedSlice {
343
347
  expanded: ExpandedState;
344
348
  }
345
349
 
346
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'entityLinks';
350
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
347
351
 
348
352
  declare type ProductType = {
349
353
  __typename?: 'ProductType';
@@ -423,6 +427,8 @@ declare type QueryFilter_5 = {
423
427
 
424
428
  export declare const resolvePanelLayout: (stored: SlicerPanelHeights, panelIds: string[], collapsed?: string[], containerHeight?: number, defaultHeight?: number) => SlicerPanelLayout;
425
429
 
430
+ export declare const resolveSliceSort: (sliceType: SliceType, sort: unknown) => SliceSort;
431
+
426
432
  declare type ReviewsSettings = {
427
433
  rowHeight?: number;
428
434
  sortBy?: string | string[];
@@ -537,6 +543,8 @@ export declare interface Slice {
537
543
  isExpandable: boolean;
538
544
  }
539
545
 
546
+ export declare const SLICE_DEFAULT_ORDER = "default";
547
+
540
548
  export declare interface SliceData {
541
549
  getData: () => Promise<SimpleTableRow[] | undefined>;
542
550
  isLoading: boolean;
@@ -599,6 +607,8 @@ export declare interface SlicerContextValue {
599
607
  setPanelExpanded: (panelId: string, expanded: React.SetStateAction<ExpandedState>) => void;
600
608
  collapsedPanels: string[];
601
609
  togglePanelCollapsed: (panelId: string) => void;
610
+ getSliceSort: (sliceType: SliceType) => SliceSort;
611
+ setSliceSort: (sliceType: SliceType, sort: SliceSort) => void;
602
612
  isViewSyncPending: boolean;
603
613
  pinnedSlice: PinnedSlice | null;
604
614
  setPinnedSlice: React.Dispatch<React.SetStateAction<PinnedSlice | null>>;
@@ -689,6 +699,7 @@ export declare interface SlicerViewSettings {
689
699
  sliceType?: SliceType;
690
700
  sliceTypes?: SliceType[];
691
701
  collapsedSliceTypes?: SliceType[];
702
+ sliceSorts?: Record<SliceType, SliceSort>;
692
703
  }
693
704
 
694
705
  export declare type SliceSelection = {
@@ -696,6 +707,11 @@ export declare type SliceSelection = {
696
707
  rowSelection: RowSelectionState;
697
708
  };
698
709
 
710
+ export declare interface SliceSort {
711
+ by: string;
712
+ desc: boolean;
713
+ }
714
+
699
715
  export declare type SliceType = 'hierarchy' | 'assignees' | 'status' | 'type' | 'taskType' | 'entityList' | string;
700
716
 
701
717
  export declare interface SliceTypeField {
@@ -704,6 +720,14 @@ export declare interface SliceTypeField {
704
720
  icon?: string;
705
721
  }
706
722
 
723
+ declare interface SortMenuOption<T extends string = string> {
724
+ id: T;
725
+ label: string;
726
+ desc: boolean;
727
+ }
728
+
729
+ export declare const sortSliceRows: (rows: SimpleTableRow[], sliceType: SliceType, sort: SliceSort) => SimpleTableRow[];
730
+
707
731
  declare type Status_2 = {
708
732
  name: string;
709
733
  original_name?: string;
@@ -898,6 +922,7 @@ declare type VersionStatsArgs = {
898
922
  productFilter?: string;
899
923
  taskFilter?: string;
900
924
  folderFilter?: string;
925
+ representationFilter?: string;
901
926
  folderIds?: string[];
902
927
  versionIds?: string[];
903
928
  productIds?: string[];
@@ -243,6 +243,8 @@ export declare type ListsViewSettings = {
243
243
  onUpdateFilters: (filters: QueryFilter) => void;
244
244
  columns: ColumnsConfig;
245
245
  onUpdateColumns: (columns: ColumnsConfig, allColumnIds?: string[]) => void;
246
+ listValues?: Record<string, unknown>;
247
+ onUpdateListValues: (settings: Record<string, unknown>) => void;
246
248
  };
247
249
 
248
250
  declare type ListViewsApiArg = {