@ynput/ayon-frontend-shared 0.6.8 → 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 (67) hide show
  1. package/dist/ContextMenu.es.js +44 -27
  2. package/dist/DetailsPanel.es.js +225 -224
  3. package/dist/Feed.es.js +64 -58
  4. package/dist/ListTable.es.js +423 -423
  5. package/dist/NewEntity.es.js +44 -43
  6. package/dist/ProjectTreeTable.es.js +3517 -3378
  7. package/dist/Slicer.es.js +301 -276
  8. package/dist/Views.es.js +366 -352
  9. package/dist/api.es.js +428 -413
  10. package/dist/chunks/Actions.es.js +18 -17
  11. package/dist/chunks/ColumnDropIndicator.es.js +21 -20
  12. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  13. package/dist/chunks/ContextMenuContextInstance.es.js +4 -3
  14. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +53 -41
  15. package/dist/chunks/DetailsDialog.es.js +26 -24
  16. package/dist/chunks/EmptyPlaceholder.es.js +3 -3
  17. package/dist/chunks/EmptyPlaceholderFlex.styled.es.js +40 -0
  18. package/dist/chunks/EntityPath.es.js +60 -59
  19. package/dist/chunks/EntityPickerDialog.es.js +88 -83
  20. package/dist/chunks/EntityTooltip.es.js +15 -14
  21. package/dist/chunks/EntityUpdatesContext.es.js +11 -11
  22. package/dist/chunks/Feed.es.js +1072 -1088
  23. package/dist/chunks/FilterErrorActions.es.js +4 -3
  24. package/dist/chunks/Menu.es.js +633 -289
  25. package/dist/chunks/MenuContext.es.js +1 -1
  26. package/dist/chunks/MetaWidget.es.js +2449 -2199
  27. package/dist/chunks/PlayableIcon.es.js +128 -88
  28. package/dist/chunks/ProjectContext.es.js +6 -6
  29. package/dist/chunks/RepresentationsList.es.js +1 -1
  30. package/dist/chunks/ReviewablesSelector.es.js +627 -611
  31. package/dist/chunks/SimpleForm.es.js +11 -10
  32. package/dist/chunks/SimpleTable.es.js +386 -363
  33. package/dist/chunks/Slicer.es.js +956 -823
  34. package/dist/chunks/{DeleteEntitiesContextInstance.es.js → TableExportContextInstance.es.js} +190 -186
  35. package/dist/chunks/TableSettingsFallback.es.js +4 -3
  36. package/dist/chunks/ThumbnailSimple.es.js +100 -99
  37. package/dist/chunks/VideoPlayer.es.js +1 -1
  38. package/dist/chunks/Watchers.es.js +224 -223
  39. package/dist/chunks/getBundleMode.es.js +33 -25
  40. package/dist/chunks/getEntityTypeIcon.es.js +5 -4
  41. package/dist/chunks/getUris.es.js +3873 -3736
  42. package/dist/chunks/realtimeUpdatesUtils.es.js +91 -82
  43. package/dist/chunks/searchTerms.es.js +621 -499
  44. package/dist/chunks/sortLists.es.js +22 -0
  45. package/dist/chunks/useAttributeEnums.es.js +43 -43
  46. package/dist/chunks/useDateRangeFilter.es.js +85 -59
  47. package/dist/chunks/useHierarchySelection.es.js +6 -5
  48. package/dist/chunks/useLoadModule.es.js +24 -23
  49. package/dist/chunks/viewUpdateHelper.es.js +41 -40
  50. package/dist/components.es.js +963 -891
  51. package/dist/context.es.js +528 -501
  52. package/dist/hooks.es.js +15 -15
  53. package/dist/index.es.js +6 -6
  54. package/dist/types/ContextMenu.d.ts +4 -1
  55. package/dist/types/Feed.d.ts +55 -1
  56. package/dist/types/ListTable.d.ts +1 -1
  57. package/dist/types/ProjectTreeTable.d.ts +128 -15
  58. package/dist/types/SimpleTable.d.ts +2 -1
  59. package/dist/types/Slicer.d.ts +26 -1
  60. package/dist/types/Views.d.ts +2 -0
  61. package/dist/types/api.d.ts +2359 -590
  62. package/dist/types/components.d.ts +542 -4
  63. package/dist/types/context.d.ts +94 -2
  64. package/dist/types/util.d.ts +58 -0
  65. package/dist/util.es.js +141 -129
  66. package/package.json +2 -2
  67. 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";
@@ -30,15 +31,15 @@ import "./chunks/PlayableIcon.es.js";
30
31
  import "./chunks/JsonViewer.es.js";
31
32
  import "lexical";
32
33
  import "@lexical/markdown";
33
- import "@lexical/react/LexicalBlockWithAlignableContents";
34
- import "@lexical/react/LexicalDecoratorBlockNode";
35
34
  import "@lexical/code";
36
35
  import "@lexical/list";
37
36
  import "@lexical/rich-text";
38
37
  import "@lexical/selection";
39
38
  import "@lexical/utils";
39
+ import "@lexical/react/LexicalBlockWithAlignableContents";
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";
@@ -20,20 +20,21 @@ import "./chunks/JsonViewer.es.js";
20
20
  import "./chunks/Watchers.es.js";
21
21
  import "lexical";
22
22
  import "@lexical/markdown";
23
- import "@lexical/react/LexicalBlockWithAlignableContents";
24
- import "@lexical/react/LexicalDecoratorBlockNode";
25
23
  import "@lexical/code";
26
24
  import "@lexical/list";
27
25
  import "@lexical/rich-text";
28
26
  import "@lexical/selection";
29
27
  import "@lexical/utils";
28
+ import "@lexical/react/LexicalBlockWithAlignableContents";
29
+ import "@lexical/react/LexicalDecoratorBlockNode";
30
30
  import "@module-federation/enhanced/runtime";
31
31
  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
 
@@ -44,6 +44,12 @@ declare type ActivityUser = {
44
44
  };
45
45
  };
46
46
 
47
+ export declare const blockquoteTag: ({ children }: BlockquoteTagProps) => JSX.Element;
48
+
49
+ declare interface BlockquoteTagProps {
50
+ children: default_2.ReactNode;
51
+ }
52
+
47
53
  export declare const CategoryDropdownItem: ForwardRefExoticComponent<CategoryDropdownItemProps & RefAttributes<HTMLSpanElement>>;
48
54
 
49
55
  export declare interface CategoryDropdownItemProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'> {
@@ -74,6 +80,16 @@ declare type ChecklistCount = {
74
80
  ids: string[];
75
81
  };
76
82
 
83
+ export declare const codeTag: ({ node, className, children }: CodeTagProps) => JSX.Element;
84
+
85
+ declare interface CodeTagProps {
86
+ node: any;
87
+ className?: string;
88
+ children: default_2.ReactNode;
89
+ }
90
+
91
+ export declare const COMMENT_DIRECTIVES: string[];
92
+
77
93
  export declare type EditingState = null | typeof FEED_NEW_COMMENT | string;
78
94
 
79
95
  export declare const expandableMimeTypes: {
@@ -176,6 +192,18 @@ export declare const getMultiSelection: (selection: {
176
192
  [key: string]: boolean;
177
193
  }, newSelection: string[], orderedIds: string[], nextId: string, direction: number) => string[];
178
194
 
195
+ export declare const inputTag: ({ type, checked, ...props }: InputTagProps, { activity, onCheckChange }: InputTagOptions) => JSX.Element;
196
+
197
+ declare interface InputTagOptions {
198
+ activity: any;
199
+ onCheckChange?: (event: default_2.ChangeEvent<HTMLInputElement>, activity: any) => void;
200
+ }
201
+
202
+ declare interface InputTagProps extends default_2.InputHTMLAttributes<HTMLInputElement> {
203
+ type: string;
204
+ checked?: boolean;
205
+ }
206
+
179
207
  export declare const isCategoryHidden: (categories: ActivityCategory[], { isGuest, isAdmin }: {
180
208
  isGuest?: boolean;
181
209
  isAdmin: boolean;
@@ -183,6 +211,21 @@ export declare const isCategoryHidden: (categories: ActivityCategory[], { isGues
183
211
 
184
212
  export declare const isFilePreviewable: (mime?: string, ext?: string) => boolean;
185
213
 
214
+ declare type MdNode = {
215
+ type: string;
216
+ name?: string;
217
+ value?: string;
218
+ children?: MdNode[];
219
+ position?: {
220
+ start: {
221
+ offset?: number;
222
+ };
223
+ end: {
224
+ offset?: number;
225
+ };
226
+ };
227
+ };
228
+
186
229
  export declare type MimeTypeDefinition = {
187
230
  component: React.FC<any> | null;
188
231
  mimeTypes: string[];
@@ -191,7 +234,7 @@ export declare type MimeTypeDefinition = {
191
234
  callback?: (file: any) => void;
192
235
  };
193
236
 
194
- 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';
195
238
 
196
239
  declare type ProductSuggestionItem = {
197
240
  /** The date and time when the suggested entity was created */
@@ -231,6 +274,17 @@ export declare interface RefTooltip {
231
274
  };
232
275
  }
233
276
 
277
+ /**
278
+ * remark-directive reads any `:name` as a directive, so `Note:fix this` or `:something` in a
279
+ * comment would become an unknown, empty element and the text would be lost. This turns every
280
+ * directive that is not in `known` back into the text that was typed.
281
+ *
282
+ * Use it after `remarkDirective` and before `remarkDirectiveRehype`.
283
+ */
284
+ export declare const remarkLiteralDirectives: (known?: string[]) => (tree: MdNode, file: {
285
+ value?: unknown;
286
+ }) => void;
287
+
234
288
  export declare type SavedAnnotationMetadata = {
235
289
  id: string;
236
290
  composite: string;
@@ -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>;
@@ -1291,11 +1312,14 @@ export declare const generateDummyAttributes: (count?: number) => AttributeModel
1291
1312
 
1292
1313
  /**
1293
1314
  * Generates an array of placeholder rows for loading state
1294
- * @param attribs - Attribute models used to populate empty attribute fields
1295
1315
  * @param count - Number of loading rows to generate (default: 50)
1316
+ * @param attrib - Attribute values for the placeholder rows
1317
+ * @param key - Makes the ids unique within the table, e.g. the id of the row they load under.
1318
+ * The ids must stay the same across renders: the table reports its visible row ids, and new ids
1319
+ * every render make the page re-render (and rebuild these rows) in a loop until loading ends.
1296
1320
  * @returns Array of TableRow objects with loading state
1297
1321
  */
1298
- export declare const generateLoadingRows: (count?: number, attrib?: {}) => TableRow[];
1322
+ export declare const generateLoadingRows: (count?: number, attrib?: {}, key?: string) => TableRow[];
1299
1323
 
1300
1324
  declare type GetAncestorsOf = (id: string) => string[];
1301
1325
 
@@ -1540,6 +1564,8 @@ export declare const getScopedColumnId: (scope: EntityScope, field: string, isAt
1540
1564
 
1541
1565
  export declare const getScopedEntity: (row: TableRow, scope: EntityScope) => EntityData | undefined;
1542
1566
 
1567
+ export declare const getScopedHeader: (scope: EntityScope, header: string) => string;
1568
+
1543
1569
  export declare const getScopedValue: (row: TableRow, scope: EntityScope, field: string, isAttrib?: boolean) => any;
1544
1570
 
1545
1571
  export declare const getSortableColumnOptions: (scopes?: string[], columns?: SortColumnLabel[]) => {
@@ -1657,6 +1683,8 @@ declare type GetTasksLinksQuery = {
1657
1683
  };
1658
1684
  };
1659
1685
 
1686
+ export declare const getTasksSortArgs: (sorting: SortingState, showHierarchy: boolean) => SortArgs;
1687
+
1660
1688
  export declare const getTypeDefaultValue: (type: AttributeData["type"]) => {} | null;
1661
1689
 
1662
1690
  export declare const getValueIdType: (row: Row<TableRow>, field: string, nestedField?: "attrib" | "links" | "subtasks" | "latestComments") => {
@@ -1956,6 +1984,10 @@ export declare const isGroupId: (id: string) => boolean;
1956
1984
 
1957
1985
  export declare const isLinkEditable: (direction: "in" | "out", linkType: string, entityType: string) => boolean;
1958
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
+
1959
1991
  /**
1960
1992
  * Checks if a row ID is a meta row ID
1961
1993
  * @param rowId - The row ID to check
@@ -2071,6 +2103,44 @@ export declare type LinkWidgetData = {
2071
2103
  links: LinkEntity[];
2072
2104
  };
2073
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
+
2074
2144
  export declare type LoadingTasks = Record<string, number>;
2075
2145
 
2076
2146
  export declare type MainBreakdownFields = {
@@ -2333,7 +2403,7 @@ declare type PowerpackDialogType = {
2333
2403
  icon?: string;
2334
2404
  };
2335
2405
 
2336
- 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';
2337
2407
 
2338
2408
  export declare const processFieldValue: (value: string, fieldValueType: "string" | "number" | "boolean" | "array") => any;
2339
2409
 
@@ -2653,6 +2723,7 @@ export declare interface ProjectTableContextType {
2653
2723
  fetchNextPage: ProjectTableProviderProps['fetchNextPage'];
2654
2724
  onSyncData: ProjectTableProviderProps['onSyncData'];
2655
2725
  getEntityById: (id: string, field?: string) => EntityMap | undefined;
2726
+ isRowReadOnly: (rowId: string) => boolean;
2656
2727
  loadingLinksEntityIds?: Set<string>;
2657
2728
  groups: ProjectTableProviderProps['groups'];
2658
2729
  overrideGroupBy?: ProjectTableProviderProps['overrideGroupBy'];
@@ -2679,6 +2750,7 @@ export declare interface ProjectTableContextType {
2679
2750
  playerOpen?: ProjectTableProviderProps['playerOpen'];
2680
2751
  onOpenPlayer?: ProjectTableProviderProps['onOpenPlayer'];
2681
2752
  onResetView?: () => void;
2753
+ hiddenListIds?: string[];
2682
2754
  useParams?: typeof useParams;
2683
2755
  useNavigate?: typeof useNavigate;
2684
2756
  useLocation?: typeof useLocation;
@@ -2692,7 +2764,7 @@ declare type ProjectTableModulesType = {
2692
2764
  isLoading: boolean;
2693
2765
  };
2694
2766
 
2695
- 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;
2696
2768
 
2697
2769
  export declare interface ProjectTableProviderProps {
2698
2770
  children: ReactNode;
@@ -2755,6 +2827,7 @@ export declare interface ProjectTableProviderProps {
2755
2827
  quickView?: boolean;
2756
2828
  }) => void;
2757
2829
  onResetView?: () => void;
2830
+ hiddenListIds?: string[];
2758
2831
  useParams?: typeof useParams;
2759
2832
  useNavigate?: typeof useNavigate;
2760
2833
  useLocation?: typeof useLocation;
@@ -2784,7 +2857,7 @@ export declare interface ProjectTableQueriesProviderProps {
2784
2857
  }, force?: boolean) => Promise<any>;
2785
2858
  }
2786
2859
 
2787
- 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;
2788
2861
 
2789
2862
  export declare interface ProjectTreeTableProps extends React.HTMLAttributes<HTMLDivElement> {
2790
2863
  scope: string;
@@ -2818,6 +2891,8 @@ export declare interface ProjectTreeTableProps extends React.HTMLAttributes<HTML
2818
2891
  onColumnVisibleChange?: (changes: Record<string, boolean>) => void;
2819
2892
  onColumnVisibleChangeSubscribed?: string[];
2820
2893
  onVisibleRowsChange?: (entityIds: string[]) => void;
2894
+ scrollToRowId?: string | null;
2895
+ onScrolledToRow?: (rowId: string) => void;
2821
2896
  pt?: {
2822
2897
  container?: React.HTMLAttributes<HTMLDivElement>;
2823
2898
  head?: Partial<TableHeadProps>;
@@ -2923,6 +2998,8 @@ export declare const READ_ONLY = "readonly";
2923
2998
 
2924
2999
  declare type RepresentationLink = GetRepresentationsLinksQuery['project']['representations']['edges'][0]['node']['links']['edges'][0];
2925
3000
 
3001
+ export declare const resolveColumnVisibility: (columnVisibility: VisibilityState, columnIds: string[], defaultVisibility?: VisibilityState, explicitVisibility?: Record<string, boolean | undefined>) => VisibilityState;
3002
+
2926
3003
  /**
2927
3004
  * Resolves a relative date value to an actual ISO date string
2928
3005
  * e.g., "relative:today:0" → "2026-04-14T00:00:00.000Z" (current today)
@@ -2941,6 +3018,8 @@ export declare interface RestrictedEntityData extends BaseEntityData {
2941
3018
  entityType: 'unknown';
2942
3019
  }
2943
3020
 
3021
+ export declare const REVIEW_SESSIONS_COLUMN_ID = "reviewSessions";
3022
+
2944
3023
  declare type Root = {
2945
3024
  name: string;
2946
3025
  windows?: string;
@@ -3135,6 +3214,11 @@ export declare type SoftErrorAction = {
3135
3214
  callback: () => void;
3136
3215
  };
3137
3216
 
3217
+ declare type SortArgs = {
3218
+ sortBy: string | string[] | undefined;
3219
+ desc: boolean;
3220
+ };
3221
+
3138
3222
  declare type SortColumnLabel = {
3139
3223
  value: string;
3140
3224
  label: string;
@@ -3299,6 +3383,8 @@ export declare type SummaryKind = 'main' | 'number' | 'boolean' | 'text' | 'enum
3299
3383
 
3300
3384
  export declare const TABLE_CONTAINER_ATTR = "data-column-dnd-container";
3301
3385
 
3386
+ export declare const TableCellContext: Context<TableCellContextValue>;
3387
+
3302
3388
  export declare type TableCellContextData = {
3303
3389
  cellId: string;
3304
3390
  columnId: string;
@@ -3314,6 +3400,11 @@ export declare type TableCellContextData = {
3314
3400
  data?: EntityMap | undefined;
3315
3401
  };
3316
3402
 
3403
+ export declare type TableCellContextValue = {
3404
+ mark?: CellMark;
3405
+ isRowReadOnly?: boolean;
3406
+ };
3407
+
3317
3408
  export declare interface TableGroupBy {
3318
3409
  desc: boolean;
3319
3410
  id: string;
@@ -3340,6 +3431,8 @@ export declare interface TableRow {
3340
3431
  group?: GroupData;
3341
3432
  subRows?: TableRow[];
3342
3433
  childOnlyMatch?: boolean;
3434
+ readOnly?: boolean;
3435
+ cellMarks?: Record<string, CellMark>;
3343
3436
  }
3344
3437
 
3345
3438
  export declare type TableUser = {
@@ -3519,6 +3612,7 @@ declare type TopicUpdateType = 'created' | 'label_changed' | 'renamed' | 'type_c
3519
3612
  export declare type TreeTableExtraColumn = {
3520
3613
  column: ColumnDef<TableRow>;
3521
3614
  position?: number;
3615
+ after?: string;
3522
3616
  };
3523
3617
 
3524
3618
  export declare type TreeTableSubType = 'folderType' | 'taskType' | 'productType';
@@ -3622,6 +3716,11 @@ declare interface UseEntitiesMapProps {
3622
3716
  tasksMap: TaskNodeMap;
3623
3717
  }
3624
3718
 
3719
+ export declare const useEntityListsMembership: (projectName: string, entityType: ListsMembershipEntityType, entityId: string) => {
3720
+ lists?: ListMembership[];
3721
+ error?: string;
3722
+ };
3723
+
3625
3724
  export declare const useExpandedState: ({ expanded, setExpanded }: UseExpandedStateProps) => {
3626
3725
  updateExpanded: OnChangeFn<ExpandedState>;
3627
3726
  toggleExpanded: (id: string) => void;
@@ -3633,6 +3732,12 @@ declare interface UseExpandedStateProps {
3633
3732
  setExpanded: (expanded: ExpandedState) => void;
3634
3733
  }
3635
3734
 
3735
+ export declare const useFetchListsMembership: ({ projectName, entities, enabled, }: {
3736
+ projectName: string;
3737
+ entities: VisibleEntity[];
3738
+ enabled: boolean;
3739
+ }) => void;
3740
+
3636
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;
3637
3742
 
3638
3743
  declare type useFetchOverviewDataData = {
@@ -3766,6 +3871,8 @@ export declare const useSelectedRowsContext: () => SelectedRowsContextType;
3766
3871
 
3767
3872
  export declare const useSelectionCellsContext: () => SelectionCellsContextType;
3768
3873
 
3874
+ export declare const useTableCellContext: () => TableCellContextValue;
3875
+
3769
3876
  declare const useUpdateSubtasksMutation: <R extends Record<string, any> = ({
3770
3877
  requestId?: undefined;
3771
3878
  status: QueryStatus.uninitialized;
@@ -3977,14 +4084,20 @@ export declare type VersionStatsArgs = {
3977
4084
  productFilter?: string;
3978
4085
  taskFilter?: string;
3979
4086
  folderFilter?: string;
4087
+ representationFilter?: string;
3980
4088
  folderIds?: string[];
3981
4089
  versionIds?: string[];
3982
4090
  productIds?: string[];
3983
4091
  latestPerFolder?: boolean;
3984
4092
  };
3985
4093
 
4094
+ declare type VisibleEntity = {
4095
+ id: string;
4096
+ entityType: string;
4097
+ };
4098
+
3986
4099
  declare type WidgetAttributeData = {
3987
- type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments';
4100
+ type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments' | 'lists';
3988
4101
  widget?: AttributeData['widget'];
3989
4102
  enumResolver?: AttributeData['enumResolver'];
3990
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;