@ynput/ayon-frontend-shared 0.6.5 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/DetailsPanel.es.js +3 -3
  2. package/dist/NewEntity.es.js +15 -15
  3. package/dist/ProjectTreeTable.es.js +430 -433
  4. package/dist/Slicer.es.js +11 -11
  5. package/dist/Views.es.js +213 -206
  6. package/dist/chunks/CodeEditor.es.js +30 -0
  7. package/dist/chunks/ColumnDropIndicator.styled.es.js +24 -24
  8. package/dist/chunks/ColumnHeaderMenuUI.es.js +2 -2
  9. package/dist/chunks/DeleteEntitiesContextInstance.es.js +103 -103
  10. package/dist/chunks/EntityPath.es.js +2 -2
  11. package/dist/chunks/EntityTooltip.es.js +1 -1
  12. package/dist/chunks/Feed.es.js +958 -931
  13. package/dist/chunks/JsonViewer.es.js +1 -1
  14. package/dist/chunks/Menu.es.js +169 -167
  15. package/dist/chunks/MenuItem.es.js +109 -74
  16. package/dist/chunks/MetaWidget.es.js +1537 -1516
  17. package/dist/chunks/PlayableIcon.es.js +127 -127
  18. package/dist/chunks/ReviewablesSelector.es.js +199 -196
  19. package/dist/chunks/SimpleForm.es.js +78 -75
  20. package/dist/chunks/SimpleTable.es.js +110 -110
  21. package/dist/chunks/Slicer.es.js +22 -22
  22. package/dist/chunks/TableSettingsFallback.es.js +1 -1
  23. package/dist/chunks/ThumbnailSimple.es.js +2 -2
  24. package/dist/chunks/VideoPlayer.es.js +1 -1
  25. package/dist/chunks/Watchers.es.js +19 -19
  26. package/dist/chunks/afterStartup.es.js +13 -0
  27. package/dist/chunks/getUris.es.js +926 -964
  28. package/dist/chunks/queryFilterToClientFilter.es.js +90 -81
  29. package/dist/chunks/searchTerms.es.js +1 -0
  30. package/dist/chunks/useHierarchySelection.es.js +2 -2
  31. package/dist/chunks/useLoadModule.es.js +24 -23
  32. package/dist/components.es.js +202 -200
  33. package/dist/context.es.js +521 -492
  34. package/dist/hooks.es.js +190 -166
  35. package/dist/types/ContextMenu.d.ts +1 -0
  36. package/dist/types/Feed.d.ts +1 -1
  37. package/dist/types/ProjectTreeTable.d.ts +4 -5
  38. package/dist/types/Slicer.d.ts +1 -1
  39. package/dist/types/Views.d.ts +13 -2
  40. package/dist/types/api.d.ts +203 -1175
  41. package/dist/types/components.d.ts +14 -3
  42. package/dist/types/context.d.ts +3 -2
  43. package/dist/types/hooks.d.ts +25 -1
  44. package/dist/types/util.d.ts +11 -1
  45. package/dist/util.es.js +44 -41
  46. package/package.json +2 -2
@@ -1856,6 +1856,12 @@ declare interface MenuContainerProps {
1856
1856
  [key: string]: any;
1857
1857
  }
1858
1858
 
1859
+ declare interface MenuItemEndAction {
1860
+ icon: string;
1861
+ tooltip?: string;
1862
+ onClick: (e: default_2.MouseEvent) => void;
1863
+ }
1864
+
1859
1865
  export declare interface MenuItemType {
1860
1866
  id: string;
1861
1867
  label?: string | string[];
@@ -1874,6 +1880,7 @@ export declare interface MenuItemType {
1874
1880
  powerFeature?: PowerpackFeature;
1875
1881
  active?: boolean;
1876
1882
  reserveActiveSlot?: boolean;
1883
+ endActions?: MenuItemEndAction[];
1877
1884
  hidden?: boolean;
1878
1885
  node?: ReactNode;
1879
1886
  [key: string]: any;
@@ -2253,7 +2260,7 @@ declare type QueryCondition = {
2253
2260
  /** Value to compare against */
2254
2261
  value?: string | number | number | boolean | string[] | number[] | number[];
2255
2262
  /** Comparison operator */
2256
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2263
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2257
2264
  };
2258
2265
 
2259
2266
  declare type QueryCondition_5 = {
@@ -2262,7 +2269,7 @@ declare type QueryCondition_5 = {
2262
2269
  /** Value to compare against */
2263
2270
  value?: string | number | number | boolean | string[] | number[] | number[];
2264
2271
  /** Comparison operator */
2265
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2272
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
2266
2273
  };
2267
2274
 
2268
2275
  declare type QueryFilter = {
@@ -2279,7 +2286,11 @@ declare type QueryFilter_5 = {
2279
2286
  operator?: 'and' | 'or';
2280
2287
  };
2281
2288
 
2282
- export declare const RefreshToast: () => JSX_2.Element;
2289
+ export declare const RefreshToast: ({ message }: RefreshToastProps) => JSX_2.Element;
2290
+
2291
+ declare type RefreshToastProps = {
2292
+ message?: string;
2293
+ };
2283
2294
 
2284
2295
  export declare interface RemotePageContext {
2285
2296
  detailsPanel?: DetailsPanelContextType;
@@ -970,6 +970,7 @@ export declare type PowerpackContextType = {
970
970
  }) | null;
971
971
  powerLicense: boolean;
972
972
  isLoading: boolean;
973
+ storedLicense: boolean | null;
973
974
  };
974
975
 
975
976
  /** The dialog can be opened for a power feature or an addon */
@@ -1222,7 +1223,7 @@ declare type QueryCondition = {
1222
1223
  /** Value to compare against */
1223
1224
  value?: string | number | number | boolean | string[] | number[] | number[];
1224
1225
  /** Comparison operator */
1225
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
1226
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
1226
1227
  };
1227
1228
 
1228
1229
  declare type QueryCondition_5 = {
@@ -1231,7 +1232,7 @@ declare type QueryCondition_5 = {
1231
1232
  /** Value to compare against */
1232
1233
  value?: string | number | number | boolean | string[] | number[] | number[];
1233
1234
  /** Comparison operator */
1234
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
1235
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
1235
1236
  };
1236
1237
 
1237
1238
  declare type QueryFilter = {
@@ -5,6 +5,7 @@ import { Dispatch } from 'react';
5
5
  import { FC } from 'react';
6
6
  import { FetchBaseQueryError } from '@reduxjs/toolkit/query';
7
7
  import { OnChangeFn } from '@tanstack/react-table';
8
+ import { RefObject } from 'react';
8
9
  import { SerializedError } from '@reduxjs/toolkit';
9
10
  import { SetStateAction } from 'react';
10
11
  import { SortingState } from '@tanstack/react-table';
@@ -336,6 +337,12 @@ declare type Options<T extends ReviewableLike> = {
336
337
  enabled?: boolean;
337
338
  };
338
339
 
340
+ declare type Options_2 = {
341
+ containerRef: RefObject<HTMLElement>;
342
+ toolsRef: RefObject<HTMLElement>;
343
+ reviewablesCount: number;
344
+ };
345
+
339
346
  declare type PathDefinition = {
340
347
  windows?: string;
341
348
  linux?: string;
@@ -356,6 +363,7 @@ declare interface Props<T> {
356
363
  debug?: boolean;
357
364
  minVersion?: string;
358
365
  skip?: boolean;
366
+ defer?: boolean;
359
367
  }
360
368
 
361
369
  declare type Props_2 = {
@@ -396,6 +404,8 @@ declare type ReviewableLike = {
396
404
  label?: string | null;
397
405
  };
398
406
 
407
+ export declare type ReviewablesLayout = 'column' | 'row';
408
+
399
409
  declare type RowItemData = {
400
410
  id: string;
401
411
  name?: string | null;
@@ -474,6 +484,13 @@ export declare const useActionTriggers: ({ searchParams, onSetSearchParams, onNa
474
484
  handleActionPayload: (actionType: string, payload: ActionPayload | null) => void;
475
485
  };
476
486
 
487
+ /**
488
+ * False until the page has had time to load (see afterStartup), then true.
489
+ * Use it to skip queries nobody waits for on load, e.g. prompts and banners,
490
+ * so they don't compete with the page's own requests.
491
+ */
492
+ export declare const useAfterStartup: (delay?: number) => boolean;
493
+
477
494
  export declare const useAttributeEnumOptions: (data: AttributeData | undefined, { projectName, skip }?: UseAttributeEnumOptionsParams) => AttributeEnumState;
478
495
 
479
496
  export declare interface UseAttributeEnumOptionsParams {
@@ -551,7 +568,7 @@ export declare const useHierarchyTable: ({ projectName, folderTypes, includeColo
551
568
  isFetching: boolean;
552
569
  };
553
570
 
554
- export declare const useLoadModule: <T>({ addon, remote, module, fallback, minVersion, skip, }: Props<T>) => [T, {
571
+ export declare const useLoadModule: <T>({ addon, remote, module, fallback, minVersion, skip, defer, }: Props<T>) => [T, {
555
572
  isLoaded: boolean;
556
573
  isLoading: boolean;
557
574
  outdated?: {
@@ -579,6 +596,13 @@ export declare const useQueryArgumentChangeLoading: <T extends Record<string, an
579
596
 
580
597
  export declare function useReviewablesKeyboardNavigation<T extends ReviewableLike>({ reviewables, selected, onChange, onNavigate, enabled, }: Options<T>): void;
581
598
 
599
+ /**
600
+ * Stacks the reviewables above the annotation tools while there is room for them.
601
+ * Once there are more than 3 reviewables and they would get less than 30% of the
602
+ * container height, the tools and reviewables are laid out side by side instead.
603
+ */
604
+ export declare function useReviewablesLayout({ containerRef, toolsRef, reviewablesCount, }: Options_2): ReviewablesLayout;
605
+
582
606
  export declare const useScopedStatuses: (projects: string[], entityTypes: string[]) => EntityStatus[] | undefined;
583
607
 
584
608
  export declare const useScopedTypes: (projects: string[], entityType: string) => EntityType[];
@@ -22,6 +22,14 @@ export declare type ActiveEntity = {
22
22
  projectName: string;
23
23
  };
24
24
 
25
+ /**
26
+ * Runs `callback` once the page has had time to load: after `delay` ms, at the next idle
27
+ * period (or straight away where requestIdleCallback is missing).
28
+ * Use it for work nobody waits for on load, like third party widgets or rarely used addon code.
29
+ * Returns a function that cancels it.
30
+ */
31
+ export declare const afterStartup: (callback: () => void, delay?: number) => () => void;
32
+
25
33
  declare type Anatomy = {
26
34
  /** Settings for automatic entity name generation */
27
35
  entity_naming?: EntityNaming;
@@ -921,7 +929,7 @@ declare type QueryCondition = {
921
929
  /** Value to compare against */
922
930
  value?: string | number | number | boolean | string[] | number[] | number[];
923
931
  /** Comparison operator */
924
- operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
932
+ operator?: 'eq' | 'like' | 'notlike' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
925
933
  };
926
934
 
927
935
  declare type QueryFilter = {
@@ -1033,6 +1041,8 @@ declare type StagingDirectory = {
1033
1041
  directory?: string;
1034
1042
  };
1035
1043
 
1044
+ export declare const STARTUP_DELAY = 3000;
1045
+
1036
1046
  declare type Status = {
1037
1047
  name: string;
1038
1048
  original_name?: string;
package/dist/util.es.js CHANGED
@@ -1,27 +1,28 @@
1
- import { K as S, g as I, a as A } from "./chunks/platform.es.js";
1
+ import { K as S, g as A, a as I } from "./chunks/platform.es.js";
2
2
  import { c as d } from "./chunks/confirmDelete.es.js";
3
3
  import { a as R } from "./chunks/confirmDelete.es.js";
4
4
  import { e as F, g as M } from "./chunks/getEntityTypeIcon.es.js";
5
5
  import { g as v, r as D } from "./chunks/replaceRoot.es.js";
6
6
  import { A as U, c as w, e as N, g as O, a as V, s as k, u as H, b as K } from "./chunks/activeEntities.es.js";
7
7
  import { c as z } from "./chunks/copyToClipboard.es.js";
8
- import { g as q, h as J } from "./chunks/humanizeFieldName.es.js";
9
- import { c as W, a as X, g as Y, b as $, d as G, p as Z, e as ee } from "./chunks/iconUtils.es.js";
8
+ import { g as j, h as q } from "./chunks/humanizeFieldName.es.js";
9
+ import { c as Q, a as W, g as X, b as $, d as G, p as Z, e as ee } from "./chunks/iconUtils.es.js";
10
10
  import { bk as g } from "./chunks/searchTerms.es.js";
11
- import { bl as ae, be as re, bm as se, bg as oe, bn as ie, bi as ne, bo as le, bp as me, bj as ce, bf as pe, bq as de, br as ge, bs as be, bh as ue, bt as Ee, bu as fe, bv as he, bw as Te } from "./chunks/searchTerms.es.js";
12
- import { M as xe, a as Se, b as Ie, d as Ae, e as Pe, f as Re, c as Ce, g as Fe, h as Me, i as _e, p as ve, s as De, j as Le, v as Ue, w as we } from "./chunks/realtimeUpdatesUtils.es.js";
11
+ import { bl as ae, be as re, bm as se, bg as oe, bn as ie, bi as ne, bo as le, bp as me, bj as ce, bf as pe, bq as de, br as ge, bs as ue, bh as be, bt as Ee, bu as fe, bv as Te, bw as he } from "./chunks/searchTerms.es.js";
12
+ import { M as ye, a as Se, b as Ae, d as Ie, e as Pe, f as Re, c as Ce, g as Fe, h as Me, i as _e, p as ve, s as De, j as Le, v as Ue, w as we } from "./chunks/realtimeUpdatesUtils.es.js";
13
13
  import { e as Oe } from "./chunks/extractVersionFromFilename.es.js";
14
- import { c as ke, a as He, b as Ke, g as Be, h as ze, s as je, v as qe, d as Je, e as Qe } from "./chunks/versionUploadHelpers.es.js";
15
- import { c as Xe, a as Ye } from "./chunks/columnConfigConverter.es.js";
14
+ import { c as ke, a as He, b as Ke, g as Be, h as ze, s as Ye, v as je, d as qe, e as Je } from "./chunks/versionUploadHelpers.es.js";
15
+ import { c as We, a as Xe } from "./chunks/columnConfigConverter.es.js";
16
16
  import { p as Ge } from "./chunks/pluralize.es.js";
17
17
  import { b as et, a as tt, h as at, p as rt, r as st } from "./chunks/colorUtils.es.js";
18
18
  import { g as it } from "./chunks/getGroupByDataType.es.js";
19
19
  import { b as lt, g as mt, a as ct, c as pt, p as dt, u as gt } from "./chunks/getBundleMode.es.js";
20
- import { b as ut, s as Et } from "./chunks/buildHierarchicalTableRows.es.js";
21
- import { g as ht, a as Tt } from "./chunks/getThumbnailUrl.es.js";
22
- import { p as xt } from "./chunks/parseFilename.es.js";
23
- import { i as It } from "./chunks/isHTMLElement.es.js";
24
- import { ConfirmDialog as Pt } from "primereact/confirmdialog";
20
+ import { b as bt, s as Et } from "./chunks/buildHierarchicalTableRows.es.js";
21
+ import { g as Tt, a as ht } from "./chunks/getThumbnailUrl.es.js";
22
+ import { p as yt } from "./chunks/parseFilename.es.js";
23
+ import { i as At } from "./chunks/isHTMLElement.es.js";
24
+ import { S as Pt, a as Rt } from "./chunks/afterStartup.es.js";
25
+ import { ConfirmDialog as Ft } from "primereact/confirmdialog";
25
26
  const E = (e) => {
26
27
  const a = /* @__PURE__ */ new Map(), s = [];
27
28
  for (const t of e)
@@ -51,7 +52,7 @@ const E = (e) => {
51
52
  label: m,
52
53
  message: l || c
53
54
  });
54
- }, h = (e) => e ? e.label?.trim() || e.name : "", T = {
55
+ }, T = (e) => e ? e.label?.trim() || e.name : "", h = {
55
56
  "@@@": {
56
57
  id: "task"
57
58
  },
@@ -65,28 +66,30 @@ const E = (e) => {
65
66
  };
66
67
  export {
67
68
  U as ACTIVE_ENTITIES_PRIORITY,
68
- Pt as ConfirmDialog,
69
+ Ft as ConfirmDialog,
69
70
  ae as ENUM_CONTEXT_PARAMS,
70
71
  S as KeyMode,
71
- xe as MAX_SORT_KEYS,
72
+ ye as MAX_SORT_KEYS,
72
73
  re as PubSub,
73
74
  Se as REALTIME_REST_CALL_LIMIT,
74
- Ie as REALTIME_REST_JITTER,
75
- Ae as REALTIME_TASK_SUPPORTED_VALUE_FIELDS,
75
+ Ae as REALTIME_REST_JITTER,
76
+ Ie as REALTIME_TASK_SUPPORTED_VALUE_FIELDS,
76
77
  Pe as REALTIME_UPDATE_DEBOUNCE,
78
+ Pt as STARTUP_DELAY,
79
+ Rt as afterStartup,
77
80
  et as blendCategoryColor,
78
81
  tt as blendColors,
79
82
  lt as buildEntityUri,
80
83
  E as buildFolderHierarchy,
81
- ut as buildHierarchicalTableRows,
84
+ bt as buildHierarchicalTableRows,
82
85
  Re as buildSortArgs,
83
- W as checkLabel,
84
- X as checkName,
86
+ Q as checkLabel,
87
+ W as checkName,
85
88
  w as clearActiveEntities,
86
89
  d as confirmDelete,
87
90
  R as confirmDeleteDialog,
88
- Xe as convertColumnConfigToTanstackStates,
89
- Ye as convertTanstackStatesToColumnConfig,
91
+ We as convertColumnConfigToTanstackStates,
92
+ Xe as convertTanstackStatesToColumnConfig,
90
93
  z as copyToClipboard,
91
94
  ke as createProductAndVersion,
92
95
  He as createProductHelper,
@@ -96,27 +99,27 @@ export {
96
99
  N as extractEntityHierarchyFromParents,
97
100
  Oe as extractVersionFromFilename,
98
101
  O as getActiveEntities,
99
- Y as getAttributeIcon,
102
+ X as getAttributeIcon,
100
103
  mt as getBundleModeFromUser,
101
- I as getCurrentPlatform,
104
+ A as getCurrentPlatform,
102
105
  $ as getEntityColor,
103
106
  G as getEntityIcon,
104
107
  Fe as getEntityId,
105
108
  ct as getEntityStateFromUri,
106
- ht as getEntityThumbnailUrl,
109
+ Tt as getEntityThumbnailUrl,
107
110
  M as getEntityTypeIcon,
108
111
  se as getEnumContextParams,
109
112
  oe as getEnumErrorText,
110
113
  ie as getEnumItemIcon,
111
114
  g as getErrorMessage,
112
115
  it as getGroupByDataType,
113
- q as getMixedState,
116
+ j as getMixedState,
114
117
  Be as getNextVersionNumber,
115
- A as getPlatformShortcutKey,
118
+ I as getPlatformShortcutKey,
116
119
  Me as getPrimarySortKey,
117
120
  V as getPriorityOptions,
118
- h as getProjectDisplayName,
119
- Tt as getProjectThumbnailUrl,
121
+ T as getProjectDisplayName,
122
+ ht as getProjectThumbnailUrl,
120
123
  ne as getRequestErrorString,
121
124
  le as getSelectableAssignees,
122
125
  me as getSelectableEnumItems,
@@ -128,16 +131,16 @@ export {
128
131
  ce as hasEnumOptions,
129
132
  pe as hasEnumResolver,
130
133
  at as hexToRgb,
131
- J as humanizeField,
134
+ q as humanizeField,
132
135
  de as isEnumContextParam,
133
136
  ge as isEnumIconImage,
134
- It as isHTMLElement,
135
- be as matchSearchQuery,
136
- T as mentionTypeOptions,
137
- ue as normalizeEnumItems,
137
+ At as isHTMLElement,
138
+ ue as matchSearchQuery,
139
+ h as mentionTypeOptions,
140
+ be as normalizeEnumItems,
138
141
  Z as parseAndFormatName,
139
142
  rt as parseColor,
140
- xt as parseFilename,
143
+ yt as parseFilename,
141
144
  ee as parseHtmlToPlainTextWithLinks,
142
145
  Ee as parseSearchQuery,
143
146
  dt as parseUri,
@@ -146,19 +149,19 @@ export {
146
149
  Ge as pluralize,
147
150
  D as replaceRoot,
148
151
  st as rgbToHex,
149
- je as sanitizeProductName,
152
+ Ye as sanitizeProductName,
150
153
  De as serializeViewSorting,
151
154
  k as setActiveEntities,
152
155
  Et as shouldBlockShortcuts,
153
- he as sortKeysDeep,
156
+ Te as sortKeysDeep,
154
157
  Le as subscribeToThumbnailUpdates,
155
- Te as toDropdownErrorText,
158
+ he as toDropdownErrorText,
156
159
  H as useActiveEntities,
157
160
  K as useRegisterActiveEntities,
158
161
  gt as useStagingModeState,
159
162
  Ue as validateEntityId,
160
- qe as validateFormData,
161
- Je as validateProductName,
162
- Qe as validateVersion,
163
+ je as validateFormData,
164
+ qe as validateProductName,
165
+ Je as validateVersion,
163
166
  we as waitForRealtimeJitter
164
167
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynput/ayon-frontend-shared",
3
- "version": "0.6.5",
3
+ "version": "0.6.7",
4
4
  "description": "Shared React components for AYON frontend",
5
5
  "module": "dist/index.es.js",
6
6
  "exports": {
@@ -137,7 +137,7 @@
137
137
  "@tanstack/react-virtual": "3.13.23",
138
138
  "@uiw/react-textarea-code-editor": "2.1.9",
139
139
  "@ynput/ayon-player": "1.0.2",
140
- "@ynput/ayon-react-components": "^1.21.0",
140
+ "@ynput/ayon-react-components": "^1.22.0",
141
141
  "axios": "1.20.0",
142
142
  "clsx": "2.1.1",
143
143
  "custom-protocol-check": "1.4.0",