@ynput/ayon-frontend-shared 0.3.36 → 0.3.38

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 (579) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +27 -25
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +222 -215
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/_virtual/index.cjs12.js +1 -1
  8. package/dist/_virtual/index.cjs13.js +1 -1
  9. package/dist/_virtual/index.cjs15.js +1 -1
  10. package/dist/_virtual/index.cjs18.js +1 -1
  11. package/dist/_virtual/index.cjs19.js +1 -1
  12. package/dist/_virtual/index.cjs4.js +1 -1
  13. package/dist/_virtual/index.cjs6.js +1 -1
  14. package/dist/_virtual/index.cjs9.js +1 -1
  15. package/dist/_virtual/index.es12.js +2 -5
  16. package/dist/_virtual/index.es12.js.map +1 -1
  17. package/dist/_virtual/index.es13.js +2 -5
  18. package/dist/_virtual/index.es13.js.map +1 -1
  19. package/dist/_virtual/index.es14.js +2 -2
  20. package/dist/_virtual/index.es15.js +2 -2
  21. package/dist/_virtual/index.es16.js +2 -2
  22. package/dist/_virtual/index.es17.js +2 -2
  23. package/dist/_virtual/index.es18.js +2 -2
  24. package/dist/_virtual/index.es19.js +2 -2
  25. package/dist/_virtual/index.es4.js +5 -2
  26. package/dist/_virtual/index.es4.js.map +1 -1
  27. package/dist/_virtual/index.es6.js +2 -2
  28. package/dist/_virtual/index.es7.js +2 -2
  29. package/dist/_virtual/index.es9.js +5 -2
  30. package/dist/_virtual/index.es9.js.map +1 -1
  31. package/dist/components.cjs.js +1 -1
  32. package/dist/components.es.js +77 -73
  33. package/dist/components.es.js.map +1 -1
  34. package/dist/context.cjs.js +1 -1
  35. package/dist/context.es.js +50 -49
  36. package/dist/hooks.cjs.js +1 -1
  37. package/dist/hooks.es.js +33 -29
  38. package/dist/hooks.es.js.map +1 -1
  39. package/dist/index.cjs.js +1 -1
  40. package/dist/index.es.js +16 -12
  41. package/dist/index.es.js.map +1 -1
  42. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  43. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js.map +1 -1
  44. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  45. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  46. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  47. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  48. package/dist/node_modules/remove-accents/index.cjs.js.map +1 -1
  49. package/dist/node_modules/remove-accents/index.es.js +1 -1
  50. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  51. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  52. package/dist/shared/node_modules/@module-federation/runtime/dist/index.cjs.js +1 -1
  53. package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
  54. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  55. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  56. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
  57. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js.map +1 -1
  58. package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
  59. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs.js +1 -1
  60. package/dist/shared/node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.es.js +1 -1
  61. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.cjs.js +1 -1
  62. package/dist/shared/node_modules/@module-federation/runtime-core/dist/remote/index.es.js +1 -1
  63. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.cjs.js +1 -1
  64. package/dist/shared/node_modules/@module-federation/runtime-core/dist/shared/index.es.js +1 -1
  65. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
  66. package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
  67. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs.js +1 -1
  68. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/hooks/index.es.js +1 -1
  69. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
  70. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js.map +1 -1
  71. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
  72. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
  73. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
  74. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
  75. package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
  76. package/dist/shared/node_modules/@module-federation/sdk/dist/index.es.js +1 -1
  77. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  78. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  79. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  80. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  81. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  82. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
  83. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  84. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  85. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
  86. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  87. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  88. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
  89. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  90. package/dist/shared/src/api/generated/graphql.cjs.js +108 -23
  91. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  92. package/dist/shared/src/api/generated/graphql.es.js +138 -53
  93. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  94. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  95. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/activities/getActivities.es.js +42 -42
  99. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js +2 -0
  101. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -0
  102. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js +68 -0
  103. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -0
  104. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  105. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  106. package/dist/shared/src/api/queries/activities/updateActivities.es.js +69 -62
  107. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  108. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  109. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  110. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +64 -56
  111. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
  113. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  114. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +57 -53
  115. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  116. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  117. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  118. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +27 -25
  119. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  120. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
  121. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
  122. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +4 -4
  124. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  126. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/overview/getOverview.es.js +212 -187
  128. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  129. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  130. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  131. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +7 -3
  132. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  133. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  134. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  135. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +9 -5
  136. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  137. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  138. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  139. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +9 -5
  140. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  141. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  142. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  143. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +9 -5
  144. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  145. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  146. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  147. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +103 -99
  148. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  149. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  150. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  151. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +96 -87
  152. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  153. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  154. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  155. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +9 -5
  156. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  157. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  158. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  159. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +9 -5
  160. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  161. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  162. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  163. package/dist/shared/src/components/RenameForm/RenameForm.es.js +9 -5
  164. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  165. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  166. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  167. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +9 -5
  168. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  169. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  170. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  171. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +10 -6
  172. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  173. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  174. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  175. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +9 -5
  176. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  178. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +9 -5
  180. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  181. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js +6 -0
  182. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js.map +1 -0
  183. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js +58 -0
  184. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js.map +1 -0
  185. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  186. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  187. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +254 -243
  188. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  189. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +2 -0
  190. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -0
  191. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +106 -0
  192. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -0
  193. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  194. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  195. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +11 -7
  196. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  197. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  198. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  199. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +9 -5
  200. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  201. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  202. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  203. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +9 -5
  204. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  205. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  206. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  207. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +13 -9
  208. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  209. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  210. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +9 -5
  212. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  213. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  214. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +9 -5
  216. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  217. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  218. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  219. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +7 -5
  220. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  221. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  222. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +9 -5
  224. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  225. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  226. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +9 -5
  228. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  229. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  230. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +9 -5
  232. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  233. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  234. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +9 -5
  236. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +9 -5
  240. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +10 -0
  242. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -0
  243. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +135 -0
  244. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -0
  245. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  248. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +21 -17
  250. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  252. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +44 -46
  254. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  256. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +8 -4
  258. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  260. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +19 -25
  262. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js +2 -0
  264. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js.map +1 -0
  265. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js +91 -0
  266. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js.map +1 -0
  267. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  268. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  269. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +9 -5
  270. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  271. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  272. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  273. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +9 -5
  274. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  275. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  276. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +9 -5
  278. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  280. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +9 -5
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  284. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/Feed.es.js +156 -164
  286. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +25 -3
  288. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/Feed.styled.es.js +30 -8
  290. package/dist/shared/src/containers/Feed/Feed.styled.es.js.map +1 -1
  291. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  292. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  293. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +9 -5
  294. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  295. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  296. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +9 -5
  298. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  300. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +9 -5
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
  304. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +1 -0
  306. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  308. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +11 -7
  310. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  311. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  312. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  313. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +8 -4
  314. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  316. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +13 -9
  318. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  320. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +5 -5
  322. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +17 -0
  324. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -0
  325. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +279 -0
  326. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -0
  327. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  328. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +8 -4
  330. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  332. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +62 -50
  334. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +2 -0
  336. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -0
  337. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +141 -0
  338. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -0
  339. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +2 -0
  340. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -0
  341. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +81 -0
  342. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -0
  343. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  344. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +20 -18
  346. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  347. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  348. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  349. package/dist/shared/src/containers/ListTable/ListTable.es.js +107 -103
  350. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  351. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  352. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  353. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +8 -4
  354. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  355. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  356. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  357. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +9 -5
  358. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  360. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +201 -194
  362. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  364. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +210 -180
  366. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  368. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +9 -5
  370. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  372. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +35 -31
  374. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  376. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +9 -5
  378. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +7 -3
  382. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -4
  384. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +228 -222
  386. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +104 -100
  390. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +63 -58
  396. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +9 -5
  400. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js +3 -0
  402. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -0
  403. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +22 -0
  404. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -0
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +114 -109
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +126 -121
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +7 -3
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +7 -3
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +35 -31
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +9 -5
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +249 -204
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +35 -31
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +35 -31
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +7 -3
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +9 -5
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +9 -5
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +106 -102
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +36 -32
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  462. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +47 -43
  464. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  466. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  467. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +61 -61
  468. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  469. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  470. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  471. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +78 -58
  472. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  473. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  474. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +9 -5
  476. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +4 -3
  478. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  479. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +134 -125
  480. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  481. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +82 -0
  482. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -0
  483. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +417 -0
  484. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -0
  485. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +11 -1
  486. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  487. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +80 -52
  488. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  489. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  490. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  491. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +36 -32
  492. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  493. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  494. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  495. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +9 -5
  496. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  497. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  498. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +9 -5
  500. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  501. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  502. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +9 -5
  504. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  505. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  506. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  507. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +9 -5
  508. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  509. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  510. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  511. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +9 -5
  512. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  513. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  514. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  515. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +9 -5
  516. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  517. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  518. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  519. package/dist/shared/src/context/DetailsPanelContext.es.js +92 -94
  520. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  521. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  522. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  523. package/dist/shared/src/context/WebsocketContext.es.js +11 -7
  524. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  525. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +2 -0
  526. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -0
  527. package/dist/shared/src/hooks/useGetProductionAddon.es.js +124 -0
  528. package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -0
  529. package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
  530. package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
  531. package/dist/shared/src/hooks/useLocalStorage.es.js +43 -27
  532. package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
  533. package/dist/types/api/generated/graphql.d.ts +122 -0
  534. package/dist/types/api/generated/graphqlLinks.d.ts +10 -0
  535. package/dist/types/api/queries/activities/getActivities.d.ts +83 -0
  536. package/dist/types/api/queries/activities/patchTableLatestComments.d.ts +1 -0
  537. package/dist/types/api/queries/activities/updateActivities.d.ts +16 -0
  538. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  539. package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
  540. package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
  541. package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
  542. package/dist/types/api/queries/entityLists/getLists.d.ts +84 -0
  543. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  544. package/dist/types/api/queries/overview/getOverview.d.ts +58 -0
  545. package/dist/types/api/queries/project/getProject.d.ts +7 -0
  546. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
  547. package/dist/types/api/queries/users/getUsers.d.ts +7 -0
  548. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +30 -0
  549. package/dist/types/components/SearchFilter/CustomDateRangeDialog.d.ts +13 -0
  550. package/dist/types/components/SearchFilter/index.d.ts +2 -0
  551. package/dist/types/components/SearchFilter/useDateRangeFilter.d.ts +36 -0
  552. package/dist/types/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.d.ts +13 -0
  553. package/dist/types/containers/DetailsPanel/helpers/subtasksFilterAdapter.d.ts +5 -0
  554. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +1 -0
  555. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  556. package/dist/types/containers/Feed/components/FeedSearchFilter.d.ts +15 -0
  557. package/dist/types/containers/Feed/context/FeedContext.d.ts +5 -1
  558. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +3 -0
  559. package/dist/types/containers/Feed/helpers/feedFilterAdapter.d.ts +5 -0
  560. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +5 -1
  561. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +1 -0
  562. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  563. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +1 -0
  564. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +2 -1
  565. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardComments.d.ts +6 -0
  566. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  567. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +3 -1
  568. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +1 -0
  569. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -1
  570. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +9 -0
  571. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +5 -0
  572. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +2 -1
  573. package/dist/types/containers/ProjectTreeTable/widgets/CommentsWidget.d.ts +7 -0
  574. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -0
  575. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  576. package/dist/types/hooks/index.d.ts +1 -0
  577. package/dist/types/hooks/useGetProductionAddon.d.ts +10 -0
  578. package/dist/types/hooks/useLocalStorage.d.ts +2 -0
  579. package/package.json +3 -2
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../../../_virtual/jsx-runtime.cjs.js");require("react");require("../../../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("../../../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../../../components/Badge/Badge.cjs.js");require("../../../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../../../api/base/client.cjs.js");require("../../../../../api/generated/graphql.cjs.js");require("../../../../../api/generated/graphqlLinks.cjs.js");require("../../../../../api/generated/access.cjs.js");require("../../../../../api/generated/actions.cjs.js");require("../../../../../api/generated/activityFeed.cjs.js");require("../../../../../api/generated/addons.cjs.js");require("../../../../../api/generated/anatomy.cjs.js");require("../../../../../api/generated/attributes.cjs.js");require("../../../../../api/generated/authentication.cjs.js");require("../../../../../api/generated/bundles.cjs.js");require("../../../../../api/generated/configuration.cjs.js");require("../../../../../api/generated/dataImport.cjs.js");require("../../../../../api/generated/desktop.cjs.js");require("../../../../../api/generated/entityLists.cjs.js");require("../../../../../api/generated/events.cjs.js");require("../../../../../api/generated/files.cjs.js");require("../../../../../api/generated/folders.cjs.js");require("../../../../../api/generated/inbox.cjs.js");require("../../../../../api/generated/links.cjs.js");require("../../../../../api/generated/market.cjs.js");require("../../../../../api/generated/onboarding.cjs.js");require("../../../../../api/generated/operations.cjs.js");require("../../../../../api/generated/products.cjs.js");require("../../../../../api/generated/projectDashboard.cjs.js");require("../../../../../api/generated/projects.cjs.js");require("../../../../../api/generated/projectFolders.cjs.js");require("../../../../../api/generated/reviewables.cjs.js");require("../../../../../api/generated/services.cjs.js");require("../../../../../api/generated/system.cjs.js");require("../../../../../api/generated/tasks.cjs.js");require("../../../../../api/generated/teams.cjs.js");require("../../../../../api/generated/thumbnails.cjs.js");require("../../../../../api/generated/uRIs.cjs.js");require("../../../../../api/generated/users.cjs.js");require("../../../../../api/generated/versions.cjs.js");require("../../../../../api/generated/workfiles.cjs.js");require("../../../../../api/generated/ynputCloud.cjs.js");require("../../../../../api/generated/grouping.cjs.js");require("../../../../../api/generated/views.cjs.js");require("../../../../../api/queries/actions/getActions.cjs.js");require("../../../../../api/queries/activities/getActivities.cjs.js");require("../../../../../api/queries/activities/updateActivities.cjs.js");require("../../../../../api/queries/activities/updateReaction.cjs.js");require("../../../../../api/queries/activities/getMentions.cjs.js");require("../../../../../api/queries/activities/getCategories.cjs.js");require("../../../../../api/queries/addons/getAddons.cjs.js");require("../../../../../api/queries/addons/updateAddons.cjs.js");require("../../../../../api/queries/attributes/getAttributes.cjs.js");require("../../../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../../../api/queries/cloud/cloud.cjs.js");require("../../../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../../../api/queries/config/getConfig.cjs.js");require("../../../../../api/queries/config/updateConfig.cjs.js");require("../../../../../api/queries/entities/getEntity.cjs.js");require("../../../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../../../api/queries/overview/getOverview.cjs.js");require("../../../../../api/queries/overview/updateOverview.cjs.js");require("../../../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../../../api/queries/links/getEntityLinks.cjs.js");require("../../../../../api/queries/entities/updateEntity.cjs.js");require("../../../../../api/queries/entityLists/getLists.cjs.js");require("../../../../../api/queries/entityLists/updateLists.cjs.js");require("../../../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/listFolders.cjs.js");require("../../../../../api/queries/folders/getFolders.cjs.js");require("../../../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../../../api/queries/grouping/getGrouping.cjs.js");require("../../../../../api/queries/links/updateLinks.cjs.js");require("../../../../../api/queries/links/getLinks.cjs.js");require("../../../../../api/queries/permissions/getPermissions.cjs.js");require("../../../../../api/queries/products/createProduct.cjs.js");require("../../../../../api/queries/products/getFolderProducts.cjs.js");require("../../../../../api/queries/project/getProject.cjs.js");require("../../../../../api/queries/project/updateProject.cjs.js");require("../../../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../../../api/queries/review/getReview.cjs.js");require("../../../../../api/queries/review/updateReview.cjs.js");require("../../../../../api/queries/share/share.cjs.js");require("../../../../../api/queries/system/getSystem.cjs.js");require("../../../../../api/queries/tasks/getTasks.cjs.js");require("../../../../../api/queries/tasks/updateTasks.cjs.js");require("../../../../../api/queries/teams/getTeams.cjs.js");require("../../../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../../../api/queries/users/getUsers.cjs.js");require("../../../../../api/queries/users/updateUsers.cjs.js");require("../../../../../api/queries/users/guests.cjs.js");require("../../../../../api/queries/versions/updateVersions.cjs.js");require("../../../../../api/queries/views/getViews.cjs.js");require("../../../../../api/queries/views/updateViews.cjs.js");require("../../../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../../api/queries/uris/getUris.cjs.js");require("../../../../../../../_virtual/index.cjs.js");require("../../../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../../../util/pubsub.cjs.js");require("../../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");require("../../../../../../../_virtual/runtime.cjs.js");require("../../../../../../../_virtual/semver.cjs.js");require("../../../../../context/PowerpackContextInstance.cjs.js");require("../../../../../context/UriContext.cjs.js");require("../../../../../context/DetailsPanelContextInstance.cjs.js");require("../../../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");require("../../../../../context/GlobalContext.cjs.js");require("../../../../../context/ProjectContext.cjs.js");require("../../../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../../Feed/context/FeedContext.cjs.js");require("../../../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../../Feed/components/ActivityDate.cjs.js");require("../../../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../../../Feed/Feed.styled.cjs.js");require("../../TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../../../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../../ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../Slicer/components/Slicer.cjs.js");require("../../../../Slicer/context/SlicerContext.cjs.js");require("../../../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../DetailsPanel.styled.cjs.js");require("../../DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../components/ShareDialog.cjs.js");require("../../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../../Actions/Actions.styled.cjs.js");require("../../../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../../Actions/ActionIcon.cjs.js");require("../../../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../../Views/context/ViewsContextInstance.cjs.js");require("../../../../Views/Views.styled.cjs.js");require("../../../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../../ListTable/ListTableRow.cjs.js");require("../../../../ListTable/ListTable.styled.cjs.js");require("../../../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../../../components/Feedback/SupportBubble.cjs.js");require("../../../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../../../components/Powerpack/CTAButton.cjs.js");require("../../../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../../../components/StyledLink/StyledLink.cjs.js");require("../../../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");const e=require("../../../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../../../components/Watchers/Watchers.cjs.js");require("../../../../../components/Menu/Menu.styled.cjs.js");require("../../../../../components/Menu/MenuItem.cjs.js");require("../../../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../../../components/ColumnHeaderMenuUI.cjs.js");const r=()=>({onOpenVersionUpload:e.useOptionalVersionUploadContext()?.onOpenVersionUpload??null});exports.useContextAccess=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../../../../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("../../../../../../../_virtual/jsx-runtime.cjs.js");require("react");require("../../../../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");require("@ynput/ayon-react-components");require("../../../../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../../../../components/AccessUser/AccessUser.cjs.js");require("clsx");require("../../../../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../../../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../../../../components/Badge/Badge.cjs.js");require("../../../../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../../../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../../../../components/LinksManager/CellEditingDialog.cjs.js");require("react-toastify");require("../../../../../api/base/client.cjs.js");require("../../../../../api/generated/graphql.cjs.js");require("../../../../../api/generated/graphqlLinks.cjs.js");require("../../../../../api/generated/access.cjs.js");require("../../../../../api/generated/actions.cjs.js");require("../../../../../api/generated/activityFeed.cjs.js");require("../../../../../api/generated/addons.cjs.js");require("../../../../../api/generated/anatomy.cjs.js");require("../../../../../api/generated/attributes.cjs.js");require("../../../../../api/generated/authentication.cjs.js");require("../../../../../api/generated/bundles.cjs.js");require("../../../../../api/generated/configuration.cjs.js");require("../../../../../api/generated/dataImport.cjs.js");require("../../../../../api/generated/desktop.cjs.js");require("../../../../../api/generated/entityLists.cjs.js");require("../../../../../api/generated/events.cjs.js");require("../../../../../api/generated/files.cjs.js");require("../../../../../api/generated/folders.cjs.js");require("../../../../../api/generated/inbox.cjs.js");require("../../../../../api/generated/links.cjs.js");require("../../../../../api/generated/market.cjs.js");require("../../../../../api/generated/onboarding.cjs.js");require("../../../../../api/generated/operations.cjs.js");require("../../../../../api/generated/products.cjs.js");require("../../../../../api/generated/projectDashboard.cjs.js");require("../../../../../api/generated/projects.cjs.js");require("../../../../../api/generated/projectFolders.cjs.js");require("../../../../../api/generated/reviewables.cjs.js");require("../../../../../api/generated/services.cjs.js");require("../../../../../api/generated/system.cjs.js");require("../../../../../api/generated/tasks.cjs.js");require("../../../../../api/generated/teams.cjs.js");require("../../../../../api/generated/thumbnails.cjs.js");require("../../../../../api/generated/uRIs.cjs.js");require("../../../../../api/generated/users.cjs.js");require("../../../../../api/generated/versions.cjs.js");require("../../../../../api/generated/workfiles.cjs.js");require("../../../../../api/generated/ynputCloud.cjs.js");require("../../../../../api/generated/grouping.cjs.js");require("../../../../../api/generated/views.cjs.js");require("../../../../../api/queries/actions/getActions.cjs.js");require("../../../../../api/queries/activities/getActivities.cjs.js");require("../../../../../api/queries/activities/updateActivities.cjs.js");require("../../../../../api/queries/activities/updateReaction.cjs.js");require("../../../../../api/queries/activities/getMentions.cjs.js");require("../../../../../api/queries/activities/getCategories.cjs.js");require("../../../../../api/queries/addons/getAddons.cjs.js");require("../../../../../api/queries/addons/updateAddons.cjs.js");require("../../../../../api/queries/attributes/getAttributes.cjs.js");require("../../../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../../../api/queries/cloud/cloud.cjs.js");require("../../../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../../../api/queries/config/getConfig.cjs.js");require("../../../../../api/queries/config/updateConfig.cjs.js");require("../../../../../api/queries/entities/getEntity.cjs.js");require("../../../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../../../api/queries/overview/getOverview.cjs.js");require("../../../../../api/queries/overview/updateOverview.cjs.js");require("../../../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../../../api/queries/links/getEntityLinks.cjs.js");require("../../../../../api/queries/entities/updateEntity.cjs.js");require("../../../../../api/queries/entityLists/getLists.cjs.js");require("../../../../../api/queries/entityLists/updateLists.cjs.js");require("../../../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../../../api/queries/entityLists/listFolders.cjs.js");require("../../../../../api/queries/folders/getFolders.cjs.js");require("../../../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../../../api/queries/grouping/getGrouping.cjs.js");require("../../../../../api/queries/links/updateLinks.cjs.js");require("../../../../../api/queries/links/getLinks.cjs.js");require("../../../../../api/queries/permissions/getPermissions.cjs.js");require("../../../../../api/queries/products/createProduct.cjs.js");require("../../../../../api/queries/products/getFolderProducts.cjs.js");require("../../../../../api/queries/project/getProject.cjs.js");require("../../../../../api/queries/project/updateProject.cjs.js");require("../../../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../../../api/queries/review/getReview.cjs.js");require("../../../../../api/queries/review/updateReview.cjs.js");require("../../../../../api/queries/share/share.cjs.js");require("../../../../../api/queries/system/getSystem.cjs.js");require("../../../../../api/queries/tasks/getTasks.cjs.js");require("../../../../../api/queries/tasks/updateTasks.cjs.js");require("../../../../../api/queries/teams/getTeams.cjs.js");require("../../../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../../../api/queries/users/getUsers.cjs.js");require("../../../../../api/queries/users/updateUsers.cjs.js");require("../../../../../api/queries/users/guests.cjs.js");require("../../../../../api/queries/versions/updateVersions.cjs.js");require("../../../../../api/queries/views/getViews.cjs.js");require("../../../../../api/queries/views/updateViews.cjs.js");require("../../../../../api/queries/watchers/getWatchers.cjs.js");require("../../../../../api/queries/uris/getUris.cjs.js");require("../../../../../../../_virtual/index.cjs.js");require("../../../../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */require("lodash");require("uuid");require("../../../../../util/pubsub.cjs.js");require("../../../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../../../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../../../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../../../../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../../../Feed/components/CommentInput/modules/index.cjs.js");require("../../../../../context/RemoteModulesContext.cjs.js");require("../../../../../../../_virtual/runtime.cjs.js");require("../../../../../../../_virtual/semver.cjs.js");require("../../../../../context/PowerpackContextInstance.cjs.js");require("../../../../../context/UriContext.cjs.js");require("../../../../../context/DetailsPanelContextInstance.cjs.js");require("../../../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../../../context/ThumbnailUploaderContext.cjs.js");require("../../../../../context/SettingsPanelContext.cjs.js");require("../../../../../context/pip/PiPProvider.cjs.js");require("../../../../../context/pip/PiPWrapper.cjs.js");require("../../../../../context/AddonProjectContext.cjs.js");require("../../../../../context/AddonContext.cjs.js");require("../../../../../context/MoveEntityContext.cjs.js");require("../../../../../context/MenuContext.cjs.js");require("../../../../../context/WebsocketContext.cjs.js");require("../../../../../context/GlobalContext.cjs.js");require("../../../../../context/ProjectContext.cjs.js");require("../../../../../context/ProjectFoldersContext.cjs.js");require("react-redux");require("custom-protocol-check");require("../../../../ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("../../../../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../../../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../../../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../../../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("../../../../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../../../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../../../../Feed/context/FeedContext.cjs.js");require("../../../../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../../../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../../../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../../../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../../../../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../../../../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../../../../Feed/components/CommentInput/CommentInput.cjs.js");require("../../../../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../../../../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../../../../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../../../../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../../../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../../../../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../../../../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../../../../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../../../../Feed/components/ActivityDate.cjs.js");require("../../../../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../../../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.cjs.js");require("../../../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../../../../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../../../../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../../../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../../../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../../../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../../../../Feed/Feed.styled.cjs.js");require("../../../../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");require("@tanstack/react-table");require("../../../../ProjectTreeTable/widgets/CollapsedWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/DateWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EnumWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EnumCellValue.cjs.js");require("../../../../ProjectTreeTable/widgets/TextWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/MarkdownWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/BooleanWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/CellWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/EntityNameWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ThumbnailWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/LinksWidget.cjs.js");require("../../../../../components/LinksManager/LinksManager.styled.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableContext.cjs.js");require("../../../../ProjectTreeTable/widgets/EmptyWidget.cjs.js");require("../../../../ProjectTreeTable/widgets/ErrorWidget.cjs.js");require("../../../../ProjectTreeTable/context/CellEditingContext.cjs.js");require("../../../../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");require("../../../../ProjectTreeTable/context/SelectionCellsContext.cjs.js");require("../../../../ProjectTreeTable/context/ProjectTableQueriesContext.cjs.js");require("../../../../ProjectTreeTable/context/ClipboardContext.cjs.js");require("../../../../ProjectTreeTable/context/ColumnSettingsContext.cjs.js");require("../../../../ProjectTreeTable/context/SelectedRowsContext.cjs.js");require("../../../../ProjectTreeTable/context/DetailsPanelEntityContext.cjs.js");require("../../../../ProjectTreeTable/components/DeleteConfirmContent.cjs.js");require("../../../../ProjectTreeTable/context/ProjectDataContext.cjs.js");require("../../../../ProjectTreeTable/ProjectTreeTable.styled.cjs.js");require("../../../../ProjectTreeTable/components/SelectionCell.cjs.js");require("../../../../ProjectTreeTable/components/RowSelectionHeader.cjs.js");require("../../../../ProjectTreeTable/widgets/LoadMoreWidget.cjs.js");require("../../../../ProjectTreeTable/components/HeaderActionButton.cjs.js");require("../../../../ProjectTreeTable/components/TableFooterRow.cjs.js");require("../../../../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../../../../Slicer/components/Slicer.cjs.js");require("../../../../Slicer/context/SlicerContext.cjs.js");require("../../../../Slicer/hooks/useTableDataBySlice.cjs.js");require("../../../DetailsPanel.styled.cjs.js");require("../../DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../../DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../../../../components/PlayableIcon/PlayableIcon.cjs.js");require("../../DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../components/ShareDialog.cjs.js");require("../../TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../../SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../../DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../../../../Actions/Actions.styled.cjs.js");require("../../../../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../../../../Actions/ActionIcon.cjs.js");require("../../../../Views/ViewsMenu/ViewsMenu.cjs.js");require("../../../../Views/context/ViewsContextInstance.cjs.js");require("../../../../Views/Views.styled.cjs.js");require("../../../../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../../../../ListTable/ListTableRow.cjs.js");require("../../../../ListTable/ListTable.styled.cjs.js");require("../../../../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../../../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../../../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../../../../components/EntityPath/EntityPath.styled.cjs.js");require("../../../../../components/EntityPath/SegmentProvider.cjs.js");require("../../../../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../../../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../../../../components/Feedback/SupportBubble.cjs.js");require("../../../../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../../../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../../../../components/Powerpack/PowerpackButton.cjs.js");require("../../../../../components/Powerpack/FreeTrialLink.cjs.js");require("../../../../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../../../../components/Powerpack/CTAButton.cjs.js");require("../../../../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../../../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../../../../components/SizeSlider/SizeSlider.cjs.js");require("../../../../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../../../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../../../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../../../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../../../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../../../../components/StyledLink/StyledLink.cjs.js");require("../../../../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../../../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../../../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../../../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../../../../components/VersionUploader/components/UploadVersionDialog.cjs.js");const e=require("../../../../../components/VersionUploader/context/VersionUploadContext.cjs.js");require("../../../../../components/Watchers/Watchers.cjs.js");require("../../../../../components/Menu/Menu.styled.cjs.js");require("../../../../../components/Menu/MenuItem.cjs.js");require("../../../../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../../../../components/ColumnHeaderMenuUI.cjs.js");const r=()=>({onOpenVersionUpload:e.useOptionalVersionUploadContext()?.onOpenVersionUpload??null});exports.useContextAccess=r;
2
2
  //# sourceMappingURL=useContextAccess.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContextAccess.cjs.js","sources":["../../../../../../../../src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.ts"],"sourcesContent":["import { useOptionalVersionUploadContext } from '@shared/components'\n\n/**\n * Reads VersionUploadContext without throwing when the provider is absent.\n * Replaces a try/catch around `useVersionUploadContext()` (which violated the\n * Rules of Hooks if the throwing hook was ever to call additional hooks).\n */\nexport const useContextAccess = () => {\n const versionUploadContext = useOptionalVersionUploadContext()\n return {\n onOpenVersionUpload: versionUploadContext?.onOpenVersionUpload ?? null,\n }\n}\n"],"names":["useContextAccess","useOptionalVersionUploadContext"],"mappings":"6rkBAOO,MAAMA,EAAmB,KAEvB,CACL,oBAF2BC,EAAAA,gCAAA,GAEgB,qBAAuB,IAAA"}
1
+ {"version":3,"file":"useContextAccess.cjs.js","sources":["../../../../../../../../src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.ts"],"sourcesContent":["import { useOptionalVersionUploadContext } from '@shared/components'\n\n/**\n * Reads VersionUploadContext without throwing when the provider is absent.\n * Replaces a try/catch around `useVersionUploadContext()` (which violated the\n * Rules of Hooks if the throwing hook was ever to call additional hooks).\n */\nexport const useContextAccess = () => {\n const versionUploadContext = useOptionalVersionUploadContext()\n return {\n onOpenVersionUpload: versionUploadContext?.onOpenVersionUpload ?? null,\n }\n}\n"],"names":["useContextAccess","useOptionalVersionUploadContext"],"mappings":"g9kBAOO,MAAMA,EAAmB,KAEvB,CACL,oBAF2BC,EAAAA,gCAAA,GAEgB,qBAAuB,IAAA"}
@@ -192,7 +192,7 @@ import "../../../../Feed/components/ActivityVersionReview/ActivityVersionReview.
192
192
  import "../../../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
193
193
  import "../../../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
194
194
  import "../../../../Feed/Feed.styled.es.js";
195
- import "../../TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
195
+ import "../../../../Feed/components/FeedSearchFilter.es.js";
196
196
  import "@tanstack/react-virtual";
197
197
  import "@tanstack/react-table";
198
198
  import "../../../../ProjectTreeTable/widgets/CollapsedWidget.es.js";
@@ -206,8 +206,7 @@ import "../../../../ProjectTreeTable/widgets/CellWidget.es.js";
206
206
  import "../../../../ProjectTreeTable/widgets/EntityNameWidget.es.js";
207
207
  import "../../../../ProjectTreeTable/widgets/GroupHeaderWidget.es.js";
208
208
  import "../../../../ProjectTreeTable/widgets/ThumbnailWidget.es.js";
209
- import "../../../../ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
210
- import "../../../../ProjectTreeTable/context/SelectedRowsContext.es.js";
209
+ import "../../../../ProjectTreeTable/widgets/LinksWidget.es.js";
211
210
  import "../../../../../components/LinksManager/LinksManager.styled.es.js";
212
211
  import "../../../../ProjectTreeTable/context/ProjectTableContext.es.js";
213
212
  import "../../../../ProjectTreeTable/widgets/EmptyWidget.es.js";
@@ -219,6 +218,8 @@ import "../../../../ProjectTreeTable/context/SelectionCellsContext.es.js";
219
218
  import "../../../../ProjectTreeTable/context/ProjectTableQueriesContext.es.js";
220
219
  import "../../../../ProjectTreeTable/context/ClipboardContext.es.js";
221
220
  import "../../../../ProjectTreeTable/context/ColumnSettingsContext.es.js";
221
+ import "../../../../ProjectTreeTable/context/SelectedRowsContext.es.js";
222
+ import "../../../../ProjectTreeTable/context/DetailsPanelEntityContext.es.js";
222
223
  import "../../../../ProjectTreeTable/components/DeleteConfirmContent.es.js";
223
224
  import "../../../../ProjectTreeTable/context/ProjectDataContext.es.js";
224
225
  import "../../../../ProjectTreeTable/ProjectTreeTable.styled.es.js";
@@ -237,6 +238,8 @@ import "../../DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
237
238
  import "../../../../../components/PlayableIcon/PlayableIcon.es.js";
238
239
  import "../../DetailsPanelFiles/DetailsPanelFiles.es.js";
239
240
  import "../components/ShareDialog.es.js";
241
+ import "../../TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
242
+ import "../../SubtasksSearchFilter/SubtasksSearchFilter.es.js";
240
243
  import "../../DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
241
244
  import "../../DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
242
245
  import "../../../../Actions/Actions.styled.es.js";
@@ -268,6 +271,7 @@ import "../../../../../components/ProjectTableSettings/ProjectTableSettings.es.j
268
271
  import "../../../../../components/SizeSlider/SizeSlider.es.js";
269
272
  import "../../../../../components/ReviewableCard/ReviewableCard.es.js";
270
273
  import "../../../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
274
+ import "../../../../../components/SearchFilter/CustomDateRangeDialog.es.js";
271
275
  import "../../../../../components/SettingsPanel/SettingsPanel.es.js";
272
276
  import "../../../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
273
277
  import "../../../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
@@ -284,10 +288,10 @@ import "../../../../../components/Menu/Menu.styled.es.js";
284
288
  import "../../../../../components/Menu/MenuItem.es.js";
285
289
  import "../../../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
286
290
  import "../../../../../components/ColumnHeaderMenuUI.es.js";
287
- const vi = () => ({
291
+ const gi = () => ({
288
292
  onOpenVersionUpload: o()?.onOpenVersionUpload ?? null
289
293
  });
290
294
  export {
291
- vi as useContextAccess
295
+ gi as useContextAccess
292
296
  };
293
297
  //# sourceMappingURL=useContextAccess.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContextAccess.es.js","sources":["../../../../../../../../src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.ts"],"sourcesContent":["import { useOptionalVersionUploadContext } from '@shared/components'\n\n/**\n * Reads VersionUploadContext without throwing when the provider is absent.\n * Replaces a try/catch around `useVersionUploadContext()` (which violated the\n * Rules of Hooks if the throwing hook was ever to call additional hooks).\n */\nexport const useContextAccess = () => {\n const versionUploadContext = useOptionalVersionUploadContext()\n return {\n onOpenVersionUpload: versionUploadContext?.onOpenVersionUpload ?? null,\n }\n}\n"],"names":["useContextAccess","useOptionalVersionUploadContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,KAAmB,OAEvB;AAAA,EACL,qBAF2BC,EAAA,GAEgB,uBAAuB;AAAA;"}
1
+ {"version":3,"file":"useContextAccess.es.js","sources":["../../../../../../../../src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.ts"],"sourcesContent":["import { useOptionalVersionUploadContext } from '@shared/components'\n\n/**\n * Reads VersionUploadContext without throwing when the provider is absent.\n * Replaces a try/catch around `useVersionUploadContext()` (which violated the\n * Rules of Hooks if the throwing hook was ever to call additional hooks).\n */\nexport const useContextAccess = () => {\n const versionUploadContext = useOptionalVersionUploadContext()\n return {\n onOpenVersionUpload: versionUploadContext?.onOpenVersionUpload ?? null,\n }\n}\n"],"names":["useContextAccess","useOptionalVersionUploadContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,KAAmB,OAEvB;AAAA,EACL,qBAF2BC,EAAA,GAEgB,uBAAuB;AAAA;"}
@@ -0,0 +1,10 @@
1
+ "use strict";const r=require("../../../../../../_virtual/jsx-runtime.cjs.js"),s=require("react"),k=require("@ynput/ayon-react-components"),x=require("styled-components"),C=require("../../helpers/subtasksFilterAdapter.cjs.js"),q=require("../../../../components/SearchFilter/useDateRangeFilter.cjs.js"),y=require("../../../../components/SearchFilter/CustomDateRangeDialog.cjs.js"),_=x.div`
2
+ padding: 4px 8px;
3
+ padding-bottom: 0;
4
+
5
+ &.loading {
6
+ opacity: 0.5;
7
+ pointer-events: none;
8
+ }
9
+ `,j=({subtasksFilter:c,setSubtasksFilter:b,users:u,isLoading:D,totalCount:d=0,doneCount:F=0,onSearchTextChange:p})=>{const a=s.useMemo(()=>[{id:"isDone",label:"Status",icon:"check_circle",type:"boolean",singleSelect:!0,values:[{id:"false",label:"Not Done",icon:"radio_button_unchecked"},{id:"true",label:"Done",icon:"check_circle"}]},{id:"assignees",label:"Assignees",icon:"person",type:"list_of_strings",operator:"OR",allowHasValue:!0,allowNoValue:!0,values:u.map(e=>({id:e.name,label:e.attrib?.fullName||e.name,img:`/api/users/${e.name}/avatar`}))}],[u]),o=s.useMemo(()=>C.subtasksFilterToClientFilters(c,a),[c,a]),[n,m]=s.useState(o),g=s.useRef(null),t=q.useDateRangeFilter();s.useEffect(()=>{m(o)},[JSON.stringify(o)]);const h=e=>{const i=C.clientFiltersToSubtasksFilter(e);b(i),p?.("")},R=e=>{t.wrapFilterChange(e,n,m)},S=(e,i)=>{i||p?.(e)};let l="";d>0&&(l=`${F}/${d}`);const f=s.useMemo(()=>[{id:"isDone",label:l,tooltip:"Status"}],[l]);return r.jsxRuntimeExports.jsxs(_,{className:D?"loading":void 0,children:[r.jsxRuntimeExports.jsx(k.SearchFilter,{ref:g,compact:!0,options:a,filters:n,onChange:R,onFinish:h,enableGlobalSearch:!0,enableMultipleSameFilters:!1,enableAutosuggestion:!0,onSearchChange:S,quickActions:f,placeholder:"Search and filter subtasks...",pt:{searchBar:{onClickCapture:e=>t.handleSearchBarClickCapture(e,n)},dropdown:{pt:{item:{onClick:e=>t.handleDropdownItemClick(e,n,a)}}}}}),r.jsxRuntimeExports.jsx(y.CustomDateRangeDialog,{isOpen:!!t.customRangeFilterId,header:a.find(e=>e.id===t.customRangeFilterId?.split("__")[0])?.label??"Custom range",startDate:t.customStartDate,endDate:t.customEndDate,onStartDateChange:t.setCustomStartDate,onEndDateChange:t.setCustomEndDate,onApply:()=>t.handleCustomRangeApply(n,a,h,g),onClose:t.handleCustomRangeClose})]})};module.exports=j;
10
+ //# sourceMappingURL=SubtasksSearchFilter.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtasksSearchFilter.cjs.js","sources":["../../../../../../../src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport {\n SearchFilter,\n Filter,\n Option,\n SearchFilterQuickAction,\n SearchFilterRef,\n} from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\nimport { type QueryFilter, UserModel } from '@shared/api'\nimport {\n subtasksFilterToClientFilters,\n clientFiltersToSubtasksFilter,\n} from '../../helpers/subtasksFilterAdapter'\nimport { generateDateOptions } from '@shared/components/SearchFilter/filterDates'\nimport { useDateRangeFilter } from '@shared/components/SearchFilter/useDateRangeFilter'\nimport { CustomDateRangeDialog } from '@shared/components/SearchFilter/CustomDateRangeDialog'\n\nconst Wrapper = styled.div`\n padding: 4px 8px;\n padding-bottom: 0;\n\n &.loading {\n opacity: 0.5;\n pointer-events: none;\n }\n`\n\ninterface SubtasksSearchFilterProps {\n subtasksFilter: QueryFilter\n setSubtasksFilter: (filter: QueryFilter) => void\n users: UserModel[]\n isLoading?: boolean\n totalCount?: number\n doneCount?: number\n onSearchTextChange?: (text: string) => void\n}\n\nconst SubtasksSearchFilter: FC<SubtasksSearchFilterProps> = ({\n subtasksFilter,\n setSubtasksFilter,\n users,\n isLoading,\n totalCount = 0,\n doneCount = 0,\n onSearchTextChange,\n}) => {\n const options: Option[] = useMemo(\n () => [\n {\n id: 'isDone',\n label: 'Status',\n icon: 'check_circle',\n type: 'boolean',\n singleSelect: true,\n values: [\n { id: 'false', label: 'Not Done', icon: 'radio_button_unchecked' },\n { id: 'true', label: 'Done', icon: 'check_circle' },\n ],\n },\n {\n id: 'assignees',\n label: 'Assignees',\n icon: 'person',\n type: 'list_of_strings' as const,\n operator: 'OR' as const,\n allowHasValue: true,\n allowNoValue: true,\n values: users.map((u) => ({\n id: u.name,\n label: u.attrib?.fullName || u.name,\n img: `/api/users/${u.name}/avatar`,\n })),\n },\n // dates disabled until planner update with support is released\n // {\n // id: 'startDate',\n // label: 'Start Date',\n // icon: 'calendar_today',\n // type: 'datetime',\n // values: generateDateOptions(),\n // },\n // {\n // id: 'endDate',\n // label: 'End Date',\n // icon: 'event',\n // type: 'datetime',\n // values: generateDateOptions(),\n // },\n ],\n [users],\n )\n\n const filters = useMemo(() => {\n return subtasksFilterToClientFilters(subtasksFilter, options)\n }, [subtasksFilter, options])\n\n const [localFilters, setLocalFilters] = useState<Filter[]>(filters)\n const searchFilterRef = useRef<SearchFilterRef>(null)\n\n const dateRange = useDateRangeFilter()\n\n useEffect(() => {\n setLocalFilters(filters)\n }, [JSON.stringify(filters)])\n\n const handleFinish = (newFilters: Filter[]) => {\n const queryFilter = clientFiltersToSubtasksFilter(newFilters)\n\n setSubtasksFilter(queryFilter)\n onSearchTextChange?.('')\n }\n\n const handleFilterChange = (newFilters: Filter[]) => {\n dateRange.wrapFilterChange(newFilters, localFilters, setLocalFilters)\n }\n\n const handleLiveSearch = (value: string, filter: string | null) => {\n // only for root level searching\n if (!!filter) return\n onSearchTextChange?.(value)\n }\n\n let statusLabel: string = ''\n if (totalCount > 0) {\n statusLabel = `${doneCount}/${totalCount}`\n }\n\n const quickActions: SearchFilterQuickAction[] = useMemo(\n () => [{ id: 'isDone', label: statusLabel, tooltip: 'Status' }],\n [statusLabel],\n )\n\n return (\n <Wrapper className={isLoading ? 'loading' : undefined}>\n <SearchFilter\n ref={searchFilterRef}\n compact\n options={options}\n filters={localFilters}\n onChange={handleFilterChange}\n onFinish={handleFinish}\n enableGlobalSearch\n enableMultipleSameFilters={false}\n enableAutosuggestion={true}\n onSearchChange={handleLiveSearch}\n quickActions={quickActions}\n placeholder=\"Search and filter subtasks...\"\n pt={{\n searchBar: {\n onClickCapture: (e) => dateRange.handleSearchBarClickCapture(e, localFilters),\n },\n dropdown: {\n pt: {\n item: {\n onClick: (e) => dateRange.handleDropdownItemClick(e, localFilters, options),\n },\n },\n },\n }}\n />\n <CustomDateRangeDialog\n isOpen={!!dateRange.customRangeFilterId}\n header={\n options.find((o) => o.id === dateRange.customRangeFilterId?.split('__')[0])?.label ??\n 'Custom range'\n }\n startDate={dateRange.customStartDate}\n endDate={dateRange.customEndDate}\n onStartDateChange={dateRange.setCustomStartDate}\n onEndDateChange={dateRange.setCustomEndDate}\n onApply={() =>\n dateRange.handleCustomRangeApply(localFilters, options, handleFinish, searchFilterRef)\n }\n onClose={dateRange.handleCustomRangeClose}\n />\n </Wrapper>\n )\n}\n\nexport default SubtasksSearchFilter\n"],"names":["Wrapper","styled","SubtasksSearchFilter","subtasksFilter","setSubtasksFilter","users","isLoading","totalCount","doneCount","onSearchTextChange","options","useMemo","u","filters","subtasksFilterToClientFilters","localFilters","setLocalFilters","useState","searchFilterRef","useRef","dateRange","useDateRangeFilter","useEffect","handleFinish","newFilters","queryFilter","clientFiltersToSubtasksFilter","handleFilterChange","handleLiveSearch","value","filter","statusLabel","quickActions","jsxs","jsx","SearchFilter","CustomDateRangeDialog","o"],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ import { j as i } from "../../../../../../_virtual/jsx-runtime.es.js";
2
+ import { useMemo as r, useState as k, useRef as R, useEffect as y } from "react";
3
+ import { SearchFilter as _ } from "@ynput/ayon-react-components";
4
+ import v from "styled-components";
5
+ import { subtasksFilterToClientFilters as x, clientFiltersToSubtasksFilter as j } from "../../helpers/subtasksFilterAdapter.es.js";
6
+ import { useDateRangeFilter as w } from "../../../../components/SearchFilter/useDateRangeFilter.es.js";
7
+ import { CustomDateRangeDialog as A } from "../../../../components/SearchFilter/CustomDateRangeDialog.es.js";
8
+ const E = v.div`
9
+ padding: 4px 8px;
10
+ padding-bottom: 0;
11
+
12
+ &.loading {
13
+ opacity: 0.5;
14
+ pointer-events: none;
15
+ }
16
+ `, M = ({
17
+ subtasksFilter: c,
18
+ setSubtasksFilter: f,
19
+ users: u,
20
+ isLoading: b,
21
+ totalCount: d = 0,
22
+ doneCount: C = 0,
23
+ onSearchTextChange: p
24
+ }) => {
25
+ const a = r(
26
+ () => [
27
+ {
28
+ id: "isDone",
29
+ label: "Status",
30
+ icon: "check_circle",
31
+ type: "boolean",
32
+ singleSelect: !0,
33
+ values: [
34
+ { id: "false", label: "Not Done", icon: "radio_button_unchecked" },
35
+ { id: "true", label: "Done", icon: "check_circle" }
36
+ ]
37
+ },
38
+ {
39
+ id: "assignees",
40
+ label: "Assignees",
41
+ icon: "person",
42
+ type: "list_of_strings",
43
+ operator: "OR",
44
+ allowHasValue: !0,
45
+ allowNoValue: !0,
46
+ values: u.map((e) => ({
47
+ id: e.name,
48
+ label: e.attrib?.fullName || e.name,
49
+ img: `/api/users/${e.name}/avatar`
50
+ }))
51
+ }
52
+ // dates disabled until planner update with support is released
53
+ // {
54
+ // id: 'startDate',
55
+ // label: 'Start Date',
56
+ // icon: 'calendar_today',
57
+ // type: 'datetime',
58
+ // values: generateDateOptions(),
59
+ // },
60
+ // {
61
+ // id: 'endDate',
62
+ // label: 'End Date',
63
+ // icon: 'event',
64
+ // type: 'datetime',
65
+ // values: generateDateOptions(),
66
+ // },
67
+ ],
68
+ [u]
69
+ ), n = r(() => x(c, a), [c, a]), [o, m] = k(n), h = R(null), t = w();
70
+ y(() => {
71
+ m(n);
72
+ }, [JSON.stringify(n)]);
73
+ const g = (e) => {
74
+ const l = j(e);
75
+ f(l), p?.("");
76
+ }, F = (e) => {
77
+ t.wrapFilterChange(e, o, m);
78
+ }, S = (e, l) => {
79
+ l || p?.(e);
80
+ };
81
+ let s = "";
82
+ d > 0 && (s = `${C}/${d}`);
83
+ const D = r(
84
+ () => [{ id: "isDone", label: s, tooltip: "Status" }],
85
+ [s]
86
+ );
87
+ return /* @__PURE__ */ i.jsxs(E, { className: b ? "loading" : void 0, children: [
88
+ /* @__PURE__ */ i.jsx(
89
+ _,
90
+ {
91
+ ref: h,
92
+ compact: !0,
93
+ options: a,
94
+ filters: o,
95
+ onChange: F,
96
+ onFinish: g,
97
+ enableGlobalSearch: !0,
98
+ enableMultipleSameFilters: !1,
99
+ enableAutosuggestion: !0,
100
+ onSearchChange: S,
101
+ quickActions: D,
102
+ placeholder: "Search and filter subtasks...",
103
+ pt: {
104
+ searchBar: {
105
+ onClickCapture: (e) => t.handleSearchBarClickCapture(e, o)
106
+ },
107
+ dropdown: {
108
+ pt: {
109
+ item: {
110
+ onClick: (e) => t.handleDropdownItemClick(e, o, a)
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+ ),
117
+ /* @__PURE__ */ i.jsx(
118
+ A,
119
+ {
120
+ isOpen: !!t.customRangeFilterId,
121
+ header: a.find((e) => e.id === t.customRangeFilterId?.split("__")[0])?.label ?? "Custom range",
122
+ startDate: t.customStartDate,
123
+ endDate: t.customEndDate,
124
+ onStartDateChange: t.setCustomStartDate,
125
+ onEndDateChange: t.setCustomEndDate,
126
+ onApply: () => t.handleCustomRangeApply(o, a, g, h),
127
+ onClose: t.handleCustomRangeClose
128
+ }
129
+ )
130
+ ] });
131
+ };
132
+ export {
133
+ M as default
134
+ };
135
+ //# sourceMappingURL=SubtasksSearchFilter.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubtasksSearchFilter.es.js","sources":["../../../../../../../src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react'\nimport {\n SearchFilter,\n Filter,\n Option,\n SearchFilterQuickAction,\n SearchFilterRef,\n} from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\nimport { type QueryFilter, UserModel } from '@shared/api'\nimport {\n subtasksFilterToClientFilters,\n clientFiltersToSubtasksFilter,\n} from '../../helpers/subtasksFilterAdapter'\nimport { generateDateOptions } from '@shared/components/SearchFilter/filterDates'\nimport { useDateRangeFilter } from '@shared/components/SearchFilter/useDateRangeFilter'\nimport { CustomDateRangeDialog } from '@shared/components/SearchFilter/CustomDateRangeDialog'\n\nconst Wrapper = styled.div`\n padding: 4px 8px;\n padding-bottom: 0;\n\n &.loading {\n opacity: 0.5;\n pointer-events: none;\n }\n`\n\ninterface SubtasksSearchFilterProps {\n subtasksFilter: QueryFilter\n setSubtasksFilter: (filter: QueryFilter) => void\n users: UserModel[]\n isLoading?: boolean\n totalCount?: number\n doneCount?: number\n onSearchTextChange?: (text: string) => void\n}\n\nconst SubtasksSearchFilter: FC<SubtasksSearchFilterProps> = ({\n subtasksFilter,\n setSubtasksFilter,\n users,\n isLoading,\n totalCount = 0,\n doneCount = 0,\n onSearchTextChange,\n}) => {\n const options: Option[] = useMemo(\n () => [\n {\n id: 'isDone',\n label: 'Status',\n icon: 'check_circle',\n type: 'boolean',\n singleSelect: true,\n values: [\n { id: 'false', label: 'Not Done', icon: 'radio_button_unchecked' },\n { id: 'true', label: 'Done', icon: 'check_circle' },\n ],\n },\n {\n id: 'assignees',\n label: 'Assignees',\n icon: 'person',\n type: 'list_of_strings' as const,\n operator: 'OR' as const,\n allowHasValue: true,\n allowNoValue: true,\n values: users.map((u) => ({\n id: u.name,\n label: u.attrib?.fullName || u.name,\n img: `/api/users/${u.name}/avatar`,\n })),\n },\n // dates disabled until planner update with support is released\n // {\n // id: 'startDate',\n // label: 'Start Date',\n // icon: 'calendar_today',\n // type: 'datetime',\n // values: generateDateOptions(),\n // },\n // {\n // id: 'endDate',\n // label: 'End Date',\n // icon: 'event',\n // type: 'datetime',\n // values: generateDateOptions(),\n // },\n ],\n [users],\n )\n\n const filters = useMemo(() => {\n return subtasksFilterToClientFilters(subtasksFilter, options)\n }, [subtasksFilter, options])\n\n const [localFilters, setLocalFilters] = useState<Filter[]>(filters)\n const searchFilterRef = useRef<SearchFilterRef>(null)\n\n const dateRange = useDateRangeFilter()\n\n useEffect(() => {\n setLocalFilters(filters)\n }, [JSON.stringify(filters)])\n\n const handleFinish = (newFilters: Filter[]) => {\n const queryFilter = clientFiltersToSubtasksFilter(newFilters)\n\n setSubtasksFilter(queryFilter)\n onSearchTextChange?.('')\n }\n\n const handleFilterChange = (newFilters: Filter[]) => {\n dateRange.wrapFilterChange(newFilters, localFilters, setLocalFilters)\n }\n\n const handleLiveSearch = (value: string, filter: string | null) => {\n // only for root level searching\n if (!!filter) return\n onSearchTextChange?.(value)\n }\n\n let statusLabel: string = ''\n if (totalCount > 0) {\n statusLabel = `${doneCount}/${totalCount}`\n }\n\n const quickActions: SearchFilterQuickAction[] = useMemo(\n () => [{ id: 'isDone', label: statusLabel, tooltip: 'Status' }],\n [statusLabel],\n )\n\n return (\n <Wrapper className={isLoading ? 'loading' : undefined}>\n <SearchFilter\n ref={searchFilterRef}\n compact\n options={options}\n filters={localFilters}\n onChange={handleFilterChange}\n onFinish={handleFinish}\n enableGlobalSearch\n enableMultipleSameFilters={false}\n enableAutosuggestion={true}\n onSearchChange={handleLiveSearch}\n quickActions={quickActions}\n placeholder=\"Search and filter subtasks...\"\n pt={{\n searchBar: {\n onClickCapture: (e) => dateRange.handleSearchBarClickCapture(e, localFilters),\n },\n dropdown: {\n pt: {\n item: {\n onClick: (e) => dateRange.handleDropdownItemClick(e, localFilters, options),\n },\n },\n },\n }}\n />\n <CustomDateRangeDialog\n isOpen={!!dateRange.customRangeFilterId}\n header={\n options.find((o) => o.id === dateRange.customRangeFilterId?.split('__')[0])?.label ??\n 'Custom range'\n }\n startDate={dateRange.customStartDate}\n endDate={dateRange.customEndDate}\n onStartDateChange={dateRange.setCustomStartDate}\n onEndDateChange={dateRange.setCustomEndDate}\n onApply={() =>\n dateRange.handleCustomRangeApply(localFilters, options, handleFinish, searchFilterRef)\n }\n onClose={dateRange.handleCustomRangeClose}\n />\n </Wrapper>\n )\n}\n\nexport default SubtasksSearchFilter\n"],"names":["Wrapper","styled","SubtasksSearchFilter","subtasksFilter","setSubtasksFilter","users","isLoading","totalCount","doneCount","onSearchTextChange","options","useMemo","u","filters","subtasksFilterToClientFilters","localFilters","setLocalFilters","useState","searchFilterRef","useRef","dateRange","useDateRangeFilter","useEffect","handleFinish","newFilters","queryFilter","clientFiltersToSubtasksFilter","handleFilterChange","handleLiveSearch","value","filter","statusLabel","quickActions","jsxs","jsx","SearchFilter","CustomDateRangeDialog","o"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabHeaderAndFilters.cjs.js","sources":["../../../../../../../src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.tsx"],"sourcesContent":["// Tab-specific header with label and filters\n// Currently only Feed has filters: activity, comments, versions, checklists\n\nimport { Spacer } from '@ynput/ayon-react-components'\nimport * as Styled from './TabHeaderAndFilters.styled'\nimport { QueryFilter, QueryCondition, EnumItem } from '@shared/api'\nimport { useState, useRef, useEffect } from 'react'\nimport clsx from 'clsx'\n\nexport interface FilterItem<T = string> {\n id: T\n tooltip: string\n icon: string\n type?: 'boolean' | 'enum' | 'search'\n options?: EnumItem[]\n placeholder?: string\n operator?: QueryCondition['operator']\n}\n\ninterface TabHeaderAndFiltersProps<T, K = string> {\n label: string\n filters: FilterItem<K>[]\n currentFilter: T\n onFilterChange: (filter: T) => void\n isLoading?: boolean\n}\n\nconst isCondition = (c: QueryCondition | QueryFilter): c is QueryCondition => {\n return !!c && 'key' in c\n}\n\nconst isSearchItem = (c: QueryCondition | QueryFilter, filterId: string): boolean => {\n if (isCondition(c)) return c.key === filterId\n return !!c.conditions?.some((sub) => isSearchItem(sub, filterId))\n}\n\nconst stringifySearchFilter = (filter: QueryCondition | QueryFilter): string => {\n if (isCondition(filter)) return String(filter.value || '')\n\n const joiner = filter.operator === 'or' ? ', ' : '.'\n return filter.conditions?.map((c) => stringifySearchFilter(c)).join(joiner) || ''\n}\n\nconst parseSearchValue = (\n val: string,\n key: string,\n operator: QueryCondition['operator'],\n): QueryCondition | QueryFilter => {\n // Split by comma first (OR)\n const orTerms = val\n .split(',')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (orTerms.length > 1) {\n return {\n operator: 'or',\n conditions: orTerms.map((term) => parseSearchValue(term, key, operator)),\n }\n }\n\n const baseValue = orTerms[0] || val.trim()\n if (!baseValue || baseValue === ',' || baseValue === '.') {\n return {\n key,\n operator,\n value: '',\n }\n }\n\n // If no commas, split by period (AND)\n const andTerms = baseValue\n .split('.')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (andTerms.length > 1) {\n return {\n operator: 'and',\n conditions: andTerms.map((term) => ({\n key,\n operator,\n value: term,\n })),\n }\n }\n\n // Single term\n return {\n key,\n operator,\n value: andTerms[0] || '',\n }\n}\n\nconst TabHeaderAndFilters = <T, K = string>({\n label,\n filters,\n currentFilter,\n onFilterChange,\n isLoading,\n}: TabHeaderAndFiltersProps<T, K>) => {\n const [expandedSearchId, setExpandedSearchId] = useState<string | null>(null)\n const [searchValue, setSearchValue] = useState<string>('')\n const searchInputRef = useRef<HTMLInputElement>(null)\n\n const isQueryFilter = (f: any): f is QueryFilter => {\n return typeof f === 'object' && f !== null && !Array.isArray(f)\n }\n\n // Focus input when search expands\n useEffect(() => {\n if (expandedSearchId && searchInputRef.current) {\n searchInputRef.current.focus()\n }\n }, [expandedSearchId])\n\n // Sync search value with current filter\n useEffect(() => {\n if (expandedSearchId && isQueryFilter(currentFilter)) {\n if (document.activeElement === searchInputRef.current) return\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, expandedSearchId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }, [expandedSearchId, currentFilter])\n\n const handleToggle = (filter: FilterItem<K>, value?: any) => {\n if (!isQueryFilter(currentFilter)) {\n onFilterChange(filter.id as unknown as T)\n return\n }\n\n const conditions = currentFilter.conditions ? [...currentFilter.conditions] : []\n const newFilter: QueryFilter = {\n ...currentFilter,\n conditions,\n operator: currentFilter.operator || 'and',\n }\n\n const filterId = String(filter.id)\n\n const existingIndex = conditions.findIndex((c) => isSearchItem(c, filterId))\n\n const type = filter.type || 'boolean'\n\n if (type === 'boolean') {\n if (existingIndex > -1) {\n conditions.splice(existingIndex, 1)\n } else {\n conditions.push({ key: filterId, operator: filter.operator || 'eq', value: true })\n }\n } else if (type === 'enum') {\n const newValue = Array.isArray(value) ? value : [value]\n if (newValue.length === 0 || (newValue.length === 1 && newValue[0] === undefined)) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const condition: QueryCondition = {\n key: filterId,\n operator: filter.operator || 'in',\n value: newValue,\n }\n if (existingIndex > -1) {\n conditions[existingIndex] = condition\n } else {\n conditions.push(condition)\n }\n }\n } else if (type === 'search') {\n const stringValue = typeof value === 'string' ? value : ''\n if (!stringValue) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const parsedFilter = parseSearchValue(stringValue, filterId, filter.operator || 'like')\n if (existingIndex > -1) {\n conditions[existingIndex] = parsedFilter\n } else {\n conditions.push(parsedFilter)\n }\n }\n }\n\n onFilterChange(newFilter as T)\n }\n\n const handleSearchClick = (filter: FilterItem<K>) => {\n const filterId = String(filter.id)\n if (expandedSearchId === filterId) {\n return // Already expanded\n }\n setExpandedSearchId(filterId)\n // Load existing value if any\n if (isQueryFilter(currentFilter)) {\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, filterId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }\n\n const handleSearchChange = (filter: FilterItem<K>, value: string) => {\n setSearchValue(value)\n handleToggle(filter, value)\n }\n\n const handleSearchClear = (filter: FilterItem<K>) => {\n setSearchValue('')\n setExpandedSearchId(null)\n handleToggle(filter, '')\n }\n\n const getIsSelected = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) {\n return (filter.id as unknown as T) === currentFilter\n }\n return currentFilter.conditions?.some((c) => isSearchItem(c, String(filter.id)))\n }\n\n const getEnumValue = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) return []\n const condition = currentFilter.conditions?.find(\n (c) => isCondition(c) && c.key === String(filter.id),\n ) as QueryCondition\n return (condition?.value as string[]) || []\n }\n\n return (\n <Styled.HeaderContainer className={clsx('panel-tabs', { loading: isLoading })}>\n <Styled.HeaderLabel className=\"panel-header-label\">{label}</Styled.HeaderLabel>\n <Spacer />\n <Styled.FiltersContainer className=\"panel-header-filters\">\n {filters.map((filter) => {\n const isSelected = getIsSelected(filter)\n const type = filter.type || 'boolean'\n\n if (type === 'enum') {\n return (\n <Styled.Options\n key={String(filter.id)}\n options={filter.options || []}\n value={getEnumValue(filter)}\n onChange={(val) => handleToggle(filter, val)}\n isEditing\n autoOpen={false}\n align=\"right\"\n type=\"list_of_strings\"\n valueTemplate={() => (\n <Styled.FilterButton\n selected={isSelected}\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n />\n )}\n widthExpand\n className=\"panel-filter panel-filter-enum\"\n />\n )\n }\n\n if (type === 'search') {\n const isExpanded = expandedSearchId === String(filter.id)\n return (\n <Styled.SearchFilterContainer\n key={String(filter.id)}\n className={clsx('panel-filter', 'panel-filter-search', { expanded: isExpanded })}\n >\n <Styled.FilterButton\n selected={isSelected || isExpanded}\n onClick={() => handleSearchClick(filter)}\n icon={filter.icon}\n data-tooltip={!isExpanded ? filter.tooltip : undefined}\n data-tooltip-delay={0}\n />\n {isExpanded && (\n <>\n <Styled.SearchInput\n ref={searchInputRef}\n value={searchValue}\n onChange={(e) => handleSearchChange(filter, e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') {\n handleSearchClear(filter)\n }\n }}\n placeholder={filter.placeholder || 'Search...'}\n />\n <Styled.ClearButton\n icon=\"close\"\n onClick={() => handleSearchClear(filter)}\n data-tooltip=\"Clear\"\n data-tooltip-delay={0}\n />\n </>\n )}\n </Styled.SearchFilterContainer>\n )\n }\n\n return (\n <Styled.FilterButton\n key={String(filter.id)}\n selected={isSelected}\n onClick={() => handleToggle(filter)}\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n className=\"panel-filter panel-filter-boolean\"\n />\n )\n })}\n </Styled.FiltersContainer>\n </Styled.HeaderContainer>\n )\n}\n\nexport default TabHeaderAndFilters\n"],"names":["isCondition","c","isSearchItem","filterId","sub","stringifySearchFilter","filter","joiner","parseSearchValue","val","key","operator","orTerms","t","term","baseValue","andTerms","TabHeaderAndFilters","label","filters","currentFilter","onFilterChange","isLoading","expandedSearchId","setExpandedSearchId","useState","searchValue","setSearchValue","searchInputRef","useRef","isQueryFilter","f","useEffect","searchItem","handleToggle","value","conditions","newFilter","existingIndex","type","newValue","condition","stringValue","parsedFilter","handleSearchClick","handleSearchChange","handleSearchClear","getIsSelected","getEnumValue","jsxs","Styled.HeaderContainer","clsx","jsx","Styled.HeaderLabel","Spacer","Styled.FiltersContainer","isSelected","Styled.Options","Styled.FilterButton","isExpanded","Styled.SearchFilterContainer","Fragment","Styled.SearchInput","e","Styled.ClearButton"],"mappings":"8MA2BMA,EAAeC,GACZ,CAAC,CAACA,GAAK,QAASA,EAGnBC,EAAe,CAACD,EAAiCE,IACjDH,EAAYC,CAAC,EAAUA,EAAE,MAAQE,EAC9B,CAAC,CAACF,EAAE,YAAY,KAAMG,GAAQF,EAAaE,EAAKD,CAAQ,CAAC,EAG5DE,EAAyBC,GAAiD,CAC9E,GAAIN,EAAYM,CAAM,SAAU,OAAOA,EAAO,OAAS,EAAE,EAEzD,MAAMC,EAASD,EAAO,WAAa,KAAO,KAAO,IACjD,OAAOA,EAAO,YAAY,IAAKL,GAAMI,EAAsBJ,CAAC,CAAC,EAAE,KAAKM,CAAM,GAAK,EACjF,EAEMC,EAAmB,CACvBC,EACAC,EACAC,IACiC,CAEjC,MAAMC,EAAUH,EACb,MAAM,GAAG,EACT,IAAKI,GAAMA,EAAE,KAAA,CAAM,EACnB,OAAO,OAAO,EAEjB,GAAID,EAAQ,OAAS,EACnB,MAAO,CACL,SAAU,KACV,WAAYA,EAAQ,IAAKE,GAASN,EAAiBM,EAAMJ,EAAKC,CAAQ,CAAC,CAAA,EAI3E,MAAMI,EAAYH,EAAQ,CAAC,GAAKH,EAAI,KAAA,EACpC,GAAI,CAACM,GAAaA,IAAc,KAAOA,IAAc,IACnD,MAAO,CACL,IAAAL,EACA,SAAAC,EACA,MAAO,EAAA,EAKX,MAAMK,EAAWD,EACd,MAAM,GAAG,EACT,IAAKF,GAAMA,EAAE,KAAA,CAAM,EACnB,OAAO,OAAO,EAEjB,OAAIG,EAAS,OAAS,EACb,CACL,SAAU,MACV,WAAYA,EAAS,IAAKF,IAAU,CAClC,IAAAJ,EACA,SAAAC,EACA,MAAOG,CAAA,EACP,CAAA,EAKC,CACL,IAAAJ,EACA,SAAAC,EACA,MAAOK,EAAS,CAAC,GAAK,EAAA,CAE1B,EAEMC,EAAsB,CAAgB,CAC1C,MAAAC,EACA,QAAAC,EACA,cAAAC,EACA,eAAAC,EACA,UAAAC,CACF,IAAsC,CACpC,KAAM,CAACC,EAAkBC,CAAmB,EAAIC,EAAAA,SAAwB,IAAI,EACtE,CAACC,EAAaC,CAAc,EAAIF,EAAAA,SAAiB,EAAE,EACnDG,EAAiBC,EAAAA,OAAyB,IAAI,EAE9CC,EAAiBC,GACd,OAAOA,GAAM,UAAYA,IAAM,MAAQ,CAAC,MAAM,QAAQA,CAAC,EAIhEC,EAAAA,UAAU,IAAM,CACVT,GAAoBK,EAAe,SACrCA,EAAe,QAAQ,MAAA,CAE3B,EAAG,CAACL,CAAgB,CAAC,EAGrBS,EAAAA,UAAU,IAAM,CACd,GAAIT,GAAoBO,EAAcV,CAAa,EAAG,CACpD,GAAI,SAAS,gBAAkBQ,EAAe,QAAS,OACvD,MAAMK,EAAab,EAAc,YAAY,KAAMnB,GAAMC,EAAaD,EAAGsB,CAAgB,CAAC,EAC1FI,EAAeM,EAAa5B,EAAsB4B,CAAU,EAAI,EAAE,CACpE,CACF,EAAG,CAACV,EAAkBH,CAAa,CAAC,EAEpC,MAAMc,EAAe,CAAC5B,EAAuB6B,IAAgB,CAC3D,GAAI,CAACL,EAAcV,CAAa,EAAG,CACjCC,EAAef,EAAO,EAAkB,EACxC,MACF,CAEA,MAAM8B,EAAahB,EAAc,WAAa,CAAC,GAAGA,EAAc,UAAU,EAAI,CAAA,EACxEiB,EAAyB,CAC7B,GAAGjB,EACH,WAAAgB,EACA,SAAUhB,EAAc,UAAY,KAAA,EAGhCjB,EAAW,OAAOG,EAAO,EAAE,EAE3BgC,EAAgBF,EAAW,UAAWnC,GAAMC,EAAaD,EAAGE,CAAQ,CAAC,EAErEoC,EAAOjC,EAAO,MAAQ,UAE5B,GAAIiC,IAAS,UACPD,EAAgB,GAClBF,EAAW,OAAOE,EAAe,CAAC,EAElCF,EAAW,KAAK,CAAE,IAAKjC,EAAU,SAAUG,EAAO,UAAY,KAAM,MAAO,EAAA,CAAM,UAE1EiC,IAAS,OAAQ,CAC1B,MAAMC,EAAW,MAAM,QAAQL,CAAK,EAAIA,EAAQ,CAACA,CAAK,EACtD,GAAIK,EAAS,SAAW,GAAMA,EAAS,SAAW,GAAKA,EAAS,CAAC,IAAM,OACjEF,EAAgB,IAAIF,EAAW,OAAOE,EAAe,CAAC,MACrD,CACL,MAAMG,EAA4B,CAChC,IAAKtC,EACL,SAAUG,EAAO,UAAY,KAC7B,MAAOkC,CAAA,EAELF,EAAgB,GAClBF,EAAWE,CAAa,EAAIG,EAE5BL,EAAW,KAAKK,CAAS,CAE7B,CACF,SAAWF,IAAS,SAAU,CAC5B,MAAMG,EAAc,OAAOP,GAAU,SAAWA,EAAQ,GACxD,GAAI,CAACO,EACCJ,EAAgB,IAAIF,EAAW,OAAOE,EAAe,CAAC,MACrD,CACL,MAAMK,EAAenC,EAAiBkC,EAAavC,EAAUG,EAAO,UAAY,MAAM,EAClFgC,EAAgB,GAClBF,EAAWE,CAAa,EAAIK,EAE5BP,EAAW,KAAKO,CAAY,CAEhC,CACF,CAEAtB,EAAegB,CAAc,CAC/B,EAEMO,EAAqBtC,GAA0B,CACnD,MAAMH,EAAW,OAAOG,EAAO,EAAE,EACjC,GAAIiB,IAAqBpB,IAGzBqB,EAAoBrB,CAAQ,EAExB2B,EAAcV,CAAa,GAAG,CAChC,MAAMa,EAAab,EAAc,YAAY,KAAMnB,GAAMC,EAAaD,EAAGE,CAAQ,CAAC,EAClFwB,EAAeM,EAAa5B,EAAsB4B,CAAU,EAAI,EAAE,CACpE,CACF,EAEMY,EAAqB,CAACvC,EAAuB6B,IAAkB,CACnER,EAAeQ,CAAK,EACpBD,EAAa5B,EAAQ6B,CAAK,CAC5B,EAEMW,EAAqBxC,GAA0B,CACnDqB,EAAe,EAAE,EACjBH,EAAoB,IAAI,EACxBU,EAAa5B,EAAQ,EAAE,CACzB,EAEMyC,EAAiBzC,GAChBwB,EAAcV,CAAa,EAGzBA,EAAc,YAAY,KAAMnB,GAAMC,EAAaD,EAAG,OAAOK,EAAO,EAAE,CAAC,CAAC,EAFrEA,EAAO,KAAwBc,EAKrC4B,EAAgB1C,GACfwB,EAAcV,CAAa,EACdA,EAAc,YAAY,KACzCnB,GAAMD,EAAYC,CAAC,GAAKA,EAAE,MAAQ,OAAOK,EAAO,EAAE,CAAA,GAElC,OAAsB,CAAA,EAJC,CAAA,EAO5C,OACE2C,yBAACC,EAAAA,gBAAA,CAAuB,UAAWC,EAAK,aAAc,CAAE,QAAS7B,EAAW,EAC1E,SAAA,CAAA8B,EAAAA,kBAAAA,IAACC,EAAAA,YAAA,CAAmB,UAAU,qBAAsB,SAAAnC,EAAM,0BACzDoC,EAAAA,OAAA,EAAO,EACRF,wBAACG,EAAAA,iBAAA,CAAwB,UAAU,uBAChC,SAAApC,EAAQ,IAAKb,GAAW,CACvB,MAAMkD,EAAaT,EAAczC,CAAM,EACjCiC,EAAOjC,EAAO,MAAQ,UAE5B,GAAIiC,IAAS,OACX,OACEa,EAAAA,kBAAAA,IAACK,EAAAA,QAAA,CAEC,QAASnD,EAAO,SAAW,CAAA,EAC3B,MAAO0C,EAAa1C,CAAM,EAC1B,SAAWG,GAAQyB,EAAa5B,EAAQG,CAAG,EAC3C,UAAS,GACT,SAAU,GACV,MAAM,QACN,KAAK,kBACL,cAAe,IACb2C,EAAAA,kBAAAA,IAACM,EAAAA,aAAA,CACC,SAAUF,EACV,KAAMlD,EAAO,KACb,eAAcA,EAAO,QACrB,qBAAoB,CAAA,CAAA,EAGxB,YAAW,GACX,UAAU,gCAAA,EAjBL,OAAOA,EAAO,EAAE,CAAA,EAsB3B,GAAIiC,IAAS,SAAU,CACrB,MAAMoB,EAAapC,IAAqB,OAAOjB,EAAO,EAAE,EACxD,OACE2C,EAAAA,kBAAAA,KAACW,EAAAA,sBAAA,CAEC,UAAWT,EAAK,eAAgB,sBAAuB,CAAE,SAAUQ,EAAY,EAE/E,SAAA,CAAAP,EAAAA,kBAAAA,IAACM,EAAAA,aAAA,CACC,SAAUF,GAAcG,EACxB,QAAS,IAAMf,EAAkBtC,CAAM,EACvC,KAAMA,EAAO,KACb,eAAeqD,EAA8B,OAAjBrD,EAAO,QACnC,qBAAoB,CAAA,CAAA,EAErBqD,GACCV,EAAAA,kBAAAA,KAAAY,6BAAA,CACE,SAAA,CAAAT,EAAAA,kBAAAA,IAACU,EAAAA,YAAA,CACC,IAAKlC,EACL,MAAOF,EACP,SAAWqC,GAAMlB,EAAmBvC,EAAQyD,EAAE,OAAO,KAAK,EAC1D,UAAYA,GAAM,CACZA,EAAE,MAAQ,UACZjB,EAAkBxC,CAAM,CAE5B,EACA,YAAaA,EAAO,aAAe,WAAA,CAAA,EAErC8C,EAAAA,kBAAAA,IAACY,EAAAA,YAAA,CACC,KAAK,QACL,QAAS,IAAMlB,EAAkBxC,CAAM,EACvC,eAAa,QACb,qBAAoB,CAAA,CAAA,CACtB,CAAA,CACF,CAAA,CAAA,EA7BG,OAAOA,EAAO,EAAE,CAAA,CAiC3B,CAEA,OACE8C,EAAAA,kBAAAA,IAACM,EAAAA,aAAA,CAEC,SAAUF,EACV,QAAS,IAAMtB,EAAa5B,CAAM,EAClC,KAAMA,EAAO,KACb,eAAcA,EAAO,QACrB,qBAAoB,EACpB,UAAU,mCAAA,EANL,OAAOA,EAAO,EAAE,CAAA,CAS3B,CAAC,CAAA,CACH,CAAA,EACF,CAEJ"}
1
+ {"version":3,"file":"TabHeaderAndFilters.cjs.js","sources":["../../../../../../../src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.tsx"],"sourcesContent":["// Tab-specific header with label and filters\n// Currently only Feed has filters: activity, comments, versions, checklists\n\nimport { Spacer } from '@ynput/ayon-react-components'\nimport * as Styled from './TabHeaderAndFilters.styled'\nimport { QueryFilter, QueryCondition, EnumItem } from '@shared/api'\nimport { useState, useRef, useEffect } from 'react'\nimport clsx from 'clsx'\n\nexport interface FilterItem<T = string> {\n id: T\n tooltip: string\n icon: string\n type?: 'boolean' | 'enum' | 'search'\n options?: EnumItem[]\n placeholder?: string\n operator?: QueryCondition['operator']\n}\n\ninterface TabHeaderAndFiltersProps<T, K = string> {\n label: string\n filters: FilterItem<K>[]\n currentFilter: T\n onFilterChange: (filter: T) => void\n isLoading?: boolean\n}\n\nconst isCondition = (c: QueryCondition | QueryFilter): c is QueryCondition => {\n return !!c && 'key' in c\n}\n\nconst isSearchItem = (c: QueryCondition | QueryFilter, filterId: string): boolean => {\n if (isCondition(c)) return c.key === filterId\n return !!c.conditions?.some((sub) => isSearchItem(sub, filterId))\n}\n\nconst stringifySearchFilter = (filter: QueryCondition | QueryFilter): string => {\n if (isCondition(filter)) return String(filter.value || '')\n\n const joiner = filter.operator === 'or' ? ', ' : '.'\n return filter.conditions?.map((c) => stringifySearchFilter(c)).join(joiner) || ''\n}\n\nconst parseSearchValue = (\n val: string,\n key: string,\n operator: QueryCondition['operator'],\n): QueryCondition | QueryFilter => {\n // Split by comma first (OR)\n const orTerms = val\n .split(',')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (orTerms.length > 1) {\n return {\n operator: 'or',\n conditions: orTerms.map((term) => parseSearchValue(term, key, operator)),\n }\n }\n\n const baseValue = orTerms[0] || val.trim()\n if (!baseValue || baseValue === ',' || baseValue === '.') {\n return {\n key,\n operator,\n value: '',\n }\n }\n\n // If no commas, split by period (AND)\n const andTerms = baseValue\n .split('.')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (andTerms.length > 1) {\n return {\n operator: 'and',\n conditions: andTerms.map((term) => ({\n key,\n operator,\n value: term,\n })),\n }\n }\n\n // Single term\n return {\n key,\n operator,\n value: andTerms[0] || '',\n }\n}\n\nconst TabHeaderAndFilters = <T, K = string>({\n label,\n filters,\n currentFilter,\n onFilterChange,\n isLoading,\n}: TabHeaderAndFiltersProps<T, K>) => {\n const [expandedSearchId, setExpandedSearchId] = useState<string | null>(null)\n const [searchValue, setSearchValue] = useState<string>('')\n const searchInputRef = useRef<HTMLInputElement>(null)\n\n const isQueryFilter = (f: any): f is QueryFilter => {\n return typeof f === 'object' && f !== null && !Array.isArray(f)\n }\n\n // Focus input when search expands\n useEffect(() => {\n if (expandedSearchId && searchInputRef.current) {\n searchInputRef.current.focus()\n }\n }, [expandedSearchId])\n\n // Sync search value with current filter\n useEffect(() => {\n if (expandedSearchId && isQueryFilter(currentFilter)) {\n if (document.activeElement === searchInputRef.current) return\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, expandedSearchId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }, [expandedSearchId, currentFilter])\n\n const handleToggle = (filter: FilterItem<K>, value?: any) => {\n if (!isQueryFilter(currentFilter)) {\n onFilterChange(filter.id as unknown as T)\n return\n }\n\n const conditions = currentFilter.conditions ? [...currentFilter.conditions] : []\n const newFilter: QueryFilter = {\n ...currentFilter,\n conditions,\n operator: currentFilter.operator || 'and',\n }\n\n const filterId = String(filter.id)\n\n const existingIndex = conditions.findIndex((c) => isSearchItem(c, filterId))\n\n const type = filter.type || 'boolean'\n\n if (type === 'boolean') {\n if (existingIndex > -1) {\n conditions.splice(existingIndex, 1)\n } else {\n conditions.push({ key: filterId, operator: filter.operator || 'eq', value: true })\n }\n } else if (type === 'enum') {\n const newValue = Array.isArray(value) ? value : [value]\n if (newValue.length === 0 || (newValue.length === 1 && newValue[0] === undefined)) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const condition: QueryCondition = {\n key: filterId,\n operator: filter.operator || 'in',\n value: newValue,\n }\n if (existingIndex > -1) {\n conditions[existingIndex] = condition\n } else {\n conditions.push(condition)\n }\n }\n } else if (type === 'search') {\n const stringValue = typeof value === 'string' ? value : ''\n if (!stringValue) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const parsedFilter = parseSearchValue(stringValue, filterId, filter.operator || 'like')\n if (existingIndex > -1) {\n conditions[existingIndex] = parsedFilter\n } else {\n conditions.push(parsedFilter)\n }\n }\n }\n\n onFilterChange(newFilter as T)\n }\n\n const handleSearchClick = (filter: FilterItem<K>) => {\n const filterId = String(filter.id)\n if (expandedSearchId === filterId) {\n return // Already expanded\n }\n setExpandedSearchId(filterId)\n // Load existing value if any\n if (isQueryFilter(currentFilter)) {\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, filterId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }\n\n const handleSearchChange = (filter: FilterItem<K>, value: string) => {\n setSearchValue(value)\n handleToggle(filter, value)\n }\n\n const handleSearchClear = (filter: FilterItem<K>) => {\n setSearchValue('')\n setExpandedSearchId(null)\n handleToggle(filter, '')\n }\n\n const getIsSelected = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) {\n return (filter.id as unknown as T) === currentFilter\n }\n return currentFilter.conditions?.some((c) => isSearchItem(c, String(filter.id)))\n }\n\n const getEnumValue = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) return []\n const condition = currentFilter.conditions?.find(\n (c) => isCondition(c) && c.key === String(filter.id),\n ) as QueryCondition\n return (condition?.value as string[]) || []\n }\n\n return (\n <Styled.HeaderContainer className={clsx('panel-tabs', { loading: isLoading })}>\n <Styled.HeaderLabel className=\"panel-header-label\">{label}</Styled.HeaderLabel>\n <Spacer />\n <Styled.FiltersContainer className=\"panel-header-filters\">\n {filters.map((filter) => {\n const isSelected = getIsSelected(filter)\n const type = filter.type || 'boolean'\n\n if (type === 'enum') {\n return (\n <Styled.Options\n key={String(filter.id)}\n options={filter.options || []}\n value={getEnumValue(filter)}\n onChange={(val) => handleToggle(filter, val)}\n isEditing\n autoOpen={false}\n align=\"right\"\n type=\"list_of_strings\"\n valueTemplate={() => (\n <Styled.FilterButton\n selected={isSelected}\n // @ts-expect-error - icon is fine\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n />\n )}\n widthExpand\n className=\"panel-filter panel-filter-enum\"\n />\n )\n }\n\n if (type === 'search') {\n const isExpanded = expandedSearchId === String(filter.id)\n return (\n <Styled.SearchFilterContainer\n key={String(filter.id)}\n className={clsx('panel-filter', 'panel-filter-search', { expanded: isExpanded })}\n >\n <Styled.FilterButton\n selected={isSelected || isExpanded}\n onClick={() => handleSearchClick(filter)}\n // @ts-expect-error - icon is fine\n icon={filter.icon}\n data-tooltip={!isExpanded ? filter.tooltip : undefined}\n data-tooltip-delay={0}\n />\n {isExpanded && (\n <>\n <Styled.SearchInput\n ref={searchInputRef}\n value={searchValue}\n onChange={(e) => handleSearchChange(filter, e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') {\n handleSearchClear(filter)\n }\n }}\n placeholder={filter.placeholder || 'Search...'}\n />\n <Styled.ClearButton\n icon=\"close\"\n onClick={() => handleSearchClear(filter)}\n data-tooltip=\"Clear\"\n data-tooltip-delay={0}\n />\n </>\n )}\n </Styled.SearchFilterContainer>\n )\n }\n\n return (\n <Styled.FilterButton\n key={String(filter.id)}\n selected={isSelected}\n onClick={() => handleToggle(filter)}\n // @ts-expect-error - icon is fine\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n className=\"panel-filter panel-filter-boolean\"\n />\n )\n })}\n </Styled.FiltersContainer>\n </Styled.HeaderContainer>\n )\n}\n\nexport default TabHeaderAndFilters\n"],"names":["isCondition","c","isSearchItem","filterId","sub","stringifySearchFilter","filter","joiner","parseSearchValue","val","key","operator","orTerms","t","term","baseValue","andTerms","TabHeaderAndFilters","label","filters","currentFilter","onFilterChange","isLoading","expandedSearchId","setExpandedSearchId","useState","searchValue","setSearchValue","searchInputRef","useRef","isQueryFilter","f","useEffect","searchItem","handleToggle","value","conditions","newFilter","existingIndex","type","newValue","condition","stringValue","parsedFilter","handleSearchClick","handleSearchChange","handleSearchClear","getIsSelected","getEnumValue","jsxs","Styled.HeaderContainer","clsx","jsx","Styled.HeaderLabel","Spacer","Styled.FiltersContainer","isSelected","Styled.Options","Styled.FilterButton","isExpanded","Styled.SearchFilterContainer","Fragment","Styled.SearchInput","e","Styled.ClearButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TabHeaderAndFilters.es.js","sources":["../../../../../../../src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.tsx"],"sourcesContent":["// Tab-specific header with label and filters\n// Currently only Feed has filters: activity, comments, versions, checklists\n\nimport { Spacer } from '@ynput/ayon-react-components'\nimport * as Styled from './TabHeaderAndFilters.styled'\nimport { QueryFilter, QueryCondition, EnumItem } from '@shared/api'\nimport { useState, useRef, useEffect } from 'react'\nimport clsx from 'clsx'\n\nexport interface FilterItem<T = string> {\n id: T\n tooltip: string\n icon: string\n type?: 'boolean' | 'enum' | 'search'\n options?: EnumItem[]\n placeholder?: string\n operator?: QueryCondition['operator']\n}\n\ninterface TabHeaderAndFiltersProps<T, K = string> {\n label: string\n filters: FilterItem<K>[]\n currentFilter: T\n onFilterChange: (filter: T) => void\n isLoading?: boolean\n}\n\nconst isCondition = (c: QueryCondition | QueryFilter): c is QueryCondition => {\n return !!c && 'key' in c\n}\n\nconst isSearchItem = (c: QueryCondition | QueryFilter, filterId: string): boolean => {\n if (isCondition(c)) return c.key === filterId\n return !!c.conditions?.some((sub) => isSearchItem(sub, filterId))\n}\n\nconst stringifySearchFilter = (filter: QueryCondition | QueryFilter): string => {\n if (isCondition(filter)) return String(filter.value || '')\n\n const joiner = filter.operator === 'or' ? ', ' : '.'\n return filter.conditions?.map((c) => stringifySearchFilter(c)).join(joiner) || ''\n}\n\nconst parseSearchValue = (\n val: string,\n key: string,\n operator: QueryCondition['operator'],\n): QueryCondition | QueryFilter => {\n // Split by comma first (OR)\n const orTerms = val\n .split(',')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (orTerms.length > 1) {\n return {\n operator: 'or',\n conditions: orTerms.map((term) => parseSearchValue(term, key, operator)),\n }\n }\n\n const baseValue = orTerms[0] || val.trim()\n if (!baseValue || baseValue === ',' || baseValue === '.') {\n return {\n key,\n operator,\n value: '',\n }\n }\n\n // If no commas, split by period (AND)\n const andTerms = baseValue\n .split('.')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (andTerms.length > 1) {\n return {\n operator: 'and',\n conditions: andTerms.map((term) => ({\n key,\n operator,\n value: term,\n })),\n }\n }\n\n // Single term\n return {\n key,\n operator,\n value: andTerms[0] || '',\n }\n}\n\nconst TabHeaderAndFilters = <T, K = string>({\n label,\n filters,\n currentFilter,\n onFilterChange,\n isLoading,\n}: TabHeaderAndFiltersProps<T, K>) => {\n const [expandedSearchId, setExpandedSearchId] = useState<string | null>(null)\n const [searchValue, setSearchValue] = useState<string>('')\n const searchInputRef = useRef<HTMLInputElement>(null)\n\n const isQueryFilter = (f: any): f is QueryFilter => {\n return typeof f === 'object' && f !== null && !Array.isArray(f)\n }\n\n // Focus input when search expands\n useEffect(() => {\n if (expandedSearchId && searchInputRef.current) {\n searchInputRef.current.focus()\n }\n }, [expandedSearchId])\n\n // Sync search value with current filter\n useEffect(() => {\n if (expandedSearchId && isQueryFilter(currentFilter)) {\n if (document.activeElement === searchInputRef.current) return\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, expandedSearchId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }, [expandedSearchId, currentFilter])\n\n const handleToggle = (filter: FilterItem<K>, value?: any) => {\n if (!isQueryFilter(currentFilter)) {\n onFilterChange(filter.id as unknown as T)\n return\n }\n\n const conditions = currentFilter.conditions ? [...currentFilter.conditions] : []\n const newFilter: QueryFilter = {\n ...currentFilter,\n conditions,\n operator: currentFilter.operator || 'and',\n }\n\n const filterId = String(filter.id)\n\n const existingIndex = conditions.findIndex((c) => isSearchItem(c, filterId))\n\n const type = filter.type || 'boolean'\n\n if (type === 'boolean') {\n if (existingIndex > -1) {\n conditions.splice(existingIndex, 1)\n } else {\n conditions.push({ key: filterId, operator: filter.operator || 'eq', value: true })\n }\n } else if (type === 'enum') {\n const newValue = Array.isArray(value) ? value : [value]\n if (newValue.length === 0 || (newValue.length === 1 && newValue[0] === undefined)) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const condition: QueryCondition = {\n key: filterId,\n operator: filter.operator || 'in',\n value: newValue,\n }\n if (existingIndex > -1) {\n conditions[existingIndex] = condition\n } else {\n conditions.push(condition)\n }\n }\n } else if (type === 'search') {\n const stringValue = typeof value === 'string' ? value : ''\n if (!stringValue) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const parsedFilter = parseSearchValue(stringValue, filterId, filter.operator || 'like')\n if (existingIndex > -1) {\n conditions[existingIndex] = parsedFilter\n } else {\n conditions.push(parsedFilter)\n }\n }\n }\n\n onFilterChange(newFilter as T)\n }\n\n const handleSearchClick = (filter: FilterItem<K>) => {\n const filterId = String(filter.id)\n if (expandedSearchId === filterId) {\n return // Already expanded\n }\n setExpandedSearchId(filterId)\n // Load existing value if any\n if (isQueryFilter(currentFilter)) {\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, filterId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }\n\n const handleSearchChange = (filter: FilterItem<K>, value: string) => {\n setSearchValue(value)\n handleToggle(filter, value)\n }\n\n const handleSearchClear = (filter: FilterItem<K>) => {\n setSearchValue('')\n setExpandedSearchId(null)\n handleToggle(filter, '')\n }\n\n const getIsSelected = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) {\n return (filter.id as unknown as T) === currentFilter\n }\n return currentFilter.conditions?.some((c) => isSearchItem(c, String(filter.id)))\n }\n\n const getEnumValue = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) return []\n const condition = currentFilter.conditions?.find(\n (c) => isCondition(c) && c.key === String(filter.id),\n ) as QueryCondition\n return (condition?.value as string[]) || []\n }\n\n return (\n <Styled.HeaderContainer className={clsx('panel-tabs', { loading: isLoading })}>\n <Styled.HeaderLabel className=\"panel-header-label\">{label}</Styled.HeaderLabel>\n <Spacer />\n <Styled.FiltersContainer className=\"panel-header-filters\">\n {filters.map((filter) => {\n const isSelected = getIsSelected(filter)\n const type = filter.type || 'boolean'\n\n if (type === 'enum') {\n return (\n <Styled.Options\n key={String(filter.id)}\n options={filter.options || []}\n value={getEnumValue(filter)}\n onChange={(val) => handleToggle(filter, val)}\n isEditing\n autoOpen={false}\n align=\"right\"\n type=\"list_of_strings\"\n valueTemplate={() => (\n <Styled.FilterButton\n selected={isSelected}\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n />\n )}\n widthExpand\n className=\"panel-filter panel-filter-enum\"\n />\n )\n }\n\n if (type === 'search') {\n const isExpanded = expandedSearchId === String(filter.id)\n return (\n <Styled.SearchFilterContainer\n key={String(filter.id)}\n className={clsx('panel-filter', 'panel-filter-search', { expanded: isExpanded })}\n >\n <Styled.FilterButton\n selected={isSelected || isExpanded}\n onClick={() => handleSearchClick(filter)}\n icon={filter.icon}\n data-tooltip={!isExpanded ? filter.tooltip : undefined}\n data-tooltip-delay={0}\n />\n {isExpanded && (\n <>\n <Styled.SearchInput\n ref={searchInputRef}\n value={searchValue}\n onChange={(e) => handleSearchChange(filter, e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') {\n handleSearchClear(filter)\n }\n }}\n placeholder={filter.placeholder || 'Search...'}\n />\n <Styled.ClearButton\n icon=\"close\"\n onClick={() => handleSearchClear(filter)}\n data-tooltip=\"Clear\"\n data-tooltip-delay={0}\n />\n </>\n )}\n </Styled.SearchFilterContainer>\n )\n }\n\n return (\n <Styled.FilterButton\n key={String(filter.id)}\n selected={isSelected}\n onClick={() => handleToggle(filter)}\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n className=\"panel-filter panel-filter-boolean\"\n />\n )\n })}\n </Styled.FiltersContainer>\n </Styled.HeaderContainer>\n )\n}\n\nexport default TabHeaderAndFilters\n"],"names":["isCondition","c","isSearchItem","filterId","sub","stringifySearchFilter","filter","joiner","parseSearchValue","val","key","operator","orTerms","t","term","baseValue","andTerms","TabHeaderAndFilters","label","filters","currentFilter","onFilterChange","isLoading","expandedSearchId","setExpandedSearchId","useState","searchValue","setSearchValue","searchInputRef","useRef","isQueryFilter","f","useEffect","searchItem","handleToggle","value","conditions","newFilter","existingIndex","type","newValue","condition","stringValue","parsedFilter","handleSearchClick","handleSearchChange","handleSearchClear","getIsSelected","getEnumValue","jsxs","Styled.HeaderContainer","clsx","jsx","Styled.HeaderLabel","Spacer","Styled.FiltersContainer","isSelected","Styled.Options","Styled.FilterButton","isExpanded","Styled.SearchFilterContainer","Fragment","Styled.SearchInput","e","Styled.ClearButton"],"mappings":"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"}
1
+ {"version":3,"file":"TabHeaderAndFilters.es.js","sources":["../../../../../../../src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.tsx"],"sourcesContent":["// Tab-specific header with label and filters\n// Currently only Feed has filters: activity, comments, versions, checklists\n\nimport { Spacer } from '@ynput/ayon-react-components'\nimport * as Styled from './TabHeaderAndFilters.styled'\nimport { QueryFilter, QueryCondition, EnumItem } from '@shared/api'\nimport { useState, useRef, useEffect } from 'react'\nimport clsx from 'clsx'\n\nexport interface FilterItem<T = string> {\n id: T\n tooltip: string\n icon: string\n type?: 'boolean' | 'enum' | 'search'\n options?: EnumItem[]\n placeholder?: string\n operator?: QueryCondition['operator']\n}\n\ninterface TabHeaderAndFiltersProps<T, K = string> {\n label: string\n filters: FilterItem<K>[]\n currentFilter: T\n onFilterChange: (filter: T) => void\n isLoading?: boolean\n}\n\nconst isCondition = (c: QueryCondition | QueryFilter): c is QueryCondition => {\n return !!c && 'key' in c\n}\n\nconst isSearchItem = (c: QueryCondition | QueryFilter, filterId: string): boolean => {\n if (isCondition(c)) return c.key === filterId\n return !!c.conditions?.some((sub) => isSearchItem(sub, filterId))\n}\n\nconst stringifySearchFilter = (filter: QueryCondition | QueryFilter): string => {\n if (isCondition(filter)) return String(filter.value || '')\n\n const joiner = filter.operator === 'or' ? ', ' : '.'\n return filter.conditions?.map((c) => stringifySearchFilter(c)).join(joiner) || ''\n}\n\nconst parseSearchValue = (\n val: string,\n key: string,\n operator: QueryCondition['operator'],\n): QueryCondition | QueryFilter => {\n // Split by comma first (OR)\n const orTerms = val\n .split(',')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (orTerms.length > 1) {\n return {\n operator: 'or',\n conditions: orTerms.map((term) => parseSearchValue(term, key, operator)),\n }\n }\n\n const baseValue = orTerms[0] || val.trim()\n if (!baseValue || baseValue === ',' || baseValue === '.') {\n return {\n key,\n operator,\n value: '',\n }\n }\n\n // If no commas, split by period (AND)\n const andTerms = baseValue\n .split('.')\n .map((t) => t.trim())\n .filter(Boolean)\n\n if (andTerms.length > 1) {\n return {\n operator: 'and',\n conditions: andTerms.map((term) => ({\n key,\n operator,\n value: term,\n })),\n }\n }\n\n // Single term\n return {\n key,\n operator,\n value: andTerms[0] || '',\n }\n}\n\nconst TabHeaderAndFilters = <T, K = string>({\n label,\n filters,\n currentFilter,\n onFilterChange,\n isLoading,\n}: TabHeaderAndFiltersProps<T, K>) => {\n const [expandedSearchId, setExpandedSearchId] = useState<string | null>(null)\n const [searchValue, setSearchValue] = useState<string>('')\n const searchInputRef = useRef<HTMLInputElement>(null)\n\n const isQueryFilter = (f: any): f is QueryFilter => {\n return typeof f === 'object' && f !== null && !Array.isArray(f)\n }\n\n // Focus input when search expands\n useEffect(() => {\n if (expandedSearchId && searchInputRef.current) {\n searchInputRef.current.focus()\n }\n }, [expandedSearchId])\n\n // Sync search value with current filter\n useEffect(() => {\n if (expandedSearchId && isQueryFilter(currentFilter)) {\n if (document.activeElement === searchInputRef.current) return\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, expandedSearchId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }, [expandedSearchId, currentFilter])\n\n const handleToggle = (filter: FilterItem<K>, value?: any) => {\n if (!isQueryFilter(currentFilter)) {\n onFilterChange(filter.id as unknown as T)\n return\n }\n\n const conditions = currentFilter.conditions ? [...currentFilter.conditions] : []\n const newFilter: QueryFilter = {\n ...currentFilter,\n conditions,\n operator: currentFilter.operator || 'and',\n }\n\n const filterId = String(filter.id)\n\n const existingIndex = conditions.findIndex((c) => isSearchItem(c, filterId))\n\n const type = filter.type || 'boolean'\n\n if (type === 'boolean') {\n if (existingIndex > -1) {\n conditions.splice(existingIndex, 1)\n } else {\n conditions.push({ key: filterId, operator: filter.operator || 'eq', value: true })\n }\n } else if (type === 'enum') {\n const newValue = Array.isArray(value) ? value : [value]\n if (newValue.length === 0 || (newValue.length === 1 && newValue[0] === undefined)) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const condition: QueryCondition = {\n key: filterId,\n operator: filter.operator || 'in',\n value: newValue,\n }\n if (existingIndex > -1) {\n conditions[existingIndex] = condition\n } else {\n conditions.push(condition)\n }\n }\n } else if (type === 'search') {\n const stringValue = typeof value === 'string' ? value : ''\n if (!stringValue) {\n if (existingIndex > -1) conditions.splice(existingIndex, 1)\n } else {\n const parsedFilter = parseSearchValue(stringValue, filterId, filter.operator || 'like')\n if (existingIndex > -1) {\n conditions[existingIndex] = parsedFilter\n } else {\n conditions.push(parsedFilter)\n }\n }\n }\n\n onFilterChange(newFilter as T)\n }\n\n const handleSearchClick = (filter: FilterItem<K>) => {\n const filterId = String(filter.id)\n if (expandedSearchId === filterId) {\n return // Already expanded\n }\n setExpandedSearchId(filterId)\n // Load existing value if any\n if (isQueryFilter(currentFilter)) {\n const searchItem = currentFilter.conditions?.find((c) => isSearchItem(c, filterId))\n setSearchValue(searchItem ? stringifySearchFilter(searchItem) : '')\n }\n }\n\n const handleSearchChange = (filter: FilterItem<K>, value: string) => {\n setSearchValue(value)\n handleToggle(filter, value)\n }\n\n const handleSearchClear = (filter: FilterItem<K>) => {\n setSearchValue('')\n setExpandedSearchId(null)\n handleToggle(filter, '')\n }\n\n const getIsSelected = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) {\n return (filter.id as unknown as T) === currentFilter\n }\n return currentFilter.conditions?.some((c) => isSearchItem(c, String(filter.id)))\n }\n\n const getEnumValue = (filter: FilterItem<K>) => {\n if (!isQueryFilter(currentFilter)) return []\n const condition = currentFilter.conditions?.find(\n (c) => isCondition(c) && c.key === String(filter.id),\n ) as QueryCondition\n return (condition?.value as string[]) || []\n }\n\n return (\n <Styled.HeaderContainer className={clsx('panel-tabs', { loading: isLoading })}>\n <Styled.HeaderLabel className=\"panel-header-label\">{label}</Styled.HeaderLabel>\n <Spacer />\n <Styled.FiltersContainer className=\"panel-header-filters\">\n {filters.map((filter) => {\n const isSelected = getIsSelected(filter)\n const type = filter.type || 'boolean'\n\n if (type === 'enum') {\n return (\n <Styled.Options\n key={String(filter.id)}\n options={filter.options || []}\n value={getEnumValue(filter)}\n onChange={(val) => handleToggle(filter, val)}\n isEditing\n autoOpen={false}\n align=\"right\"\n type=\"list_of_strings\"\n valueTemplate={() => (\n <Styled.FilterButton\n selected={isSelected}\n // @ts-expect-error - icon is fine\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n />\n )}\n widthExpand\n className=\"panel-filter panel-filter-enum\"\n />\n )\n }\n\n if (type === 'search') {\n const isExpanded = expandedSearchId === String(filter.id)\n return (\n <Styled.SearchFilterContainer\n key={String(filter.id)}\n className={clsx('panel-filter', 'panel-filter-search', { expanded: isExpanded })}\n >\n <Styled.FilterButton\n selected={isSelected || isExpanded}\n onClick={() => handleSearchClick(filter)}\n // @ts-expect-error - icon is fine\n icon={filter.icon}\n data-tooltip={!isExpanded ? filter.tooltip : undefined}\n data-tooltip-delay={0}\n />\n {isExpanded && (\n <>\n <Styled.SearchInput\n ref={searchInputRef}\n value={searchValue}\n onChange={(e) => handleSearchChange(filter, e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') {\n handleSearchClear(filter)\n }\n }}\n placeholder={filter.placeholder || 'Search...'}\n />\n <Styled.ClearButton\n icon=\"close\"\n onClick={() => handleSearchClear(filter)}\n data-tooltip=\"Clear\"\n data-tooltip-delay={0}\n />\n </>\n )}\n </Styled.SearchFilterContainer>\n )\n }\n\n return (\n <Styled.FilterButton\n key={String(filter.id)}\n selected={isSelected}\n onClick={() => handleToggle(filter)}\n // @ts-expect-error - icon is fine\n icon={filter.icon}\n data-tooltip={filter.tooltip}\n data-tooltip-delay={0}\n className=\"panel-filter panel-filter-boolean\"\n />\n )\n })}\n </Styled.FiltersContainer>\n </Styled.HeaderContainer>\n )\n}\n\nexport default TabHeaderAndFilters\n"],"names":["isCondition","c","isSearchItem","filterId","sub","stringifySearchFilter","filter","joiner","parseSearchValue","val","key","operator","orTerms","t","term","baseValue","andTerms","TabHeaderAndFilters","label","filters","currentFilter","onFilterChange","isLoading","expandedSearchId","setExpandedSearchId","useState","searchValue","setSearchValue","searchInputRef","useRef","isQueryFilter","f","useEffect","searchItem","handleToggle","value","conditions","newFilter","existingIndex","type","newValue","condition","stringValue","parsedFilter","handleSearchClick","handleSearchChange","handleSearchClear","getIsSelected","getEnumValue","jsxs","Styled.HeaderContainer","clsx","jsx","Styled.HeaderLabel","Spacer","Styled.FiltersContainer","isSelected","Styled.Options","Styled.FilterButton","isExpanded","Styled.SearchFilterContainer","Fragment","Styled.SearchInput","e","Styled.ClearButton"],"mappings":"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"}