@ynput/ayon-frontend-shared 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/EmptyPlaceholderFlex.styled-C3tjIk5V.mjs +121 -0
  2. package/dist/EmptyPlaceholderFlex.styled-C3tjIk5V.mjs.map +1 -0
  3. package/dist/EmptyPlaceholderFlex.styled-D_9k5mMH.js +78 -0
  4. package/dist/EmptyPlaceholderFlex.styled-D_9k5mMH.js.map +1 -0
  5. package/dist/ThumbnailSimple-DbSmXCNa.js +34 -0
  6. package/dist/ThumbnailSimple-DbSmXCNa.js.map +1 -0
  7. package/dist/ThumbnailSimple-DotCInch.mjs +78 -0
  8. package/dist/ThumbnailSimple-DotCInch.mjs.map +1 -0
  9. package/dist/ayon-frontend-shared.css +1 -0
  10. package/dist/confirmDelete-BSaFL2RH.mjs +6279 -0
  11. package/dist/confirmDelete-BSaFL2RH.mjs.map +1 -0
  12. package/dist/confirmDelete-BoRH88hw.js +43 -0
  13. package/dist/confirmDelete-BoRH88hw.js.map +1 -0
  14. package/dist/csstransition.esm-CzUZfsIt.mjs +3101 -0
  15. package/dist/csstransition.esm-CzUZfsIt.mjs.map +1 -0
  16. package/dist/csstransition.esm-Riwtyc4r.js +32 -0
  17. package/dist/csstransition.esm-Riwtyc4r.js.map +1 -0
  18. package/dist/format-DUCu0Y-3.mjs +1289 -0
  19. package/dist/format-DUCu0Y-3.mjs.map +1 -0
  20. package/dist/format-v4Hpvya-.js +2 -0
  21. package/dist/format-v4Hpvya-.js.map +1 -0
  22. package/dist/getEntityTypeIcon-BvwosBHR.js +2 -0
  23. package/dist/getEntityTypeIcon-BvwosBHR.js.map +1 -0
  24. package/dist/getEntityTypeIcon-BxTCKGSi.mjs +50 -0
  25. package/dist/getEntityTypeIcon-BxTCKGSi.mjs.map +1 -0
  26. package/dist/index.cjs.js +2 -0
  27. package/dist/index.cjs.js.map +1 -0
  28. package/dist/index.cjs2.js +2 -0
  29. package/dist/index.cjs2.js.map +1 -0
  30. package/dist/index.cjs3.js +2 -0
  31. package/dist/index.cjs3.js.map +1 -0
  32. package/dist/index.cjs4.js +2 -0
  33. package/dist/index.cjs4.js.map +1 -0
  34. package/dist/index.cjs5.js +2 -0
  35. package/dist/index.cjs5.js.map +1 -0
  36. package/dist/index.cjs6.js +2 -0
  37. package/dist/index.cjs6.js.map +1 -0
  38. package/dist/index.cjs7.js +29 -0
  39. package/dist/index.cjs7.js.map +1 -0
  40. package/dist/index.cjs8.js +549 -0
  41. package/dist/index.cjs8.js.map +1 -0
  42. package/dist/index.cjs9.js +1753 -0
  43. package/dist/index.cjs9.js.map +1 -0
  44. package/dist/index.es.js +8 -0
  45. package/dist/index.es.js.map +1 -0
  46. package/dist/index.es2.js +11 -0
  47. package/dist/index.es2.js.map +1 -0
  48. package/dist/index.es3.js +12 -0
  49. package/dist/index.es3.js.map +1 -0
  50. package/dist/index.es4.js +5 -0
  51. package/dist/index.es4.js.map +1 -0
  52. package/dist/index.es5.js +5 -0
  53. package/dist/index.es5.js.map +1 -0
  54. package/dist/index.es6.js +37 -0
  55. package/dist/index.es6.js.map +1 -0
  56. package/dist/index.es7.js +361 -0
  57. package/dist/index.es7.js.map +1 -0
  58. package/dist/index.es8.js +4340 -0
  59. package/dist/index.es8.js.map +1 -0
  60. package/dist/index.es9.js +56950 -0
  61. package/dist/index.es9.js.map +1 -0
  62. package/dist/jsx-runtime-Drh4NO5G.mjs +634 -0
  63. package/dist/jsx-runtime-Drh4NO5G.mjs.map +1 -0
  64. package/dist/jsx-runtime-qcKc-DpB.js +31 -0
  65. package/dist/jsx-runtime-qcKc-DpB.js.map +1 -0
  66. package/dist/platform-C5rgawOb.js +2 -0
  67. package/dist/platform-C5rgawOb.js.map +1 -0
  68. package/dist/platform-DNAvZtra.mjs +36 -0
  69. package/dist/platform-DNAvZtra.mjs.map +1 -0
  70. package/dist/types/ContextMenu.d.ts +1 -0
  71. package/dist/types/Feed.d.ts +1 -0
  72. package/dist/types/ProjectTreeTable.d.ts +1 -0
  73. package/dist/types/Slicer.d.ts +1 -0
  74. package/dist/types/api/activities/index.d.ts +1 -0
  75. package/dist/types/api/activities/transformations.d.ts +0 -0
  76. package/dist/types/api/activities/types.d.ts +10 -0
  77. package/dist/types/api/graphql.d.ts +2096 -0
  78. package/dist/types/api/index.d.ts +2 -0
  79. package/dist/types/api.d.ts +1 -0
  80. package/dist/types/components/EmptyPlaceholder/EmptyPlaceholder.d.ts +11 -0
  81. package/dist/types/components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.d.ts +2 -0
  82. package/dist/types/components/EmptyPlaceholder/index.d.ts +4 -0
  83. package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +15 -0
  84. package/dist/types/components/ThumbnailSimple/index.d.ts +3 -0
  85. package/dist/types/components/UserImage/UserImage.d.ts +11 -0
  86. package/dist/types/components/UserImage/index.d.ts +3 -0
  87. package/dist/types/components/index.d.ts +3 -0
  88. package/dist/types/components.d.ts +1 -0
  89. package/dist/types/containers/ContextMenu/ContextMenuContext.d.ts +21 -0
  90. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +27 -0
  91. package/dist/types/containers/ContextMenu/GlobalContextMenu.d.ts +1 -0
  92. package/dist/types/containers/ContextMenu/index.d.ts +4 -0
  93. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +17 -0
  94. package/dist/types/containers/Feed/Feed.d.ts +10 -0
  95. package/dist/types/containers/Feed/Feed.styled.d.ts +5 -0
  96. package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.d.ts +15 -0
  97. package/dist/types/containers/Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.d.ts +3 -0
  98. package/dist/types/containers/Feed/components/ActivityAssigneeChange/index.d.ts +3 -0
  99. package/dist/types/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.d.ts +6 -0
  100. package/dist/types/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.styled.d.ts +1 -0
  101. package/dist/types/containers/Feed/components/ActivityCheckbox/index.d.ts +3 -0
  102. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +24 -0
  103. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.styled.d.ts +14 -0
  104. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +43 -0
  105. package/dist/types/containers/Feed/components/ActivityComment/CommentWrapper.d.ts +5 -0
  106. package/dist/types/containers/Feed/components/ActivityComment/mappers.d.ts +9 -0
  107. package/dist/types/containers/Feed/components/ActivityDate.d.ts +7 -0
  108. package/dist/types/containers/Feed/components/ActivityGroup/ActivityGroup.d.ts +9 -0
  109. package/dist/types/containers/Feed/components/ActivityGroup/ActivityGroup.styled.d.ts +2 -0
  110. package/dist/types/containers/Feed/components/ActivityHeader/ActivityHeader.d.ts +40 -0
  111. package/dist/types/containers/Feed/components/ActivityHeader/ActivityHeader.styled.d.ts +4 -0
  112. package/dist/types/containers/Feed/components/ActivityItem.d.ts +27 -0
  113. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.d.ts +14 -0
  114. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +3 -0
  115. package/dist/types/containers/Feed/components/ActivityReferenceTooltip/ActivityReferenceTooltip.d.ts +4 -0
  116. package/dist/types/containers/Feed/components/ActivityReferenceTooltip/index.d.ts +2 -0
  117. package/dist/types/containers/Feed/components/ActivityStatus/ActivityStatus.d.ts +9 -0
  118. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.d.ts +18 -0
  119. package/dist/types/containers/Feed/components/ActivityStatusChange/ActivityStatusChange.styled.d.ts +3 -0
  120. package/dist/types/containers/Feed/components/ActivityStatusChange/hooks/getContextParents.d.ts +2 -0
  121. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +24 -0
  122. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +6 -0
  123. package/dist/types/containers/Feed/components/CommentInput/CommentInput.d.ts +26 -0
  124. package/dist/types/containers/Feed/components/CommentInput/CommentInput.styled.d.ts +7 -0
  125. package/dist/types/containers/Feed/components/CommentInput/InputMarkdownConvert.d.ts +11 -0
  126. package/dist/types/containers/Feed/components/CommentInput/helpers.d.ts +4 -0
  127. package/dist/types/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.d.ts +14 -0
  128. package/dist/types/containers/Feed/components/CommentInput/hooks/useAnnotationsUpload.d.ts +6 -0
  129. package/dist/types/containers/Feed/components/CommentInput/hooks/useInitialValue.d.ts +11 -0
  130. package/dist/types/containers/Feed/components/CommentInput/hooks/useMentionLink.d.ts +7 -0
  131. package/dist/types/containers/Feed/components/CommentInput/hooks/useSetCursorEnd.d.ts +7 -0
  132. package/dist/types/containers/Feed/components/CommentInput/index.d.ts +0 -0
  133. package/dist/types/containers/Feed/components/CommentInput/modules/ImageUploader.d.ts +8 -0
  134. package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +12 -0
  135. package/dist/types/containers/Feed/components/CommentInput/quillToMarkdown.d.ts +5 -0
  136. package/dist/types/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.d.ts +28 -0
  137. package/dist/types/containers/Feed/components/CommentMentionSelect/CommentMentionSelect.styled.d.ts +6 -0
  138. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +14 -0
  139. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.styled.d.ts +4 -0
  140. package/dist/types/containers/Feed/components/FileUploadCard/index.d.ts +3 -0
  141. package/dist/types/containers/Feed/components/FileUploadPreview/FileUploadPreview.d.ts +22 -0
  142. package/dist/types/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +4 -0
  143. package/dist/types/containers/Feed/components/FileUploadPreview/Mimes/ImageMime.d.ts +9 -0
  144. package/dist/types/containers/Feed/components/FileUploadPreview/Mimes/TextMime.d.ts +10 -0
  145. package/dist/types/containers/Feed/components/FileUploadPreview/hooks/useAttachmentNavigation.d.ts +19 -0
  146. package/dist/types/containers/Feed/components/FileUploadPreview/index.d.ts +3 -0
  147. package/dist/types/containers/Feed/components/FilesGrid/FilesGrid.d.ts +17 -0
  148. package/dist/types/containers/Feed/components/FilesGrid/FilesGrid.styled.d.ts +1 -0
  149. package/dist/types/containers/Feed/components/FilesGrid/index.d.ts +3 -0
  150. package/dist/types/containers/Feed/components/ReactionContainer/ExistingReactions.d.ts +7 -0
  151. package/dist/types/containers/Feed/components/ReactionContainer/Reaction.d.ts +10 -0
  152. package/dist/types/containers/Feed/components/ReactionContainer/ReactionPanelOpener.d.ts +7 -0
  153. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.d.ts +8 -0
  154. package/dist/types/containers/Feed/components/ReactionContainer/Reactions.styled.d.ts +7 -0
  155. package/dist/types/containers/Feed/components/ReactionContainer/helpers.d.ts +11 -0
  156. package/dist/types/containers/Feed/components/ReactionContainer/types.d.ts +8 -0
  157. package/dist/types/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.d.ts +12 -0
  158. package/dist/types/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.d.ts +3 -0
  159. package/dist/types/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.d.ts +10 -0
  160. package/dist/types/containers/Feed/components/Tooltips/UserTooltip/UserTooltip.styled.d.ts +2 -0
  161. package/dist/types/containers/Feed/context/FeedContext.d.ts +58 -0
  162. package/dist/types/containers/Feed/feedHelpers.d.ts +1 -0
  163. package/dist/types/containers/Feed/helpers/groupActivityVersions.d.ts +2 -0
  164. package/dist/types/containers/Feed/helpers/groupMinorActivities.d.ts +2 -0
  165. package/dist/types/containers/Feed/helpers/mergeSimilarActivities.d.ts +2 -0
  166. package/dist/types/containers/Feed/hooks/useCommentMutations.d.ts +30 -0
  167. package/dist/types/containers/Feed/hooks/useReferenceTooltip.d.ts +3 -0
  168. package/dist/types/containers/Feed/hooks/useSaveScrollPos.d.ts +13 -0
  169. package/dist/types/containers/Feed/hooks/useScrollOnInputOpen.d.ts +8 -0
  170. package/dist/types/containers/Feed/hooks/useScrollToHighlighted.d.ts +10 -0
  171. package/dist/types/containers/Feed/hooks/useTableKeyboardNavigation.d.ts +22 -0
  172. package/dist/types/containers/Feed/hooks/useTransformActivities.d.ts +4 -0
  173. package/dist/types/containers/Feed/index.d.ts +7 -0
  174. package/dist/types/containers/Feed/mentionHelpers/getMentionOptions.d.ts +2 -0
  175. package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +10 -0
  176. package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +8 -0
  177. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +12 -0
  178. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +15 -0
  179. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +14 -0
  180. package/dist/types/containers/ProjectTreeTable/ProjectTreeTableColumns.d.ts +16 -0
  181. package/dist/types/containers/ProjectTreeTable/components/HeaderActionButton.d.ts +6 -0
  182. package/dist/types/containers/ProjectTreeTable/components/RowSelectionHeader.d.ts +3 -0
  183. package/dist/types/containers/ProjectTreeTable/components/SelectionCell.d.ts +5 -0
  184. package/dist/types/containers/ProjectTreeTable/context/CellEditingContext.d.ts +18 -0
  185. package/dist/types/containers/ProjectTreeTable/context/ClipboardContext.d.ts +4 -0
  186. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +30 -0
  187. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +76 -0
  188. package/dist/types/containers/ProjectTreeTable/context/ProjectTableQueriesContext.d.ts +21 -0
  189. package/dist/types/containers/ProjectTreeTable/context/SelectedRowsContext.d.ts +15 -0
  190. package/dist/types/containers/ProjectTreeTable/context/SelectionContext.d.ts +35 -0
  191. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +27 -0
  192. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardUtils.d.ts +6 -0
  193. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardValidation.d.ts +12 -0
  194. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +3 -0
  195. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +8 -0
  196. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +10 -0
  197. package/dist/types/containers/ProjectTreeTable/hooks/useColumnVirtualization.d.ts +17 -0
  198. package/dist/types/containers/ProjectTreeTable/hooks/useCustomColumnWidthVars.d.ts +6 -0
  199. package/dist/types/containers/ProjectTreeTable/hooks/useDeleteEntities.d.ts +5 -0
  200. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +29 -0
  201. package/dist/types/containers/ProjectTreeTable/hooks/useHistory.d.ts +17 -0
  202. package/dist/types/containers/ProjectTreeTable/hooks/useKeyboardNavigation.d.ts +10 -0
  203. package/dist/types/containers/ProjectTreeTable/hooks/useOverviewTable.d.ts +32 -0
  204. package/dist/types/containers/ProjectTreeTable/hooks/usePrefetchFolderTasks.d.ts +4 -0
  205. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateOverview.d.ts +30 -0
  206. package/dist/types/containers/ProjectTreeTable/hooks/useValidateUpdates.d.ts +3 -0
  207. package/dist/types/containers/ProjectTreeTable/index.d.ts +14 -0
  208. package/dist/types/containers/ProjectTreeTable/types/folders.d.ts +14 -0
  209. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +62 -0
  210. package/dist/types/containers/ProjectTreeTable/types/operations.d.ts +99 -0
  211. package/dist/types/containers/ProjectTreeTable/types/project.d.ts +223 -0
  212. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +83 -0
  213. package/dist/types/containers/ProjectTreeTable/utils/cellUtils.d.ts +42 -0
  214. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +4 -0
  215. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +3 -0
  216. package/dist/types/containers/ProjectTreeTable/utils/loadingUtils.d.ts +36 -0
  217. package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +7 -0
  218. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +24 -0
  219. package/dist/types/containers/ProjectTreeTable/widgets/CollapsedWidget.d.ts +5 -0
  220. package/dist/types/containers/ProjectTreeTable/widgets/DateWidget.d.ts +8 -0
  221. package/dist/types/containers/ProjectTreeTable/widgets/DateWidgetInput.d.ts +8 -0
  222. package/dist/types/containers/ProjectTreeTable/widgets/EntityNameWidget.d.ts +14 -0
  223. package/dist/types/containers/ProjectTreeTable/widgets/EnumWidget.d.ts +28 -0
  224. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +10 -0
  225. package/dist/types/containers/ProjectTreeTable/widgets/TextWidgetInput.d.ts +9 -0
  226. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +7 -0
  227. package/dist/types/containers/Slicer/createFilterFromSlicer.d.ts +6 -0
  228. package/dist/types/containers/Slicer/index.d.ts +2 -0
  229. package/dist/types/containers/Slicer/types.d.ts +18 -0
  230. package/dist/types/hooks/index.d.ts +1 -0
  231. package/dist/types/hooks/useLocalStorage.d.ts +1 -0
  232. package/dist/types/hooks.d.ts +1 -0
  233. package/dist/types/index.d.ts +2 -0
  234. package/dist/types/util/confirmDelete.d.ts +13 -0
  235. package/dist/types/util/getEntityTypeIcon.d.ts +1 -0
  236. package/dist/types/util/index.d.ts +5 -0
  237. package/dist/types/util/platform.d.ts +8 -0
  238. package/dist/types/util/productTypes.d.ts +8 -0
  239. package/dist/types/util.d.ts +1 -0
  240. package/dist/useCreateContextMenu-CDRv1ybg.js +2 -0
  241. package/dist/useCreateContextMenu-CDRv1ybg.js.map +1 -0
  242. package/dist/useCreateContextMenu-DvOhPycB.mjs +118 -0
  243. package/dist/useCreateContextMenu-DvOhPycB.mjs.map +1 -0
  244. package/dist/useLocalStorage-BQSzWJ4Q.mjs +39 -0
  245. package/dist/useLocalStorage-BQSzWJ4Q.mjs.map +1 -0
  246. package/dist/useLocalStorage-BRHTBlxR.js +2 -0
  247. package/dist/useLocalStorage-BRHTBlxR.js.map +1 -0
  248. package/package.json +91 -0
@@ -0,0 +1,6 @@
1
+ import { ButtonProps } from '@ynput/ayon-react-components';
2
+ import { FC } from 'react';
3
+ interface HeaderActionButtonProps extends ButtonProps {
4
+ }
5
+ declare const HeaderActionButton: FC<HeaderActionButtonProps>;
6
+ export default HeaderActionButton;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ declare const _default: React.NamedExoticComponent<{}>;
3
+ export default _default;
@@ -0,0 +1,5 @@
1
+ interface SelectionCellProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ isSelected?: boolean;
3
+ }
4
+ export declare const SelectionCell: import('react').ForwardRefExoticComponent<SelectionCellProps & import('react').RefAttributes<HTMLDivElement>>;
5
+ export {};
@@ -0,0 +1,18 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ import { CellId } from '../utils/cellUtils';
3
+ import { InheritFromParent, UpdateTableEntities } from '../hooks/useUpdateOverview';
4
+ export interface CellEditingContextType {
5
+ editingCellId: CellId | null;
6
+ setEditingCellId: (id: CellId | null) => void;
7
+ isEditing: (id: CellId) => boolean;
8
+ updateEntities: UpdateTableEntities;
9
+ inheritFromParent: InheritFromParent;
10
+ undo: () => Promise<void>;
11
+ redo: () => Promise<void>;
12
+ canUndo: boolean;
13
+ canRedo: boolean;
14
+ }
15
+ export declare const CellEditingProvider: React.FC<{
16
+ children: ReactNode;
17
+ }>;
18
+ export declare const useCellEditing: () => CellEditingContextType;
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { ClipboardContextType, ClipboardProviderProps } from './clipboard/clipboardTypes';
3
+ export declare const ClipboardProvider: React.FC<ClipboardProviderProps>;
4
+ export declare const useClipboard: () => ClipboardContextType;
@@ -0,0 +1,30 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ import { ColumnOrderState, ColumnPinningState, OnChangeFn, VisibilityState } from '@tanstack/react-table';
3
+ export interface ColumnSettingsContextType {
4
+ columnVisibility: VisibilityState;
5
+ setColumnVisibility: (columnVisibility: VisibilityState) => void;
6
+ updateColumnVisibility: (columnVisibility: VisibilityState) => void;
7
+ columnVisibilityUpdater: OnChangeFn<VisibilityState>;
8
+ columnPinning: ColumnPinningState;
9
+ setColumnPinning: (columnPinning: ColumnPinningState) => void;
10
+ updateColumnPinning: (columnPinning: ColumnPinningState) => void;
11
+ columnPinningUpdater: OnChangeFn<ColumnPinningState>;
12
+ columnOrder: ColumnOrderState;
13
+ setColumnOrder: (columnOrder: ColumnOrderState) => void;
14
+ updateColumnOrder: (columnOrder: ColumnOrderState) => void;
15
+ columnOrderUpdater: OnChangeFn<ColumnOrderState>;
16
+ setColumnsConfig: (config: ColumnsConfig) => void;
17
+ }
18
+ export type ColumnsConfig = {
19
+ columnVisibility: VisibilityState;
20
+ columnOrder: ColumnOrderState;
21
+ columnPinning: ColumnPinningState;
22
+ };
23
+ interface ColumnSettingsProviderProps {
24
+ children: ReactNode;
25
+ config: Record<string, any>;
26
+ onChange: (config: ColumnsConfig) => void;
27
+ }
28
+ export declare const ColumnSettingsProvider: React.FC<ColumnSettingsProviderProps>;
29
+ export declare const useColumnSettings: () => ColumnSettingsContextType;
30
+ export {};
@@ -0,0 +1,76 @@
1
+ import { ReactNode } from 'react';
2
+ import { ExpandedState, OnChangeFn, SortingState } from '@tanstack/react-table';
3
+ import { Filter } from '@ynput/ayon-react-components';
4
+ import { EditorTaskNode, FolderNodeMap, MatchingFolder, TableRow, TaskNodeMap, TasksByFolderMap } from '../types/table';
5
+ import { FindInheritedValueFromAncestors, GetAncestorsOf, GetInheritedDependents, FindNonInheritedValues } from '../hooks/useFolderRelationships';
6
+ import { RowId } from '../utils/cellUtils';
7
+ import { ProjectModel } from '../types/project';
8
+ import { AttributeWithPermissions, LoadingTasks } from '../types';
9
+ import { QueryFilter } from '../types/folders';
10
+ type User = {
11
+ name: string;
12
+ fullName?: string;
13
+ };
14
+ export interface ProjectTableContextProps {
15
+ isInitialized: ProjectTableProviderProps['isInitialized'];
16
+ isLoading: ProjectTableProviderProps['isLoading'];
17
+ projectInfo: ProjectTableProviderProps['projectInfo'];
18
+ projectName: ProjectTableProviderProps['projectName'];
19
+ users: ProjectTableProviderProps['users'];
20
+ attribFields: ProjectTableProviderProps['attribFields'];
21
+ tableData: TableRow[];
22
+ tasksMap: ProjectTableProviderProps['tasksMap'];
23
+ foldersMap: ProjectTableProviderProps['foldersMap'];
24
+ fetchNextPage: ProjectTableProviderProps['fetchNextPage'];
25
+ reloadTableData: ProjectTableProviderProps['reloadTableData'];
26
+ getEntityById: (id: string) => MatchingFolder | EditorTaskNode | undefined;
27
+ filters: ProjectTableProviderProps['filters'];
28
+ setFilters: ProjectTableProviderProps['setFilters'];
29
+ queryFilters: ProjectTableProviderProps['queryFilters'];
30
+ showHierarchy: ProjectTableProviderProps['showHierarchy'];
31
+ updateShowHierarchy: ProjectTableProviderProps['updateShowHierarchy'];
32
+ expanded: ProjectTableProviderProps['expanded'];
33
+ toggleExpanded: ProjectTableProviderProps['toggleExpanded'];
34
+ updateExpanded: ProjectTableProviderProps['updateExpanded'];
35
+ toggleExpandAll: (rowId: RowId[], expand?: boolean) => void;
36
+ sorting: ProjectTableProviderProps['sorting'];
37
+ updateSorting: ProjectTableProviderProps['updateSorting'];
38
+ getInheritedDependents: GetInheritedDependents;
39
+ findInheritedValueFromAncestors: FindInheritedValueFromAncestors;
40
+ findNonInheritedValues: FindNonInheritedValues;
41
+ getAncestorsOf: GetAncestorsOf;
42
+ }
43
+ export interface ProjectTableProviderProps {
44
+ children: ReactNode;
45
+ isInitialized: boolean;
46
+ isLoading: boolean;
47
+ isLoadingMore: boolean;
48
+ loadingTasks: LoadingTasks;
49
+ projectInfo?: ProjectModel;
50
+ projectName: string;
51
+ users: User[];
52
+ attribFields: AttributeWithPermissions[];
53
+ tasksMap: TaskNodeMap;
54
+ foldersMap: FolderNodeMap;
55
+ tasksByFolderMap: TasksByFolderMap;
56
+ fetchNextPage: () => void;
57
+ reloadTableData: () => void;
58
+ filters: Filter[];
59
+ setFilters: (filters: Filter[]) => void;
60
+ queryFilters: {
61
+ filter: QueryFilter | undefined;
62
+ filterString?: string;
63
+ search: string | undefined;
64
+ };
65
+ showHierarchy: boolean;
66
+ updateShowHierarchy: (showHierarchy: boolean) => void;
67
+ expanded: ExpandedState;
68
+ toggleExpanded: (id: string) => void;
69
+ updateExpanded: OnChangeFn<ExpandedState>;
70
+ setExpanded: (expanded: ExpandedState) => void;
71
+ sorting: SortingState;
72
+ updateSorting: OnChangeFn<SortingState>;
73
+ }
74
+ export declare const ProjectTableProvider: ({ children, foldersMap, tasksMap, tasksByFolderMap, expanded, projectInfo, showHierarchy, loadingTasks, isLoadingMore, isLoading, isInitialized, projectName, users, attribFields, filters, setFilters, queryFilters, updateShowHierarchy, toggleExpanded, updateExpanded, sorting, updateSorting, fetchNextPage, reloadTableData, setExpanded, }: ProjectTableProviderProps) => import("react/jsx-runtime").JSX.Element;
75
+ export declare const useProjectTableContext: () => ProjectTableContextProps;
76
+ export {};
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ import { OperationModel, OperationsRequestModel } from '../types/operations';
3
+ import { PatchOperation } from '../types';
4
+ export interface ProjectTableQueriesContextProps {
5
+ updateEntities: ProjectTableQueriesProviderProps['updateEntities'];
6
+ getFoldersTasks: ProjectTableQueriesProviderProps['getFoldersTasks'];
7
+ }
8
+ export interface ProjectTableQueriesProviderProps {
9
+ children: ReactNode;
10
+ updateEntities: ({ operations, }: {
11
+ operations: OperationModel[];
12
+ patchOperations?: PatchOperation[];
13
+ }) => Promise<OperationsRequestModel | undefined>;
14
+ getFoldersTasks: (args: {
15
+ parentIds: string[];
16
+ filter?: string;
17
+ search?: string;
18
+ }, force?: boolean) => Promise<any>;
19
+ }
20
+ export declare const ProjectTableQueriesProvider: ({ children, updateEntities, getFoldersTasks, }: ProjectTableQueriesProviderProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const useProjectTableQueriesContext: () => ProjectTableQueriesContextProps;
@@ -0,0 +1,15 @@
1
+ import { ReactNode } from 'react';
2
+ export interface SelectedRowsContextProps {
3
+ selectedRows: string[];
4
+ isRowSelected: (rowId: string) => boolean;
5
+ clearRowsSelection: () => void;
6
+ selectAllRows: () => void;
7
+ areAllRowsSelected: () => boolean;
8
+ areSomeRowsSelected: () => boolean;
9
+ }
10
+ interface SelectedRowsProviderProps {
11
+ children: ReactNode;
12
+ }
13
+ export declare const SelectedRowsProvider: ({ children }: SelectedRowsProviderProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const useSelectedRowsContext: () => SelectedRowsContextProps;
15
+ export {};
@@ -0,0 +1,35 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ import { CellId, RowId, ColId, CellPosition } from '../utils/cellUtils';
3
+ export declare const ROW_SELECTION_COLUMN_ID = "__row_selection__";
4
+ export interface GridMap {
5
+ rowIdToIndex: Map<RowId, number>;
6
+ colIdToIndex: Map<ColId, number>;
7
+ indexToRowId: Map<number, RowId>;
8
+ indexToColId: Map<number, ColId>;
9
+ }
10
+ export interface SelectionContextType {
11
+ selectedCells: Set<CellId>;
12
+ focusedCellId: CellId | null;
13
+ selectionInProgress: boolean;
14
+ anchorCell: CellPosition | null;
15
+ gridMap: GridMap;
16
+ selectedRows: string[];
17
+ setSelectedCells: React.Dispatch<React.SetStateAction<Set<CellId>>>;
18
+ setFocusedCellId: React.Dispatch<React.SetStateAction<CellId | null>>;
19
+ setAnchorCell: React.Dispatch<React.SetStateAction<CellPosition | null>>;
20
+ registerGrid: (rows: RowId[], columns: ColId[]) => void;
21
+ selectCell: (cellId: CellId, additive: boolean, range: boolean) => void;
22
+ startSelection: (cellId: CellId, additive: boolean) => void;
23
+ extendSelection: (cellId: CellId, isRowSelectionColumn?: boolean) => void;
24
+ endSelection: (cellId: CellId) => void;
25
+ focusCell: (cellId: CellId | null) => void;
26
+ clearSelection: () => void;
27
+ isCellSelected: (cellId: CellId) => boolean;
28
+ isCellFocused: (cellId: CellId) => boolean;
29
+ getCellPositionFromId: (cellId: CellId) => CellPosition | null;
30
+ getCellBorderClasses: (cellId: CellId) => string[];
31
+ }
32
+ export declare const SelectionProvider: React.FC<{
33
+ children: ReactNode;
34
+ }>;
35
+ export declare const useSelectionContext: () => SelectionContextType;
@@ -0,0 +1,27 @@
1
+ import { ReactNode } from 'react';
2
+ import { FolderNodeMap, TaskNodeMap } from '../../types/table';
3
+ import { AttributeEnumItem, BuiltInFieldOptions } from '../../types';
4
+ export declare const builtInFieldMappings: {
5
+ status: string;
6
+ folderType: string;
7
+ taskType: string;
8
+ };
9
+ export interface ColumnEnums extends BuiltInFieldOptions {
10
+ [attrib: string]: AttributeEnumItem[];
11
+ }
12
+ export interface ClipboardContextType {
13
+ copyToClipboard: (selected?: string[], fullRow?: boolean) => Promise<void>;
14
+ pasteFromClipboard: (selected?: string[]) => Promise<void>;
15
+ exportCSV: (selected: string[], projectName: string, fullRow?: boolean) => void;
16
+ }
17
+ export interface ClipboardProviderProps {
18
+ children: ReactNode;
19
+ foldersMap: FolderNodeMap;
20
+ tasksMap: TaskNodeMap;
21
+ columnEnums: ColumnEnums;
22
+ columnReadOnly: string[];
23
+ }
24
+ export interface ParsedClipboardData {
25
+ values: string[];
26
+ colIds: string[];
27
+ }
@@ -0,0 +1,6 @@
1
+ import { FolderNodeMap, TaskNodeMap } from '../../types/table';
2
+ import { ParsedClipboardData } from './clipboardTypes';
3
+ export declare const clipboardError: (error: string) => import('react-toastify').Id;
4
+ export declare const parseClipboardText: (clipboardText: string) => ParsedClipboardData[];
5
+ export declare const getEntityPath: (entityId: string, isFolder: boolean, foldersMap: FolderNodeMap, tasksMap: TaskNodeMap) => string;
6
+ export declare const processFieldValue: (value: string, fieldValueType: "string" | "number" | "boolean" | "array") => any;
@@ -0,0 +1,12 @@
1
+ import { ColumnEnums, ParsedClipboardData } from './clipboardTypes';
2
+ export declare const validateClipboardData: (params: {
3
+ colId: string;
4
+ isFolder: boolean;
5
+ pasteValue: string;
6
+ parsedData: ParsedClipboardData[];
7
+ columnEnums: ColumnEnums;
8
+ columnReadOnly: string[];
9
+ rowIndex: number;
10
+ colIndex: number;
11
+ isSingleCellValue: boolean;
12
+ }) => boolean;
@@ -0,0 +1,3 @@
1
+ export * from './clipboardTypes';
2
+ export * from './clipboardUtils';
3
+ export * from './clipboardValidation';
@@ -0,0 +1,8 @@
1
+ export * from './clipboard';
2
+ export * from './CellEditingContext';
3
+ export * from './ClipboardContext';
4
+ export * from './ColumnSettingsContext';
5
+ export * from './ProjectTableContext';
6
+ export * from './ProjectTableQueriesContext';
7
+ export * from './SelectedRowsContext';
8
+ export * from './SelectionContext';
@@ -0,0 +1,10 @@
1
+ import { AttributeWithPermissions } from '../types';
2
+ type ContextEvent = React.MouseEvent<HTMLTableSectionElement, MouseEvent>;
3
+ type CellContextMenuProps = {
4
+ attribs: AttributeWithPermissions[];
5
+ onOpenNew?: (type: 'folder' | 'task') => void;
6
+ };
7
+ declare const useCellContextMenu: ({ attribs, onOpenNew }: CellContextMenuProps) => {
8
+ handleTableBodyContextMenu: (e: ContextEvent) => void;
9
+ };
10
+ export default useCellContextMenu;
@@ -0,0 +1,17 @@
1
+ import { useVirtualizer } from '@tanstack/react-virtual';
2
+ import { Column } from '@tanstack/react-table';
3
+ import { TableRow } from '../types/table';
4
+ interface UseColumnVirtualizationProps {
5
+ visibleColumns: Column<TableRow, unknown>[];
6
+ tableContainerRef: React.RefObject<HTMLDivElement>;
7
+ columnPinning: {
8
+ left?: string[];
9
+ };
10
+ }
11
+ interface UseColumnVirtualizationResult {
12
+ columnVirtualizer: ReturnType<typeof useVirtualizer<HTMLDivElement, HTMLTableCellElement>>;
13
+ virtualPaddingLeft: number | undefined;
14
+ virtualPaddingRight: number | undefined;
15
+ }
16
+ declare const useColumnVirtualization: ({ visibleColumns, tableContainerRef, columnPinning, }: UseColumnVirtualizationProps) => UseColumnVirtualizationResult;
17
+ export default useColumnVirtualization;
@@ -0,0 +1,6 @@
1
+ import { ColumnSizingState, Table } from '@tanstack/react-table';
2
+ import { TableRow } from '../types/table';
3
+ declare const useCustomColumnWidthVars: (table: Table<TableRow>, columnSizing: ColumnSizingState) => {
4
+ [key: string]: number;
5
+ };
6
+ export default useCustomColumnWidthVars;
@@ -0,0 +1,5 @@
1
+ type UseDeleteEntitiesProps = {
2
+ onSuccess?: () => void;
3
+ };
4
+ declare const useDeleteEntities: ({ onSuccess }: UseDeleteEntitiesProps) => (entityIds: string[]) => Promise<void>;
5
+ export default useDeleteEntities;
@@ -0,0 +1,29 @@
1
+ import { EditorTaskNode, FolderNodeMap, MatchingFolder, TaskNodeMap } from '../types/table';
2
+ import { ProjectAttribModel2 } from '../types/project';
3
+ import { AttributeWithPermissions } from '../types';
4
+ export interface InheritedDependent {
5
+ entityId: string;
6
+ entityType: 'task' | 'folder';
7
+ attrib: Record<string, any>;
8
+ }
9
+ export type GetInheritedDependents = (entities: InheritedDependent[]) => InheritedDependent[];
10
+ export type FindInheritedValueFromAncestors = (entityId: string, entityType: 'folder' | 'task', attribName: string) => any;
11
+ export type FindNonInheritedValues = (folderId: string, attribNames: string[]) => Record<string, any>;
12
+ export type GetAncestorsOf = (id: string) => string[];
13
+ interface UseFolderRelationshipsProps {
14
+ foldersMap: FolderNodeMap;
15
+ tasksMap: TaskNodeMap;
16
+ tasksByFolderMap: Map<string, string[]>;
17
+ getEntityById: (id: string) => any;
18
+ projectAttrib: ProjectAttribModel2 | undefined;
19
+ attribFields: AttributeWithPermissions[] | undefined;
20
+ }
21
+ export default function useFolderRelationships({ foldersMap, tasksMap, tasksByFolderMap, getEntityById, projectAttrib, attribFields, }: UseFolderRelationshipsProps): {
22
+ folderChildrenMap: Map<string, string[]>;
23
+ getChildrenEntities: (id: string) => (MatchingFolder | EditorTaskNode)[];
24
+ getInheritedDependents: GetInheritedDependents;
25
+ findInheritedValueFromAncestors: FindInheritedValueFromAncestors;
26
+ findNonInheritedValues: FindNonInheritedValues;
27
+ getAncestorsOf: GetAncestorsOf;
28
+ };
29
+ export {};
@@ -0,0 +1,17 @@
1
+ import { EntityUpdate, InheritFromParentEntity } from './useUpdateOverview';
2
+ export interface HistoryEntityUpdate extends EntityUpdate {
3
+ ownAttrib: string[];
4
+ folderId?: string;
5
+ wasInherited?: boolean;
6
+ }
7
+ type SplitEntitiesByInherited = [EntityUpdate[], InheritFromParentEntity[]];
8
+ export interface UseHistoryReturn {
9
+ pushHistory: (undo: HistoryEntityUpdate[], redo: HistoryEntityUpdate[]) => void;
10
+ undo: () => SplitEntitiesByInherited | null;
11
+ redo: () => SplitEntitiesByInherited | null;
12
+ canUndo: boolean;
13
+ canRedo: boolean;
14
+ clearHistory: () => void;
15
+ }
16
+ declare const useHistory: (maxHistorySize?: number) => UseHistoryReturn;
17
+ export default useHistory;
@@ -0,0 +1,10 @@
1
+ export default function useKeyboardNavigation(): {
2
+ handleKeyDown: (e: KeyboardEvent) => void;
3
+ focusedCellId: string | null;
4
+ gridMap: import('../context/SelectionContext').GridMap;
5
+ selectCell: (cellId: import('../utils/cellUtils').CellId, additive: boolean, range: boolean) => void;
6
+ focusCell: (cellId: import('../utils/cellUtils').CellId | null) => void;
7
+ clearSelection: () => void;
8
+ setEditingCellId: (id: import('../utils/cellUtils').CellId | null) => void;
9
+ editingCellId: string | null;
10
+ };
@@ -0,0 +1,32 @@
1
+ import { FolderNodeMap, TableRow, TaskNodeMap, TasksByFolderMap } from '../types/table';
2
+ import { ExpandedState } from '@tanstack/react-table';
3
+ import { LoadingTasks } from '../types';
4
+ import { FolderType, TaskType } from '../types/project';
5
+ type Params = {
6
+ foldersMap: FolderNodeMap;
7
+ tasksMap: TaskNodeMap;
8
+ tasksByFolderMap: TasksByFolderMap;
9
+ expanded: ExpandedState;
10
+ folderTypes?: FolderType[];
11
+ taskTypes?: TaskType[];
12
+ showHierarchy: boolean;
13
+ loadingTasks: LoadingTasks;
14
+ isLoadingMore?: boolean;
15
+ };
16
+ /**
17
+ * React hook that creates a hierarchical tree structure from folders and tasks for use with TanStack Table
18
+ * Uses memoization to avoid unnecessary recalculations on re-render
19
+ *
20
+ * @param foldersMap - Map of folders organized by folder ID
21
+ * @param tasksMap - Map of tasks organized by task ID
22
+ * @param tasksByFolderMap - Map of tasks organized by folder ID
23
+ * @param expanded - Object with folder IDs as keys to indicate expanded folders
24
+ * @param folderTypes - Array of folder types for to add things like folder icon
25
+ * @param taskTypes - Array of task types for to add things like task icon
26
+ * @param showHierarchy - Boolean to indicate if the hierarchy should be shown
27
+ * @param loadingTasks - Object with folder IDs as keys to indicate loading tasks
28
+ * @param isLoadingMore - Boolean to indicate if more tasks are being loaded
29
+ * @returns An array of TableRow objects with nested subRows suitable for TanStack Table
30
+ */
31
+ export default function useOverviewTable({ foldersMap, tasksMap, tasksByFolderMap, expanded, folderTypes, taskTypes, showHierarchy, loadingTasks, isLoadingMore, }: Params): TableRow[];
32
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const usePrefetchFolderTasks: () => {
2
+ handlePreFetchTasks: (e: React.MouseEvent<HTMLTableSectionElement>) => void;
3
+ };
4
+ export default usePrefetchFolderTasks;
@@ -0,0 +1,30 @@
1
+ import { CellId } from '../utils/cellUtils';
2
+ import { CellValue } from '../widgets/CellWidget';
3
+ import { UseHistoryReturn } from './useHistory';
4
+ export type EntityUpdate = {
5
+ id: string;
6
+ type: string;
7
+ field: string;
8
+ value: CellValue | CellValue[] | null;
9
+ isAttrib?: boolean;
10
+ };
11
+ export type UpdateTableEntities = (entities: EntityUpdate[], pushHistory?: boolean) => Promise<void>;
12
+ export type InheritFromParentEntity = {
13
+ entityId: string;
14
+ entityType: string;
15
+ attribs: string[];
16
+ ownAttrib: string[];
17
+ folderId: string;
18
+ };
19
+ export type InheritFromParent = (entities: InheritFromParentEntity[], pushHistory?: boolean) => Promise<void>;
20
+ export type UpdateTableEntity = (cellId: CellId, value: string, { includeSelection }: {
21
+ includeSelection: boolean;
22
+ }) => Promise<void>;
23
+ interface UseUpdateOverviewProps {
24
+ pushHistory?: UseHistoryReturn['pushHistory'];
25
+ }
26
+ declare const useUpdateOverview: (props?: UseUpdateOverviewProps) => {
27
+ updateEntities: UpdateTableEntities;
28
+ inheritFromParent: InheritFromParent;
29
+ };
30
+ export default useUpdateOverview;
@@ -0,0 +1,3 @@
1
+ import { EntityUpdate } from './useUpdateOverview';
2
+ declare const useValidateUpdates: () => (entities?: EntityUpdate[]) => void;
3
+ export default useValidateUpdates;
@@ -0,0 +1,14 @@
1
+ export * from './ProjectTreeTable';
2
+ export { SelectionProvider, useSelectionContext, ROW_SELECTION_COLUMN_ID, } from './context/SelectionContext';
3
+ export type { GridMap, SelectionContextType } from './context/SelectionContext';
4
+ export { ProjectTableProvider, useProjectTableContext } from './context/ProjectTableContext';
5
+ export type { ProjectTableContextProps } from './context/ProjectTableContext';
6
+ export { ProjectTableQueriesProvider, useProjectTableQueriesContext, } from './context/ProjectTableQueriesContext';
7
+ export type { ProjectTableQueriesContextProps } from './context/ProjectTableQueriesContext';
8
+ export { SelectedRowsProvider, useSelectedRowsContext } from './context/SelectedRowsContext';
9
+ export type { SelectedRowsContextProps } from './context/SelectedRowsContext';
10
+ export { ColumnSettingsProvider, useColumnSettings } from './context/ColumnSettingsContext';
11
+ export type { ColumnSettingsContextType } from './context/ColumnSettingsContext';
12
+ export * from './utils';
13
+ export * from './types';
14
+ export * from './context';
@@ -0,0 +1,14 @@
1
+ export type QueryCondition = {
2
+ /** Path to the key separated by slashes */
3
+ key: string;
4
+ /** Value to compare against */
5
+ value?: string | number | number | string[] | number[] | number[];
6
+ /** Comparison operator */
7
+ operator?: 'eq' | 'like' | 'lt' | 'gt' | 'lte' | 'gte' | 'ne' | 'isnull' | 'notnull' | 'in' | 'notin' | 'includes' | 'excludes' | 'includesall' | 'excludesall' | 'includesany' | 'excludesany';
8
+ };
9
+ export type QueryFilter = {
10
+ /** List of conditions to be evaluated */
11
+ conditions?: (QueryCondition | QueryFilter)[];
12
+ /** Operator to use when joining conditions */
13
+ operator?: 'and' | 'or';
14
+ };
@@ -0,0 +1,62 @@
1
+ import { OperationModel } from './operations';
2
+ export * from './table';
3
+ export type AttributeEnumItem = {
4
+ value: string | number | number | boolean;
5
+ label: string;
6
+ icon?: string;
7
+ color?: string;
8
+ };
9
+ export type AttributeData = {
10
+ /** Type of attribute value */
11
+ type: 'string' | 'integer' | 'float' | 'boolean' | 'datetime' | 'list_of_strings' | 'list_of_integers' | 'list_of_any' | 'list_of_submodels' | 'dict';
12
+ /** Nice, human readable title of the attribute */
13
+ title?: string;
14
+ description?: string;
15
+ /** Example value of the field. */
16
+ example?: any;
17
+ /** Default value for the attribute. Do not set for list types. */
18
+ default?: any;
19
+ gt?: number | number;
20
+ ge?: number | number;
21
+ lt?: number | number;
22
+ le?: number | number;
23
+ minLength?: number;
24
+ maxLength?: number;
25
+ /** Minimum number of items in list type. */
26
+ minItems?: number;
27
+ /** Only for list types. Maximum number of items in the list. */
28
+ maxItems?: number;
29
+ /** Only for string types. The value must match this regex. */
30
+ regex?: string;
31
+ /** List of enum items used for displaying select/multiselect widgets */
32
+ enum?: AttributeEnumItem[];
33
+ /** Inherit the attribute value from the parent entity. */
34
+ inherit?: boolean;
35
+ };
36
+ export type AttributeModel = {
37
+ name: string;
38
+ /** Default order */
39
+ position: number;
40
+ /** List of entity types the attribute is available on */
41
+ scope?: (('folder' | 'product' | 'version' | 'representation' | 'task' | 'workfile') | ('project' | 'user'))[];
42
+ /** Is attribute builtin. Built-in attributes cannot be removed. */
43
+ builtin?: boolean;
44
+ data: AttributeData;
45
+ };
46
+ export interface AttributeWithPermissions extends AttributeModel {
47
+ readOnly?: boolean;
48
+ }
49
+ export type LoadingTasks = Record<string, number>;
50
+ export type PatchOperation = Pick<OperationModel, 'entityId' | 'entityType' | 'data'> & {
51
+ type?: OperationModel['type'];
52
+ };
53
+ interface EnumOption extends AttributeEnumItem {
54
+ scope?: string[];
55
+ }
56
+ export type BuiltInFieldOptions = {
57
+ folderTypes: EnumOption[];
58
+ taskTypes: EnumOption[];
59
+ statuses: EnumOption[];
60
+ assignees: EnumOption[];
61
+ tags: EnumOption[];
62
+ };