@ynput/ayon-frontend-shared 0.7.5 → 0.8.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.
- package/dist/DetailsPanel.es.js +471 -469
- package/dist/Feed.es.js +1 -1
- package/dist/ListTable.es.js +20 -20
- package/dist/NewEntity.es.js +7 -7
- package/dist/ProjectTreeTable.es.js +2523 -2502
- package/dist/ProjectsTable.es.js +5 -5
- package/dist/Slicer.es.js +28 -25
- package/dist/Views.es.js +150 -151
- package/dist/api.es.js +166 -165
- package/dist/chunks/Actions.es.js +9 -10
- package/dist/chunks/ColumnDropIndicator.es.js +4 -4
- package/dist/chunks/ColumnHeaderMenuUI.es.js +4 -5
- package/dist/chunks/DeleteEntitiesConfirmDialog.es.js +2 -2
- package/dist/chunks/DetailsDialog.es.js +3 -3
- package/dist/chunks/EmptyPlaceholder.es.js +7 -7
- package/dist/chunks/EntityPath.es.js +38 -39
- package/dist/chunks/EntityPickerDialog.es.js +482 -462
- package/dist/chunks/EntityTooltip.es.js +18 -19
- package/dist/chunks/Feed.es.js +1382 -1355
- package/dist/chunks/FilmstripEntityCard.es.js +5201 -0
- package/dist/chunks/FilterErrorActions.es.js +3 -4
- package/dist/chunks/GroupSettingsFallback.es.js +4 -4
- package/dist/chunks/Menu.es.js +242 -240
- package/dist/chunks/MetaWidget.es.js +1948 -1875
- package/dist/chunks/ProjectFoldersContext.es.js +237 -0
- package/dist/chunks/RepresentationsList.es.js +1 -1
- package/dist/chunks/ReviewablesSelector.es.js +1260 -1190
- package/dist/chunks/SimpleTable.es.js +303 -297
- package/dist/chunks/Slicer.es.js +420 -413
- package/dist/chunks/TableExportContextInstance.es.js +622 -378
- package/dist/chunks/TableSettingsFallback.es.js +3 -4
- package/dist/chunks/ThumbnailSimple.es.js +114 -99
- package/dist/chunks/ThumbnailUploaderContext.es.js +48 -0
- package/dist/chunks/VideoPlayer.es.js +8 -9
- package/dist/chunks/Watchers.es.js +929 -872
- package/dist/chunks/{ColumnDropIndicator.styled.es.js → addonColumnTags.es.js} +60 -47
- package/dist/chunks/expandRelativeDates.es.js +1 -1
- package/dist/chunks/getThumbnailUrl.es.js +33 -21
- package/dist/chunks/getUris.es.js +1580 -1610
- package/dist/chunks/queryFilterToClientFilter.es.js +1 -1
- package/dist/chunks/realtimeUpdatesUtils.es.js +15 -15
- package/dist/chunks/searchTerms.es.js +773 -696
- package/dist/chunks/useAttributeEnums.es.js +22 -22
- package/dist/chunks/useDateRangeFilter.es.js +1 -1
- package/dist/chunks/useHierarchySelection.es.js +3 -4
- package/dist/chunks/useLoadModule.es.js +3 -4
- package/dist/components.es.js +1391 -1253
- package/dist/context.es.js +645 -668
- package/dist/hooks.es.js +193 -171
- package/dist/index.es.js +4 -4
- package/dist/types/Actions.d.ts +10 -8
- package/dist/types/DetailsPanel.d.ts +54 -76
- package/dist/types/EntityPickerDialog.d.ts +51 -2
- package/dist/types/Feed.d.ts +24 -24
- package/dist/types/ListTable.d.ts +33 -27
- package/dist/types/NewEntity.d.ts +26 -39
- package/dist/types/ProjectTreeTable.d.ts +318 -212
- package/dist/types/ProjectsTable.d.ts +6 -6
- package/dist/types/RepresentationsList.d.ts +4 -0
- package/dist/types/Slicer.d.ts +63 -246
- package/dist/types/Views.d.ts +71 -298
- package/dist/types/api.d.ts +3164 -2363
- package/dist/types/components.d.ts +537 -497
- package/dist/types/context.d.ts +293 -572
- package/dist/types/hooks.d.ts +76 -47
- package/dist/types/index.d.ts +6 -0
- package/dist/types/util.d.ts +141 -120
- package/dist/util.es.js +71 -68
- package/package.json +6 -6
- package/dist/chunks/EntityUpdatesContext.es.js +0 -61
- package/dist/chunks/PlayableIcon.es.js +0 -5020
- package/dist/chunks/ProjectContext.es.js +0 -158
- package/dist/chunks/useQueryArgumentChangeLoading.es.js +0 -11
- package/dist/chunks/viewUpdateHelper.es.js +0 -153
|
@@ -24,6 +24,7 @@ import { DropdownRef } from '@ynput/ayon-react-components';
|
|
|
24
24
|
import { EditorConfig } from 'lexical';
|
|
25
25
|
import { ElementFormatType } from 'lexical';
|
|
26
26
|
import { ElementNode } from 'lexical';
|
|
27
|
+
import { EntityCardProps } from '@ynput/ayon-react-components';
|
|
27
28
|
import { ExecutionProps } from 'styled-components';
|
|
28
29
|
import { FastOmit } from 'styled-components';
|
|
29
30
|
import { FC } from 'react';
|
|
@@ -198,7 +199,7 @@ export declare interface AddonButtonProps<S extends ButtonSlot> {
|
|
|
198
199
|
context: Omit<SlotMap[S]['context'], 'navigate'>;
|
|
199
200
|
/** the host's button; not called for a `component` item, which draws itself */
|
|
200
201
|
renderButton: (props: AddonButtonRenderProps) => ReactNode;
|
|
201
|
-
/** dev shell: open the dialog right away */
|
|
202
|
+
/** dev shell: open the dialog or popover right away */
|
|
202
203
|
autoOpen?: boolean;
|
|
203
204
|
/** dev shell: the context the item's code gets */
|
|
204
205
|
onContext?: (context: object) => void;
|
|
@@ -206,7 +207,7 @@ export declare interface AddonButtonProps<S extends ButtonSlot> {
|
|
|
206
207
|
|
|
207
208
|
export declare interface AddonButtonRenderProps {
|
|
208
209
|
ref: (element: HTMLElement | null) => void;
|
|
209
|
-
/** its dialog or
|
|
210
|
+
/** its dialog, menu or popover is open */
|
|
210
211
|
active: boolean;
|
|
211
212
|
onClick: () => void;
|
|
212
213
|
onMouseEnter: () => void;
|
|
@@ -224,6 +225,8 @@ export declare interface AddonDialogProps<S extends SlotName> {
|
|
|
224
225
|
};
|
|
225
226
|
}
|
|
226
227
|
|
|
228
|
+
export declare const AddonEntityPicker: ({ projectName, entityType, multiSelect, initialSelection, onSubmit, onClose, }: EntityPickerProps) => JSX_2.Element;
|
|
229
|
+
|
|
227
230
|
/** The addon a contribution came from. */
|
|
228
231
|
declare interface AddonInfo {
|
|
229
232
|
/** addon name, as on the server */
|
|
@@ -255,6 +258,28 @@ declare type AddonMenuItem =
|
|
|
255
258
|
danger?: boolean
|
|
256
259
|
}
|
|
257
260
|
|
|
261
|
+
export declare const AddonMoreMenu: ({ items, icon, label, tooltip, variant, align, disabled, className, onError, "data-testid": testId, }: HostMoreMenuProps) => JSX_2.Element;
|
|
262
|
+
|
|
263
|
+
export declare const AddonServices: ({ projectName }: {
|
|
264
|
+
projectName: string | null;
|
|
265
|
+
}) => JSX_2.Element;
|
|
266
|
+
|
|
267
|
+
/** The signed-in user, as addons see it: in every slot's context (`user`) and from `useUser`. */
|
|
268
|
+
declare interface AddonUser {
|
|
269
|
+
name: string
|
|
270
|
+
fullName?: string
|
|
271
|
+
email?: string
|
|
272
|
+
/** admins, and service users (the server treats them as admins) */
|
|
273
|
+
isAdmin: boolean
|
|
274
|
+
/** managers and admins */
|
|
275
|
+
isManager: boolean
|
|
276
|
+
isGuest: boolean
|
|
277
|
+
/** a service user: an API key session (services, agents, CI) */
|
|
278
|
+
isService: boolean
|
|
279
|
+
/** developer mode is on */
|
|
280
|
+
isDeveloper: boolean
|
|
281
|
+
}
|
|
282
|
+
|
|
258
283
|
declare type AlignType = 'left' | 'right';
|
|
259
284
|
|
|
260
285
|
declare type Anatomy = {
|
|
@@ -265,7 +290,9 @@ declare type Anatomy = {
|
|
|
265
290
|
/** Path templates configuration */
|
|
266
291
|
templates?: Templates;
|
|
267
292
|
/** Attributes configuration */
|
|
268
|
-
attributes?:
|
|
293
|
+
attributes?: {
|
|
294
|
+
[key: string]: any;
|
|
295
|
+
};
|
|
269
296
|
/** Folder types configuration */
|
|
270
297
|
folder_types?: FolderType[];
|
|
271
298
|
/** Task types configuration */
|
|
@@ -288,6 +315,18 @@ declare interface AnyContribution {
|
|
|
288
315
|
[field: string]: unknown
|
|
289
316
|
}
|
|
290
317
|
|
|
318
|
+
/** Context of a service. */
|
|
319
|
+
declare interface AppServiceContext {
|
|
320
|
+
/** the project whose page is open, else `null` */
|
|
321
|
+
projectName: string | null
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/** Description of an `app.service` contribution. */
|
|
325
|
+
declare interface AppServiceMeta {
|
|
326
|
+
/** unique among the addon's services */
|
|
327
|
+
id: string
|
|
328
|
+
}
|
|
329
|
+
|
|
291
330
|
export declare type AttributeData = {
|
|
292
331
|
id: string;
|
|
293
332
|
isExpanded: boolean;
|
|
@@ -303,36 +342,40 @@ declare type AttributeData_2 = {
|
|
|
303
342
|
/** Type of attribute value */
|
|
304
343
|
type?: 'string' | 'integer' | 'float' | 'boolean' | 'datetime' | 'list_of_strings' | 'list_of_integers' | 'list_of_any' | 'list_of_submodels' | 'dict';
|
|
305
344
|
/** Nice, human readable title of the attribute */
|
|
306
|
-
title?: string;
|
|
307
|
-
description?: string;
|
|
345
|
+
title?: string | null;
|
|
346
|
+
description?: string | null;
|
|
308
347
|
/** Example value of the field. */
|
|
309
348
|
example?: any;
|
|
310
349
|
/** Default value for the attribute. Do not set for list types. */
|
|
311
350
|
default?: any;
|
|
312
|
-
gt?: number | number;
|
|
313
|
-
ge?: number | number;
|
|
314
|
-
lt?: number | number;
|
|
315
|
-
le?: number | number;
|
|
316
|
-
minLength?: number;
|
|
317
|
-
maxLength?: number;
|
|
351
|
+
gt?: number | number | null;
|
|
352
|
+
ge?: number | number | null;
|
|
353
|
+
lt?: number | number | null;
|
|
354
|
+
le?: number | number | null;
|
|
355
|
+
minLength?: number | null;
|
|
356
|
+
maxLength?: number | null;
|
|
318
357
|
/** Minimum number of items in list type. */
|
|
319
|
-
minItems?: number;
|
|
358
|
+
minItems?: number | null;
|
|
320
359
|
/** Only for list types. Maximum number of items in the list. */
|
|
321
|
-
maxItems?: number;
|
|
360
|
+
maxItems?: number | null;
|
|
322
361
|
/** Only for string types. The value must match this regex. */
|
|
323
|
-
regex?: string;
|
|
362
|
+
regex?: string | null;
|
|
324
363
|
/** List of enum items used for displaying select widgets */
|
|
325
|
-
enum?: EnumItem[];
|
|
364
|
+
enum?: EnumItem[] | null;
|
|
326
365
|
/** Name of the function that provides enum values dynamically. */
|
|
327
|
-
enumResolver?: string;
|
|
366
|
+
enumResolver?: string | null;
|
|
328
367
|
/** Settings passed to the enum resolver function. */
|
|
329
|
-
enumResolverSettings?:
|
|
368
|
+
enumResolverSettings?: {
|
|
369
|
+
[key: string]: any;
|
|
370
|
+
} | null;
|
|
330
371
|
/** Inherit the attribute value from the parent entity. */
|
|
331
372
|
inherit?: boolean;
|
|
332
373
|
/** Specific widget style this field should use. */
|
|
333
|
-
widget?: string;
|
|
374
|
+
widget?: string | null;
|
|
334
375
|
/** Any additional config specific for the widget style.(Date formats, precision etc.) */
|
|
335
|
-
widgetSettings?:
|
|
376
|
+
widgetSettings?: {
|
|
377
|
+
[key: string]: any;
|
|
378
|
+
} | null;
|
|
336
379
|
};
|
|
337
380
|
|
|
338
381
|
declare type AttributeDataValue = AttributeType | null | undefined;
|
|
@@ -436,8 +479,11 @@ declare const Button: IStyledComponentBase<"web", FastOmit<Omit< ButtonProps & R
|
|
|
436
479
|
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;
|
|
437
480
|
}, never>>> & string & Omit< ForwardRefExoticComponent< ButtonProps & RefAttributes<HTMLButtonElement>>, keyof Component<any, {}, any>>;
|
|
438
481
|
|
|
439
|
-
/**
|
|
440
|
-
|
|
482
|
+
/**
|
|
483
|
+
* What a button contribution does on click: exactly one is set (checked when the manifest loads),
|
|
484
|
+
* except that a `component` may be a `popover`'s button (the action is then `popover`).
|
|
485
|
+
*/
|
|
486
|
+
export declare type ButtonAction = 'to' | 'run' | 'dialog' | 'menu' | 'popover' | 'component';
|
|
441
487
|
|
|
442
488
|
/** Description fields of a button the host draws (header and toolbar items). */
|
|
443
489
|
declare interface ButtonMeta {
|
|
@@ -463,8 +509,20 @@ declare interface ButtonPieces<S extends SlotName> {
|
|
|
463
509
|
dialog?: Loader<ComponentType<SlotProps<S> & DialogScope>>
|
|
464
510
|
/** the items of a menu the host opens under the button, like the header's help menu */
|
|
465
511
|
menu?: Loader<MenuPiece<S>>
|
|
466
|
-
/**
|
|
467
|
-
|
|
512
|
+
/**
|
|
513
|
+
* the content of a popover the host opens under the button, like the header's menus: the host
|
|
514
|
+
* positions it and closes it on a click outside or Escape (an Escape or click inside a menu or
|
|
515
|
+
* dialog opened from the popover closes only that). It gets `close`
|
|
516
|
+
*/
|
|
517
|
+
popover?: Loader<ComponentType<SlotProps<S> & PopoverScope>>
|
|
518
|
+
/**
|
|
519
|
+
* the addon's own component instead of the host's button: a dropdown, a toggle, anything. With
|
|
520
|
+
* `popover`, it is the popover's button (its icon, a badge, a tooltip of its own) and gets
|
|
521
|
+
* `popoverOpen` and `togglePopover`
|
|
522
|
+
*/
|
|
523
|
+
component?:
|
|
524
|
+
| Loader<ComponentType<SlotProps<S>>>
|
|
525
|
+
| Loader<ComponentType<SlotProps<S> & PopoverButtonScope>>
|
|
468
526
|
}
|
|
469
527
|
|
|
470
528
|
/** Context of a button's code (`run`, `dialog`, `menu`, `component`) besides the slot's own. */
|
|
@@ -526,13 +584,6 @@ declare interface ColumnHeaderMenuUIProps {
|
|
|
526
584
|
|
|
527
585
|
declare type ColumnIdAliases = Record<string, string>;
|
|
528
586
|
|
|
529
|
-
declare type ColumnItemModel = {
|
|
530
|
-
name: string;
|
|
531
|
-
visible?: boolean;
|
|
532
|
-
pinned?: boolean;
|
|
533
|
-
width?: number;
|
|
534
|
-
};
|
|
535
|
-
|
|
536
587
|
export declare const ColumnMenuButton: IStyledComponentBase<"web", FastOmit< FastOmit<Omit< ButtonProps & RefAttributes<HTMLButtonElement>, "ref"> & {
|
|
537
588
|
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;
|
|
538
589
|
}, "$isOpen"> & {
|
|
@@ -680,8 +731,8 @@ export declare const createFeedMentionSource: ({ suggestions, project, taskTypes
|
|
|
680
731
|
|
|
681
732
|
declare type CreateViewApiArg = {
|
|
682
733
|
viewType: string;
|
|
683
|
-
projectName?: string;
|
|
684
|
-
|
|
734
|
+
projectName?: string | null;
|
|
735
|
+
genericViewPostModel: GenericViewPostModel;
|
|
685
736
|
};
|
|
686
737
|
|
|
687
738
|
export declare const CUSTOM_RANGE_ICON = "tune";
|
|
@@ -837,7 +888,7 @@ export declare type DeleteEntitiesConfirmDialogProps = {
|
|
|
837
888
|
declare type DeleteViewApiArg = {
|
|
838
889
|
viewType: string;
|
|
839
890
|
viewId: string;
|
|
840
|
-
projectName?: string;
|
|
891
|
+
projectName?: string | null;
|
|
841
892
|
};
|
|
842
893
|
|
|
843
894
|
declare type DeliveryTemplate = {
|
|
@@ -992,6 +1043,8 @@ declare type DetailsPanelEntityData = {
|
|
|
992
1043
|
status: string;
|
|
993
1044
|
updatedAt: string;
|
|
994
1045
|
createdAt: string;
|
|
1046
|
+
createdBy?: string | null;
|
|
1047
|
+
updatedBy?: string | null;
|
|
995
1048
|
thumbnailHash: string;
|
|
996
1049
|
attrib: Record<string, string | number>;
|
|
997
1050
|
hasReviewables?: boolean;
|
|
@@ -1024,11 +1077,7 @@ declare type DetailsPanelFolderFragmentFragment = {
|
|
|
1024
1077
|
};
|
|
1025
1078
|
|
|
1026
1079
|
/** Context of a details panel menu item. */
|
|
1027
|
-
declare interface DetailsPanelMenuItemContext extends ProjectNameScope {
|
|
1028
|
-
entityType: string
|
|
1029
|
-
/** the entities the panel shows */
|
|
1030
|
-
selectedEntities: EntityRef[]
|
|
1031
|
-
}
|
|
1080
|
+
declare interface DetailsPanelMenuItemContext extends ProjectNameScope, EntityScope {}
|
|
1032
1081
|
|
|
1033
1082
|
/** Description of a `detailsPanel.menuItem` contribution. */
|
|
1034
1083
|
declare interface DetailsPanelMenuItemMeta extends MenuItemMeta {
|
|
@@ -1119,6 +1168,10 @@ declare interface DetailsSectionProps {
|
|
|
1119
1168
|
form: Record<string, any>;
|
|
1120
1169
|
mixedFields?: string[];
|
|
1121
1170
|
isLoading: boolean;
|
|
1171
|
+
users?: {
|
|
1172
|
+
name: string;
|
|
1173
|
+
fullName?: string | null;
|
|
1174
|
+
}[];
|
|
1122
1175
|
}
|
|
1123
1176
|
|
|
1124
1177
|
/**
|
|
@@ -1242,17 +1295,21 @@ declare type EntityListItemModel = {
|
|
|
1242
1295
|
/** Position of the item in the list */
|
|
1243
1296
|
position: number;
|
|
1244
1297
|
/** Label of the item */
|
|
1245
|
-
label?: string;
|
|
1298
|
+
label?: string | null;
|
|
1246
1299
|
/** Overrides of the listed entity attributes */
|
|
1247
|
-
attrib?:
|
|
1300
|
+
attrib?: {
|
|
1301
|
+
[key: string]: any;
|
|
1302
|
+
};
|
|
1248
1303
|
/** Additional data associated with the item */
|
|
1249
|
-
data?:
|
|
1304
|
+
data?: {
|
|
1305
|
+
[key: string]: any;
|
|
1306
|
+
};
|
|
1250
1307
|
/** Tags associated with the item */
|
|
1251
1308
|
tags?: string[];
|
|
1252
1309
|
/** Path to the folder where the item is located */
|
|
1253
1310
|
folderPath: string;
|
|
1254
|
-
createdBy?: string;
|
|
1255
|
-
updatedBy?: string;
|
|
1311
|
+
createdBy?: string | null;
|
|
1312
|
+
updatedBy?: string | null;
|
|
1256
1313
|
createdAt?: string;
|
|
1257
1314
|
updatedAt?: string;
|
|
1258
1315
|
};
|
|
@@ -1262,7 +1319,7 @@ declare type EntityListModel = {
|
|
|
1262
1319
|
/** Type of the list */
|
|
1263
1320
|
entityListType: string;
|
|
1264
1321
|
/** ID of the folder containing the list */
|
|
1265
|
-
entityListFolderId?: string;
|
|
1322
|
+
entityListFolderId?: string | null;
|
|
1266
1323
|
/** Type of the entity that can be included in the list */
|
|
1267
1324
|
entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
1268
1325
|
label: string;
|
|
@@ -1271,17 +1328,23 @@ declare type EntityListModel = {
|
|
|
1271
1328
|
[key: string]: ListAccessLevel;
|
|
1272
1329
|
};
|
|
1273
1330
|
/** List attributes */
|
|
1274
|
-
attrib?:
|
|
1331
|
+
attrib?: {
|
|
1332
|
+
[key: string]: any;
|
|
1333
|
+
};
|
|
1275
1334
|
/** Additional data associated with the list */
|
|
1276
|
-
data?:
|
|
1277
|
-
|
|
1335
|
+
data?: {
|
|
1336
|
+
[key: string]: any;
|
|
1337
|
+
};
|
|
1338
|
+
template?: {
|
|
1339
|
+
[key: string]: any;
|
|
1340
|
+
};
|
|
1278
1341
|
/** List tags */
|
|
1279
1342
|
tags?: string[];
|
|
1280
1343
|
items?: EntityListItemModel[];
|
|
1281
1344
|
/** Name of the user who created the list */
|
|
1282
|
-
owner?: string;
|
|
1283
|
-
createdBy?: string;
|
|
1284
|
-
updatedBy?: string;
|
|
1345
|
+
owner?: string | null;
|
|
1346
|
+
createdBy?: string | null;
|
|
1347
|
+
updatedBy?: string | null;
|
|
1285
1348
|
createdAt?: string;
|
|
1286
1349
|
updatedAt?: string;
|
|
1287
1350
|
/** Whether the list is active or not */
|
|
@@ -1340,6 +1403,30 @@ export declare interface EntityPathProps {
|
|
|
1340
1403
|
scope: string;
|
|
1341
1404
|
}
|
|
1342
1405
|
|
|
1406
|
+
declare interface EntityPickerProps {
|
|
1407
|
+
/** the project to pick from */
|
|
1408
|
+
projectName: string
|
|
1409
|
+
/**
|
|
1410
|
+
* What to pick. The picker also shows the types above it to narrow the list down, e.g. folders
|
|
1411
|
+
* then tasks for `task`, folders, products then versions for `version`.
|
|
1412
|
+
*/
|
|
1413
|
+
entityType: PickableEntityType
|
|
1414
|
+
/** let the user pick several; one by default */
|
|
1415
|
+
multiSelect?: boolean
|
|
1416
|
+
/**
|
|
1417
|
+
* Selected when the picker opens: entities of `entityType`, or of a type above it to narrow the
|
|
1418
|
+
* list (a folder opens the folder tree at it). `EntityRef`s from a slot context fit as they are.
|
|
1419
|
+
*/
|
|
1420
|
+
initialSelection?: Pick<EntityRef, 'id' | 'entityType'>[]
|
|
1421
|
+
/**
|
|
1422
|
+
* The picked entities, of `entityType` in this project. `name` and `label` are set when the
|
|
1423
|
+
* picker has loaded them. The picker stays open until you stop rendering it: close it here.
|
|
1424
|
+
*/
|
|
1425
|
+
onSubmit: (entities: EntityRef[]) => void
|
|
1426
|
+
/** the user closed the picker without picking (its close button or Escape) */
|
|
1427
|
+
onClose: () => void
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1343
1430
|
/** An entity a slot is about: its id and type, and its name when the host has it. */
|
|
1344
1431
|
declare interface EntityRef {
|
|
1345
1432
|
id: string
|
|
@@ -1352,7 +1439,9 @@ declare interface EntityRef {
|
|
|
1352
1439
|
|
|
1353
1440
|
/** Slots about one or more entities of one type. */
|
|
1354
1441
|
declare interface EntityScope {
|
|
1442
|
+
/** the type of every entity in `entities` */
|
|
1355
1443
|
entityType: string
|
|
1444
|
+
/** the entities the slot is about, e.g. the ones the details panel shows */
|
|
1356
1445
|
entities: EntityRef[]
|
|
1357
1446
|
}
|
|
1358
1447
|
|
|
@@ -1436,19 +1525,21 @@ export declare interface EnumEditorPt {
|
|
|
1436
1525
|
declare type EnumItem = {
|
|
1437
1526
|
value: string | number | number | boolean;
|
|
1438
1527
|
label: string;
|
|
1439
|
-
description?: string;
|
|
1440
|
-
fulltext?: string[];
|
|
1441
|
-
group?: string;
|
|
1528
|
+
description?: string | null;
|
|
1529
|
+
fulltext?: string[] | null;
|
|
1530
|
+
group?: string | null;
|
|
1442
1531
|
/** Icon name (material symbol) or IconModel object */
|
|
1443
|
-
icon?: string | IconModel;
|
|
1444
|
-
color?: string;
|
|
1445
|
-
shortName?: string;
|
|
1532
|
+
icon?: string | IconModel | null;
|
|
1533
|
+
color?: string | null;
|
|
1534
|
+
shortName?: string | null;
|
|
1446
1535
|
/** Enum item is visible, but not selectable */
|
|
1447
1536
|
disabled?: boolean;
|
|
1448
1537
|
/** Message to show when the option is disabled */
|
|
1449
|
-
disabledMessage?: string;
|
|
1450
|
-
/** Enum item is not
|
|
1538
|
+
disabledMessage?: string | null;
|
|
1539
|
+
/** Enum item is not visible in the dropdown */
|
|
1451
1540
|
hidden?: boolean;
|
|
1541
|
+
/** Extra badge labels to display next to the item */
|
|
1542
|
+
badges?: string[] | null;
|
|
1452
1543
|
};
|
|
1453
1544
|
|
|
1454
1545
|
declare const EnumItemBody: IStyledComponentBase<"web", FastOmit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
@@ -1554,9 +1645,58 @@ export declare const FileThumbnail: FC<FileThumbnailProps>;
|
|
|
1554
1645
|
export declare interface FileThumbnailProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onError' | 'onLoad'> {
|
|
1555
1646
|
src: string;
|
|
1556
1647
|
mimetype?: string;
|
|
1648
|
+
/** hover-scrub filmstrip url (see getFileFilmstripUrl) */
|
|
1649
|
+
filmstripSrc?: string | null;
|
|
1557
1650
|
imgProps?: Omit<ImgHTMLAttributes<HTMLImageElement>, 'src' | 'onError' | 'onLoad'>;
|
|
1558
1651
|
}
|
|
1559
1652
|
|
|
1653
|
+
/**
|
|
1654
|
+
* Hover-scrub preview of a video thumbnail.
|
|
1655
|
+
*
|
|
1656
|
+
* Render it as the last child of a positioned thumbnail element. While the cursor is over
|
|
1657
|
+
* that element, the overlay shows the filmstrip frame matching the cursor position,
|
|
1658
|
+
* so moving the cursor left to right "plays" the video.
|
|
1659
|
+
*/
|
|
1660
|
+
export declare const Filmstrip: FC<FilmstripProps>;
|
|
1661
|
+
|
|
1662
|
+
export declare const FILMSTRIP_ACTIVE_ATTRIBUTE = "data-filmstrip-active";
|
|
1663
|
+
|
|
1664
|
+
export declare const FILMSTRIP_FILE_ATTRIBUTE = "data-filmstrip-file-id";
|
|
1665
|
+
|
|
1666
|
+
export declare const FILMSTRIP_POSITION_ATTRIBUTE = "data-filmstrip-position";
|
|
1667
|
+
|
|
1668
|
+
export declare interface FilmstripData {
|
|
1669
|
+
fileId: string;
|
|
1670
|
+
url: string;
|
|
1671
|
+
frames: number;
|
|
1672
|
+
columns: number;
|
|
1673
|
+
frameWidth: number;
|
|
1674
|
+
frameHeight: number;
|
|
1675
|
+
}
|
|
1676
|
+
|
|
1677
|
+
/** ARC EntityCard with a hover-scrub filmstrip */
|
|
1678
|
+
export declare const FilmstripEntityCard: ForwardRefExoticComponent<FilmstripEntityCardProps & RefAttributes<HTMLDivElement>>;
|
|
1679
|
+
|
|
1680
|
+
export declare interface FilmstripEntityCardProps extends EntityCardProps {
|
|
1681
|
+
/** hover-scrub filmstrip url (see getEntityFilmstripUrl) */
|
|
1682
|
+
filmstripUrl?: string | null;
|
|
1683
|
+
}
|
|
1684
|
+
|
|
1685
|
+
export declare interface FilmstripProps {
|
|
1686
|
+
/** Filmstrip URL (see getEntityFilmstripUrl). Nothing happens when empty. */
|
|
1687
|
+
src?: string | null;
|
|
1688
|
+
/** Should match object-fit of the static thumbnail underneath */
|
|
1689
|
+
fit?: 'cover' | 'contain';
|
|
1690
|
+
disabled?: boolean;
|
|
1691
|
+
className?: string;
|
|
1692
|
+
style?: CSSProperties;
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
export declare interface FilmstripTarget {
|
|
1696
|
+
position: number;
|
|
1697
|
+
fileId: string;
|
|
1698
|
+
}
|
|
1699
|
+
|
|
1560
1700
|
export declare const FILTER_TYPES_BY_SCOPE: Record<ScopeType_2, FilterFieldType[]>;
|
|
1561
1701
|
|
|
1562
1702
|
declare type FilterConfig = {
|
|
@@ -1676,19 +1816,19 @@ declare interface FolderProduct {
|
|
|
1676
1816
|
|
|
1677
1817
|
declare type FolderSuggestionItem = {
|
|
1678
1818
|
/** The date and time when the suggested entity was created */
|
|
1679
|
-
createdAt?: string;
|
|
1819
|
+
createdAt?: string | null;
|
|
1680
1820
|
/** The relevance score of the suggestion */
|
|
1681
|
-
relevance?: number;
|
|
1821
|
+
relevance?: number | null;
|
|
1682
1822
|
id: string;
|
|
1683
1823
|
folderType: string;
|
|
1684
1824
|
name: string;
|
|
1685
|
-
label?: string;
|
|
1686
|
-
thumbnailId?: string;
|
|
1825
|
+
label?: string | null;
|
|
1826
|
+
thumbnailId?: string | null;
|
|
1687
1827
|
};
|
|
1688
1828
|
|
|
1689
1829
|
declare type FolderType = {
|
|
1690
1830
|
name: string;
|
|
1691
|
-
original_name?: string;
|
|
1831
|
+
original_name?: string | null;
|
|
1692
1832
|
shortName?: string;
|
|
1693
1833
|
color?: string;
|
|
1694
1834
|
icon?: string;
|
|
@@ -1696,7 +1836,7 @@ declare type FolderType = {
|
|
|
1696
1836
|
|
|
1697
1837
|
declare type FolderType_2 = {
|
|
1698
1838
|
name: string;
|
|
1699
|
-
original_name?: string;
|
|
1839
|
+
original_name?: string | null;
|
|
1700
1840
|
shortName?: string;
|
|
1701
1841
|
color?: string;
|
|
1702
1842
|
icon?: string;
|
|
@@ -1710,29 +1850,40 @@ declare interface FormData_2 {
|
|
|
1710
1850
|
export { FormData_2 as FormData }
|
|
1711
1851
|
|
|
1712
1852
|
declare type FormFieldPatch = {
|
|
1713
|
-
value?: string | number | number | boolean | string[] | number[] | number[] | null;
|
|
1853
|
+
value?: string | number | number | boolean | string[] | number[] | number[] | FormFileData | null;
|
|
1714
1854
|
label?: string;
|
|
1715
1855
|
placeholder?: any;
|
|
1716
1856
|
options?: FormOptionItem[];
|
|
1717
|
-
|
|
1718
|
-
|
|
1857
|
+
enum_resolver?: string;
|
|
1858
|
+
enum_resolver_params?: {
|
|
1859
|
+
[key: string]: any;
|
|
1860
|
+
};
|
|
1861
|
+
read_only?: boolean;
|
|
1719
1862
|
hidden?: boolean;
|
|
1863
|
+
disabled?: boolean;
|
|
1720
1864
|
highlight?: 'info' | 'warning' | 'error';
|
|
1721
1865
|
};
|
|
1722
1866
|
|
|
1723
1867
|
declare type FormFieldRule = {
|
|
1724
|
-
|
|
1868
|
+
/** Filter source events */
|
|
1869
|
+
when: QueryFilter_2;
|
|
1725
1870
|
set: FormFieldPatch;
|
|
1726
1871
|
};
|
|
1727
1872
|
|
|
1728
|
-
declare
|
|
1873
|
+
declare type FormFileData = {
|
|
1874
|
+
filename: string;
|
|
1875
|
+
payload: string;
|
|
1876
|
+
download?: boolean;
|
|
1877
|
+
};
|
|
1878
|
+
|
|
1879
|
+
declare interface FormFileData_2 {
|
|
1729
1880
|
payload: string;
|
|
1730
1881
|
filename: string;
|
|
1731
1882
|
download?: boolean;
|
|
1732
1883
|
}
|
|
1733
1884
|
|
|
1734
1885
|
declare type FormOptionItem = {
|
|
1735
|
-
value: string | number | boolean;
|
|
1886
|
+
value: string | number | number | boolean;
|
|
1736
1887
|
label?: string;
|
|
1737
1888
|
description?: string;
|
|
1738
1889
|
group?: string;
|
|
@@ -1774,16 +1925,22 @@ declare type GenericViewModel = {
|
|
|
1774
1925
|
working: boolean;
|
|
1775
1926
|
position: number;
|
|
1776
1927
|
accessLevel: number;
|
|
1777
|
-
settings: object;
|
|
1778
|
-
access: object;
|
|
1779
1928
|
viewType: string;
|
|
1929
|
+
settings: {
|
|
1930
|
+
[key: string]: any;
|
|
1931
|
+
};
|
|
1932
|
+
access: {
|
|
1933
|
+
[key: string]: any;
|
|
1934
|
+
};
|
|
1780
1935
|
};
|
|
1781
1936
|
|
|
1782
1937
|
declare type GenericViewPatchModel = {
|
|
1783
|
-
label?: string;
|
|
1784
|
-
owner?: string;
|
|
1785
|
-
|
|
1786
|
-
|
|
1938
|
+
label?: string | null;
|
|
1939
|
+
owner?: string | null;
|
|
1940
|
+
viewType?: string | null;
|
|
1941
|
+
settings?: {
|
|
1942
|
+
[key: string]: any;
|
|
1943
|
+
} | null;
|
|
1787
1944
|
};
|
|
1788
1945
|
|
|
1789
1946
|
declare type GenericViewPostModel = {
|
|
@@ -1793,29 +1950,25 @@ declare type GenericViewPostModel = {
|
|
|
1793
1950
|
label: string;
|
|
1794
1951
|
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
1795
1952
|
working?: boolean;
|
|
1796
|
-
|
|
1797
|
-
|
|
1953
|
+
viewType?: string | null;
|
|
1954
|
+
settings: {
|
|
1955
|
+
[key: string]: any;
|
|
1956
|
+
};
|
|
1798
1957
|
};
|
|
1799
1958
|
|
|
1800
1959
|
declare type GetBaseViewApiArg = {
|
|
1801
1960
|
viewType: string;
|
|
1802
|
-
projectName?: string;
|
|
1961
|
+
projectName?: string | null;
|
|
1803
1962
|
};
|
|
1804
1963
|
|
|
1805
|
-
declare type GetBaseViewApiResponse =
|
|
1806
|
-
/** status 200 Successful Response */
|
|
1807
|
-
OverviewViewModel | TaskProgressViewModel | ListsViewModel | ReviewsViewModel | VersionsViewModel | GenericViewModel;
|
|
1808
|
-
|
|
1809
1964
|
export declare const getButtonAction: (contribution: AnyContribution) => ButtonAction | undefined;
|
|
1810
1965
|
|
|
1811
1966
|
declare type GetDefaultViewApiArg = {
|
|
1812
1967
|
viewType: string;
|
|
1813
|
-
projectName?: string;
|
|
1968
|
+
projectName?: string | null;
|
|
1814
1969
|
};
|
|
1815
1970
|
|
|
1816
|
-
declare type GetDefaultViewApiResponse =
|
|
1817
|
-
/** status 200 Successful Response */
|
|
1818
|
-
OverviewViewModel | TaskProgressViewModel | ListsViewModel | ReviewsViewModel | VersionsViewModel | GenericViewModel;
|
|
1971
|
+
declare type GetDefaultViewApiResponse = GenericViewModel;
|
|
1819
1972
|
|
|
1820
1973
|
declare type GetDetailsPanelTaskQuery = {
|
|
1821
1974
|
project: {
|
|
@@ -1832,6 +1985,8 @@ declare type GetDetailsPanelTaskQuery = {
|
|
|
1832
1985
|
assignees: Array<string>;
|
|
1833
1986
|
updatedAt: unknown;
|
|
1834
1987
|
createdAt: unknown;
|
|
1988
|
+
createdBy: string | null;
|
|
1989
|
+
updatedBy: string | null;
|
|
1835
1990
|
thumbnailHash: string;
|
|
1836
1991
|
folderId: string;
|
|
1837
1992
|
thumbnailId: string | null;
|
|
@@ -1873,6 +2028,15 @@ declare type GetDetailsPanelTaskQuery = {
|
|
|
1873
2028
|
};
|
|
1874
2029
|
};
|
|
1875
2030
|
|
|
2031
|
+
/**
|
|
2032
|
+
* The filmstrip frame shown under the cursor, for opening the viewer at the same reviewable
|
|
2033
|
+
* and frame the user was looking at.
|
|
2034
|
+
* Returns undefined when the event did not come from a scrubbed thumbnail.
|
|
2035
|
+
*/
|
|
2036
|
+
export declare const getFilmstripTarget: (event?: {
|
|
2037
|
+
target: EventTarget | null;
|
|
2038
|
+
}) => FilmstripTarget | undefined;
|
|
2039
|
+
|
|
1876
2040
|
export declare const getGroupedReviewables: (reviewables: ReviewableResponse[], hasTranscoder?: boolean | undefined) => {
|
|
1877
2041
|
playable: ReviewableResponse[];
|
|
1878
2042
|
incompatible: ReviewableResponse[];
|
|
@@ -1918,22 +2082,14 @@ export declare const getUiTypeLabel: (type: AttributeData_2["type"] | undefined,
|
|
|
1918
2082
|
declare type GetViewApiArg = {
|
|
1919
2083
|
viewType: string;
|
|
1920
2084
|
viewId: string;
|
|
1921
|
-
projectName?: string;
|
|
2085
|
+
projectName?: string | null;
|
|
1922
2086
|
};
|
|
1923
2087
|
|
|
1924
|
-
declare type GetViewApiResponse =
|
|
1925
|
-
/** status 200 Successful Response */
|
|
1926
|
-
OverviewViewModel | TaskProgressViewModel | ListsViewModel | ReviewsViewModel | VersionsViewModel | GenericViewModel;
|
|
1927
|
-
|
|
1928
2088
|
declare type GetWorkingViewApiArg = {
|
|
1929
2089
|
viewType: string;
|
|
1930
|
-
projectName?: string;
|
|
2090
|
+
projectName?: string | null;
|
|
1931
2091
|
};
|
|
1932
2092
|
|
|
1933
|
-
declare type GetWorkingViewApiResponse =
|
|
1934
|
-
/** status 200 Successful Response */
|
|
1935
|
-
OverviewViewModel | TaskProgressViewModel | ListsViewModel | ReviewsViewModel | VersionsViewModel | GenericViewModel;
|
|
1936
|
-
|
|
1937
2093
|
declare interface GridConfig {
|
|
1938
2094
|
columns: number;
|
|
1939
2095
|
rows: number;
|
|
@@ -2018,26 +2174,32 @@ declare type HeroTemplate = {
|
|
|
2018
2174
|
file: string;
|
|
2019
2175
|
};
|
|
2020
2176
|
|
|
2177
|
+
/** What the host's `MoreMenu` gets: the addon's props and where to report a failing item. */
|
|
2178
|
+
declare interface HostMoreMenuProps extends MoreMenuProps {
|
|
2179
|
+
/** a failing `onClick`: shown as a toast naming the addon */
|
|
2180
|
+
onError: (error: unknown) => void
|
|
2181
|
+
}
|
|
2182
|
+
|
|
2021
2183
|
declare type IconInputPt = Partial<React.ComponentProps<typeof Styled.IconSelect>>;
|
|
2022
2184
|
|
|
2023
2185
|
declare type IconModel = {
|
|
2024
2186
|
type?: 'material-symbols' | 'url';
|
|
2025
2187
|
/** The name of the icon (for type material-symbols) */
|
|
2026
|
-
name?: string;
|
|
2188
|
+
name?: string | null;
|
|
2027
2189
|
/** The color of the icon (for type material-symbols) */
|
|
2028
|
-
color?: string;
|
|
2190
|
+
color?: string | null;
|
|
2029
2191
|
/** The URL of the icon (for type url) */
|
|
2030
|
-
url?: string;
|
|
2192
|
+
url?: string | null;
|
|
2031
2193
|
};
|
|
2032
2194
|
|
|
2033
2195
|
declare type IconModel_2 = {
|
|
2034
2196
|
type?: 'material-symbols' | 'url';
|
|
2035
2197
|
/** The name of the icon (for type material-symbols) */
|
|
2036
|
-
name?: string;
|
|
2198
|
+
name?: string | null;
|
|
2037
2199
|
/** The color of the icon (for type material-symbols) */
|
|
2038
|
-
color?: string;
|
|
2200
|
+
color?: string | null;
|
|
2039
2201
|
/** The URL of the icon (for type url) */
|
|
2040
|
-
url?: string;
|
|
2202
|
+
url?: string | null;
|
|
2041
2203
|
};
|
|
2042
2204
|
|
|
2043
2205
|
declare const IconSelect: IStyledComponentBase<"web", FastOmit<Omit< IconSelectProps & RefAttributes<DropdownRef>, "ref"> & {
|
|
@@ -2155,7 +2317,7 @@ declare type LinkType = {
|
|
|
2155
2317
|
link_type: string;
|
|
2156
2318
|
input_type: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2157
2319
|
output_type: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2158
|
-
color?: string;
|
|
2320
|
+
color?: string | null;
|
|
2159
2321
|
style?: 'solid' | 'dashed';
|
|
2160
2322
|
};
|
|
2161
2323
|
|
|
@@ -2169,7 +2331,9 @@ declare type LinkTypeModel_2 = {
|
|
|
2169
2331
|
/** Output entity type */
|
|
2170
2332
|
outputType: string;
|
|
2171
2333
|
/** Additional link type data */
|
|
2172
|
-
data?:
|
|
2334
|
+
data?: {
|
|
2335
|
+
[key: string]: any;
|
|
2336
|
+
};
|
|
2173
2337
|
};
|
|
2174
2338
|
|
|
2175
2339
|
declare type ListAccessLevel = 0 | 10 | 20 | 30;
|
|
@@ -2196,55 +2360,9 @@ declare interface ListMetaDataProps {
|
|
|
2196
2360
|
isLoading?: boolean;
|
|
2197
2361
|
}
|
|
2198
2362
|
|
|
2199
|
-
declare type ListsSettings = {
|
|
2200
|
-
rowHeight?: number;
|
|
2201
|
-
sortBy?: string | string[];
|
|
2202
|
-
sortDesc?: boolean;
|
|
2203
|
-
filter?: QueryFilter_5;
|
|
2204
|
-
columns?: ColumnItemModel[];
|
|
2205
|
-
};
|
|
2206
|
-
|
|
2207
|
-
declare type ListsViewModel = {
|
|
2208
|
-
/** Unique identifier for the view within the given scope. */
|
|
2209
|
-
id?: string;
|
|
2210
|
-
/** Human-readable name of the view. */
|
|
2211
|
-
label: string;
|
|
2212
|
-
/** Determines whether the view is only available for the given project or for all projects (studio). */
|
|
2213
|
-
scope: 'project' | 'studio';
|
|
2214
|
-
/** Name of the user who created the view. Owners have full control over the view, */
|
|
2215
|
-
owner: string;
|
|
2216
|
-
/** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */
|
|
2217
|
-
visibility: 'public' | 'private';
|
|
2218
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
2219
|
-
working: boolean;
|
|
2220
|
-
position: number;
|
|
2221
|
-
accessLevel: number;
|
|
2222
|
-
settings: ListsSettings;
|
|
2223
|
-
access: object;
|
|
2224
|
-
viewType?: 'lists';
|
|
2225
|
-
};
|
|
2226
|
-
|
|
2227
|
-
declare type ListsViewPatchModel = {
|
|
2228
|
-
label?: string;
|
|
2229
|
-
owner?: string;
|
|
2230
|
-
settings?: ListsSettings;
|
|
2231
|
-
viewType?: 'lists';
|
|
2232
|
-
};
|
|
2233
|
-
|
|
2234
|
-
declare type ListsViewPostModel = {
|
|
2235
|
-
/** Unique identifier for the view within the given scope. */
|
|
2236
|
-
id?: string;
|
|
2237
|
-
/** Human-readable name of the view. */
|
|
2238
|
-
label: string;
|
|
2239
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
2240
|
-
working?: boolean;
|
|
2241
|
-
settings: ListsSettings;
|
|
2242
|
-
viewType?: 'lists';
|
|
2243
|
-
};
|
|
2244
|
-
|
|
2245
2363
|
declare type ListViewsApiArg = {
|
|
2246
2364
|
viewType: string;
|
|
2247
|
-
projectName?: string;
|
|
2365
|
+
projectName?: string | null;
|
|
2248
2366
|
};
|
|
2249
2367
|
|
|
2250
2368
|
/**
|
|
@@ -2253,6 +2371,9 @@ declare type ListViewsApiArg = {
|
|
|
2253
2371
|
*/
|
|
2254
2372
|
declare type Loader<T> = () => Promise<{ default: T }>
|
|
2255
2373
|
|
|
2374
|
+
/** Loads a filmstrip, deduplicating concurrent and repeated requests until it expires */
|
|
2375
|
+
export declare const loadFilmstrip: (src: string) => Promise<FilmstripData | null>;
|
|
2376
|
+
|
|
2256
2377
|
export declare const LoginPage: ({ onLogin, loading, isFirstTime }: LoginPageProps) => JSX_2.Element | null;
|
|
2257
2378
|
|
|
2258
2379
|
export declare interface LoginPageProps {
|
|
@@ -2484,6 +2605,10 @@ declare interface MenuContainerProps {
|
|
|
2484
2605
|
targetId?: string;
|
|
2485
2606
|
align?: AlignType;
|
|
2486
2607
|
theme?: ThemeType;
|
|
2608
|
+
/** open state kept by the caller instead of the app's one open menu (`menuOpen === id`) */
|
|
2609
|
+
isOpen?: boolean;
|
|
2610
|
+
/** with `isOpen`: called to close it (`onClose` stays the dialog's own event) */
|
|
2611
|
+
onDismiss?: () => void;
|
|
2487
2612
|
children: ReactNode;
|
|
2488
2613
|
[key: string]: any;
|
|
2489
2614
|
}
|
|
@@ -2580,6 +2705,26 @@ declare interface MenuProps {
|
|
|
2580
2705
|
footer?: string;
|
|
2581
2706
|
}
|
|
2582
2707
|
|
|
2708
|
+
declare interface MoreMenuProps {
|
|
2709
|
+
/** the menu's entries: the same items a `menu` piece returns (dividers, submenus, `danger`, ...) */
|
|
2710
|
+
items: AddonMenuItem[]
|
|
2711
|
+
/** a Material Symbols icon name; `more_horiz` (AYON's "more" button) when not set */
|
|
2712
|
+
icon?: string
|
|
2713
|
+
/** shown next to the icon; an icon-only button when not set */
|
|
2714
|
+
label?: string
|
|
2715
|
+
/** shown on hover and read by screen readers; the label, or `More`, when not set */
|
|
2716
|
+
tooltip?: string
|
|
2717
|
+
/** the button's look, as AYON's `Button`: `text` (default), `surface`, `tonal`, `filled`, `nav` */
|
|
2718
|
+
variant?: 'text' | 'surface' | 'tonal' | 'filled' | 'nav' | 'tertiary' | 'danger'
|
|
2719
|
+
/** which edge of the button the menu lines up with: `right` (default) or `left` */
|
|
2720
|
+
align?: 'left' | 'right'
|
|
2721
|
+
disabled?: boolean
|
|
2722
|
+
/** on the button */
|
|
2723
|
+
className?: string
|
|
2724
|
+
/** on the button, for tests */
|
|
2725
|
+
'data-testid'?: string
|
|
2726
|
+
}
|
|
2727
|
+
|
|
2583
2728
|
export declare const NO_DATE = "no-date";
|
|
2584
2729
|
|
|
2585
2730
|
export declare type NormalizedData = {
|
|
@@ -2621,66 +2766,16 @@ declare type OperationModel = {
|
|
|
2621
2766
|
id?: string;
|
|
2622
2767
|
type: 'create' | 'update' | 'delete';
|
|
2623
2768
|
entityType: 'folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile';
|
|
2624
|
-
entityId?: string;
|
|
2625
|
-
data?:
|
|
2769
|
+
entityId?: string | null;
|
|
2770
|
+
data?: {
|
|
2771
|
+
[key: string]: any;
|
|
2772
|
+
} | null;
|
|
2626
2773
|
force?: boolean;
|
|
2627
|
-
asUser?: string;
|
|
2628
|
-
};
|
|
2629
|
-
|
|
2630
|
-
declare type OverviewSettings = {
|
|
2631
|
-
showHierarchy?: boolean;
|
|
2632
|
-
rowHeight?: number;
|
|
2633
|
-
groupBy?: string;
|
|
2634
|
-
groupSortByDesc?: boolean;
|
|
2635
|
-
showEmptyGroups?: boolean;
|
|
2636
|
-
sortBy?: string | string[];
|
|
2637
|
-
sortDesc?: boolean;
|
|
2638
|
-
filter?: QueryFilter_5;
|
|
2639
|
-
folderFilter?: QueryFilter_5;
|
|
2640
|
-
sliceType?: string;
|
|
2641
|
-
columns?: ColumnItemModel[];
|
|
2774
|
+
asUser?: string | null;
|
|
2642
2775
|
};
|
|
2643
2776
|
|
|
2644
2777
|
export declare type OverviewSettingsChange = (setting: 'columns' | 'group-by', value: any) => void;
|
|
2645
2778
|
|
|
2646
|
-
declare type OverviewViewModel = {
|
|
2647
|
-
/** Unique identifier for the view within the given scope. */
|
|
2648
|
-
id?: string;
|
|
2649
|
-
/** Human-readable name of the view. */
|
|
2650
|
-
label: string;
|
|
2651
|
-
/** Determines whether the view is only available for the given project or for all projects (studio). */
|
|
2652
|
-
scope: 'project' | 'studio';
|
|
2653
|
-
/** Name of the user who created the view. Owners have full control over the view, */
|
|
2654
|
-
owner: string;
|
|
2655
|
-
/** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */
|
|
2656
|
-
visibility: 'public' | 'private';
|
|
2657
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
2658
|
-
working: boolean;
|
|
2659
|
-
position: number;
|
|
2660
|
-
accessLevel: number;
|
|
2661
|
-
settings: OverviewSettings;
|
|
2662
|
-
access: object;
|
|
2663
|
-
viewType?: 'overview';
|
|
2664
|
-
};
|
|
2665
|
-
|
|
2666
|
-
declare type OverviewViewPatchModel = {
|
|
2667
|
-
label?: string;
|
|
2668
|
-
owner?: string;
|
|
2669
|
-
settings?: OverviewSettings;
|
|
2670
|
-
viewType?: 'overview';
|
|
2671
|
-
};
|
|
2672
|
-
|
|
2673
|
-
declare type OverviewViewPostModel = {
|
|
2674
|
-
/** Unique identifier for the view within the given scope. */
|
|
2675
|
-
id?: string;
|
|
2676
|
-
/** Human-readable name of the view. */
|
|
2677
|
-
label: string;
|
|
2678
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
2679
|
-
working?: boolean;
|
|
2680
|
-
settings: OverviewSettings;
|
|
2681
|
-
viewType?: 'overview';
|
|
2682
|
-
};
|
|
2683
|
-
|
|
2684
2779
|
/** Description of a page contribution (`project.page`, `studio.page`). */
|
|
2685
2780
|
declare interface PageMeta {
|
|
2686
2781
|
/**
|
|
@@ -2774,12 +2869,38 @@ export declare type PathSegment = {
|
|
|
2774
2869
|
id: string;
|
|
2775
2870
|
};
|
|
2776
2871
|
|
|
2872
|
+
/**
|
|
2873
|
+
* Returns a loaded filmstrip that is still valid: data, `null` (not available)
|
|
2874
|
+
* or `undefined` (not loaded, expired or evicted - call loadFilmstrip)
|
|
2875
|
+
*/
|
|
2876
|
+
export declare const peekFilmstrip: (src: string) => FilmstripData | null | undefined;
|
|
2877
|
+
|
|
2878
|
+
/** What `EntityPicker` picks. */
|
|
2879
|
+
declare type PickableEntityType = 'folder' | 'task' | 'product' | 'version' | 'representation' | 'workfile'
|
|
2880
|
+
|
|
2777
2881
|
export declare const Placeholder: IStyledComponentBase<"web", FastOmit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
2778
2882
|
|
|
2779
2883
|
declare const Placeholder_2: IStyledComponentBase<"web", FastOmit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
2780
2884
|
|
|
2781
2885
|
declare const PlaceholderWrapper: IStyledComponentBase<"web", FastOmit<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick< DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
|
|
2782
2886
|
|
|
2887
|
+
/**
|
|
2888
|
+
* What a `component` gets besides the slot context when it draws the button of a `popover`. The
|
|
2889
|
+
* host anchors the popover on the component's box.
|
|
2890
|
+
*/
|
|
2891
|
+
declare interface PopoverButtonScope {
|
|
2892
|
+
/** the popover is open: show the button as active (`aria-expanded`) */
|
|
2893
|
+
popoverOpen: boolean
|
|
2894
|
+
/** opens or closes the popover: the button's `onClick` */
|
|
2895
|
+
togglePopover: () => void
|
|
2896
|
+
}
|
|
2897
|
+
|
|
2898
|
+
/** What a `popover` piece gets besides the slot context. */
|
|
2899
|
+
declare interface PopoverScope {
|
|
2900
|
+
/** closes the popover */
|
|
2901
|
+
close: () => void
|
|
2902
|
+
}
|
|
2903
|
+
|
|
2783
2904
|
export declare const PowerpackButton: ForwardRefExoticComponent<PowerpackButtonProps & RefAttributes<HTMLButtonElement>>;
|
|
2784
2905
|
|
|
2785
2906
|
export declare interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {
|
|
@@ -2829,13 +2950,13 @@ declare type ProductBaseTypes = {
|
|
|
2829
2950
|
|
|
2830
2951
|
declare type ProductSuggestionItem = {
|
|
2831
2952
|
/** The date and time when the suggested entity was created */
|
|
2832
|
-
createdAt?: string;
|
|
2953
|
+
createdAt?: string | null;
|
|
2833
2954
|
/** The relevance score of the suggestion */
|
|
2834
|
-
relevance?: number;
|
|
2955
|
+
relevance?: number | null;
|
|
2835
2956
|
id: string;
|
|
2836
2957
|
name: string;
|
|
2837
2958
|
productType: string;
|
|
2838
|
-
parent?: FolderSuggestionItem;
|
|
2959
|
+
parent?: FolderSuggestionItem | null;
|
|
2839
2960
|
};
|
|
2840
2961
|
|
|
2841
2962
|
declare type ProductType = {
|
|
@@ -2847,55 +2968,9 @@ declare type ProductType = {
|
|
|
2847
2968
|
|
|
2848
2969
|
declare type ProductTypeListItem = {
|
|
2849
2970
|
name: string;
|
|
2850
|
-
baseType?: string;
|
|
2851
|
-
color?: string;
|
|
2852
|
-
icon?: string;
|
|
2853
|
-
};
|
|
2854
|
-
|
|
2855
|
-
declare type ProjectAttribModel = {
|
|
2856
|
-
priority?: 'urgent' | 'high' | 'normal' | 'low';
|
|
2857
|
-
/** Frame rate */
|
|
2858
|
-
fps?: number;
|
|
2859
|
-
/** Horizontal resolution */
|
|
2860
|
-
resolutionWidth?: number;
|
|
2861
|
-
/** Vertical resolution */
|
|
2862
|
-
resolutionHeight?: number;
|
|
2863
|
-
pixelAspect?: number;
|
|
2864
|
-
clipIn?: number;
|
|
2865
|
-
clipOut?: number;
|
|
2866
|
-
frameStart?: number;
|
|
2867
|
-
frameEnd?: number;
|
|
2868
|
-
handleStart?: number;
|
|
2869
|
-
handleEnd?: number;
|
|
2870
|
-
/** Date and time when the project or task or asset was started */
|
|
2871
|
-
startDate?: string;
|
|
2872
|
-
/** Deadline date and time */
|
|
2873
|
-
endDate?: string;
|
|
2874
|
-
/** Textual description of the entity */
|
|
2875
|
-
description?: string;
|
|
2876
|
-
};
|
|
2877
|
-
|
|
2878
|
-
declare type ProjectAttribModel2 = {
|
|
2879
|
-
priority?: 'urgent' | 'high' | 'normal' | 'low';
|
|
2880
|
-
/** Frame rate */
|
|
2881
|
-
fps?: number;
|
|
2882
|
-
/** Horizontal resolution */
|
|
2883
|
-
resolutionWidth?: number;
|
|
2884
|
-
/** Vertical resolution */
|
|
2885
|
-
resolutionHeight?: number;
|
|
2886
|
-
pixelAspect?: number;
|
|
2887
|
-
clipIn?: number;
|
|
2888
|
-
clipOut?: number;
|
|
2889
|
-
frameStart?: number;
|
|
2890
|
-
frameEnd?: number;
|
|
2891
|
-
handleStart?: number;
|
|
2892
|
-
handleEnd?: number;
|
|
2893
|
-
/** Date and time when the project or task or asset was started */
|
|
2894
|
-
startDate?: string;
|
|
2895
|
-
/** Deadline date and time */
|
|
2896
|
-
endDate?: string;
|
|
2897
|
-
/** Textual description of the entity */
|
|
2898
|
-
description?: string;
|
|
2971
|
+
baseType?: string | null;
|
|
2972
|
+
color?: string | null;
|
|
2973
|
+
icon?: string | null;
|
|
2899
2974
|
};
|
|
2900
2975
|
|
|
2901
2976
|
declare interface ProjectContextValue extends ProjectModelWithProducts {
|
|
@@ -2967,22 +3042,30 @@ declare interface ProjectListMenuItemContext {
|
|
|
2967
3042
|
}
|
|
2968
3043
|
|
|
2969
3044
|
declare type ProjectModel = {
|
|
2970
|
-
/**
|
|
3045
|
+
/** Unique name of the project */
|
|
2971
3046
|
name: string;
|
|
2972
3047
|
code: string;
|
|
2973
|
-
label?: string;
|
|
3048
|
+
label?: string | null;
|
|
2974
3049
|
library?: boolean;
|
|
2975
3050
|
folderTypes?: FolderType_2[];
|
|
2976
3051
|
taskTypes?: TaskType_2[];
|
|
2977
3052
|
linkTypes?: LinkTypeModel_2[];
|
|
2978
3053
|
statuses?: Status_2[];
|
|
2979
3054
|
tags?: Tag_2[];
|
|
2980
|
-
config?:
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
/**
|
|
3055
|
+
config?: {
|
|
3056
|
+
[key: string]: any;
|
|
3057
|
+
};
|
|
3058
|
+
skeleton?: boolean | null;
|
|
3059
|
+
/** Attribute values of the entity */
|
|
3060
|
+
attrib?: {
|
|
3061
|
+
[key: string]: any;
|
|
3062
|
+
};
|
|
3063
|
+
data?: {
|
|
3064
|
+
[key: string]: any;
|
|
3065
|
+
};
|
|
3066
|
+
/** Whether the entity is active */
|
|
2985
3067
|
active?: boolean;
|
|
3068
|
+
/** List of attributes explicitly set on the entity itself (not inherited) */
|
|
2986
3069
|
ownAttrib?: string[];
|
|
2987
3070
|
/** Time of creation */
|
|
2988
3071
|
createdAt?: string;
|
|
@@ -3007,6 +3090,15 @@ declare interface ProjectPageLayoutProps {
|
|
|
3007
3090
|
children: ReactNode
|
|
3008
3091
|
}
|
|
3009
3092
|
|
|
3093
|
+
/** Description of a `project.page` contribution: a page, and what the host adds around it. */
|
|
3094
|
+
declare interface ProjectPageMeta extends PageMeta {
|
|
3095
|
+
/**
|
|
3096
|
+
* Shows AYON's details panel next to the page, for the page to open with `openDetails`. The page
|
|
3097
|
+
* is in a splitter while the panel is there; it only shows when the page opens it.
|
|
3098
|
+
*/
|
|
3099
|
+
detailsPanel?: boolean
|
|
3100
|
+
}
|
|
3101
|
+
|
|
3010
3102
|
export declare const ProjectPageRemote: FC<ProjectPageRemoteProps>;
|
|
3011
3103
|
|
|
3012
3104
|
export declare interface ProjectPageRemoteProps extends RemotePageWrapperProps {
|
|
@@ -3107,18 +3199,18 @@ declare type QueryCondition = {
|
|
|
3107
3199
|
/** Path to the key separated by slashes */
|
|
3108
3200
|
key: string;
|
|
3109
3201
|
/** Value to compare against */
|
|
3110
|
-
value?: string | number | number | boolean | string[] | number[] | number[];
|
|
3111
|
-
/** Comparison operator */
|
|
3112
|
-
operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
|
|
3202
|
+
value?: string | number | number | boolean | string[] | number[] | number[] | null;
|
|
3203
|
+
/** Comparison operator. like and notlike perform case-insensitive substring matching. One surrounding pair of % is treated as a substring wrapper; %, _ and backslashes within it are literal. */
|
|
3204
|
+
operator?: 'eq' | 'like' | 'notlike' | 're' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
|
|
3113
3205
|
};
|
|
3114
3206
|
|
|
3115
|
-
declare type
|
|
3207
|
+
declare type QueryCondition_2 = {
|
|
3116
3208
|
/** Path to the key separated by slashes */
|
|
3117
3209
|
key: string;
|
|
3118
3210
|
/** Value to compare against */
|
|
3119
|
-
value?: string | number | number | boolean | string[] | number[] | number[];
|
|
3120
|
-
/** Comparison operator */
|
|
3121
|
-
operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
|
|
3211
|
+
value?: string | number | number | boolean | string[] | number[] | number[] | null;
|
|
3212
|
+
/** Comparison operator. like and notlike perform case-insensitive substring matching. One surrounding pair of % is treated as a substring wrapper; %, _ and backslashes within it are literal. */
|
|
3213
|
+
operator?: 'eq' | 'like' | 'notlike' | 're' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
|
|
3122
3214
|
};
|
|
3123
3215
|
|
|
3124
3216
|
declare type QueryFilter = {
|
|
@@ -3128,9 +3220,9 @@ declare type QueryFilter = {
|
|
|
3128
3220
|
operator?: 'and' | 'or';
|
|
3129
3221
|
};
|
|
3130
3222
|
|
|
3131
|
-
declare type
|
|
3223
|
+
declare type QueryFilter_2 = {
|
|
3132
3224
|
/** List of conditions to be evaluated */
|
|
3133
|
-
conditions?: (
|
|
3225
|
+
conditions?: (QueryCondition_2 | QueryFilter_2)[];
|
|
3134
3226
|
/** Operator to use when joining conditions */
|
|
3135
3227
|
operator?: 'and' | 'or';
|
|
3136
3228
|
};
|
|
@@ -3207,6 +3299,12 @@ export declare const renderYouTubeParagraph: (props: {
|
|
|
3207
3299
|
node?: HastNode;
|
|
3208
3300
|
}) => ReactNode | null;
|
|
3209
3301
|
|
|
3302
|
+
export declare const ReportCrash: ({ contribution, error, onReported, }: {
|
|
3303
|
+
contribution: AnyContribution;
|
|
3304
|
+
error: Error;
|
|
3305
|
+
onReported: () => void;
|
|
3306
|
+
}) => null;
|
|
3307
|
+
|
|
3210
3308
|
export declare interface ReportsLoadingScreenProps extends HTMLAttributes<HTMLDivElement> {
|
|
3211
3309
|
showSidebar?: boolean;
|
|
3212
3310
|
sidebarConfig?: SidebarConfig;
|
|
@@ -3231,7 +3329,7 @@ declare type RequiredAddonVersionProps = BaseProps & ({
|
|
|
3231
3329
|
|
|
3232
3330
|
declare type ReviewableAuthor = {
|
|
3233
3331
|
name: string;
|
|
3234
|
-
fullName?: string;
|
|
3332
|
+
fullName?: string | null;
|
|
3235
3333
|
};
|
|
3236
3334
|
|
|
3237
3335
|
export declare const ReviewableCard: ForwardRefExoticComponent<ReviewableCardProps & RefAttributes<HTMLDivElement>>;
|
|
@@ -3257,20 +3355,22 @@ declare type ReviewableModel = {
|
|
|
3257
3355
|
fileId: string;
|
|
3258
3356
|
activityId: string;
|
|
3259
3357
|
filename: string;
|
|
3260
|
-
label?: string;
|
|
3358
|
+
label?: string | null;
|
|
3261
3359
|
mimetype: string;
|
|
3262
3360
|
availability?: 'unknown' | 'conversionRequired' | 'conversionRecommended' | 'ready';
|
|
3263
|
-
mediaInfo?:
|
|
3264
|
-
|
|
3361
|
+
mediaInfo?: {
|
|
3362
|
+
[key: string]: any;
|
|
3363
|
+
} | null;
|
|
3364
|
+
createdFrom?: string | null;
|
|
3265
3365
|
/** Information about the processing status */
|
|
3266
|
-
processing?: ReviewableProcessingStatus;
|
|
3366
|
+
processing?: ReviewableProcessingStatus | null;
|
|
3267
3367
|
createdAt?: string;
|
|
3268
3368
|
updatedAt?: string;
|
|
3269
3369
|
author: ReviewableAuthor;
|
|
3270
3370
|
};
|
|
3271
3371
|
|
|
3272
3372
|
declare type ReviewableProcessingStatus = {
|
|
3273
|
-
eventId?: string;
|
|
3373
|
+
eventId?: string | null;
|
|
3274
3374
|
status: string;
|
|
3275
3375
|
description: string;
|
|
3276
3376
|
};
|
|
@@ -3363,54 +3463,6 @@ export declare interface ReviewableUploadProps extends React.HTMLProps<HTMLDivEl
|
|
|
3363
3463
|
};
|
|
3364
3464
|
}
|
|
3365
3465
|
|
|
3366
|
-
declare type ReviewsSettings = {
|
|
3367
|
-
rowHeight?: number;
|
|
3368
|
-
sortBy?: string | string[];
|
|
3369
|
-
sortDesc?: boolean;
|
|
3370
|
-
filter?: QueryFilter_5;
|
|
3371
|
-
columns?: ColumnItemModel[];
|
|
3372
|
-
gridHeight?: number;
|
|
3373
|
-
displayStyle?: 'cards' | 'table' | 'playlist';
|
|
3374
|
-
};
|
|
3375
|
-
|
|
3376
|
-
declare type ReviewsViewModel = {
|
|
3377
|
-
/** Unique identifier for the view within the given scope. */
|
|
3378
|
-
id?: string;
|
|
3379
|
-
/** Human-readable name of the view. */
|
|
3380
|
-
label: string;
|
|
3381
|
-
/** Determines whether the view is only available for the given project or for all projects (studio). */
|
|
3382
|
-
scope: 'project' | 'studio';
|
|
3383
|
-
/** Name of the user who created the view. Owners have full control over the view, */
|
|
3384
|
-
owner: string;
|
|
3385
|
-
/** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */
|
|
3386
|
-
visibility: 'public' | 'private';
|
|
3387
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
3388
|
-
working: boolean;
|
|
3389
|
-
position: number;
|
|
3390
|
-
accessLevel: number;
|
|
3391
|
-
settings: ReviewsSettings;
|
|
3392
|
-
access: object;
|
|
3393
|
-
viewType?: 'reviews';
|
|
3394
|
-
};
|
|
3395
|
-
|
|
3396
|
-
declare type ReviewsViewPatchModel = {
|
|
3397
|
-
label?: string;
|
|
3398
|
-
owner?: string;
|
|
3399
|
-
settings?: ReviewsSettings;
|
|
3400
|
-
viewType?: 'reviews';
|
|
3401
|
-
};
|
|
3402
|
-
|
|
3403
|
-
declare type ReviewsViewPostModel = {
|
|
3404
|
-
/** Unique identifier for the view within the given scope. */
|
|
3405
|
-
id?: string;
|
|
3406
|
-
/** Human-readable name of the view. */
|
|
3407
|
-
label: string;
|
|
3408
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
3409
|
-
working?: boolean;
|
|
3410
|
-
settings: ReviewsSettings;
|
|
3411
|
-
viewType?: 'reviews';
|
|
3412
|
-
};
|
|
3413
|
-
|
|
3414
3466
|
declare type Root = {
|
|
3415
3467
|
name: string;
|
|
3416
3468
|
windows?: string;
|
|
@@ -3511,7 +3563,7 @@ declare type SerializedYouTubeNode = Spread<{
|
|
|
3511
3563
|
|
|
3512
3564
|
declare type SetDefaultViewApiArg = {
|
|
3513
3565
|
viewType: string;
|
|
3514
|
-
projectName?: string;
|
|
3566
|
+
projectName?: string | null;
|
|
3515
3567
|
setDefaultViewRequestModel: SetDefaultViewRequestModel;
|
|
3516
3568
|
};
|
|
3517
3569
|
|
|
@@ -3579,7 +3631,7 @@ declare type ShareOption = {
|
|
|
3579
3631
|
value: string;
|
|
3580
3632
|
name: string;
|
|
3581
3633
|
label: string;
|
|
3582
|
-
attribute?: string;
|
|
3634
|
+
attribute?: string | null;
|
|
3583
3635
|
};
|
|
3584
3636
|
|
|
3585
3637
|
export declare const ShareOptionIcon: FC<ShareOptionIconProps>;
|
|
@@ -3594,6 +3646,12 @@ export declare interface ShareOptionIconProps {
|
|
|
3594
3646
|
withTooltip?: boolean;
|
|
3595
3647
|
}
|
|
3596
3648
|
|
|
3649
|
+
/**
|
|
3650
|
+
* The entities of a shortcut's rows: every row of the project tables is one (list items resolve
|
|
3651
|
+
* to theirs). The panels' rows are not all entities (the lists panel's are lists), so none there.
|
|
3652
|
+
*/
|
|
3653
|
+
export declare const shortcutEntities: (table: ShortcutTable, projectName: string | null, rows: TableRowRef[]) => EntityRef[];
|
|
3654
|
+
|
|
3597
3655
|
declare type ShortcutKeyEvent = Pick<KeyboardEvent, 'key' | 'code' | 'ctrlKey' | 'metaKey' | 'altKey' | 'shiftKey' | 'repeat'> & {
|
|
3598
3656
|
preventDefault: () => void;
|
|
3599
3657
|
stopPropagation: () => void;
|
|
@@ -3649,7 +3707,7 @@ declare type SimpleFormField = {
|
|
|
3649
3707
|
name: string;
|
|
3650
3708
|
label?: string;
|
|
3651
3709
|
placeholder?: any;
|
|
3652
|
-
value?: string | number | number | boolean | string[] | number[] | number[];
|
|
3710
|
+
value?: string | number | number | boolean | string[] | number[] | number[] | FormFileData;
|
|
3653
3711
|
regex?: string;
|
|
3654
3712
|
multiline?: boolean;
|
|
3655
3713
|
syntax?: string;
|
|
@@ -3658,7 +3716,7 @@ declare type SimpleFormField = {
|
|
|
3658
3716
|
min?: number | number;
|
|
3659
3717
|
max?: number | number;
|
|
3660
3718
|
valid_extensions?: string[];
|
|
3661
|
-
|
|
3719
|
+
read_only?: boolean;
|
|
3662
3720
|
disabled?: boolean;
|
|
3663
3721
|
hidden?: boolean;
|
|
3664
3722
|
enum_resolver?: string;
|
|
@@ -3679,7 +3737,7 @@ export declare interface SimpleFormProps {
|
|
|
3679
3737
|
style?: default_2.CSSProperties;
|
|
3680
3738
|
}
|
|
3681
3739
|
|
|
3682
|
-
export declare type SimpleFormValue = string | number | boolean | string[] | number[] |
|
|
3740
|
+
export declare type SimpleFormValue = string | number | boolean | string[] | number[] | FormFileData_2 | null | undefined;
|
|
3683
3741
|
|
|
3684
3742
|
export declare type SimpleFormValueDict = Record<string, SimpleFormValue>;
|
|
3685
3743
|
|
|
@@ -3696,6 +3754,8 @@ declare interface SlicerMenuItemContext extends ProjectNameScope {
|
|
|
3696
3754
|
sliceType: string
|
|
3697
3755
|
/** the rows it acts on: the selected ones, or the right-clicked one */
|
|
3698
3756
|
selected: SlicerRowRef[]
|
|
3757
|
+
/** `hierarchy`: the folders and tasks of `selected`; empty for the other slice types */
|
|
3758
|
+
entities: EntityRef[]
|
|
3699
3759
|
menu: MenuKind
|
|
3700
3760
|
}
|
|
3701
3761
|
|
|
@@ -3738,9 +3798,12 @@ declare type SlideOut = {
|
|
|
3738
3798
|
projectName: string;
|
|
3739
3799
|
};
|
|
3740
3800
|
|
|
3741
|
-
/**
|
|
3801
|
+
/**
|
|
3802
|
+
* What the code of a contribution to slot `S` gets: `{ slot: S, user, ...context }`. The host
|
|
3803
|
+
* passes the slot's own context; `ContributionView` and `runContribution` add `slot` and `user`.
|
|
3804
|
+
*/
|
|
3742
3805
|
declare type SlotContext<S extends SlotName> = S extends SlotName
|
|
3743
|
-
? { slot: S } & SlotMap[S]['context']
|
|
3806
|
+
? { slot: S } & UserScope & SlotMap[S]['context']
|
|
3744
3807
|
: never
|
|
3745
3808
|
|
|
3746
3809
|
/**
|
|
@@ -3755,7 +3818,7 @@ declare interface SlotMap {
|
|
|
3755
3818
|
*/
|
|
3756
3819
|
'project.page': {
|
|
3757
3820
|
version: 1
|
|
3758
|
-
meta:
|
|
3821
|
+
meta: ProjectPageMeta
|
|
3759
3822
|
context: ProjectScope & SlicerScope & ProjectFoldersScope & ViewsScope
|
|
3760
3823
|
pieces: { component: Loader<ComponentType<SlotProps<'project.page'>>> }
|
|
3761
3824
|
}
|
|
@@ -3771,8 +3834,9 @@ declare interface SlotMap {
|
|
|
3771
3834
|
}
|
|
3772
3835
|
/**
|
|
3773
3836
|
* A button in the main header, drawn by the host like its own buttons. What a click does is the
|
|
3774
|
-
* addon's: navigate (`to`), run code (`run`), open a dialog (`dialog`)
|
|
3775
|
-
* addon draws the item itself (`component`, loaded with the header).
|
|
3837
|
+
* addon's: navigate (`to`), run code (`run`), open a dialog (`dialog`), a menu (`menu`) or a
|
|
3838
|
+
* popover (`popover`); or the addon draws the item itself (`component`, loaded with the header).
|
|
3839
|
+
* Set exactly one, except that `component` may draw the button of a `popover`.
|
|
3776
3840
|
*/
|
|
3777
3841
|
'header.item': {
|
|
3778
3842
|
version: 1
|
|
@@ -3833,8 +3897,9 @@ declare interface SlotMap {
|
|
|
3833
3897
|
/**
|
|
3834
3898
|
* A button in the project tables' toolbar, before Customize (Overview, Products, Lists), drawn
|
|
3835
3899
|
* by the host like the toolbar's own. What a click does is the addon's: navigate (`to`), run code
|
|
3836
|
-
* (`run`), open a dialog (`dialog`)
|
|
3837
|
-
* (`component`, loaded with the toolbar). Set exactly one
|
|
3900
|
+
* (`run`), open a dialog (`dialog`), a menu (`menu`) or a popover (`popover`); or the addon draws
|
|
3901
|
+
* the item itself (`component`, loaded with the toolbar). Set exactly one, except that
|
|
3902
|
+
* `component` may draw the button of a `popover`.
|
|
3838
3903
|
*/
|
|
3839
3904
|
'projectTable.toolbarItem': {
|
|
3840
3905
|
version: 1
|
|
@@ -3857,7 +3922,9 @@ declare interface SlotMap {
|
|
|
3857
3922
|
* settings from the description; `cell` and `fetchValues` load with the table. The host draws
|
|
3858
3923
|
* the cell box (padding, selection, focus), so `cell` renders only its content; selecting, the
|
|
3859
3924
|
* right-click menu and Copy (the cell's `value` as text) work as in other columns. Not sortable,
|
|
3860
|
-
* and pasting into it changes nothing.
|
|
3925
|
+
* and pasting into it changes nothing. When the values depend on data your mutations change, list
|
|
3926
|
+
* its cache tags in `providesTags` and the column refreshes itself when they are invalidated:
|
|
3927
|
+
* `tableColumn({ id, label, cell, fetchValues, providesTags: [{ type: 'myaddonLog', id: 'LIST' }] })`.
|
|
3861
3928
|
*/
|
|
3862
3929
|
tableColumn: {
|
|
3863
3930
|
version: 1
|
|
@@ -3881,6 +3948,19 @@ declare interface SlotMap {
|
|
|
3881
3948
|
context: TableShortcutContext
|
|
3882
3949
|
pieces: TableShortcutPieces
|
|
3883
3950
|
}
|
|
3951
|
+
/**
|
|
3952
|
+
* Code with no UI that runs while AYON is open, whatever the page: keeping a state, listening to
|
|
3953
|
+
* websocket events, registering a store listener. `component` loads at startup and is mounted
|
|
3954
|
+
* once for the whole app, under AYON's providers (store, router, contexts), so it can use hooks;
|
|
3955
|
+
* it renders nothing (`return null`). Clean up in its effects. A crash unmounts it and shows a
|
|
3956
|
+
* toast; the rest of AYON keeps working.
|
|
3957
|
+
*/
|
|
3958
|
+
'app.service': {
|
|
3959
|
+
version: 1
|
|
3960
|
+
meta: AppServiceMeta
|
|
3961
|
+
context: AppServiceContext
|
|
3962
|
+
pieces: { component: Loader<ComponentType<SlotProps<'app.service'>>> }
|
|
3963
|
+
}
|
|
3884
3964
|
}
|
|
3885
3965
|
|
|
3886
3966
|
/** The name of a slot, e.g. `'project.page'`. */
|
|
@@ -3945,7 +4025,7 @@ export declare const splitFiltersByScope: (combinedFilter: Record<string, any> |
|
|
|
3945
4025
|
|
|
3946
4026
|
export declare const SplitterStyles: NamedExoticComponent< ExecutionProps & object>;
|
|
3947
4027
|
|
|
3948
|
-
export declare const StackedThumbnails: ({ thumbnails, isLoading, className, style, ...props }: StackedThumbnailsProps) => JSX_2.Element | null;
|
|
4028
|
+
export declare const StackedThumbnails: ({ thumbnails, isLoading, className, style, filmstrip, ...props }: StackedThumbnailsProps) => JSX_2.Element | null;
|
|
3949
4029
|
|
|
3950
4030
|
export declare interface StackedThumbnailsProps extends Omit<ThumbnailProps, 'entityType' | 'entityId' | 'projectName' | 'thumbnailHash'> {
|
|
3951
4031
|
thumbnails?: Thumbnail[];
|
|
@@ -3961,24 +4041,24 @@ declare type StagingDirectory = {
|
|
|
3961
4041
|
|
|
3962
4042
|
declare type Status = {
|
|
3963
4043
|
name: string;
|
|
3964
|
-
original_name?: string;
|
|
4044
|
+
original_name?: string | null;
|
|
3965
4045
|
shortName?: string;
|
|
3966
4046
|
state?: 'not_started' | 'in_progress' | 'done' | 'blocked';
|
|
3967
4047
|
icon?: string;
|
|
3968
4048
|
color?: string;
|
|
3969
4049
|
/** Limit the status to specific entity types. */
|
|
3970
|
-
scope?: string[];
|
|
4050
|
+
scope?: string[] | null;
|
|
3971
4051
|
};
|
|
3972
4052
|
|
|
3973
4053
|
declare type Status_2 = {
|
|
3974
4054
|
name: string;
|
|
3975
|
-
original_name?: string;
|
|
4055
|
+
original_name?: string | null;
|
|
3976
4056
|
shortName?: string;
|
|
3977
4057
|
state?: 'not_started' | 'in_progress' | 'done' | 'blocked';
|
|
3978
4058
|
icon?: string;
|
|
3979
4059
|
color?: string;
|
|
3980
4060
|
/** Limit the status to specific entity types. */
|
|
3981
|
-
scope?: string[];
|
|
4061
|
+
scope?: string[] | null;
|
|
3982
4062
|
};
|
|
3983
4063
|
|
|
3984
4064
|
declare type Status_3 = {
|
|
@@ -4100,7 +4180,8 @@ declare interface TableCellContext extends ProjectNameScope {
|
|
|
4100
4180
|
* Gets a column's values, by entity id; each cell gets its own as `value`. AYON calls it with
|
|
4101
4181
|
* the rows that come on screen and that it has no value for yet, in batches once scrolling
|
|
4102
4182
|
* pauses, and keeps what it returns: scrolling back costs nothing. A row whose entity changes
|
|
4103
|
-
* (here or by someone else) is asked for again;
|
|
4183
|
+
* (here or by someone else) is asked for again; for anything else the values depend on, list its
|
|
4184
|
+
* cache tags in the column's `providesTags`, or call `refreshTableColumn(id)` to ask again for all.
|
|
4104
4185
|
* When it throws, those cells show the error and are tried again when they next come on
|
|
4105
4186
|
* screen. Fetch through AYON's store (`dispatch(api.endpoints.x.initiate(...))`) to share its
|
|
4106
4187
|
* cache.
|
|
@@ -4135,8 +4216,23 @@ declare interface TableColumnMeta {
|
|
|
4135
4216
|
* `false` for the menu's top level
|
|
4136
4217
|
*/
|
|
4137
4218
|
menu?: string | false
|
|
4219
|
+
/**
|
|
4220
|
+
* cache tags of AYON's api that the values depend on: when one is invalidated (by your
|
|
4221
|
+
* mutations or AYON's), the values are fetched again as with `refreshTableColumn`. Needs
|
|
4222
|
+
* `fetchValues`. Names as you register them (`enhanceEndpoints({ addTagTypes })`, prefixed with
|
|
4223
|
+
* your addon name) or AYON's own. A plain name follows invalidations of the whole type only: to
|
|
4224
|
+
* follow `{ type, id }`, such as a list tag, give that tag
|
|
4225
|
+
*/
|
|
4226
|
+
providesTags?: TableColumnTag[]
|
|
4138
4227
|
}
|
|
4139
4228
|
|
|
4229
|
+
/**
|
|
4230
|
+
* A cache tag a `tableColumn` depends on (`providesTags`), as in RTK Query: a tag type, or a type
|
|
4231
|
+
* and id. Invalidating `'x'` refreshes columns that list `'x'` or `{ type: 'x', id }`;
|
|
4232
|
+
* invalidating `{ type: 'x', id: 'LIST' }` refreshes only columns that list that tag.
|
|
4233
|
+
*/
|
|
4234
|
+
declare type TableColumnTag = string | { type: string; id?: string | number }
|
|
4235
|
+
|
|
4140
4236
|
export declare const TableGridSwitch: ForwardRefExoticComponent<TableGridSwitchProps & RefAttributes<HTMLDivElement>>;
|
|
4141
4237
|
|
|
4142
4238
|
declare interface TableGridSwitchProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
@@ -4190,6 +4286,11 @@ declare interface TableShortcutContext {
|
|
|
4190
4286
|
projectName: string | null
|
|
4191
4287
|
/** the rows it acts on: the selected ones when the key was pressed in one of them, else its row */
|
|
4192
4288
|
rows: TableRowRef[]
|
|
4289
|
+
/**
|
|
4290
|
+
* the entities of `rows` in the project tables (list items resolve to their entity); empty in
|
|
4291
|
+
* the panels' tables, whose rows are not all entities: read `rows` there
|
|
4292
|
+
*/
|
|
4293
|
+
entities: EntityRef[]
|
|
4193
4294
|
/** where the key was pressed: the row's id, and the column's in the project tables */
|
|
4194
4295
|
focused: { rowId: string; columnId?: string }
|
|
4195
4296
|
/** project tables: the selected cells, by row (entity) and column id; empty elsewhere */
|
|
@@ -4227,82 +4328,41 @@ declare interface TableShortcutPieces {
|
|
|
4227
4328
|
dialog?: Loader<ComponentType<SlotProps<'table.shortcut'> & DialogScope>>
|
|
4228
4329
|
}
|
|
4229
4330
|
|
|
4331
|
+
/** The context without `entities`: the hook adds them from the rows. */
|
|
4332
|
+
export declare type TableShortcutRows = Omit<TableShortcutContext, 'entities'>;
|
|
4333
|
+
|
|
4230
4334
|
declare interface TabStateByScope {
|
|
4231
4335
|
[scope: string]: DetailsPanelTab;
|
|
4232
4336
|
}
|
|
4233
4337
|
|
|
4234
4338
|
declare type Tag = {
|
|
4235
4339
|
name: string;
|
|
4236
|
-
original_name?: string;
|
|
4340
|
+
original_name?: string | null;
|
|
4237
4341
|
color?: string;
|
|
4238
4342
|
};
|
|
4239
4343
|
|
|
4240
4344
|
declare type Tag_2 = {
|
|
4241
4345
|
name: string;
|
|
4242
|
-
original_name?: string;
|
|
4346
|
+
original_name?: string | null;
|
|
4243
4347
|
color?: string;
|
|
4244
4348
|
};
|
|
4245
4349
|
|
|
4246
|
-
declare type TaskProgressSettings = {
|
|
4247
|
-
filter?: QueryFilter_5;
|
|
4248
|
-
sliceType?: string;
|
|
4249
|
-
columns?: ColumnItemModel[];
|
|
4250
|
-
};
|
|
4251
|
-
|
|
4252
|
-
declare type TaskProgressViewModel = {
|
|
4253
|
-
/** Unique identifier for the view within the given scope. */
|
|
4254
|
-
id?: string;
|
|
4255
|
-
/** Human-readable name of the view. */
|
|
4256
|
-
label: string;
|
|
4257
|
-
/** Determines whether the view is only available for the given project or for all projects (studio). */
|
|
4258
|
-
scope: 'project' | 'studio';
|
|
4259
|
-
/** Name of the user who created the view. Owners have full control over the view, */
|
|
4260
|
-
owner: string;
|
|
4261
|
-
/** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */
|
|
4262
|
-
visibility: 'public' | 'private';
|
|
4263
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
4264
|
-
working: boolean;
|
|
4265
|
-
position: number;
|
|
4266
|
-
accessLevel: number;
|
|
4267
|
-
settings: TaskProgressSettings;
|
|
4268
|
-
access: object;
|
|
4269
|
-
viewType?: 'taskProgress';
|
|
4270
|
-
};
|
|
4271
|
-
|
|
4272
|
-
declare type TaskProgressViewPatchModel = {
|
|
4273
|
-
label?: string;
|
|
4274
|
-
owner?: string;
|
|
4275
|
-
settings?: TaskProgressSettings;
|
|
4276
|
-
viewType?: 'taskProgress';
|
|
4277
|
-
};
|
|
4278
|
-
|
|
4279
|
-
declare type TaskProgressViewPostModel = {
|
|
4280
|
-
/** Unique identifier for the view within the given scope. */
|
|
4281
|
-
id?: string;
|
|
4282
|
-
/** Human-readable name of the view. */
|
|
4283
|
-
label: string;
|
|
4284
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
4285
|
-
working?: boolean;
|
|
4286
|
-
settings: TaskProgressSettings;
|
|
4287
|
-
viewType?: 'taskProgress';
|
|
4288
|
-
};
|
|
4289
|
-
|
|
4290
4350
|
declare type TaskSuggestionItem = {
|
|
4291
4351
|
/** The date and time when the suggested entity was created */
|
|
4292
|
-
createdAt?: string;
|
|
4352
|
+
createdAt?: string | null;
|
|
4293
4353
|
/** The relevance score of the suggestion */
|
|
4294
|
-
relevance?: number;
|
|
4354
|
+
relevance?: number | null;
|
|
4295
4355
|
id: string;
|
|
4296
4356
|
taskType: string;
|
|
4297
4357
|
name: string;
|
|
4298
|
-
label?: string;
|
|
4299
|
-
thumbnailId?: string;
|
|
4300
|
-
parent?: FolderSuggestionItem;
|
|
4358
|
+
label?: string | null;
|
|
4359
|
+
thumbnailId?: string | null;
|
|
4360
|
+
parent?: FolderSuggestionItem | null;
|
|
4301
4361
|
};
|
|
4302
4362
|
|
|
4303
4363
|
declare type TaskType = {
|
|
4304
4364
|
name: string;
|
|
4305
|
-
original_name?: string;
|
|
4365
|
+
original_name?: string | null;
|
|
4306
4366
|
shortName?: string;
|
|
4307
4367
|
color?: string;
|
|
4308
4368
|
icon?: string;
|
|
@@ -4310,7 +4370,7 @@ declare type TaskType = {
|
|
|
4310
4370
|
|
|
4311
4371
|
declare type TaskType_2 = {
|
|
4312
4372
|
name: string;
|
|
4313
|
-
original_name?: string;
|
|
4373
|
+
original_name?: string | null;
|
|
4314
4374
|
shortName?: string;
|
|
4315
4375
|
color?: string;
|
|
4316
4376
|
icon?: string;
|
|
@@ -4328,9 +4388,9 @@ export declare const TEAM_KEY_PREFIX = "team:";
|
|
|
4328
4388
|
|
|
4329
4389
|
declare type TeamSuggestionItem = {
|
|
4330
4390
|
/** The date and time when the suggested entity was created */
|
|
4331
|
-
createdAt?: string;
|
|
4391
|
+
createdAt?: string | null;
|
|
4332
4392
|
/** The relevance score of the suggestion */
|
|
4333
|
-
relevance?: number;
|
|
4393
|
+
relevance?: number | null;
|
|
4334
4394
|
name: string;
|
|
4335
4395
|
};
|
|
4336
4396
|
|
|
@@ -4353,7 +4413,7 @@ declare type TextInputPt = Partial<React.ComponentProps<typeof Styled.InputText>
|
|
|
4353
4413
|
|
|
4354
4414
|
declare type ThemeType = 'light' | 'dark';
|
|
4355
4415
|
|
|
4356
|
-
export declare const Thumbnail: ({ projectName, entityType, entityId, icon, color, thumbnailHash, isLoading, shimmer, className, disabled, src, hoverIcon, showBorder, ...props }: ThumbnailProps) => JSX_2.Element;
|
|
4416
|
+
export declare const Thumbnail: ({ projectName, entityType, entityId, icon, color, thumbnailHash, isLoading, shimmer, className, disabled, src, hoverIcon, showBorder, filmstrip, ...props }: ThumbnailProps) => JSX_2.Element;
|
|
4357
4417
|
|
|
4358
4418
|
export declare interface ThumbnailProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
|
|
4359
4419
|
projectName?: string;
|
|
@@ -4369,6 +4429,8 @@ export declare interface ThumbnailProps extends Omit<HTMLAttributes<HTMLDivEleme
|
|
|
4369
4429
|
src?: string;
|
|
4370
4430
|
hoverIcon?: string;
|
|
4371
4431
|
showBorder?: boolean;
|
|
4432
|
+
/** show a hover-scrub filmstrip (the entity should have reviewables) */
|
|
4433
|
+
filmstrip?: boolean;
|
|
4372
4434
|
}
|
|
4373
4435
|
|
|
4374
4436
|
export declare const ThumbnailSimple: default_2.FC<ThumbnailSimpleProps>;
|
|
@@ -4385,6 +4447,12 @@ export declare interface ThumbnailSimpleProps extends default_2.HTMLAttributes<H
|
|
|
4385
4447
|
onLoad?: default_2.ReactEventHandler<HTMLImageElement>;
|
|
4386
4448
|
onError?: default_2.ReactEventHandler<HTMLImageElement>;
|
|
4387
4449
|
iconOnly?: boolean;
|
|
4450
|
+
/** show a hover-scrub filmstrip (the entity should have reviewables) */
|
|
4451
|
+
filmstrip?: boolean;
|
|
4452
|
+
/** filmstrip url override, when the entity props are not available */
|
|
4453
|
+
filmstripUrl?: string | null;
|
|
4454
|
+
/** should match object-fit of the image */
|
|
4455
|
+
filmstripFit?: 'cover' | 'contain';
|
|
4388
4456
|
}
|
|
4389
4457
|
|
|
4390
4458
|
/**
|
|
@@ -4395,9 +4463,10 @@ export declare const toggleBlockFormat: (editor: LexicalEditor, format: BlockFor
|
|
|
4395
4463
|
|
|
4396
4464
|
/**
|
|
4397
4465
|
* An addon's menu entries as the shared Menu's items: `to` and `href` become links (the Menu
|
|
4398
|
-
* follows them), and a failing `onClick`
|
|
4466
|
+
* follows them), and a failing `onClick` goes to `onError` (`reportContributionError`: a toast
|
|
4467
|
+
* naming the addon). Used by `menu` buttons and `MoreMenu`.
|
|
4399
4468
|
*/
|
|
4400
|
-
export declare const toMenuItems: (items: AddonMenuItem[],
|
|
4469
|
+
export declare const toMenuItems: (items: AddonMenuItem[], onError: (error: unknown) => void) => MenuItemType[];
|
|
4401
4470
|
|
|
4402
4471
|
export declare type ToolbarItem = 'h1' | 'h2' | 'h3' | 'bold' | 'italic' | 'strikethrough' | 'code' | 'link' | 'codeBlock' | 'quote' | 'numberList' | 'bulletList' | 'checkList';
|
|
4403
4472
|
|
|
@@ -4435,8 +4504,8 @@ declare type UpdateSubtasksMutation = ReturnType<typeof useUpdateSubtasksMutatio
|
|
|
4435
4504
|
declare type UpdateViewApiArg = {
|
|
4436
4505
|
viewType: string;
|
|
4437
4506
|
viewId: string;
|
|
4438
|
-
projectName?: string;
|
|
4439
|
-
|
|
4507
|
+
projectName?: string | null;
|
|
4508
|
+
genericViewPatchModel: GenericViewPatchModel;
|
|
4440
4509
|
};
|
|
4441
4510
|
|
|
4442
4511
|
declare type UpdateViewSettingsFn = (updatedSettings: any, localStateSetter: (value: any) => void, newLocalValue: any, options: UpdateOptions) => Promise<void>;
|
|
@@ -4472,8 +4541,8 @@ export declare const useAddonCustomizeSections: (page: ProjectTablePage) => Sett
|
|
|
4472
4541
|
/** `table`: which table this is; no shortcuts when not set. */
|
|
4473
4542
|
export declare const useAddonTableShortcuts: (table: ShortcutTable | undefined) => {
|
|
4474
4543
|
hasShortcuts: boolean;
|
|
4475
|
-
handleShortcut: (event: ShortcutKeyEvent, getContext: () => Omit<
|
|
4476
|
-
runShortcut: (contribution: Contribution<"table.shortcut">,
|
|
4544
|
+
handleShortcut: (event: ShortcutKeyEvent, getContext: () => Omit<TableShortcutRows, "table"> | undefined) => boolean;
|
|
4545
|
+
runShortcut: (contribution: Contribution<"table.shortcut">, rowsContext: TableShortcutRows) => void;
|
|
4477
4546
|
dialog: OpenAddonShortcutDialog | null;
|
|
4478
4547
|
};
|
|
4479
4548
|
|
|
@@ -4513,6 +4582,28 @@ export declare type UseDateRangeFilterReturn = {
|
|
|
4513
4582
|
handleCustomRangeClose: () => void;
|
|
4514
4583
|
};
|
|
4515
4584
|
|
|
4585
|
+
/**
|
|
4586
|
+
* Adds a hover-scrub filmstrip to an ARC EntityCard.
|
|
4587
|
+
*
|
|
4588
|
+
* EntityCard does not accept thumbnail children, but it spreads `pt.thumbnail` onto its
|
|
4589
|
+
* thumbnail element (ref included), so the filmstrip is portalled into that element.
|
|
4590
|
+
*
|
|
4591
|
+
* @example
|
|
4592
|
+
* const { thumbnailProps, filmstrip } = useEntityCardFilmstrip(filmstripUrl)
|
|
4593
|
+
* <EntityCard pt={{ thumbnail: thumbnailProps }} />
|
|
4594
|
+
* {filmstrip}
|
|
4595
|
+
*/
|
|
4596
|
+
export declare const useEntityCardFilmstrip: (src?: string | null, { disabled }?: {
|
|
4597
|
+
disabled?: boolean;
|
|
4598
|
+
}) => UseEntityCardFilmstripResult;
|
|
4599
|
+
|
|
4600
|
+
declare interface UseEntityCardFilmstripResult {
|
|
4601
|
+
/** pass to EntityCard `pt.thumbnail` */
|
|
4602
|
+
thumbnailProps: Partial<HTMLAttributes<HTMLDivElement>>;
|
|
4603
|
+
/** render next to the EntityCard */
|
|
4604
|
+
filmstrip: ReactNode;
|
|
4605
|
+
}
|
|
4606
|
+
|
|
4516
4607
|
export declare const useFeedback: () => FeedbackContextType;
|
|
4517
4608
|
|
|
4518
4609
|
export declare const useFeedbackSafe: () => FeedbackContextType | undefined;
|
|
@@ -4524,13 +4615,6 @@ export declare const useProjectPageSlotContext: (projectName: string) => SlotMap
|
|
|
4524
4615
|
|
|
4525
4616
|
export declare const USER_KEY_PREFIX = "user:";
|
|
4526
4617
|
|
|
4527
|
-
declare type UserAttribModel = {
|
|
4528
|
-
fullName?: string;
|
|
4529
|
-
email?: string;
|
|
4530
|
-
avatarUrl?: string;
|
|
4531
|
-
developerMode?: boolean;
|
|
4532
|
-
};
|
|
4533
|
-
|
|
4534
4618
|
export declare const useReviewablesUpload: ({ projectName, versionId, taskId, folderId, productId, dispatch, onUpload, onProgress, }: UseReviewablesUploadProps) => UploadHandlers;
|
|
4535
4619
|
|
|
4536
4620
|
export declare interface UseReviewablesUploadProps {
|
|
@@ -4556,13 +4640,19 @@ declare interface UserImageProps {
|
|
|
4556
4640
|
}
|
|
4557
4641
|
|
|
4558
4642
|
declare type UserModel = {
|
|
4559
|
-
/**
|
|
4643
|
+
/** Unique name of the user */
|
|
4560
4644
|
name: string;
|
|
4561
|
-
uiExposureLevel?: number;
|
|
4562
|
-
|
|
4563
|
-
|
|
4564
|
-
|
|
4645
|
+
uiExposureLevel?: number | null;
|
|
4646
|
+
/** Attribute values of the entity */
|
|
4647
|
+
attrib?: {
|
|
4648
|
+
[key: string]: any;
|
|
4649
|
+
};
|
|
4650
|
+
data?: {
|
|
4651
|
+
[key: string]: any;
|
|
4652
|
+
};
|
|
4653
|
+
/** Whether the entity is active */
|
|
4565
4654
|
active?: boolean;
|
|
4655
|
+
/** List of attributes explicitly set on the entity itself (not inherited) */
|
|
4566
4656
|
ownAttrib?: string[];
|
|
4567
4657
|
/** Time of creation */
|
|
4568
4658
|
createdAt?: string;
|
|
@@ -4570,13 +4660,18 @@ declare type UserModel = {
|
|
|
4570
4660
|
updatedAt?: string;
|
|
4571
4661
|
};
|
|
4572
4662
|
|
|
4663
|
+
/** Every slot: the signed-in user. The host adds it; AYON renders addons only once signed in. */
|
|
4664
|
+
declare interface UserScope {
|
|
4665
|
+
user: AddonUser
|
|
4666
|
+
}
|
|
4667
|
+
|
|
4573
4668
|
declare type UserSuggestionItem = {
|
|
4574
4669
|
/** The date and time when the suggested entity was created */
|
|
4575
|
-
createdAt?: string;
|
|
4670
|
+
createdAt?: string | null;
|
|
4576
4671
|
/** The relevance score of the suggestion */
|
|
4577
|
-
relevance?: number;
|
|
4672
|
+
relevance?: number | null;
|
|
4578
4673
|
name: string;
|
|
4579
|
-
fullName?: string;
|
|
4674
|
+
fullName?: string | null;
|
|
4580
4675
|
};
|
|
4581
4676
|
|
|
4582
4677
|
/** The context of a studio.page contribution. */
|
|
@@ -4767,7 +4862,7 @@ declare const useUpdateSubtasksMutation: <R extends Record<string, any> = ({
|
|
|
4767
4862
|
export declare const useVersionUploadContext: () => VersionUploadContextType;
|
|
4768
4863
|
|
|
4769
4864
|
declare type UseViewMutations = {
|
|
4770
|
-
onCreateView: (payload:
|
|
4865
|
+
onCreateView: (payload: GenericViewPostModel, isStudioScope: boolean) => Promise<void>;
|
|
4771
4866
|
onDeleteView: (viewId: string, isStudioScope: boolean) => Promise<void>;
|
|
4772
4867
|
onUpdateView: (viewId: string, payload: Partial<ViewData>, isStudioScope: boolean) => Promise<void>;
|
|
4773
4868
|
onResetWorkingView: (args?: {
|
|
@@ -4779,70 +4874,15 @@ declare type UseViewMutations = {
|
|
|
4779
4874
|
}) => Promise<string>;
|
|
4780
4875
|
};
|
|
4781
4876
|
|
|
4782
|
-
declare type VersionsSettings = {
|
|
4783
|
-
showProducts?: boolean;
|
|
4784
|
-
rowHeight?: number;
|
|
4785
|
-
showGrid?: boolean;
|
|
4786
|
-
gridHeight?: number;
|
|
4787
|
-
featuredVersionOrder?: string[];
|
|
4788
|
-
slicerType?: string;
|
|
4789
|
-
groupBy?: string;
|
|
4790
|
-
groupSortByDesc?: boolean;
|
|
4791
|
-
showEmptyGroups?: boolean;
|
|
4792
|
-
latestPerFolder?: boolean;
|
|
4793
|
-
sortBy?: string | string[];
|
|
4794
|
-
sortDesc?: boolean;
|
|
4795
|
-
filter?: QueryFilter_5;
|
|
4796
|
-
columns?: ColumnItemModel[];
|
|
4797
|
-
};
|
|
4798
|
-
|
|
4799
4877
|
declare type VersionSuggestionItem = {
|
|
4800
4878
|
/** The date and time when the suggested entity was created */
|
|
4801
|
-
createdAt?: string;
|
|
4879
|
+
createdAt?: string | null;
|
|
4802
4880
|
/** The relevance score of the suggestion */
|
|
4803
|
-
relevance?: number;
|
|
4881
|
+
relevance?: number | null;
|
|
4804
4882
|
id: string;
|
|
4805
4883
|
version: number;
|
|
4806
|
-
parent?: ProductSuggestionItem;
|
|
4807
|
-
name?: string;
|
|
4808
|
-
};
|
|
4809
|
-
|
|
4810
|
-
declare type VersionsViewModel = {
|
|
4811
|
-
/** Unique identifier for the view within the given scope. */
|
|
4812
|
-
id?: string;
|
|
4813
|
-
/** Human-readable name of the view. */
|
|
4814
|
-
label: string;
|
|
4815
|
-
/** Determines whether the view is only available for the given project or for all projects (studio). */
|
|
4816
|
-
scope: 'project' | 'studio';
|
|
4817
|
-
/** Name of the user who created the view. Owners have full control over the view, */
|
|
4818
|
-
owner: string;
|
|
4819
|
-
/** Visibility of the view. Public views are visible to all users, private views are only visible to the owner. */
|
|
4820
|
-
visibility: 'public' | 'private';
|
|
4821
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
4822
|
-
working: boolean;
|
|
4823
|
-
position: number;
|
|
4824
|
-
accessLevel: number;
|
|
4825
|
-
settings: VersionsSettings;
|
|
4826
|
-
access: object;
|
|
4827
|
-
viewType?: 'versions';
|
|
4828
|
-
};
|
|
4829
|
-
|
|
4830
|
-
declare type VersionsViewPatchModel = {
|
|
4831
|
-
label?: string;
|
|
4832
|
-
owner?: string;
|
|
4833
|
-
settings?: VersionsSettings;
|
|
4834
|
-
viewType?: 'versions';
|
|
4835
|
-
};
|
|
4836
|
-
|
|
4837
|
-
declare type VersionsViewPostModel = {
|
|
4838
|
-
/** Unique identifier for the view within the given scope. */
|
|
4839
|
-
id?: string;
|
|
4840
|
-
/** Human-readable name of the view. */
|
|
4841
|
-
label: string;
|
|
4842
|
-
/** Working view is a special type of the view that automatically stores the current view settings without explicitly saving them. Working views are always private and scoped to the project */
|
|
4843
|
-
working?: boolean;
|
|
4844
|
-
settings: VersionsSettings;
|
|
4845
|
-
viewType?: 'versions';
|
|
4884
|
+
parent?: ProductSuggestionItem | null;
|
|
4885
|
+
name?: string | null;
|
|
4846
4886
|
};
|
|
4847
4887
|
|
|
4848
4888
|
export declare const VersionUploadContext: Context<VersionUploadContextType | undefined>;
|
|
@@ -5018,15 +5058,15 @@ declare const viewsQueries: Api<BaseQueryFn<string | {
|
|
|
5018
5058
|
getWorkingView: QueryDefinition<GetWorkingViewApiArg, BaseQueryFn<string | {
|
|
5019
5059
|
document: string | DocumentNode;
|
|
5020
5060
|
variables?: any;
|
|
5021
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5061
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5022
5062
|
getBaseView: QueryDefinition<GetBaseViewApiArg, BaseQueryFn<string | {
|
|
5023
5063
|
document: string | DocumentNode;
|
|
5024
5064
|
variables?: any;
|
|
5025
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5065
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5026
5066
|
getDefaultView: QueryDefinition<GetDefaultViewApiArg, BaseQueryFn<string | {
|
|
5027
5067
|
document: string | DocumentNode;
|
|
5028
5068
|
variables?: any;
|
|
5029
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5069
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5030
5070
|
setDefaultView: MutationDefinition<SetDefaultViewApiArg, BaseQueryFn<string | {
|
|
5031
5071
|
document: string | DocumentNode;
|
|
5032
5072
|
variables?: any;
|
|
@@ -5034,12 +5074,12 @@ declare const viewsQueries: Api<BaseQueryFn<string | {
|
|
|
5034
5074
|
getView: QueryDefinition<GetViewApiArg, BaseQueryFn<string | {
|
|
5035
5075
|
document: string | DocumentNode;
|
|
5036
5076
|
variables?: any;
|
|
5037
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5038
|
-
|
|
5077
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5078
|
+
updateView: MutationDefinition<UpdateViewApiArg, BaseQueryFn<string | {
|
|
5039
5079
|
document: string | DocumentNode;
|
|
5040
5080
|
variables?: any;
|
|
5041
5081
|
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, any, "restApi", unknown>;
|
|
5042
|
-
|
|
5082
|
+
deleteView: MutationDefinition<DeleteViewApiArg, BaseQueryFn<string | {
|
|
5043
5083
|
document: string | DocumentNode;
|
|
5044
5084
|
variables?: any;
|
|
5045
5085
|
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, any, "restApi", unknown>;
|
|
@@ -5055,15 +5095,15 @@ declare const viewsQueries: Api<BaseQueryFn<string | {
|
|
|
5055
5095
|
getWorkingView: QueryDefinition<GetWorkingViewApiArg, BaseQueryFn<string | {
|
|
5056
5096
|
document: string | DocumentNode;
|
|
5057
5097
|
variables?: any;
|
|
5058
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5098
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5059
5099
|
getBaseView: QueryDefinition<GetBaseViewApiArg, BaseQueryFn<string | {
|
|
5060
5100
|
document: string | DocumentNode;
|
|
5061
5101
|
variables?: any;
|
|
5062
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5102
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5063
5103
|
getDefaultView: QueryDefinition<GetDefaultViewApiArg, BaseQueryFn<string | {
|
|
5064
5104
|
document: string | DocumentNode;
|
|
5065
5105
|
variables?: any;
|
|
5066
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5106
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5067
5107
|
setDefaultView: MutationDefinition<SetDefaultViewApiArg, BaseQueryFn<string | {
|
|
5068
5108
|
document: string | DocumentNode;
|
|
5069
5109
|
variables?: any;
|
|
@@ -5071,12 +5111,12 @@ declare const viewsQueries: Api<BaseQueryFn<string | {
|
|
|
5071
5111
|
getView: QueryDefinition<GetViewApiArg, BaseQueryFn<string | {
|
|
5072
5112
|
document: string | DocumentNode;
|
|
5073
5113
|
variables?: any;
|
|
5074
|
-
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string,
|
|
5075
|
-
|
|
5114
|
+
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, GenericViewModel, "restApi", unknown>;
|
|
5115
|
+
updateView: MutationDefinition<UpdateViewApiArg, BaseQueryFn<string | {
|
|
5076
5116
|
document: string | DocumentNode;
|
|
5077
5117
|
variables?: any;
|
|
5078
5118
|
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, any, "restApi", unknown>;
|
|
5079
|
-
|
|
5119
|
+
deleteView: MutationDefinition<DeleteViewApiArg, BaseQueryFn<string | {
|
|
5080
5120
|
document: string | DocumentNode;
|
|
5081
5121
|
variables?: any;
|
|
5082
5122
|
} | FetchArgs, unknown, FetchBaseQueryError, {} | Partial<Pick< ClientError, "response" | "request">>>, string, any, "restApi", unknown>;
|