@ynput/ayon-frontend-shared 0.8.0 → 0.9.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 (43) hide show
  1. package/dist/DetailsPanel.es.js +2 -2
  2. package/dist/ListTable.es.js +1 -1
  3. package/dist/NewEntity.es.js +5 -3
  4. package/dist/ProjectTreeTable.es.js +4153 -4130
  5. package/dist/ProjectsTable.es.js +5 -4
  6. package/dist/Slicer.es.js +326 -293
  7. package/dist/Views.es.js +724 -714
  8. package/dist/chunks/ColumnDropIndicator.es.js +10 -10
  9. package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +44 -38
  10. package/dist/chunks/EntityPickerDialog.es.js +1 -1
  11. package/dist/chunks/Feed.es.js +41 -39
  12. package/dist/chunks/FilmstripEntityCard.es.js +1 -1
  13. package/dist/chunks/GroupSettingsFallback.es.js +3 -2
  14. package/dist/chunks/MetaWidget.es.js +425 -411
  15. package/dist/chunks/NewEntityContextInstance.es.js +6 -5
  16. package/dist/chunks/ReviewablesSelector.es.js +76 -76
  17. package/dist/chunks/SimpleTable.es.js +151 -149
  18. package/dist/chunks/Slicer.es.js +637 -617
  19. package/dist/chunks/TableExportContextInstance.es.js +141 -136
  20. package/dist/chunks/ThumbnailSimple.es.js +11 -11
  21. package/dist/chunks/Watchers.es.js +46 -46
  22. package/dist/chunks/getUris.es.js +1 -1
  23. package/dist/chunks/searchTerms.es.js +618 -581
  24. package/dist/chunks/useCreateContextMenu.es.js +15 -13
  25. package/dist/components.es.js +1393 -1314
  26. package/dist/context.es.js +1 -1
  27. package/dist/hooks.es.js +2 -2
  28. package/dist/index.es.js +11 -10
  29. package/dist/types/ContextMenu.d.ts +1 -1
  30. package/dist/types/Feed.d.ts +1 -1
  31. package/dist/types/ListTable.d.ts +1 -1
  32. package/dist/types/NewEntity.d.ts +2 -0
  33. package/dist/types/ProjectTreeTable.d.ts +121 -3
  34. package/dist/types/ProjectsTable.d.ts +1 -1
  35. package/dist/types/SimpleTable.d.ts +1 -1
  36. package/dist/types/Slicer.d.ts +7 -1
  37. package/dist/types/Views.d.ts +5 -0
  38. package/dist/types/api.d.ts +1 -0
  39. package/dist/types/components.d.ts +164 -1
  40. package/dist/types/context.d.ts +2 -1
  41. package/dist/types/util.d.ts +21 -0
  42. package/dist/util.es.js +116 -113
  43. package/package.json +2 -2
@@ -4,7 +4,7 @@ import { registerRemotes as Ce, loadRemote as Ee } from "@module-federation/enha
4
4
  import { setManifestsLoading as fe, MANIFEST_MODULE as ae, registerManifest as ke } from "@ynput/ayon-addon/host";
5
5
  import { toast as U } from "react-toastify";
6
6
  import { c as me, v as xe, x as Le, y as De, R as Ie, A as je, z as Te, b as te, l as Ae, B as Oe, E as Re, G as Fe, H as Me, I as Ue, J as $e, K as Ne, L as Be, N as _e, O as Ge, Q as qe, U as Ve, V as Qe, a as We, W as He, X as Ye } from "./chunks/TableExportContextInstance.es.js";
7
- import { Y as rn, Z as an, _ as ln, M as dn, $ as cn, P as un, j as pn, a0 as fn, a1 as mn, T as gn, a2 as vn, a3 as hn, a4 as yn, a5 as Pn, a6 as bn, a7 as wn, a8 as Sn, a9 as Cn, aa as En, ab as kn, ac as xn, ad as Ln, ae as Dn, af as In, m as jn, u as Tn, k as An, t as On, ag as Rn, q as Fn, s as Mn, ah as Un, ai as $n, aj as Nn, ak as Bn, al as _n, am as Gn, an as qn } from "./chunks/TableExportContextInstance.es.js";
7
+ import { Y as rn, Z as an, _ as ln, M as dn, $ as cn, P as un, j as pn, a0 as fn, a1 as mn, T as gn, a2 as vn, a3 as hn, a4 as yn, a5 as Pn, a6 as bn, a7 as wn, a8 as Sn, a9 as Cn, aa as En, ab as kn, ac as xn, ad as Ln, ae as Dn, af as In, m as jn, u as Tn, k as An, t as On, ag as Rn, s as Fn, q as Mn, ah as Un, ai as $n, aj as Nn, ak as Bn, al as _n, am as Gn, an as qn } from "./chunks/TableExportContextInstance.es.js";
8
8
  import { aH as ze, bs as Ke } from "./chunks/searchTerms.es.js";
9
9
  import { c_ as Xe, cY as Ze, cZ as Je, cb as et, cp as tt, bv as nt, d0 as ot, cL as st, d6 as rt, dx as at, cS as it } from "./chunks/getUris.es.js";
10
10
  import "primereact/confirmdialog";
package/dist/hooks.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { c as G, b as R, a as V } from "./chunks/TableExportContextInstance.es.js";
2
- import { n as Ae, r as Ie, o as He, l as Pe, p as Ge, w as Re } from "./chunks/TableExportContextInstance.es.js";
2
+ import { r as Ae, n as Ie, o as He, l as Pe, w as Ge, p as Re } from "./chunks/TableExportContextInstance.es.js";
3
3
  import { u as k } from "./chunks/useLoadModule.es.js";
4
4
  import { loadRemote as x } from "@module-federation/enhanced/runtime";
5
5
  import { useRef as M, useState as v, useEffect as b, useCallback as H } from "react";
@@ -25,7 +25,7 @@ import { u as $e } from "./chunks/ProjectFoldersContext.es.js";
25
25
  import { u as Be } from "./chunks/useGroupedPagination.es.js";
26
26
  import { G as K } from "./chunks/GroupSettingsFallback.es.js";
27
27
  import { i as U } from "./chunks/isHTMLElement.es.js";
28
- import { f as Fe } from "./chunks/MetaWidget.es.js";
28
+ import { c as Fe } from "./chunks/MetaWidget.es.js";
29
29
  import { u as qe } from "./chunks/useAttributeEnums.es.js";
30
30
  import { a as _ } from "./chunks/afterStartup.es.js";
31
31
  const me = (e, o, t) => {
package/dist/index.es.js CHANGED
@@ -8,8 +8,8 @@ import "./chunks/SimpleForm.es.js";
8
8
  import "./chunks/MetaWidget.es.js";
9
9
  import "react-dom";
10
10
  import "date-fns";
11
- import { U as $ } from "./chunks/FilmstripEntityCard.es.js";
12
- import { u as or } from "./chunks/TableExportContextInstance.es.js";
11
+ import { U as rr } from "./chunks/FilmstripEntityCard.es.js";
12
+ import { u as mr } from "./chunks/TableExportContextInstance.es.js";
13
13
  import "lodash";
14
14
  import "primereact/confirmdialog";
15
15
  import "react-toastify";
@@ -32,9 +32,9 @@ import "@module-federation/enhanced/runtime";
32
32
  import "@ynput/ayon-addon/host";
33
33
  import "semver";
34
34
  import "./chunks/ContextMenuContextInstance.es.js";
35
- import { M as tr } from "./chunks/MenuContext.es.js";
35
+ import { M as pr } from "./chunks/MenuContext.es.js";
36
36
  import "react-router-dom";
37
- import { E as ir } from "./chunks/EmptyPlaceholder.es.js";
37
+ import { E as er } from "./chunks/EmptyPlaceholder.es.js";
38
38
  import "./chunks/EmptyPlaceholderFlex.styled.es.js";
39
39
  import "./chunks/InfoMessage.es.js";
40
40
  import "@dnd-kit/core";
@@ -53,11 +53,12 @@ import "primereact/splitter";
53
53
  import "./chunks/Slicer.es.js";
54
54
  import "./chunks/NewEntityContextInstance.es.js";
55
55
  import "./chunks/Menu.es.js";
56
- import { T as ar } from "./chunks/ThumbnailSimple.es.js";
56
+ import "primereact-context/contextmenu";
57
+ import { T as sr } from "./chunks/ThumbnailSimple.es.js";
57
58
  export {
58
- ir as EmptyPlaceholder,
59
- tr as MenuProvider,
60
- ar as ThumbnailSimple,
61
- $ as UserImage,
62
- or as useMenuContext
59
+ er as EmptyPlaceholder,
60
+ pr as MenuProvider,
61
+ sr as ThumbnailSimple,
62
+ rr as UserImage,
63
+ mr as useMenuContext
63
64
  };
@@ -114,7 +114,7 @@ declare type PowerpackDialogType = {
114
114
  icon?: string;
115
115
  };
116
116
 
117
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
117
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport' | 'personalApiKeys';
118
118
 
119
119
  export declare function useContextMenu(): ContextMenuContextType;
120
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' | 'listValues' | 'entityLinks' | 'tableExport';
237
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport' | 'personalApiKeys';
238
238
 
239
239
  declare type ProductSuggestionItem = {
240
240
  /** The date and time when the suggested entity was created */
@@ -265,7 +265,7 @@ export declare interface ListTableWidgetRenderContext<TData extends RowData> {
265
265
 
266
266
  export declare type ListTableWidgetRenderer<TData extends RowData> = (context: ListTableWidgetRenderContext<TData>) => React.ReactNode;
267
267
 
268
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
268
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport' | 'personalApiKeys';
269
269
 
270
270
  export declare const renderListTableFallbackValue: (value: unknown) => string;
271
271
 
@@ -187,6 +187,8 @@ declare type TaskType_2 = {
187
187
 
188
188
  export declare const useNewEntityContext: () => NewEntityContextType;
189
189
 
190
+ export declare const useOptionalNewEntityContext: () => NewEntityContextType | undefined;
191
+
190
192
  export { }
191
193
 
192
194
 
@@ -738,6 +738,7 @@ declare type ContextEvent = React.MouseEvent<HTMLTableSectionElement, MouseEvent
738
738
 
739
739
  export declare type ContextMenuItemConstructor = (e: ContextEvent, cell: TableCellContextData, selectedCells: TableCellContextData[], meta: {
740
740
  selectedCells: string[];
741
+ scopedCells: string[];
741
742
  selectedRows: string[];
742
743
  selectedColumns: string[];
743
744
  selectedFullRows: string[];
@@ -1623,6 +1624,8 @@ export declare const getCellId: (rowId: RowId, colId: ColId) => CellId;
1623
1624
 
1624
1625
  export declare const getCellValue: (obj: any, path: string) => any;
1625
1626
 
1627
+ declare type GetChildFolderIds = (folderIds: string[], includeSelf?: boolean) => string[];
1628
+
1626
1629
  export declare const getColumnIcon: (columnId: string) => string;
1627
1630
 
1628
1631
  export declare const getColumnLabel: (columnId: string, scopes?: string[]) => string;
@@ -2808,7 +2811,7 @@ declare type PowerpackDialogType = {
2808
2811
  icon?: string;
2809
2812
  };
2810
2813
 
2811
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
2814
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport' | 'personalApiKeys';
2812
2815
 
2813
2816
  export declare const processFieldValue: (value: string, fieldValueType: "string" | "number" | "boolean" | "array") => any;
2814
2817
 
@@ -2868,6 +2871,24 @@ declare type ProductTypeListItem = {
2868
2871
  icon?: string | null;
2869
2872
  };
2870
2873
 
2874
+ /** Context of a profile section: nothing besides `user`, the signed-in user it is about. */
2875
+ declare type ProfileSectionContext = Record<never, never>
2876
+
2877
+ /** Description of a `profile.section` contribution. */
2878
+ declare interface ProfileSectionMeta {
2879
+ /** unique among the addon's sections */
2880
+ id: string
2881
+ /** the section's title, above its content */
2882
+ title: string
2883
+ /** order among addon sections, lowest first */
2884
+ order?: number
2885
+ /**
2886
+ * a Power Pack feature: shown only with a Power Pack licence. Without one, AYON shows its own
2887
+ * preview of the feature where it has one. `false` by default
2888
+ */
2889
+ powerFeature?: boolean
2890
+ }
2891
+
2871
2892
  declare interface ProjectContextValue extends ProjectModelWithProducts {
2872
2893
  projectName: string;
2873
2894
  isLoading: boolean;
@@ -3085,6 +3106,7 @@ export declare interface ProjectOverviewContextType {
3085
3106
  export declare interface ProjectOverviewProviderProps {
3086
3107
  children: ReactNode;
3087
3108
  modules: ProjectTableModulesType;
3109
+ page?: string;
3088
3110
  }
3089
3111
 
3090
3112
  /** Description of a `project.page` contribution: a page, and what the host adds around it. */
@@ -3134,6 +3156,8 @@ export declare interface ProjectTableContextType {
3134
3156
  onSyncData: ProjectTableProviderProps['onSyncData'];
3135
3157
  getEntityById: (id: string, field?: string) => EntityMap | undefined;
3136
3158
  isRowReadOnly: (rowId: string) => boolean;
3159
+ readOnly?: boolean;
3160
+ tableId: string;
3137
3161
  loadingLinksEntityIds?: Set<string>;
3138
3162
  groups: ProjectTableProviderProps['groups'];
3139
3163
  overrideGroupBy?: ProjectTableProviderProps['overrideGroupBy'];
@@ -3194,7 +3218,7 @@ declare type ProjectTableModulesType = {
3194
3218
  /** The project pages with a project table (ProjectTreeTable). */
3195
3219
  declare type ProjectTablePage = 'overview' | 'products' | 'lists'
3196
3220
 
3197
- 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;
3221
+ 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, readOnly, useParams, useNavigate, useLocation, useSearchParams, dispatch, }: ProjectTableProviderProps) => JSX_2.Element;
3198
3222
 
3199
3223
  export declare interface ProjectTableProviderProps {
3200
3224
  children: ReactNode;
@@ -3260,6 +3284,7 @@ export declare interface ProjectTableProviderProps {
3260
3284
  }) => void;
3261
3285
  onResetView?: () => void;
3262
3286
  hiddenListIds?: string[];
3287
+ readOnly?: boolean;
3263
3288
  useParams?: typeof useParams;
3264
3289
  useNavigate?: typeof useNavigate;
3265
3290
  useLocation?: typeof useLocation;
@@ -3456,6 +3481,8 @@ export declare const resolveColumnVisibility: (columnVisibility: VisibilityState
3456
3481
  */
3457
3482
  export declare const resolveRelativeValue: (value: string) => string;
3458
3483
 
3484
+ export declare const resolveSlicerFolders: (slices: SliceRowSelection[], entityListFolderIds?: string[], getChildFolderIds?: GetChildFolderIds, searchFolderIds?: string[] | null) => SelectedFoldersResult;
3485
+
3459
3486
  export declare const RESTRICTED_ENTITY_ICON = "lock";
3460
3487
 
3461
3488
  export declare const RESTRICTED_ENTITY_LABEL = "Access Restricted - Insufficient Permissions";
@@ -3856,6 +3883,38 @@ declare interface SlotMap {
3856
3883
  context: TableShortcutContext
3857
3884
  pieces: TableShortcutPieces
3858
3885
  }
3886
+ /**
3887
+ * A section in the user details panel (Settings → Users), below AYON's own forms, for the
3888
+ * selected users. The section shows from the description, titled like AYON's; `component`
3889
+ * loads when it is first shown. Saving is the section's own: AYON's Save button doesn't see it.
3890
+ */
3891
+ 'userDetails.section': {
3892
+ version: 1
3893
+ meta: UserDetailsSectionMeta
3894
+ context: UserDetailsContext
3895
+ pieces: { component: Loader<ComponentType<SlotProps<'userDetails.section'>>> }
3896
+ }
3897
+ /**
3898
+ * An item in the user details panel's "more" menu (Settings → Users), for the selected users.
3899
+ * It shows from the description; `run` loads when the menu opens and is called on click.
3900
+ */
3901
+ 'userDetails.menuItem': {
3902
+ version: 1
3903
+ meta: UserDetailsMenuItemMeta
3904
+ context: UserDetailsContext
3905
+ pieces: { run: Loader<RunPiece<'userDetails.menuItem'>> }
3906
+ }
3907
+ /**
3908
+ * A section on the signed-in user's profile page (Account → Profile), below AYON's own forms.
3909
+ * The section shows from the description, titled like AYON's; `component` loads when it is first
3910
+ * shown. Saving is the section's own: AYON's "Save profile" button doesn't see it.
3911
+ */
3912
+ 'profile.section': {
3913
+ version: 1
3914
+ meta: ProfileSectionMeta
3915
+ context: ProfileSectionContext
3916
+ pieces: { component: Loader<ComponentType<SlotProps<'profile.section'>>> }
3917
+ }
3859
3918
  /**
3860
3919
  * Code with no UI that runs while AYON is open, whatever the page: keeping a state, listening to
3861
3920
  * websocket events, registering a store listener. `component` loads at startup and is mounted
@@ -4648,6 +4707,8 @@ declare interface UseHistoryReturn {
4648
4707
  /** Like useCellEditing, but returns undefined outside of a CellEditingProvider. */
4649
4708
  export declare const useOptionalCellEditing: () => CellEditingContextType | undefined;
4650
4709
 
4710
+ export declare const useOptionalProjectDataContext: () => ProjectDataContextProps | undefined;
4711
+
4651
4712
  export declare const useOptionalProjectTableContext: () => ProjectTableContextType | undefined;
4652
4713
 
4653
4714
  export declare const useOptionalSelectedRowsContext: () => SelectedRowsContextType | undefined;
@@ -4677,6 +4738,35 @@ declare type User = {
4677
4738
  hidden?: boolean;
4678
4739
  };
4679
4740
 
4741
+ /** Context of a user details section or menu item. */
4742
+ declare interface UserDetailsContext extends UsersScope {
4743
+ /**
4744
+ * the signed-in user can't change these users (a manager and an admin among them): show,
4745
+ * don't edit
4746
+ */
4747
+ readOnly: boolean
4748
+ }
4749
+
4750
+ /** Description of a `userDetails.menuItem` contribution. */
4751
+ declare interface UserDetailsMenuItemMeta extends MenuItemMeta {
4752
+ /** `single`: only when one user is selected; `multi` (default): for one or more */
4753
+ selection?: UserSelection
4754
+ }
4755
+
4756
+ /** Description of a `userDetails.section` contribution. */
4757
+ declare interface UserDetailsSectionMeta {
4758
+ /** unique among the addon's sections */
4759
+ id: string
4760
+ /** the section's title, above its content */
4761
+ title: string
4762
+ /** order among addon sections, lowest first */
4763
+ order?: number
4764
+ /** `single`: only when one user is selected; `multi` (default): for one or more */
4765
+ selection?: UserSelection
4766
+ /** also shown for service users, whose panel has no forms; `false` by default */
4767
+ serviceUsers?: boolean
4768
+ }
4769
+
4680
4770
  declare type UserModel = {
4681
4771
  /** Unique name of the user */
4682
4772
  name: string;
@@ -4698,11 +4788,38 @@ declare type UserModel = {
4698
4788
  updatedAt?: string;
4699
4789
  };
4700
4790
 
4791
+ /**
4792
+ * A user a slot is about, e.g. one selected in Settings → Users. Not the signed-in user: that is
4793
+ * `user` in every slot.
4794
+ */
4795
+ declare interface UserRef {
4796
+ name: string
4797
+ fullName?: string
4798
+ email?: string
4799
+ /** the account is active (not disabled) */
4800
+ active: boolean
4801
+ isAdmin: boolean
4802
+ /** managers and admins */
4803
+ isManager: boolean
4804
+ isGuest: boolean
4805
+ /** a service user (API key) */
4806
+ isService: boolean
4807
+ }
4808
+
4701
4809
  /** Every slot: the signed-in user. The host adds it; AYON renders addons only once signed in. */
4702
4810
  declare interface UserScope {
4703
4811
  user: AddonUser
4704
4812
  }
4705
4813
 
4814
+ /** Which selections a user details contribution shows for. */
4815
+ declare type UserSelection = 'single' | 'multi'
4816
+
4817
+ /** Slots about one or more users. */
4818
+ declare interface UsersScope {
4819
+ /** the users the slot is about, e.g. the ones selected in Settings → Users */
4820
+ users: UserRef[]
4821
+ }
4822
+
4706
4823
  export declare const useScopedAttributeFields: <T extends AttributeField>({ attribFields, allowedScopes, }: UseScopedAttributeFieldsProps<T>) => T[];
4707
4824
 
4708
4825
  declare interface UseScopedAttributeFieldsProps<T extends AttributeField> {
@@ -4710,12 +4827,13 @@ declare interface UseScopedAttributeFieldsProps<T extends AttributeField> {
4710
4827
  allowedScopes?: string[];
4711
4828
  }
4712
4829
 
4713
- export declare const useSelectedFolders: ({ slices, entityListFolderIds, getChildFolderIds, }: UseSelectedFoldersProps) => SelectedFoldersResult;
4830
+ export declare const useSelectedFolders: ({ slices, entityListFolderIds, getChildFolderIds, searchFolderIds, }: UseSelectedFoldersProps) => SelectedFoldersResult;
4714
4831
 
4715
4832
  declare interface UseSelectedFoldersProps {
4716
4833
  slices: SliceRowSelection[];
4717
4834
  entityListFolderIds?: string[];
4718
4835
  getChildFolderIds?: (folderIds: string[], includeSelf?: boolean) => string[];
4836
+ searchFolderIds?: string[] | null;
4719
4837
  }
4720
4838
 
4721
4839
  export declare const useSelectedRowsContext: () => SelectedRowsContextType;
@@ -68,7 +68,7 @@ declare type ListProjectsItemModel = {
68
68
 
69
69
  export declare const parseProjectFolderRowId: (rowId: string) => string | null;
70
70
 
71
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
71
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport' | 'personalApiKeys';
72
72
 
73
73
  export declare const PROJECT_FOLDER_ROW_ID_PREFIX = "folder";
74
74
 
@@ -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' | 'listValues' | 'entityLinks' | 'tableExport';
81
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport' | 'personalApiKeys';
82
82
 
83
83
  /** The project pages with a project table (ProjectTreeTable). */
84
84
  declare type ProjectTablePage = 'overview' | 'products' | 'lists'
@@ -286,7 +286,7 @@ export declare interface PinnedSlice {
286
286
  expanded: ExpandedState;
287
287
  }
288
288
 
289
- declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport';
289
+ declare type PowerpackFeature = 'slicer' | 'annotations' | 'releases' | 'advancedFilters' | 'listAttributes' | 'listFolders' | 'listAccess' | 'groupAttributes' | 'sharedViews' | 'commentCategories' | 'projectFolders' | 'columnSummaries' | 'listValues' | 'entityLinks' | 'tableExport' | 'personalApiKeys';
290
290
 
291
291
  declare type ProductType = {
292
292
  __typename?: 'ProductType';
@@ -485,6 +485,10 @@ export declare interface SlicerContextValue {
485
485
  setPanelExpanded: (panelId: string, expanded: React.SetStateAction<ExpandedState>) => void;
486
486
  collapsedPanels: string[];
487
487
  togglePanelCollapsed: (panelId: string) => void;
488
+ searchByPanel: Record<string, string | undefined>;
489
+ setSearchByPanel: React.Dispatch<React.SetStateAction<Record<string, string | undefined>>>;
490
+ searchMatchesByPanel: Record<string, string[]>;
491
+ setSearchMatchesByPanel: React.Dispatch<React.SetStateAction<Record<string, string[]>>>;
488
492
  getSliceSort: (sliceType: SliceType) => SliceSort;
489
493
  setSliceSort: (sliceType: SliceType, sort: SliceSort) => void;
490
494
  isViewSyncPending: boolean;
@@ -534,6 +538,8 @@ declare type SlicerPanelLayout = {
534
538
  export declare interface SlicerPanelSelections {
535
539
  sliceSelections: SliceRowSelection[];
536
540
  sliceFilters: SliceFilter[];
541
+ searchFolderIds: string[] | null;
542
+ getCountsSearchFolderIds: (sliceType: string) => string[] | null;
537
543
  isLicensePending: boolean;
538
544
  }
539
545
 
@@ -623,6 +623,7 @@ export declare interface ViewsContextValue {
623
623
  onDeleteBaseView: (baseViewId: string, isStudioScope: boolean) => Promise<void>;
624
624
  onLoadBaseView: (isStudioScope: boolean) => Promise<void>;
625
625
  resetWorkingView: () => Promise<void>;
626
+ updateControlledSettings?: (updated: ViewSettings) => void;
626
627
  api: typeof viewsQueries;
627
628
  dispatch: any;
628
629
  }
@@ -661,6 +662,10 @@ export declare interface ViewsProviderProps {
661
662
  debug?: {
662
663
  powerLicense?: boolean;
663
664
  };
665
+ controlled?: {
666
+ settings: ViewSettings | undefined;
667
+ onChange: (changed: ViewSettings) => void;
668
+ };
664
669
  }
665
670
 
666
671
  declare const viewsQueries: Api<BaseQueryFn<string | {
@@ -14540,6 +14540,7 @@ declare type ImportDataApiArg = {
14540
14540
  entityType?: ('folder' | 'task') | null;
14541
14541
  newListLabel?: string | null;
14542
14542
  newListEntityType?: ('folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile') | null;
14543
+ newListFolderId?: string | null;
14543
14544
  updateListedEntities?: boolean;
14544
14545
  projectName?: string | null;
14545
14546
  folderId?: string | null;