@ynput/ayon-frontend-shared 0.4.2 → 0.4.3

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 (179) hide show
  1. package/dist/ProjectTreeTable.cjs.js +1 -1
  2. package/dist/ProjectTreeTable.es.js +247 -243
  3. package/dist/_virtual/index.cjs22.js +1 -1
  4. package/dist/_virtual/index.cjs23.js +1 -1
  5. package/dist/_virtual/index.cjs24.js +1 -1
  6. package/dist/_virtual/index.cjs4.js +1 -1
  7. package/dist/_virtual/index.cjs5.js +1 -1
  8. package/dist/_virtual/index.cjs6.js +1 -1
  9. package/dist/_virtual/index.cjs8.js +1 -1
  10. package/dist/_virtual/index.es22.js +3 -3
  11. package/dist/_virtual/index.es23.js +5 -5
  12. package/dist/_virtual/index.es24.js +5 -5
  13. package/dist/_virtual/index.es4.js +2 -5
  14. package/dist/_virtual/index.es4.js.map +1 -1
  15. package/dist/_virtual/index.es5.js +5 -2
  16. package/dist/_virtual/index.es5.js.map +1 -1
  17. package/dist/_virtual/index.es6.js +2 -2
  18. package/dist/_virtual/index.es8.js +2 -2
  19. package/dist/api.cjs.js +1 -1
  20. package/dist/api.es.js +446 -445
  21. package/dist/index.cjs.js +1 -1
  22. package/dist/index.es.js +20 -9
  23. package/dist/index.es.js.map +1 -1
  24. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  25. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  26. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  27. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  28. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  29. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  30. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  31. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  32. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  33. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  34. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  35. package/dist/node_modules/remove-accents/index.es.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  42. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  43. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  44. package/dist/shared/src/api/generated/graphql.cjs.js +85 -28
  45. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  46. package/dist/shared/src/api/generated/graphql.es.js +129 -68
  47. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  48. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  49. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  50. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +36 -36
  51. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  52. package/dist/shared/src/components/Chips/Chips.cjs.js +12 -6
  53. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  54. package/dist/shared/src/components/Chips/Chips.es.js +69 -62
  55. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  56. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  57. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  58. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +32 -12
  59. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  60. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  61. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  62. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +33 -33
  63. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  64. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  65. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  66. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
  67. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
  68. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +39 -8
  69. package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
  70. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  71. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  72. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +32 -31
  73. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  74. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  75. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  76. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
  77. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
  78. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +24 -18
  79. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
  80. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +1 -1
  81. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -1
  82. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +26 -25
  83. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -1
  84. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  85. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  86. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +14 -2
  87. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  88. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  89. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  90. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +125 -126
  91. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  92. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +6 -0
  93. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  94. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +14 -8
  95. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  96. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  97. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  98. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +200 -178
  99. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  100. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  101. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  102. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +14 -3
  103. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  104. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +1 -1
  105. package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -1
  106. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -3
  107. package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -1
  108. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  109. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  110. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +19 -19
  111. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  112. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +5 -3
  113. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  114. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +100 -97
  115. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  116. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js +9 -1
  117. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.cjs.js.map +1 -1
  118. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js +47 -31
  119. package/dist/shared/src/containers/ProjectTreeTable/widgets/DateWidget.es.js.map +1 -1
  120. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js +28 -9
  121. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  122. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js +58 -39
  123. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  124. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +53 -25
  125. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  126. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +150 -103
  127. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  128. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +9 -2
  129. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  130. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +66 -57
  131. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  132. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  133. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  134. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -8
  135. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  136. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +20 -4
  137. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  138. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +86 -67
  139. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  140. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js +6 -0
  141. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.cjs.js.map +1 -0
  142. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js +11 -0
  143. package/dist/shared/src/containers/ProjectTreeTable/widgets/wrapMode.es.js.map +1 -0
  144. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  145. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  146. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +67 -62
  147. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  148. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  149. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  150. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +47 -46
  151. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  152. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  153. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  154. package/dist/shared/src/context/ProjectContext.es.js +1 -1
  155. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  156. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js +1 -1
  157. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
  158. package/dist/shared/src/util/buildHierarchicalTableRows.es.js +36 -33
  159. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
  160. package/dist/types/api/generated/graphql.d.ts +71 -0
  161. package/dist/types/api/queries/activities/getActivities.d.ts +28 -0
  162. package/dist/types/api/queries/entities/getEntity.d.ts +14 -0
  163. package/dist/types/api/queries/entities/getEntityPanel.d.ts +14 -0
  164. package/dist/types/api/queries/entities/updateEntity.d.ts +14 -0
  165. package/dist/types/api/queries/entityLists/getLists.d.ts +14 -0
  166. package/dist/types/api/queries/overview/getOverview.d.ts +14 -0
  167. package/dist/types/api/queries/project/getProject.d.ts +14 -0
  168. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +14 -0
  169. package/dist/types/api/queries/users/getUsers.d.ts +14 -0
  170. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +28 -0
  171. package/dist/types/components/SubtasksManager/SubtasksManagerWrapper.d.ts +4 -1
  172. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +1 -0
  173. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -0
  174. package/dist/types/containers/ProjectTreeTable/constants.d.ts +3 -0
  175. package/dist/types/containers/ProjectTreeTable/widgets/SubtasksWidget.d.ts +1 -0
  176. package/dist/types/containers/ProjectTreeTable/widgets/wrapMode.d.ts +2 -0
  177. package/dist/types/containers/Views/context/ViewsContext.d.ts +1 -0
  178. package/dist/types/util/buildHierarchicalTableRows.d.ts +2 -0
  179. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"buildHierarchicalTableRows.es.js","sources":["../../../../src/util/buildHierarchicalTableRows.ts"],"sourcesContent":["import type { SimpleTableRow } from '@shared/containers/SimpleTable/SimpleTable.types'\n\n/**\n * Generic folder node structure for hierarchical data\n */\nexport interface HierarchicalFolderNode<TFolder, TItem> {\n id: string\n folder: TFolder\n children: Map<string, HierarchicalFolderNode<TFolder, TItem>>\n items: TItem[]\n hasAnyItems: boolean\n}\n\n/**\n * Configuration for building hierarchical table rows\n */\nexport interface BuildHierarchicalRowsConfig<TFolder, TItem> {\n /** Map of folder nodes */\n folderNodes: Map<string, HierarchicalFolderNode<TFolder, TItem>>\n /** Set of root folder IDs */\n rootFolderIds: Set<string>\n /** Whether to show empty folders */\n showEmptyFolders: boolean\n /** Function to build row ID from folder ID */\n buildFolderRowId: (folderId: string) => string\n /** Function to create a table row for an item */\n createItemRow: (item: TItem, parentId?: string, parentPath?: string[]) => SimpleTableRow\n /** Function to sort folder nodes */\n sortFolderNodes: (\n nodes: HierarchicalFolderNode<TFolder, TItem>[],\n ) => HierarchicalFolderNode<TFolder, TItem>[]\n /** Function to sort items within a folder */\n sortItems?: (items: TItem[]) => TItem[]\n /** Function to extract folder label */\n getFolderLabel: (folder: TFolder) => string\n /** Function to extract folder icon */\n getFolderIcon: (folder: TFolder) => string\n /** Function to extract folder color */\n getFolderColor: (folder: TFolder) => string | undefined\n /** Function to get item count for display */\n getItemCount: (node: HierarchicalFolderNode<TFolder, TItem>) => number\n /** Optional: returns true if the folder is genuinely empty, false if it has items the user can't see (e.g. restricted projects). Hides folders with restricted content regardless of showEmptyFolders. */\n getFolderIsEmpty?: (folder: TFolder) => boolean | undefined\n}\n\n/**\n * Builds table rows iteratively using depth-first traversal from a hierarchical folder structure.\n * This is a generic function that can be used for both projects and lists or any other hierarchical data.\n */\nexport const buildHierarchicalTableRows = <TFolder, TItem>(\n config: BuildHierarchicalRowsConfig<TFolder, TItem>,\n): SimpleTableRow[] => {\n const {\n folderNodes,\n rootFolderIds,\n showEmptyFolders,\n buildFolderRowId,\n createItemRow,\n sortFolderNodes,\n sortItems,\n getFolderLabel,\n getFolderIcon,\n getFolderColor,\n getItemCount,\n getFolderIsEmpty,\n } = config\n\n const isFolderVisible = (node: HierarchicalFolderNode<TFolder, TItem>): boolean => {\n if (node.hasAnyItems) return true\n if (getFolderIsEmpty?.(node.folder) === false) return false\n return showEmptyFolders\n }\n\n const result: SimpleTableRow[] = []\n\n // Get root folders and sort them\n const rootNodes = Array.from(folderNodes.values()).filter(\n (node) => rootFolderIds.has(node.id) && isFolderVisible(node),\n )\n const sortedRootNodes = sortFolderNodes(rootNodes)\n\n // Stack for iterative depth-first traversal\n type StackItem = {\n node: HierarchicalFolderNode<TFolder, TItem>\n targetArray: SimpleTableRow[]\n isProcessed: boolean\n parentPath: string[]\n }\n\n const stack: StackItem[] = []\n\n // Add root nodes to stack in reverse order (so first item is processed first)\n for (let i = sortedRootNodes.length - 1; i >= 0; i--) {\n stack.push({\n node: sortedRootNodes[i],\n targetArray: result,\n isProcessed: false,\n parentPath: [],\n })\n }\n\n while (stack.length > 0) {\n const item = stack[stack.length - 1] // Peek at top\n\n if (item.isProcessed) {\n // This node has been processed, remove from stack\n stack.pop()\n continue\n }\n\n // Mark as processed to avoid infinite loops\n item.isProcessed = true\n const { node, targetArray, parentPath } = item\n\n const folderLabel = getFolderLabel(node.folder)\n const folderColor = getFolderColor(node.folder)\n\n // Create folder row\n const folderRow: SimpleTableRow = {\n id: buildFolderRowId(node.id),\n name: folderLabel,\n label: folderLabel,\n ...(parentPath.length > 0 && { parents: parentPath }),\n icon: getFolderIcon(node.folder),\n iconColor: folderColor,\n iconFilled: true,\n subRows: [],\n data: {\n id: node.id,\n isGroupRow: true,\n count: getItemCount(node),\n type: node.id,\n isFolder: true,\n color: folderColor,\n },\n }\n\n // Add to target array\n targetArray.push(folderRow)\n\n // Add items to this folder (sorted if sort function provided)\n const itemsToAdd = sortItems ? sortItems(node.items) : node.items\n for (const item of itemsToAdd) {\n folderRow.subRows.push(createItemRow(item, node.id, [...parentPath, folderLabel]))\n }\n\n // Get child folders and sort them\n const childNodes = Array.from(node.children.values()).filter(isFolderVisible)\n const sortedChildNodes = sortFolderNodes(childNodes)\n\n // Add child folders to stack in reverse order (for correct processing order)\n for (let i = sortedChildNodes.length - 1; i >= 0; i--) {\n stack.push({\n node: sortedChildNodes[i],\n targetArray: folderRow.subRows,\n isProcessed: false,\n parentPath: [...parentPath, folderLabel],\n })\n }\n }\n\n return result\n}\n"],"names":["buildHierarchicalTableRows","config","folderNodes","rootFolderIds","showEmptyFolders","buildFolderRowId","createItemRow","sortFolderNodes","sortItems","getFolderLabel","getFolderIcon","getFolderColor","getItemCount","getFolderIsEmpty","isFolderVisible","node","result","rootNodes","sortedRootNodes","stack","i","item","targetArray","parentPath","folderLabel","folderColor","folderRow","itemsToAdd","childNodes","sortedChildNodes"],"mappings":"AAiDO,MAAMA,IAA6B,CACxCC,MACqB;AACrB,QAAM;AAAA,IACJ,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,EAAA,IACEZ,GAEEa,IAAkB,CAACC,MACnBA,EAAK,cAAoB,KACzBF,IAAmBE,EAAK,MAAM,MAAM,KAAc,KAC/CX,GAGHY,IAA2B,CAAA,GAG3BC,IAAY,MAAM,KAAKf,EAAY,OAAA,CAAQ,EAAE;AAAA,IACjD,CAACa,MAASZ,EAAc,IAAIY,EAAK,EAAE,KAAKD,EAAgBC,CAAI;AAAA,EAAA,GAExDG,IAAkBX,EAAgBU,CAAS,GAU3CE,IAAqB,CAAA;AAG3B,WAASC,IAAIF,EAAgB,SAAS,GAAGE,KAAK,GAAGA;AAC/C,IAAAD,EAAM,KAAK;AAAA,MACT,MAAMD,EAAgBE,CAAC;AAAA,MACvB,aAAaJ;AAAA,MACb,aAAa;AAAA,MACb,YAAY,CAAA;AAAA,IAAC,CACd;AAGH,SAAOG,EAAM,SAAS,KAAG;AACvB,UAAME,IAAOF,EAAMA,EAAM,SAAS,CAAC;AAEnC,QAAIE,EAAK,aAAa;AAEpB,MAAAF,EAAM,IAAA;AACN;AAAA,IACF;AAGA,IAAAE,EAAK,cAAc;AACnB,UAAM,EAAE,MAAAN,GAAM,aAAAO,GAAa,YAAAC,EAAA,IAAeF,GAEpCG,IAAcf,EAAeM,EAAK,MAAM,GACxCU,IAAcd,EAAeI,EAAK,MAAM,GAGxCW,IAA4B;AAAA,MAChC,IAAIrB,EAAiBU,EAAK,EAAE;AAAA,MAC5B,MAAMS;AAAA,MACN,OAAOA;AAAA,MACP,GAAID,EAAW,SAAS,KAAK,EAAE,SAASA,EAAA;AAAA,MACxC,MAAMb,EAAcK,EAAK,MAAM;AAAA,MAC/B,WAAWU;AAAA,MACX,YAAY;AAAA,MACZ,SAAS,CAAA;AAAA,MACT,MAAM;AAAA,QACJ,IAAIV,EAAK;AAAA,QACT,YAAY;AAAA,QACZ,OAAOH,EAAaG,CAAI;AAAA,QACxB,MAAMA,EAAK;AAAA,QACX,UAAU;AAAA,QACV,OAAOU;AAAA,MAAA;AAAA,IACT;AAIF,IAAAH,EAAY,KAAKI,CAAS;AAG1B,UAAMC,IAAanB,IAAYA,EAAUO,EAAK,KAAK,IAAIA,EAAK;AAC5D,eAAWM,KAAQM;AACjB,MAAAD,EAAU,QAAQ,KAAKpB,EAAce,GAAMN,EAAK,IAAI,CAAC,GAAGQ,GAAYC,CAAW,CAAC,CAAC;AAInF,UAAMI,IAAa,MAAM,KAAKb,EAAK,SAAS,OAAA,CAAQ,EAAE,OAAOD,CAAe,GACtEe,IAAmBtB,EAAgBqB,CAAU;AAGnD,aAASR,IAAIS,EAAiB,SAAS,GAAGT,KAAK,GAAGA;AAChD,MAAAD,EAAM,KAAK;AAAA,QACT,MAAMU,EAAiBT,CAAC;AAAA,QACxB,aAAaM,EAAU;AAAA,QACvB,aAAa;AAAA,QACb,YAAY,CAAC,GAAGH,GAAYC,CAAW;AAAA,MAAA,CACxC;AAAA,EAEL;AAEA,SAAOR;AACT;"}
1
+ {"version":3,"file":"buildHierarchicalTableRows.es.js","sources":["../../../../src/util/buildHierarchicalTableRows.ts"],"sourcesContent":["import type { SimpleTableRow } from '@shared/containers/SimpleTable/SimpleTable.types'\n\n/**\n * Generic folder node structure for hierarchical data\n */\nexport interface HierarchicalFolderNode<TFolder, TItem> {\n id: string\n folder: TFolder\n children: Map<string, HierarchicalFolderNode<TFolder, TItem>>\n items: TItem[]\n hasAnyItems: boolean\n}\n\n/**\n * Configuration for building hierarchical table rows\n */\nexport interface BuildHierarchicalRowsConfig<TFolder, TItem> {\n /** Map of folder nodes */\n folderNodes: Map<string, HierarchicalFolderNode<TFolder, TItem>>\n /** Set of root folder IDs */\n rootFolderIds: Set<string>\n /** Whether to show empty folders */\n showEmptyFolders: boolean\n /** Function to build row ID from folder ID */\n buildFolderRowId: (folderId: string) => string\n /** Function to create a table row for an item */\n createItemRow: (item: TItem, parentId?: string, parentPath?: string[]) => SimpleTableRow\n /** Function to sort folder nodes */\n sortFolderNodes: (\n nodes: HierarchicalFolderNode<TFolder, TItem>[],\n ) => HierarchicalFolderNode<TFolder, TItem>[]\n /** Function to sort items within a folder */\n sortItems?: (items: TItem[]) => TItem[]\n /** Function to extract folder label */\n getFolderLabel: (folder: TFolder) => string\n /** Function to extract folder icon */\n getFolderIcon: (folder: TFolder) => string\n /** Function to extract folder color */\n getFolderColor: (folder: TFolder) => string | undefined\n /** Function to get item count for display */\n getItemCount: (node: HierarchicalFolderNode<TFolder, TItem>) => number\n /** Optional: returns true if the folder is genuinely empty, false if it has items the user can't see (e.g. restricted projects). Hides folders with restricted content regardless of showEmptyFolders. */\n getFolderIsEmpty?: (folder: TFolder) => boolean | undefined\n /** Optional: why a folder can't be picked (row shown but not selectable); undefined = selectable */\n getFolderDisabledMessage?: (folder: TFolder) => string | undefined\n}\n\n/**\n * Builds table rows iteratively using depth-first traversal from a hierarchical folder structure.\n * This is a generic function that can be used for both projects and lists or any other hierarchical data.\n */\nexport const buildHierarchicalTableRows = <TFolder, TItem>(\n config: BuildHierarchicalRowsConfig<TFolder, TItem>,\n): SimpleTableRow[] => {\n const {\n folderNodes,\n rootFolderIds,\n showEmptyFolders,\n buildFolderRowId,\n createItemRow,\n sortFolderNodes,\n sortItems,\n getFolderLabel,\n getFolderIcon,\n getFolderColor,\n getItemCount,\n getFolderIsEmpty,\n getFolderDisabledMessage,\n } = config\n\n const isFolderVisible = (node: HierarchicalFolderNode<TFolder, TItem>): boolean => {\n if (node.hasAnyItems) return true\n if (getFolderIsEmpty?.(node.folder) === false) return false\n return showEmptyFolders\n }\n\n const result: SimpleTableRow[] = []\n\n // Get root folders and sort them\n const rootNodes = Array.from(folderNodes.values()).filter(\n (node) => rootFolderIds.has(node.id) && isFolderVisible(node),\n )\n const sortedRootNodes = sortFolderNodes(rootNodes)\n\n // Stack for iterative depth-first traversal\n type StackItem = {\n node: HierarchicalFolderNode<TFolder, TItem>\n targetArray: SimpleTableRow[]\n isProcessed: boolean\n parentPath: string[]\n }\n\n const stack: StackItem[] = []\n\n // Add root nodes to stack in reverse order (so first item is processed first)\n for (let i = sortedRootNodes.length - 1; i >= 0; i--) {\n stack.push({\n node: sortedRootNodes[i],\n targetArray: result,\n isProcessed: false,\n parentPath: [],\n })\n }\n\n while (stack.length > 0) {\n const item = stack[stack.length - 1] // Peek at top\n\n if (item.isProcessed) {\n // This node has been processed, remove from stack\n stack.pop()\n continue\n }\n\n // Mark as processed to avoid infinite loops\n item.isProcessed = true\n const { node, targetArray, parentPath } = item\n\n const folderLabel = getFolderLabel(node.folder)\n const folderColor = getFolderColor(node.folder)\n const folderDisabledMessage = getFolderDisabledMessage?.(node.folder)\n\n // Create folder row\n const folderRow: SimpleTableRow = {\n id: buildFolderRowId(node.id),\n name: folderLabel,\n label: folderLabel,\n ...(parentPath.length > 0 && { parents: parentPath }),\n icon: getFolderIcon(node.folder),\n iconColor: folderColor,\n iconFilled: true,\n isDisabled: !!folderDisabledMessage,\n disabledMessage: folderDisabledMessage,\n subRows: [],\n data: {\n id: node.id,\n isGroupRow: true,\n count: getItemCount(node),\n type: node.id,\n isFolder: true,\n color: folderColor,\n },\n }\n\n // Add to target array\n targetArray.push(folderRow)\n\n // Add items to this folder (sorted if sort function provided)\n const itemsToAdd = sortItems ? sortItems(node.items) : node.items\n for (const item of itemsToAdd) {\n folderRow.subRows.push(createItemRow(item, node.id, [...parentPath, folderLabel]))\n }\n\n // Get child folders and sort them\n const childNodes = Array.from(node.children.values()).filter(isFolderVisible)\n const sortedChildNodes = sortFolderNodes(childNodes)\n\n // Add child folders to stack in reverse order (for correct processing order)\n for (let i = sortedChildNodes.length - 1; i >= 0; i--) {\n stack.push({\n node: sortedChildNodes[i],\n targetArray: folderRow.subRows,\n isProcessed: false,\n parentPath: [...parentPath, folderLabel],\n })\n }\n }\n\n return result\n}\n"],"names":["buildHierarchicalTableRows","config","folderNodes","rootFolderIds","showEmptyFolders","buildFolderRowId","createItemRow","sortFolderNodes","sortItems","getFolderLabel","getFolderIcon","getFolderColor","getItemCount","getFolderIsEmpty","getFolderDisabledMessage","isFolderVisible","node","result","rootNodes","sortedRootNodes","stack","i","item","targetArray","parentPath","folderLabel","folderColor","folderDisabledMessage","folderRow","itemsToAdd","childNodes","sortedChildNodes"],"mappings":"AAmDO,MAAMA,IAA6B,CACxCC,MACqB;AACrB,QAAM;AAAA,IACJ,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,0BAAAC;AAAA,EAAA,IACEb,GAEEc,IAAkB,CAACC,MACnBA,EAAK,cAAoB,KACzBH,IAAmBG,EAAK,MAAM,MAAM,KAAc,KAC/CZ,GAGHa,IAA2B,CAAA,GAG3BC,IAAY,MAAM,KAAKhB,EAAY,OAAA,CAAQ,EAAE;AAAA,IACjD,CAACc,MAASb,EAAc,IAAIa,EAAK,EAAE,KAAKD,EAAgBC,CAAI;AAAA,EAAA,GAExDG,IAAkBZ,EAAgBW,CAAS,GAU3CE,IAAqB,CAAA;AAG3B,WAASC,IAAIF,EAAgB,SAAS,GAAGE,KAAK,GAAGA;AAC/C,IAAAD,EAAM,KAAK;AAAA,MACT,MAAMD,EAAgBE,CAAC;AAAA,MACvB,aAAaJ;AAAA,MACb,aAAa;AAAA,MACb,YAAY,CAAA;AAAA,IAAC,CACd;AAGH,SAAOG,EAAM,SAAS,KAAG;AACvB,UAAME,IAAOF,EAAMA,EAAM,SAAS,CAAC;AAEnC,QAAIE,EAAK,aAAa;AAEpB,MAAAF,EAAM,IAAA;AACN;AAAA,IACF;AAGA,IAAAE,EAAK,cAAc;AACnB,UAAM,EAAE,MAAAN,GAAM,aAAAO,GAAa,YAAAC,EAAA,IAAeF,GAEpCG,IAAchB,EAAeO,EAAK,MAAM,GACxCU,IAAcf,EAAeK,EAAK,MAAM,GACxCW,IAAwBb,IAA2BE,EAAK,MAAM,GAG9DY,IAA4B;AAAA,MAChC,IAAIvB,EAAiBW,EAAK,EAAE;AAAA,MAC5B,MAAMS;AAAA,MACN,OAAOA;AAAA,MACP,GAAID,EAAW,SAAS,KAAK,EAAE,SAASA,EAAA;AAAA,MACxC,MAAMd,EAAcM,EAAK,MAAM;AAAA,MAC/B,WAAWU;AAAA,MACX,YAAY;AAAA,MACZ,YAAY,CAAC,CAACC;AAAA,MACd,iBAAiBA;AAAA,MACjB,SAAS,CAAA;AAAA,MACT,MAAM;AAAA,QACJ,IAAIX,EAAK;AAAA,QACT,YAAY;AAAA,QACZ,OAAOJ,EAAaI,CAAI;AAAA,QACxB,MAAMA,EAAK;AAAA,QACX,UAAU;AAAA,QACV,OAAOU;AAAA,MAAA;AAAA,IACT;AAIF,IAAAH,EAAY,KAAKK,CAAS;AAG1B,UAAMC,IAAarB,IAAYA,EAAUQ,EAAK,KAAK,IAAIA,EAAK;AAC5D,eAAWM,KAAQO;AACjB,MAAAD,EAAU,QAAQ,KAAKtB,EAAcgB,GAAMN,EAAK,IAAI,CAAC,GAAGQ,GAAYC,CAAW,CAAC,CAAC;AAInF,UAAMK,IAAa,MAAM,KAAKd,EAAK,SAAS,OAAA,CAAQ,EAAE,OAAOD,CAAe,GACtEgB,IAAmBxB,EAAgBuB,CAAU;AAGnD,aAAST,IAAIU,EAAiB,SAAS,GAAGV,KAAK,GAAGA;AAChD,MAAAD,EAAM,KAAK;AAAA,QACT,MAAMW,EAAiBV,CAAC;AAAA,QACxB,aAAaO,EAAU;AAAA,QACvB,aAAa;AAAA,QACb,YAAY,CAAC,GAAGJ,GAAYC,CAAW;AAAA,MAAA,CACxC;AAAA,EAEL;AAEA,SAAOR;AACT;"}
@@ -3452,6 +3452,7 @@ export type GetInboxMessagesQueryVariables = Exact<{
3452
3452
  last?: number | null | undefined;
3453
3453
  active?: boolean | null | undefined;
3454
3454
  important?: boolean | null | undefined;
3455
+ unread?: boolean | null | undefined;
3455
3456
  cursor?: string | null | undefined;
3456
3457
  }>;
3457
3458
  export type GetInboxMessagesQuery = {
@@ -3541,6 +3542,61 @@ export type GetInboxUnreadCountQuery = {
3541
3542
  }>;
3542
3543
  };
3543
3544
  };
3545
+ export type GetProjectInboxQueryVariables = Exact<{
3546
+ projectName: string;
3547
+ userName: string;
3548
+ referenceTypes?: Array<string> | string | null | undefined;
3549
+ activityTypes?: Array<string> | string | null | undefined;
3550
+ activityIds?: Array<string> | string | null | undefined;
3551
+ filter?: string | null | undefined;
3552
+ last?: number | null | undefined;
3553
+ cursor?: string | null | undefined;
3554
+ }>;
3555
+ export type GetProjectInboxQuery = {
3556
+ project: {
3557
+ activities: {
3558
+ pageInfo: {
3559
+ hasPreviousPage: boolean;
3560
+ startCursor: string | null;
3561
+ endCursor: string | null;
3562
+ };
3563
+ edges: Array<{
3564
+ cursor: string | null;
3565
+ node: {
3566
+ projectName: string;
3567
+ activityId: string;
3568
+ activityType: string;
3569
+ activityData: string;
3570
+ referenceType: string;
3571
+ referenceId: string;
3572
+ body: string;
3573
+ createdAt: unknown;
3574
+ updatedAt: unknown;
3575
+ active: boolean;
3576
+ read: boolean;
3577
+ author: {
3578
+ name: string;
3579
+ attrib: {
3580
+ fullName: string | null;
3581
+ };
3582
+ } | null;
3583
+ origin: {
3584
+ id: string;
3585
+ name: string;
3586
+ label: string | null;
3587
+ type: string;
3588
+ subtype: string | null;
3589
+ } | null;
3590
+ parents: Array<{
3591
+ type: string;
3592
+ name: string;
3593
+ label: string | null;
3594
+ }>;
3595
+ };
3596
+ }>;
3597
+ };
3598
+ };
3599
+ };
3544
3600
  export type GetMarketInstallEventsQueryVariables = Exact<{
3545
3601
  [key: string]: never;
3546
3602
  }>;
@@ -3773,6 +3829,7 @@ export declare const GetVersionsColumnStatsDocument: TypedDocumentString<unknown
3773
3829
  export declare const GetInboxHasUnreadDocument: TypedDocumentString<unknown, unknown>;
3774
3830
  export declare const GetInboxMessagesDocument: TypedDocumentString<unknown, unknown>;
3775
3831
  export declare const GetInboxUnreadCountDocument: TypedDocumentString<unknown, unknown>;
3832
+ export declare const GetProjectInboxDocument: TypedDocumentString<unknown, unknown>;
3776
3833
  export declare const GetMarketInstallEventsDocument: TypedDocumentString<unknown, unknown>;
3777
3834
  export declare const GetInstallEventsDocument: TypedDocumentString<unknown, unknown>;
3778
3835
  export declare const GetProgressTaskDocument: TypedDocumentString<unknown, unknown>;
@@ -4146,6 +4203,7 @@ declare const injectedRtkApi: import('@reduxjs/toolkit/query').Api<import('@redu
4146
4203
  last?: number | null | undefined;
4147
4204
  active?: boolean | null | undefined;
4148
4205
  important?: boolean | null | undefined;
4206
+ unread?: boolean | null | undefined;
4149
4207
  cursor?: string | null | undefined;
4150
4208
  }>, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
4151
4209
  document: string | import('graphql').DocumentNode;
@@ -4157,6 +4215,19 @@ declare const injectedRtkApi: import('@reduxjs/toolkit/query').Api<import('@redu
4157
4215
  document: string | import('graphql').DocumentNode;
4158
4216
  variables?: any;
4159
4217
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, GetInboxUnreadCountQuery, "restApi", unknown>;
4218
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<Exact<{
4219
+ projectName: string;
4220
+ userName: string;
4221
+ referenceTypes?: Array<string> | string | null | undefined;
4222
+ activityTypes?: Array<string> | string | null | undefined;
4223
+ activityIds?: Array<string> | string | null | undefined;
4224
+ filter?: string | null | undefined;
4225
+ last?: number | null | undefined;
4226
+ cursor?: string | null | undefined;
4227
+ }>, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
4228
+ document: string | import('graphql').DocumentNode;
4229
+ variables?: any;
4230
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, GetProjectInboxQuery, "restApi", unknown>;
4160
4231
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | Exact<{
4161
4232
  [key: string]: never;
4162
4233
  }>, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -383,6 +383,7 @@ declare const getActivitiesGQLApi: import('@reduxjs/toolkit/query').Api<import('
383
383
  last?: number | null | undefined | undefined;
384
384
  active?: boolean | null | undefined | undefined;
385
385
  important?: boolean | null | undefined | undefined;
386
+ unread?: boolean | null | undefined | undefined;
386
387
  cursor?: string | null | undefined | undefined;
387
388
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
388
389
  document: string | import('graphql').DocumentNode;
@@ -394,6 +395,19 @@ declare const getActivitiesGQLApi: import('@reduxjs/toolkit/query').Api<import('
394
395
  document: string | import('graphql').DocumentNode;
395
396
  variables?: any;
396
397
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
398
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
399
+ projectName: string;
400
+ userName: string;
401
+ referenceTypes?: string | string[] | null | undefined;
402
+ activityTypes?: string | string[] | null | undefined;
403
+ activityIds?: string | string[] | null | undefined;
404
+ filter?: string | null | undefined | undefined;
405
+ last?: number | null | undefined | undefined;
406
+ cursor?: string | null | undefined | undefined;
407
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
408
+ document: string | import('graphql').DocumentNode;
409
+ variables?: any;
410
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
397
411
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
398
412
  [x: string]: never;
399
413
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -3621,6 +3635,7 @@ declare const updateActivitiesApi: import('@reduxjs/toolkit/query').Api<import('
3621
3635
  last?: number | null | undefined | undefined;
3622
3636
  active?: boolean | null | undefined | undefined;
3623
3637
  important?: boolean | null | undefined | undefined;
3638
+ unread?: boolean | null | undefined | undefined;
3624
3639
  cursor?: string | null | undefined | undefined;
3625
3640
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
3626
3641
  document: string | import('graphql').DocumentNode;
@@ -3632,6 +3647,19 @@ declare const updateActivitiesApi: import('@reduxjs/toolkit/query').Api<import('
3632
3647
  document: string | import('graphql').DocumentNode;
3633
3648
  variables?: any;
3634
3649
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
3650
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
3651
+ projectName: string;
3652
+ userName: string;
3653
+ referenceTypes?: string | string[] | null | undefined;
3654
+ activityTypes?: string | string[] | null | undefined;
3655
+ activityIds?: string | string[] | null | undefined;
3656
+ filter?: string | null | undefined | undefined;
3657
+ last?: number | null | undefined | undefined;
3658
+ cursor?: string | null | undefined | undefined;
3659
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
3660
+ document: string | import('graphql').DocumentNode;
3661
+ variables?: any;
3662
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
3635
3663
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
3636
3664
  [x: string]: never;
3637
3665
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -369,6 +369,7 @@ declare const getEntityApi: import('@reduxjs/toolkit/query').Api<import('@reduxj
369
369
  last?: number | null | undefined | undefined;
370
370
  active?: boolean | null | undefined | undefined;
371
371
  important?: boolean | null | undefined | undefined;
372
+ unread?: boolean | null | undefined | undefined;
372
373
  cursor?: string | null | undefined | undefined;
373
374
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
374
375
  document: string | import('graphql').DocumentNode;
@@ -380,6 +381,19 @@ declare const getEntityApi: import('@reduxjs/toolkit/query').Api<import('@reduxj
380
381
  document: string | import('graphql').DocumentNode;
381
382
  variables?: any;
382
383
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
384
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
385
+ projectName: string;
386
+ userName: string;
387
+ referenceTypes?: string | string[] | null | undefined;
388
+ activityTypes?: string | string[] | null | undefined;
389
+ activityIds?: string | string[] | null | undefined;
390
+ filter?: string | null | undefined | undefined;
391
+ last?: number | null | undefined | undefined;
392
+ cursor?: string | null | undefined | undefined;
393
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
394
+ document: string | import('graphql').DocumentNode;
395
+ variables?: any;
396
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
383
397
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
384
398
  [x: string]: never;
385
399
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -384,6 +384,7 @@ declare const detailsPanelQueries2: import('@reduxjs/toolkit/query').Api<import(
384
384
  last?: number | null | undefined | undefined;
385
385
  active?: boolean | null | undefined | undefined;
386
386
  important?: boolean | null | undefined | undefined;
387
+ unread?: boolean | null | undefined | undefined;
387
388
  cursor?: string | null | undefined | undefined;
388
389
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
389
390
  document: string | import('graphql').DocumentNode;
@@ -395,6 +396,19 @@ declare const detailsPanelQueries2: import('@reduxjs/toolkit/query').Api<import(
395
396
  document: string | import('graphql').DocumentNode;
396
397
  variables?: any;
397
398
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
399
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
400
+ projectName: string;
401
+ userName: string;
402
+ referenceTypes?: string | string[] | null | undefined;
403
+ activityTypes?: string | string[] | null | undefined;
404
+ activityIds?: string | string[] | null | undefined;
405
+ filter?: string | null | undefined | undefined;
406
+ last?: number | null | undefined | undefined;
407
+ cursor?: string | null | undefined | undefined;
408
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
409
+ document: string | import('graphql').DocumentNode;
410
+ variables?: any;
411
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
398
412
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
399
413
  [x: string]: never;
400
414
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -367,6 +367,7 @@ declare const updateEntity: import('@reduxjs/toolkit/query').Api<import('@reduxj
367
367
  last?: number | null | undefined | undefined;
368
368
  active?: boolean | null | undefined | undefined;
369
369
  important?: boolean | null | undefined | undefined;
370
+ unread?: boolean | null | undefined | undefined;
370
371
  cursor?: string | null | undefined | undefined;
371
372
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
372
373
  document: string | import('graphql').DocumentNode;
@@ -378,6 +379,19 @@ declare const updateEntity: import('@reduxjs/toolkit/query').Api<import('@reduxj
378
379
  document: string | import('graphql').DocumentNode;
379
380
  variables?: any;
380
381
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../..').GetInboxUnreadCountQuery, "restApi", unknown>;
382
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
383
+ projectName: string;
384
+ userName: string;
385
+ referenceTypes?: string | string[] | null | undefined;
386
+ activityTypes?: string | string[] | null | undefined;
387
+ activityIds?: string | string[] | null | undefined;
388
+ filter?: string | null | undefined | undefined;
389
+ last?: number | null | undefined | undefined;
390
+ cursor?: string | null | undefined | undefined;
391
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
392
+ document: string | import('graphql').DocumentNode;
393
+ variables?: any;
394
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../..').GetProjectInboxQuery, "restApi", unknown>;
381
395
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
382
396
  [x: string]: never;
383
397
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -378,6 +378,7 @@ declare const getListsGqlApiInjected: import('@reduxjs/toolkit/query').Api<impor
378
378
  last?: number | null | undefined | undefined;
379
379
  active?: boolean | null | undefined | undefined;
380
380
  important?: boolean | null | undefined | undefined;
381
+ unread?: boolean | null | undefined | undefined;
381
382
  cursor?: string | null | undefined | undefined;
382
383
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
383
384
  document: string | import('graphql').DocumentNode;
@@ -389,6 +390,19 @@ declare const getListsGqlApiInjected: import('@reduxjs/toolkit/query').Api<impor
389
390
  document: string | import('graphql').DocumentNode;
390
391
  variables?: any;
391
392
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
393
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
394
+ projectName: string;
395
+ userName: string;
396
+ referenceTypes?: string | string[] | null | undefined;
397
+ activityTypes?: string | string[] | null | undefined;
398
+ activityIds?: string | string[] | null | undefined;
399
+ filter?: string | null | undefined | undefined;
400
+ last?: number | null | undefined | undefined;
401
+ cursor?: string | null | undefined | undefined;
402
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
403
+ document: string | import('graphql').DocumentNode;
404
+ variables?: any;
405
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
392
406
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
393
407
  [x: string]: never;
394
408
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -423,6 +423,7 @@ declare const injectedApi: import('@reduxjs/toolkit/query').Api<import('@reduxjs
423
423
  last?: number | null | undefined | undefined;
424
424
  active?: boolean | null | undefined | undefined;
425
425
  important?: boolean | null | undefined | undefined;
426
+ unread?: boolean | null | undefined | undefined;
426
427
  cursor?: string | null | undefined | undefined;
427
428
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
428
429
  document: string | import('graphql').DocumentNode;
@@ -434,6 +435,19 @@ declare const injectedApi: import('@reduxjs/toolkit/query').Api<import('@reduxjs
434
435
  document: string | import('graphql').DocumentNode;
435
436
  variables?: any;
436
437
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
438
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
439
+ projectName: string;
440
+ userName: string;
441
+ referenceTypes?: string | string[] | null | undefined;
442
+ activityTypes?: string | string[] | null | undefined;
443
+ activityIds?: string | string[] | null | undefined;
444
+ filter?: string | null | undefined | undefined;
445
+ last?: number | null | undefined | undefined;
446
+ cursor?: string | null | undefined | undefined;
447
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
448
+ document: string | import('graphql').DocumentNode;
449
+ variables?: any;
450
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
437
451
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
438
452
  [x: string]: never;
439
453
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -1254,6 +1254,7 @@ export declare const getProjectsGraphql: import('@reduxjs/toolkit/query').Api<im
1254
1254
  last?: number | null | undefined | undefined;
1255
1255
  active?: boolean | null | undefined | undefined;
1256
1256
  important?: boolean | null | undefined | undefined;
1257
+ unread?: boolean | null | undefined | undefined;
1257
1258
  cursor?: string | null | undefined | undefined;
1258
1259
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
1259
1260
  document: string | import('graphql').DocumentNode;
@@ -1265,6 +1266,19 @@ export declare const getProjectsGraphql: import('@reduxjs/toolkit/query').Api<im
1265
1266
  document: string | import('graphql').DocumentNode;
1266
1267
  variables?: any;
1267
1268
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
1269
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
1270
+ projectName: string;
1271
+ userName: string;
1272
+ referenceTypes?: string | string[] | null | undefined;
1273
+ activityTypes?: string | string[] | null | undefined;
1274
+ activityIds?: string | string[] | null | undefined;
1275
+ filter?: string | null | undefined | undefined;
1276
+ last?: number | null | undefined | undefined;
1277
+ cursor?: string | null | undefined | undefined;
1278
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
1279
+ document: string | import('graphql').DocumentNode;
1280
+ variables?: any;
1281
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
1268
1282
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
1269
1283
  [x: string]: never;
1270
1284
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -959,6 +959,7 @@ declare const injectedDashboardRestApi: import('@reduxjs/toolkit/query').Api<imp
959
959
  last?: number | null | undefined | undefined;
960
960
  active?: boolean | null | undefined | undefined;
961
961
  important?: boolean | null | undefined | undefined;
962
+ unread?: boolean | null | undefined | undefined;
962
963
  cursor?: string | null | undefined | undefined;
963
964
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
964
965
  document: string | import('graphql').DocumentNode;
@@ -970,6 +971,19 @@ declare const injectedDashboardRestApi: import('@reduxjs/toolkit/query').Api<imp
970
971
  document: string | import('graphql').DocumentNode;
971
972
  variables?: any;
972
973
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
974
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
975
+ projectName: string;
976
+ userName: string;
977
+ referenceTypes?: string | string[] | null | undefined;
978
+ activityTypes?: string | string[] | null | undefined;
979
+ activityIds?: string | string[] | null | undefined;
980
+ filter?: string | null | undefined | undefined;
981
+ last?: number | null | undefined | undefined;
982
+ cursor?: string | null | undefined | undefined;
983
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
984
+ document: string | import('graphql').DocumentNode;
985
+ variables?: any;
986
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
973
987
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
974
988
  [x: string]: never;
975
989
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -371,6 +371,7 @@ declare const injectedApi: import('@reduxjs/toolkit/query').Api<import('@reduxjs
371
371
  last?: number | null | undefined | undefined;
372
372
  active?: boolean | null | undefined | undefined;
373
373
  important?: boolean | null | undefined | undefined;
374
+ unread?: boolean | null | undefined | undefined;
374
375
  cursor?: string | null | undefined | undefined;
375
376
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
376
377
  document: string | import('graphql').DocumentNode;
@@ -382,6 +383,19 @@ declare const injectedApi: import('@reduxjs/toolkit/query').Api<import('@reduxjs
382
383
  document: string | import('graphql').DocumentNode;
383
384
  variables?: any;
384
385
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
386
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
387
+ projectName: string;
388
+ userName: string;
389
+ referenceTypes?: string | string[] | null | undefined;
390
+ activityTypes?: string | string[] | null | undefined;
391
+ activityIds?: string | string[] | null | undefined;
392
+ filter?: string | null | undefined | undefined;
393
+ last?: number | null | undefined | undefined;
394
+ cursor?: string | null | undefined | undefined;
395
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
396
+ document: string | import('graphql').DocumentNode;
397
+ variables?: any;
398
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | import('@reduxjs/toolkit/query').FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
385
399
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
386
400
  [x: string]: never;
387
401
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -460,6 +460,7 @@ declare const enhancedVersionsPageApi: import('@reduxjs/toolkit/query').Api<impo
460
460
  last?: number | null | undefined | undefined;
461
461
  active?: boolean | null | undefined | undefined;
462
462
  important?: boolean | null | undefined | undefined;
463
+ unread?: boolean | null | undefined | undefined;
463
464
  cursor?: string | null | undefined | undefined;
464
465
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
465
466
  document: string | import('graphql').DocumentNode;
@@ -471,6 +472,19 @@ declare const enhancedVersionsPageApi: import('@reduxjs/toolkit/query').Api<impo
471
472
  document: string | import('graphql').DocumentNode;
472
473
  variables?: any;
473
474
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
475
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
476
+ projectName: string;
477
+ userName: string;
478
+ referenceTypes?: string | string[] | null | undefined;
479
+ activityTypes?: string | string[] | null | undefined;
480
+ activityIds?: string | string[] | null | undefined;
481
+ filter?: string | null | undefined | undefined;
482
+ last?: number | null | undefined | undefined;
483
+ cursor?: string | null | undefined | undefined;
484
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
485
+ document: string | import('graphql').DocumentNode;
486
+ variables?: any;
487
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
474
488
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
475
489
  [x: string]: never;
476
490
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -875,6 +889,7 @@ declare const injectedVersionsPageApi: import('@reduxjs/toolkit/query').Api<impo
875
889
  last?: number | null | undefined | undefined;
876
890
  active?: boolean | null | undefined | undefined;
877
891
  important?: boolean | null | undefined | undefined;
892
+ unread?: boolean | null | undefined | undefined;
878
893
  cursor?: string | null | undefined | undefined;
879
894
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
880
895
  document: string | import('graphql').DocumentNode;
@@ -886,6 +901,19 @@ declare const injectedVersionsPageApi: import('@reduxjs/toolkit/query').Api<impo
886
901
  document: string | import('graphql').DocumentNode;
887
902
  variables?: any;
888
903
  } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetInboxUnreadCountQuery, "restApi", unknown>;
904
+ GetProjectInbox: import('@reduxjs/toolkit/query').QueryDefinition<{
905
+ projectName: string;
906
+ userName: string;
907
+ referenceTypes?: string | string[] | null | undefined;
908
+ activityTypes?: string | string[] | null | undefined;
909
+ activityIds?: string | string[] | null | undefined;
910
+ filter?: string | null | undefined | undefined;
911
+ last?: number | null | undefined | undefined;
912
+ cursor?: string | null | undefined | undefined;
913
+ }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
914
+ document: string | import('graphql').DocumentNode;
915
+ variables?: any;
916
+ } | import('@reduxjs/toolkit/query').FetchArgs, unknown, import('@rtk-query/graphql-request-base-query/dist/GraphqlBaseQueryTypes').ErrorResponse | FetchBaseQueryError, {} | Partial<Pick<import('graphql-request').ClientError, "request" | "response">>>, string, import('../../generated').GetProjectInboxQuery, "restApi", unknown>;
889
917
  GetMarketInstallEvents: import('@reduxjs/toolkit/query').QueryDefinition<void | {
890
918
  [x: string]: never;
891
919
  }, import('@reduxjs/toolkit/query').BaseQueryFn<string | {
@@ -1,15 +1,18 @@
1
1
  import { QueryFilter, SubTaskNode, UserModel, useUpdateSubtasksMutation } from '../../api';
2
- import { useNavigate } from 'react-router';
2
+ import { ProjectContextValue } from '../../context';
3
+ import { useNavigate } from 'react-router-dom';
3
4
  type UpdateSubtasksMutation = ReturnType<typeof useUpdateSubtasksMutation>[0];
4
5
  export interface SubtasksManagerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
5
6
  subtasks: SubTaskNode[];
6
7
  projectName: string;
7
8
  taskId: string;
9
+ folderId?: string;
8
10
  selectedSubtaskIds?: string[];
9
11
  users: UserModel[];
10
12
  title?: string | null;
11
13
  filters?: QueryFilter;
12
14
  actionsPortalClassName?: string;
15
+ projectContext: ProjectContextValue;
13
16
  onClose?: () => void;
14
17
  onSelectSubtasks?: (subtaskIds: string[]) => void;
15
18
  updateSubtasks: UpdateSubtasksMutation;
@@ -1,3 +1,4 @@
1
1
  import { QueryFilter } from '../../../api';
2
+ export declare const buildBackendFilterObject: (filter: QueryFilter | undefined) => QueryFilter | null;
2
3
  export declare const buildBackendFilter: (filter: QueryFilter | undefined) => string | undefined;
3
4
  export default buildBackendFilter;
@@ -21,6 +21,7 @@ type SortColumnLabel = {
21
21
  value: string;
22
22
  label: string;
23
23
  };
24
+ export declare const getNameColumnLabel: (scopes: string[]) => string;
24
25
  export declare const getSortableColumnOptions: (scopes?: string[], columns?: SortColumnLabel[]) => {
25
26
  id: string;
26
27
  label: string;
@@ -1,2 +1,5 @@
1
1
  export declare const ROW_SELECTION_COLUMN_ID = "__row_selection__";
2
2
  export declare const DRAG_HANDLE_COLUMN_ID = "drag-handle";
3
+ export declare const WRAP_MIN_CELL_HEIGHT = 50;
4
+ export declare const CELL_PADDING_Y = 4;
5
+ export declare const WRAP_MIN_ROW_HEIGHT: number;
@@ -3,6 +3,7 @@ import { WidgetBaseProps } from './CellWidget';
3
3
  import { SubTaskNode } from '../../../api';
4
4
  export type SubtasksWidgetData = {
5
5
  taskId: string;
6
+ folderId?: string;
6
7
  subtasks: SubTaskNode[];
7
8
  };
8
9
  export interface SubtasksWidgetProps extends WidgetBaseProps {
@@ -0,0 +1,2 @@
1
+ import { Interpolation } from 'styled-components';
2
+ export declare const wrapMode: (strings: TemplateStringsArray, ...interpolations: Interpolation<object>[]) => import('styled-components').RuleSet<object>;
@@ -32,6 +32,7 @@ export interface ViewsContextValue {
32
32
  editingViewData?: ViewData;
33
33
  isLoadingEditingViewData: boolean;
34
34
  isLoadingViews: boolean;
35
+ isErrorWorkingView: boolean;
35
36
  shareOptions?: ShareOption[];
36
37
  setIsMenuOpen: (open: boolean) => void;
37
38
  setEditingView: (editing: EditingViewState) => void;
@@ -37,6 +37,8 @@ export interface BuildHierarchicalRowsConfig<TFolder, TItem> {
37
37
  getItemCount: (node: HierarchicalFolderNode<TFolder, TItem>) => number;
38
38
  /** Optional: returns true if the folder is genuinely empty, false if it has items the user can't see (e.g. restricted projects). Hides folders with restricted content regardless of showEmptyFolders. */
39
39
  getFolderIsEmpty?: (folder: TFolder) => boolean | undefined;
40
+ /** Optional: why a folder can't be picked (row shown but not selectable); undefined = selectable */
41
+ getFolderDisabledMessage?: (folder: TFolder) => string | undefined;
40
42
  }
41
43
  /**
42
44
  * Builds table rows iteratively using depth-first traversal from a hierarchical folder structure.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynput/ayon-frontend-shared",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Shared React components for AYON frontend",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",