@ynput/ayon-frontend-shared 0.3.35 → 0.3.37

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 (522) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +24 -23
  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.cjs22.js +1 -1
  8. package/dist/_virtual/index.cjs23.js +1 -1
  9. package/dist/_virtual/index.cjs24.js +1 -1
  10. package/dist/_virtual/index.cjs6.js +1 -1
  11. package/dist/_virtual/index.cjs8.js +1 -1
  12. package/dist/_virtual/index.es22.js +3 -3
  13. package/dist/_virtual/index.es23.js +5 -5
  14. package/dist/_virtual/index.es24.js +5 -5
  15. package/dist/_virtual/index.es6.js +2 -2
  16. package/dist/_virtual/index.es8.js +2 -2
  17. package/dist/components.cjs.js +1 -1
  18. package/dist/components.es.js +77 -73
  19. package/dist/components.es.js.map +1 -1
  20. package/dist/context.cjs.js +1 -1
  21. package/dist/context.es.js +50 -49
  22. package/dist/hooks.cjs.js +1 -1
  23. package/dist/hooks.es.js +33 -29
  24. package/dist/hooks.es.js.map +1 -1
  25. package/dist/index.cjs.js +1 -1
  26. package/dist/index.es.js +13 -10
  27. package/dist/index.es.js.map +1 -1
  28. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  29. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  30. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  31. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  32. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  33. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  34. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  35. package/dist/node_modules/remove-accents/index.es.js +1 -1
  36. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.cjs.js +1 -1
  37. package/dist/shared/node_modules/@module-federation/error-codes/dist/index.es.js +1 -1
  38. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.cjs.js +1 -1
  39. package/dist/shared/node_modules/@module-federation/runtime-core/dist/index.es.js +1 -1
  40. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs.js +1 -1
  41. package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/utils.es.js +1 -1
  42. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.cjs.js +1 -1
  43. package/dist/shared/node_modules/@module-federation/sdk/dist/utils.es.js +1 -1
  44. package/dist/shared/src/api/generated/graphql.cjs.js +108 -23
  45. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  46. package/dist/shared/src/api/generated/graphql.es.js +138 -53
  47. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  48. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  49. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  51. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  52. package/dist/shared/src/api/queries/activities/getActivities.es.js +42 -42
  53. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js +2 -0
  55. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -0
  56. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js +68 -0
  57. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -0
  58. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js +1 -1
  59. package/dist/shared/src/api/queries/activities/updateActivities.cjs.js.map +1 -1
  60. package/dist/shared/src/api/queries/activities/updateActivities.es.js +69 -62
  61. package/dist/shared/src/api/queries/activities/updateActivities.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +64 -56
  65. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/columnStats/columnStats.es.js +57 -53
  69. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
  71. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  72. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +27 -25
  73. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -1
  75. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
  76. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +4 -4
  78. package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js.map +1 -1
  79. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  80. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  81. package/dist/shared/src/api/queries/overview/getOverview.es.js +212 -187
  82. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  83. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +6 -3
  86. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  87. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  88. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  89. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +6 -3
  90. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  91. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  92. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  93. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +6 -3
  94. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  95. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  96. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  97. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +6 -3
  98. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  99. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
  100. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  101. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +102 -99
  102. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  103. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  104. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  105. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +95 -87
  106. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  107. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  108. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  109. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +6 -3
  110. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  111. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  112. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  113. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +6 -3
  114. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  115. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  116. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  117. package/dist/shared/src/components/RenameForm/RenameForm.es.js +6 -3
  118. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  119. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  120. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  121. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +6 -3
  122. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  123. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  124. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  125. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +7 -4
  126. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  127. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  128. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  129. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +6 -3
  130. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  131. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  132. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  133. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +6 -3
  134. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  135. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js +6 -0
  136. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.cjs.js.map +1 -0
  137. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js +58 -0
  138. package/dist/shared/src/components/SearchFilter/CustomDateRangeDialog.es.js.map +1 -0
  139. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  140. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  141. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +1 -4
  142. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  143. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js +2 -0
  144. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.cjs.js.map +1 -0
  145. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js +106 -0
  146. package/dist/shared/src/components/SearchFilter/useDateRangeFilter.es.js.map +1 -0
  147. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
  148. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  149. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +8 -5
  150. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  151. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  152. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  153. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +6 -3
  154. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  155. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  156. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  157. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +6 -3
  158. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  159. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  160. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  161. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +10 -7
  162. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  163. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  164. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  165. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -3
  166. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  167. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  168. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  169. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +6 -3
  170. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  171. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  172. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  173. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +4 -3
  174. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  175. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  176. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  177. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +6 -3
  178. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  179. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  180. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  181. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  182. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  183. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  184. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  185. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
  186. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  187. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  188. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  189. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +6 -3
  190. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  191. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  192. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  193. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +6 -3
  194. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  195. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +10 -0
  196. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -0
  197. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +135 -0
  198. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -0
  199. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  201. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
  202. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +20 -17
  204. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  205. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  206. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  207. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +41 -44
  208. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  209. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  210. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  211. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +5 -2
  212. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  213. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  214. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  215. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +19 -25
  216. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  217. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js +2 -0
  218. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.cjs.js.map +1 -0
  219. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js +91 -0
  220. package/dist/shared/src/containers/DetailsPanel/helpers/subtasksFilterAdapter.es.js.map +1 -0
  221. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  222. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  223. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +6 -3
  224. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  225. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  226. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +6 -3
  228. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  229. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  230. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +6 -3
  232. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  233. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  234. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +6 -3
  236. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  237. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  238. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/Feed/Feed.es.js +156 -164
  240. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  241. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js +25 -3
  242. package/dist/shared/src/containers/Feed/Feed.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/Feed/Feed.styled.es.js +30 -8
  244. package/dist/shared/src/containers/Feed/Feed.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  246. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +6 -3
  248. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  249. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  250. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +6 -3
  252. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  253. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  254. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +6 -3
  256. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  257. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js +3 -3
  258. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js +1 -0
  260. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.es.js.map +1 -1
  261. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
  262. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +8 -5
  264. package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js.map +1 -1
  265. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +1 -1
  266. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +5 -2
  268. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  269. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  270. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  271. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +10 -7
  272. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  273. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  274. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +5 -5
  276. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  277. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +17 -0
  278. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -0
  279. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +279 -0
  280. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -0
  281. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  282. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +5 -2
  284. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  285. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  286. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +62 -50
  288. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  289. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +2 -0
  290. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -0
  291. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +141 -0
  292. package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -0
  293. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js +2 -0
  294. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.cjs.js.map +1 -0
  295. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js +81 -0
  296. package/dist/shared/src/containers/Feed/helpers/feedFilterAdapter.es.js.map +1 -0
  297. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  298. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +20 -18
  300. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  301. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  302. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/ListTable/ListTable.es.js +106 -103
  304. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  305. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  306. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +7 -4
  308. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  309. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  310. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +6 -3
  312. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  313. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  314. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +127 -123
  316. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  317. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  318. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +158 -130
  320. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  321. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  322. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +6 -3
  324. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  325. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  326. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +36 -33
  328. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  329. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  330. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +6 -3
  332. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  333. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  334. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +6 -3
  336. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  337. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -4
  338. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +228 -222
  340. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  341. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  342. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +103 -100
  344. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  345. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  346. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +6 -3
  348. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  349. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js +3 -0
  350. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -0
  351. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +22 -0
  352. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -0
  353. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +113 -109
  356. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +125 -121
  360. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  362. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +6 -3
  364. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +6 -3
  368. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +36 -33
  372. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +6 -3
  376. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +107 -103
  380. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  382. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +36 -33
  384. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  386. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -33
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +6 -3
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +6 -3
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +6 -3
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +105 -102
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +37 -34
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  410. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +48 -45
  412. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js +1 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js +61 -61
  416. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  418. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +15 -6
  420. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  422. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +6 -3
  424. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +4 -3
  426. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +108 -101
  428. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +82 -0
  430. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -0
  431. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +416 -0
  432. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -0
  433. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +8 -5
  436. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  438. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +37 -34
  440. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  442. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +6 -3
  444. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  445. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  446. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +6 -3
  448. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  449. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  450. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +6 -3
  452. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  453. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
  454. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  455. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +6 -3
  456. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  457. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
  458. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +6 -3
  460. package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js.map +1 -1
  461. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  462. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  463. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +6 -3
  464. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  465. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  466. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  467. package/dist/shared/src/context/DetailsPanelContext.es.js +92 -94
  468. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  469. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  470. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  471. package/dist/shared/src/context/WebsocketContext.es.js +8 -5
  472. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  473. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +2 -0
  474. package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -0
  475. package/dist/shared/src/hooks/useGetProductionAddon.es.js +124 -0
  476. package/dist/shared/src/hooks/useGetProductionAddon.es.js.map +1 -0
  477. package/dist/shared/src/hooks/useLocalStorage.cjs.js +1 -1
  478. package/dist/shared/src/hooks/useLocalStorage.cjs.js.map +1 -1
  479. package/dist/shared/src/hooks/useLocalStorage.es.js +43 -27
  480. package/dist/shared/src/hooks/useLocalStorage.es.js.map +1 -1
  481. package/dist/types/api/generated/graphql.d.ts +122 -0
  482. package/dist/types/api/generated/graphqlLinks.d.ts +10 -0
  483. package/dist/types/api/queries/activities/getActivities.d.ts +83 -0
  484. package/dist/types/api/queries/activities/patchTableLatestComments.d.ts +1 -0
  485. package/dist/types/api/queries/activities/updateActivities.d.ts +16 -0
  486. package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +1 -0
  487. package/dist/types/api/queries/entities/getEntity.d.ts +7 -0
  488. package/dist/types/api/queries/entities/getEntityPanel.d.ts +7 -0
  489. package/dist/types/api/queries/entities/updateEntity.d.ts +7 -0
  490. package/dist/types/api/queries/entityLists/getLists.d.ts +84 -0
  491. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  492. package/dist/types/api/queries/overview/getOverview.d.ts +58 -0
  493. package/dist/types/api/queries/project/getProject.d.ts +7 -0
  494. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +7 -0
  495. package/dist/types/api/queries/users/getUsers.d.ts +7 -0
  496. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +30 -0
  497. package/dist/types/components/SearchFilter/CustomDateRangeDialog.d.ts +13 -0
  498. package/dist/types/components/SearchFilter/index.d.ts +2 -0
  499. package/dist/types/components/SearchFilter/useDateRangeFilter.d.ts +36 -0
  500. package/dist/types/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.d.ts +13 -0
  501. package/dist/types/containers/DetailsPanel/helpers/subtasksFilterAdapter.d.ts +5 -0
  502. package/dist/types/containers/Feed/components/ActivityComment/ActivityMarkdownComponents.d.ts +1 -0
  503. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  504. package/dist/types/containers/Feed/components/FeedSearchFilter.d.ts +15 -0
  505. package/dist/types/containers/Feed/context/FeedContext.d.ts +5 -1
  506. package/dist/types/containers/Feed/helpers/buildBackendFilter.d.ts +3 -0
  507. package/dist/types/containers/Feed/helpers/feedFilterAdapter.d.ts +5 -0
  508. package/dist/types/containers/Feed/hooks/useGetFeedActivitiesData.d.ts +5 -1
  509. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
  510. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardComments.d.ts +6 -0
  511. package/dist/types/containers/ProjectTreeTable/context/clipboard/index.d.ts +1 -0
  512. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +2 -1
  513. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +2 -1
  514. package/dist/types/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.d.ts +9 -0
  515. package/dist/types/containers/ProjectTreeTable/utils/queryFilterToClientFilter.d.ts +5 -0
  516. package/dist/types/containers/ProjectTreeTable/widgets/CellWidget.d.ts +1 -1
  517. package/dist/types/containers/ProjectTreeTable/widgets/CommentsWidget.d.ts +7 -0
  518. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  519. package/dist/types/hooks/index.d.ts +1 -0
  520. package/dist/types/hooks/useGetProductionAddon.d.ts +10 -0
  521. package/dist/types/hooks/useLocalStorage.d.ts +2 -0
  522. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { FC, useMemo, useRef } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\nimport { SubtasksWidget, SubtasksWidgetData } from './SubtasksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { READ_ONLY } from '../utils'\nimport { AttributeData, EnumItem } from '@shared/api'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n overflow: hidden;\n\n &:has(.markdown) {\n align-items: flex-start;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = {\n type: AttributeData['type'] | 'links' | 'name' | 'subtasks'\n widget?: AttributeData['widget']\n}\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: EnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n isReadOnly?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId, getEditingDraft, setEditingDraft } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) {\n setEditingCellId(null)\n return\n }\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n if (isReadOnly) {\n setEditingCellId(null)\n return\n }\n if (key === 'Enter') {\n // Move to next row first (sets new editing cell), then save value.\n // This prevents the dialog from blinking between rows.\n moveToNextRow()\n onChange?.(newValue, key)\n } else if (key === 'Click' && newValue != value) {\n setEditingCellId(null)\n onChange?.(newValue, key)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n isReadOnly: isReadOnly,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case type === 'subtasks': {\n const subtasksValue = valueData as SubtasksWidgetData | undefined\n\n return (\n <SubtasksWidget\n value={subtasksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={isReadOnly}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={attributeData?.widget === 'markdown'}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n {...pt?.enum?.pt?.template}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={\n attributeData?.widget === 'markdown' ||\n // description SHOULD be default markdown, but lets have this here just in case\n columnId === 'attrib_description' ||\n columnId === 'description'\n }\n type={type as TextWidgetType}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n [READ_ONLY]: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","getEditingDraft","setEditingDraft","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","widget","useMemo","sharedProps","textTypes","color","option","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","subtasksValue","SubtasksWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx","READ_ONLY"],"mappings":"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"}
1
+ {"version":3,"file":"CellWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { FC, useMemo, useRef } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\nimport { SubtasksWidget, SubtasksWidgetData } from './SubtasksWidget'\nimport { CommentsWidget } from './CommentsWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { READ_ONLY } from '../utils'\nimport { AttributeData, EnumItem, type EntityComment } from '@shared/api'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n overflow: hidden;\n\n &:has(.markdown),\n &:has(.comments-list) {\n align-items: flex-start;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = {\n type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments'\n widget?: AttributeData['widget']\n}\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: EnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n isReadOnly?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId, getEditingDraft, setEditingDraft } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) {\n setEditingCellId(null)\n return\n }\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n if (isReadOnly) {\n setEditingCellId(null)\n return\n }\n if (key === 'Enter') {\n // Move to next row first (sets new editing cell), then save value.\n // This prevents the dialog from blinking between rows.\n moveToNextRow()\n onChange?.(newValue, key)\n } else if (key === 'Click' && newValue != value) {\n setEditingCellId(null)\n onChange?.(newValue, key)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n isReadOnly: isReadOnly,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case type === 'subtasks': {\n const subtasksValue = valueData as SubtasksWidgetData | undefined\n\n return (\n <SubtasksWidget\n value={subtasksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={isReadOnly}\n {...sharedProps}\n />\n )\n }\n\n case type === 'comments': {\n return <CommentsWidget value={valueData as EntityComment[] | undefined} {...sharedProps} />\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={attributeData?.widget === 'markdown'}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n {...pt?.enum?.pt?.template}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={\n attributeData?.widget === 'markdown' ||\n // description SHOULD be default markdown, but lets have this here just in case\n columnId === 'attrib_description' ||\n columnId === 'description'\n }\n type={type as TextWidgetType}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n [READ_ONLY]: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","getEditingDraft","setEditingDraft","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","widget","useMemo","sharedProps","textTypes","color","option","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","subtasksValue","SubtasksWidget","CommentsWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx","READ_ONLY"],"mappings":"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"}
@@ -8,10 +8,11 @@ import { EnumWidget as Q } from "./EnumWidget.es.js";
8
8
  import { TextWidget as S } from "./TextWidget.es.js";
9
9
  import { isLinkEditable as U, LinksWidget as X } from "./LinksWidget.es.js";
10
10
  import { SubtasksWidget as Z } from "./SubtasksWidget.es.js";
11
- import { useCellEditing as $ } from "../context/CellEditingContext.es.js";
11
+ import { CommentsWidget as $ } from "./CommentsWidget.es.js";
12
+ import { useCellEditing as tt } from "../context/CellEditingContext.es.js";
12
13
  import { getCellId as V } from "../utils/cellUtils.es.js";
13
- import tt from "clsx";
14
- import { useSelectionCellsContext as it } from "../context/SelectionCellsContext.es.js";
14
+ import it from "clsx";
15
+ import { useSelectionCellsContext as ot } from "../context/SelectionCellsContext.es.js";
15
16
  import "../../../context/RemoteModulesContext.es.js";
16
17
  import "../../../../../_virtual/runtime.es.js";
17
18
  import "../../../../../_virtual/semver.es.js";
@@ -132,10 +133,10 @@ import "../../../context/MoveEntityContext.es.js";
132
133
  import "../../../context/MenuContext.es.js";
133
134
  import "../../../context/WebsocketContext.es.js";
134
135
  import "../../../context/GlobalContext.es.js";
135
- import { useProjectContext as ot } from "../../../context/ProjectContext.es.js";
136
+ import { useProjectContext as rt } from "../../../context/ProjectContext.es.js";
136
137
  import "../../../context/ProjectFoldersContext.es.js";
137
- import { EnumCellValue as rt } from "./EnumCellValue.es.js";
138
- import { NameWidget as mt } from "./NameWidget.es.js";
138
+ import { EnumCellValue as mt } from "./EnumCellValue.es.js";
139
+ import { NameWidget as pt } from "./NameWidget.es.js";
139
140
  import "@ynput/ayon-react-components";
140
141
  import "../../../components/SearchFilter/filterDates.es.js";
141
142
  import "date-fns";
@@ -150,32 +151,6 @@ import "./ErrorWidget.es.js";
150
151
  import "../ProjectTreeTable.styled.es.js";
151
152
  import "../components/SelectionCell.es.js";
152
153
  import "../components/RowSelectionHeader.es.js";
153
- import "../context/ProjectTableQueriesContext.es.js";
154
- import "../context/ProjectTableContext.es.js";
155
- import "../context/ClipboardContext.es.js";
156
- import "../context/ColumnSettingsContext.es.js";
157
- import "../context/SelectedRowsContext.es.js";
158
- import "../context/DetailsPanelEntityContext.es.js";
159
- /* empty css */
160
- import "../../ContextMenu/ContextMenuContext.es.js";
161
- import "../../Feed/context/FeedContext.es.js";
162
- import "../../Feed/components/Tooltips/UserTooltipItem.es.js";
163
- import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
164
- import "../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.es.js";
165
- import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
166
- import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
167
- import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
168
- import "react-markdown";
169
- import "remark-emoji";
170
- import "remark-gfm";
171
- import "remark-directive";
172
- import "remark-directive-rehype";
173
- import "../../Feed/components/CommentInput/CommentInput.es.js";
174
- import "../../Feed/components/ReactionContainer/Reactions.styled.es.js";
175
- import "../../Feed/components/FilesGrid/FilesGrid.styled.es.js";
176
- import "../../Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
177
- import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
178
- import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
179
154
  import "../../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.es.js";
180
155
  import "../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
181
156
  import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
@@ -197,7 +172,10 @@ import "react-quill-ayon";
197
172
  import "../../../components/DetailsPanelDetails/BorderedSection.es.js";
198
173
  import "../../../components/QuillListStyles/QuillListStyles.es.js";
199
174
  import "../../../components/DetailsPanelDetails/DescriptionSection.styles.es.js";
175
+ import "react-markdown";
176
+ import "remark-gfm";
200
177
  import "rehype-raw";
178
+ import "../../Feed/components/CommentInput/quillToMarkdown.es.js";
201
179
  import "../../../components/DetailsPanelDetails/hooks/useMentionSystem.es.js";
202
180
  import "../../Feed/components/CommentInput/modules/index.es.js";
203
181
  import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
@@ -209,6 +187,72 @@ import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
209
187
  import "@dnd-kit/core";
210
188
  import "@dnd-kit/sortable";
211
189
  import "../../../components/EnumEditor/EnumEditor.styled.es.js";
190
+ import "../../ContextMenu/ContextMenuContext.es.js";
191
+ /* empty css */
192
+ import "../../Feed/context/FeedContext.es.js";
193
+ import "../../Feed/components/Tooltips/UserTooltipItem.es.js";
194
+ import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
195
+ import "../../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.es.js";
196
+ import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
197
+ import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
198
+ import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
199
+ import "remark-emoji";
200
+ import "remark-directive";
201
+ import "remark-directive-rehype";
202
+ import "../../Feed/components/CommentInput/CommentInput.es.js";
203
+ import "../../Feed/components/ReactionContainer/Reactions.styled.es.js";
204
+ import "../../Feed/components/FilesGrid/FilesGrid.styled.es.js";
205
+ import "../../Feed/components/FileUploadCard/FileUploadCard.styled.es.js";
206
+ import "../../Feed/components/ActivityComment/ActivityComment.styled.es.js";
207
+ import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
208
+ import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
209
+ import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
210
+ import "../../Feed/components/ActivityDate.es.js";
211
+ import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
212
+ import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
213
+ import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
214
+ import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
215
+ import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
216
+ import "../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js";
217
+ import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
218
+ import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
219
+ import "../../Feed/Feed.styled.es.js";
220
+ import "../../Feed/components/FeedSearchFilter.es.js";
221
+ import "@tanstack/react-virtual";
222
+ import "../components/HeaderActionButton.es.js";
223
+ import "../context/ProjectTableQueriesContext.es.js";
224
+ import "../context/ProjectTableContext.es.js";
225
+ import "../components/DeleteConfirmContent.es.js";
226
+ import "../context/ClipboardContext.es.js";
227
+ import "../context/ProjectDataContext.es.js";
228
+ import { READ_ONLY as et } from "../utils/restrictedEntity.es.js";
229
+ import "../components/TableFooterRow.es.js";
230
+ import "../context/SelectedRowsContext.es.js";
231
+ import "../context/ColumnSettingsContext.es.js";
232
+ import "../context/DetailsPanelEntityContext.es.js";
233
+ import "../../EntityPickerDialog/EntityPickerDialog.es.js";
234
+ import "../../Slicer/components/Slicer.es.js";
235
+ import "../../Slicer/context/SlicerContext.es.js";
236
+ import "../../Slicer/hooks/useTableDataBySlice.es.js";
237
+ import "../../DetailsPanel/DetailsPanel.styled.es.js";
238
+ import "../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
239
+ import "../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
240
+ import "../../../components/PlayableIcon/PlayableIcon.es.js";
241
+ import "../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
242
+ import "../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js";
243
+ import "../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
244
+ import "../../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js";
245
+ import "../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
246
+ import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
247
+ import "../../Actions/Actions.styled.es.js";
248
+ import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
249
+ import "../../Actions/ActionIcon.es.js";
250
+ import "../../Views/ViewsMenu/ViewsMenu.es.js";
251
+ import "../../Views/context/ViewsContextInstance.es.js";
252
+ import "../../Views/Views.styled.es.js";
253
+ import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
254
+ import "../../ListTable/ListTableRow.es.js";
255
+ import "../../ListTable/ListTable.styled.es.js";
212
256
  import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
213
257
  import "axios";
214
258
  import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
@@ -221,7 +265,6 @@ import "../../../components/Feedback/SupportBubble.es.js";
221
265
  import "../../../components/FileThumbnail/FileThumbnail.es.js";
222
266
  import "../../../components/LegacyBadge/LegacyBadge.es.js";
223
267
  import "../../../components/LinksManager/LinksManager.styled.es.js";
224
- import "../../EntityPickerDialog/EntityPickerDialog.es.js";
225
268
  import "../../../components/Powerpack/PowerpackButton.es.js";
226
269
  import "../../../components/Powerpack/FreeTrialLink.es.js";
227
270
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
@@ -230,11 +273,9 @@ import "../../../components/Powerpack/RequiredAddonVersion.es.js";
230
273
  import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
231
274
  import "../../../components/SizeSlider/SizeSlider.es.js";
232
275
  import "react-router-dom";
233
- import "../../Slicer/components/Slicer.es.js";
234
- import "../../Slicer/context/SlicerContext.es.js";
235
- import "../../Slicer/hooks/useTableDataBySlice.es.js";
236
276
  import "../../../components/ReviewableCard/ReviewableCard.es.js";
237
277
  import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
278
+ import "../../../components/SearchFilter/CustomDateRangeDialog.es.js";
238
279
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
239
280
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
240
281
  import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
@@ -251,45 +292,8 @@ import "../../../components/Menu/Menu.styled.es.js";
251
292
  import "../../../components/Menu/MenuItem.es.js";
252
293
  import "../../../components/ReviewablesSelector/ReviewablesSelector.es.js";
253
294
  import "../../../components/ColumnHeaderMenuUI.es.js";
254
- import "../../Feed/components/ActivityReference/ActivityReference.styled.es.js";
255
- import "../../Feed/components/ActivityStatus/ActivityStatus.es.js";
256
- import "../../Feed/components/ActivityHeader/ActivityHeader.styled.es.js";
257
- import "../../Feed/components/ActivityDate.es.js";
258
- import "../../Feed/components/ActivityCategorySelect/CategoryTag.es.js";
259
- import "../../Feed/components/ActivityStatusChange/ActivityStatusChange.styled.es.js";
260
- import "../../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.es.js";
261
- import "../../Feed/components/ActivityVersions/ActivityVersions.styled.es.js";
262
- import "../../Feed/components/ActivityGroup/ActivityGroup.styled.es.js";
263
- import "../../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.es.js";
264
- import "../../Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js";
265
- import "../../Feed/components/ActivityCategorySelect/CategoryDropdownItem.es.js";
266
- import "../../Feed/Feed.styled.es.js";
267
- import "../../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js";
268
- import "@tanstack/react-virtual";
269
- import "../components/HeaderActionButton.es.js";
270
- import "../components/TableFooterRow.es.js";
271
- import "../context/ProjectDataContext.es.js";
272
- import { READ_ONLY as pt } from "../utils/restrictedEntity.es.js";
273
- import "../../DetailsPanel/DetailsPanel.styled.es.js";
274
- import "../../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.es.js";
275
- import "../../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.es.js";
276
- import "../../../components/PlayableIcon/PlayableIcon.es.js";
277
- import "../../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js";
278
- import "../../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js";
279
- import "../../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.es.js";
280
- import "../../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.es.js";
281
- import "../../Actions/Actions.styled.es.js";
282
- import "../../Actions/ActionsDropdown/ActionsDropdown.es.js";
283
- import "../../Actions/ActionIcon.es.js";
284
- import "../../Views/ViewsMenu/ViewsMenu.es.js";
285
- import "../../Views/context/ViewsContextInstance.es.js";
286
- import "../../Views/Views.styled.es.js";
287
- import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
288
- import "../../ListTable/ListTableRow.es.js";
289
- import "../../ListTable/ListTable.styled.es.js";
290
- import "../components/DeleteConfirmContent.es.js";
291
295
  import "./LoadMoreWidget.es.js";
292
- const et = z.div`
296
+ const st = z.div`
293
297
  position: absolute;
294
298
  inset: 0;
295
299
  padding: 4px 8px;
@@ -297,7 +301,8 @@ const et = z.div`
297
301
  align-items: center;
298
302
  overflow: hidden;
299
303
 
300
- &:has(.markdown) {
304
+ &:has(.markdown),
305
+ &:has(.comments-list) {
301
306
  align-items: flex-start;
302
307
  }
303
308
 
@@ -315,11 +320,11 @@ const et = z.div`
315
320
  border-radius: 4px;
316
321
  opacity: 1;
317
322
  }
318
- `, Ap = "edit-trigger", Mp = ({
323
+ `, Lp = "edit-trigger", _p = ({
319
324
  rowId: E,
320
325
  columnId: d,
321
326
  value: o,
322
- valueData: x,
327
+ valueData: f,
323
328
  attributeData: C,
324
329
  options: a = [],
325
330
  isCollapsed: j,
@@ -328,13 +333,13 @@ const et = z.div`
328
333
  isReadOnly: n,
329
334
  enableCustomValues: M,
330
335
  folderId: N,
331
- tooltip: D,
336
+ tooltip: R,
332
337
  onChange: w,
333
- entityType: R,
338
+ entityType: D,
334
339
  pt: c,
335
- ...b
340
+ ...h
336
341
  }) => {
337
- const h = O(null), r = C?.type, { projectName: k } = ot(), { isEditing: L, setEditingCellId: p, getEditingDraft: y, setEditingDraft: T } = $(), { isCellFocused: _, gridMap: W, selectCell: q, focusCell: v } = it(), e = V(E, d), f = L(e), F = _(e), G = () => {
342
+ const b = O(null), r = C?.type, { projectName: k } = rt(), { isEditing: L, setEditingCellId: p, getEditingDraft: y, setEditingDraft: T } = tt(), { isCellFocused: _, gridMap: W, selectCell: q, focusCell: v } = ot(), e = V(E, d), g = L(e), F = _(e), G = () => {
338
343
  const t = W.rowIdToIndex.get(E);
339
344
  if (t === void 0) {
340
345
  p(null);
@@ -354,36 +359,36 @@ const et = z.div`
354
359
  s === "Enter" ? (G(), w?.(t, s)) : s === "Click" && t != o ? (p(null), w?.(t, s)) : p(null);
355
360
  }, P = () => {
356
361
  p(null);
357
- const t = h.current?.closest("td");
362
+ const t = b.current?.closest("td");
358
363
  t && t.focus();
359
364
  }, B = Y(() => {
360
365
  const t = {
361
366
  onChange: I,
362
367
  onCancelEdit: P,
363
- isEditing: f,
368
+ isEditing: g,
364
369
  isReadOnly: n
365
370
  }, s = ["string", "integer", "float"];
366
371
  switch (!0) {
367
372
  // this is showing the collapsed widget (dot)
368
373
  case j: {
369
374
  const l = (r?.includes("list") ? a.find(
370
- (g) => Array.isArray(o) ? o.includes(g.value) : o === g.value
375
+ (x) => Array.isArray(o) ? o.includes(x.value) : o === x.value
371
376
  ) : void 0)?.color;
372
377
  return /* @__PURE__ */ m.jsx(J, { color: l });
373
378
  }
374
379
  case r === "name":
375
380
  return /* @__PURE__ */ m.jsx(
376
- mt,
381
+ pt,
377
382
  {
378
383
  value: o,
379
- valueData: x,
384
+ valueData: f,
380
385
  cellId: e,
381
- entityType: R || "",
386
+ entityType: D || "",
382
387
  ...t
383
388
  }
384
389
  );
385
390
  case r === "links": {
386
- const i = x, l = U(
391
+ const i = f, l = U(
387
392
  i?.direction || "out",
388
393
  i?.link.linkType || "",
389
394
  i?.entityType || ""
@@ -401,7 +406,7 @@ const et = z.div`
401
406
  );
402
407
  }
403
408
  case r === "subtasks": {
404
- const i = x;
409
+ const i = f;
405
410
  return /* @__PURE__ */ m.jsx(
406
411
  Z,
407
412
  {
@@ -413,10 +418,12 @@ const et = z.div`
413
418
  }
414
419
  );
415
420
  }
421
+ case r === "comments":
422
+ return /* @__PURE__ */ m.jsx($, { value: f, ...t });
416
423
  case !!a.length: {
417
424
  const i = Array.isArray(o) ? o : [o];
418
425
  if (n) {
419
- const l = a.filter((g) => i.includes(g.value));
426
+ const l = a.filter((x) => i.includes(x.value));
420
427
  return i.length && !l.length ? /* @__PURE__ */ m.jsx(
421
428
  S,
422
429
  {
@@ -432,7 +439,7 @@ const et = z.div`
432
439
  ...c?.text
433
440
  }
434
441
  ) : /* @__PURE__ */ m.jsx(
435
- rt,
442
+ mt,
436
443
  {
437
444
  selectedOptions: l,
438
445
  isReadOnly: !0,
@@ -490,26 +497,26 @@ const et = z.div`
490
497
  default:
491
498
  return null;
492
499
  }
493
- }, [e, o, r, f, a, j]);
500
+ }, [e, o, r, g, a, j]);
494
501
  return /* @__PURE__ */ m.jsx(
495
- et,
502
+ st,
496
503
  {
497
- ...b,
498
- className: tt(b.className, {
499
- inherited: u && !f,
500
- [pt]: n,
504
+ ...h,
505
+ className: it(h.className, {
506
+ inherited: u && !g,
507
+ [et]: n,
501
508
  editable: !n
502
509
  }),
503
- ref: h,
510
+ ref: b,
504
511
  id: e,
505
- "data-tooltip": D || (u && !f && F ? "Inherited" : void 0),
512
+ "data-tooltip": R || (u && !g && F ? "Inherited" : void 0),
506
513
  "data-tooltip-delay": 200,
507
514
  children: B
508
515
  }
509
516
  );
510
517
  };
511
518
  export {
512
- Mp as CellWidget,
513
- Ap as EDIT_TRIGGER_CLASS
519
+ _p as CellWidget,
520
+ Lp as EDIT_TRIGGER_CLASS
514
521
  };
515
522
  //# sourceMappingURL=CellWidget.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { FC, useMemo, useRef } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\nimport { SubtasksWidget, SubtasksWidgetData } from './SubtasksWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { READ_ONLY } from '../utils'\nimport { AttributeData, EnumItem } from '@shared/api'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n overflow: hidden;\n\n &:has(.markdown) {\n align-items: flex-start;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = {\n type: AttributeData['type'] | 'links' | 'name' | 'subtasks'\n widget?: AttributeData['widget']\n}\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: EnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n isReadOnly?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId, getEditingDraft, setEditingDraft } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) {\n setEditingCellId(null)\n return\n }\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n if (isReadOnly) {\n setEditingCellId(null)\n return\n }\n if (key === 'Enter') {\n // Move to next row first (sets new editing cell), then save value.\n // This prevents the dialog from blinking between rows.\n moveToNextRow()\n onChange?.(newValue, key)\n } else if (key === 'Click' && newValue != value) {\n setEditingCellId(null)\n onChange?.(newValue, key)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n isReadOnly: isReadOnly,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case type === 'subtasks': {\n const subtasksValue = valueData as SubtasksWidgetData | undefined\n\n return (\n <SubtasksWidget\n value={subtasksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={isReadOnly}\n {...sharedProps}\n />\n )\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={attributeData?.widget === 'markdown'}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n {...pt?.enum?.pt?.template}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={\n attributeData?.widget === 'markdown' ||\n // description SHOULD be default markdown, but lets have this here just in case\n columnId === 'attrib_description' ||\n columnId === 'description'\n }\n type={type as TextWidgetType}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n [READ_ONLY]: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","getEditingDraft","setEditingDraft","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","widget","useMemo","sharedProps","textTypes","color","option","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","subtasksValue","SubtasksWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx","READ_ONLY"],"mappings":"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"}
1
+ {"version":3,"file":"CellWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/CellWidget.tsx"],"sourcesContent":["import { FC, useMemo, useRef } from 'react'\nimport styled from 'styled-components'\n\n// Widgets\nimport { BooleanWidget, BooleanWidgetProps } from './BooleanWidget'\nimport { CollapsedWidget } from './CollapsedWidget'\nimport { DateWidget, DateWidgetProps } from './DateWidget'\nimport { EnumWidget, EnumWidgetProps } from './EnumWidget'\nimport { TextWidget, TextWidgetProps, TextWidgetType } from './TextWidget'\nimport { isLinkEditable, LinksWidget, LinkWidgetData } from './LinksWidget'\nimport { SubtasksWidget, SubtasksWidgetData } from './SubtasksWidget'\nimport { CommentsWidget } from './CommentsWidget'\n\n// Contexts\nimport { useCellEditing } from '../context/CellEditingContext'\n\n// Utils\nimport { getCellId } from '../utils/cellUtils'\nimport clsx from 'clsx'\nimport { useSelectionCellsContext } from '../context/SelectionCellsContext'\nimport { useProjectContext } from '@shared/context'\nimport { EnumCellValue } from './EnumCellValue'\nimport { NameWidget } from '@shared/containers/ProjectTreeTable/widgets/NameWidget'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { READ_ONLY } from '../utils'\nimport { AttributeData, EnumItem, type EntityComment } from '@shared/api'\n\nconst Cell = styled.div`\n position: absolute;\n inset: 0;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n overflow: hidden;\n\n &:has(.markdown),\n &:has(.comments-list) {\n align-items: flex-start;\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &.inherited {\n opacity: 0.6;\n font-style: italic;\n }\n\n &.loading {\n inset: 4px;\n border-radius: 4px;\n opacity: 1;\n }\n`\n\n// use this class to trigger the editing mode on a single click\nexport const EDIT_TRIGGER_CLASS = 'edit-trigger'\n\ntype WidgetAttributeData = {\n type: AttributeData['type'] | 'links' | 'name' | 'subtasks' | 'comments'\n widget?: AttributeData['widget']\n}\n\nexport type CellValue = string | number | boolean\nexport type CellValueData = Record<string, any>\n\ninterface EditorCellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n rowId: string\n columnId: string\n value: CellValue | CellValue[]\n valueData?: CellValueData | CellValueData[] // extra data for the value\n attributeData?: WidgetAttributeData\n options?: EnumItem[]\n isCollapsed?: boolean\n isInherited?: boolean\n isPlaceholder?: boolean\n isFocused?: boolean\n isReadOnly?: boolean\n enableCustomValues?: boolean\n folderId?: string | null\n tooltip?: string\n onChange?: (value: CellValue | CellValue[], key?: 'Enter' | 'Click' | 'Escape') => void\n // options passthrough props\n pt?: {\n enum?: Partial<EnumWidgetProps>\n text?: Partial<TextWidgetProps>\n date?: Partial<DateWidgetProps>\n boolean?: Partial<BooleanWidgetProps>\n }\n entityType?: string\n}\n\nexport interface WidgetBaseProps {\n isEditing?: boolean\n isReadOnly?: boolean\n onChange: Required<EditorCellProps>['onChange']\n onCancelEdit?: () => void\n}\n\nexport const CellWidget: FC<EditorCellProps> = ({\n rowId,\n columnId,\n value,\n valueData,\n attributeData,\n options = [],\n isCollapsed,\n isInherited,\n isPlaceholder,\n isReadOnly,\n enableCustomValues,\n folderId,\n tooltip,\n onChange,\n entityType,\n pt,\n ...props\n}) => {\n const ref = useRef<HTMLDivElement>(null)\n const type = attributeData?.type\n\n const { projectName } = useProjectContext()\n const { isEditing, setEditingCellId, getEditingDraft, setEditingDraft } = useCellEditing()\n const { isCellFocused, gridMap, selectCell, focusCell } = useSelectionCellsContext()\n const cellId = getCellId(rowId, columnId)\n\n const isCurrentCellEditing = isEditing(cellId)\n const isCurrentCellFocused = isCellFocused(cellId)\n\n const moveToNextRow = () => {\n const rowIndex = gridMap.rowIdToIndex.get(rowId)\n if (rowIndex === undefined) {\n setEditingCellId(null)\n return\n }\n const newRowId = gridMap.indexToRowId.get(rowIndex + 1)\n if (newRowId) {\n const newCellId = getCellId(newRowId, columnId)\n selectCell(newCellId, false, false)\n focusCell(newCellId)\n setEditingCellId(newCellId)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleOnChange: WidgetBaseProps['onChange'] = (newValue, key) => {\n if (isReadOnly) {\n setEditingCellId(null)\n return\n }\n if (key === 'Enter') {\n // Move to next row first (sets new editing cell), then save value.\n // This prevents the dialog from blinking between rows.\n moveToNextRow()\n onChange?.(newValue, key)\n } else if (key === 'Click' && newValue != value) {\n setEditingCellId(null)\n onChange?.(newValue, key)\n } else {\n setEditingCellId(null)\n }\n }\n\n const handleCancel = () => {\n setEditingCellId(null)\n // ensure the browser focus moves back to the parent <td>\n const td = ref.current?.closest('td') as HTMLElement | null\n if (td) td.focus()\n }\n\n const widget = useMemo(() => {\n // Common props shared across all widgets\n const sharedProps: WidgetBaseProps = {\n onChange: handleOnChange,\n onCancelEdit: handleCancel,\n isEditing: isCurrentCellEditing,\n isReadOnly: isReadOnly,\n }\n\n const textTypes: TextWidgetType[] = ['string', 'integer', 'float']\n\n // Determine widget type based on attribute type\n switch (true) {\n // this is showing the collapsed widget (dot)\n case isCollapsed: {\n // if enum, find the first selected option and get its color\n const firstSelectedOption = type?.includes('list')\n ? options.find((option) =>\n Array.isArray(value) ? value.includes(option.value) : value === option.value,\n )\n : undefined\n const color = firstSelectedOption?.color\n return <CollapsedWidget color={color} />\n }\n case type === 'name': {\n return (\n <NameWidget\n value={value as CellValue}\n valueData={valueData as NameWidgetData}\n cellId={cellId}\n entityType={entityType || ''}\n {...sharedProps}\n />\n )\n }\n\n case type === 'links': {\n const linksValue = valueData as LinkWidgetData | undefined\n\n const isEditable = isLinkEditable(\n linksValue?.direction || 'out',\n linksValue?.link.linkType || '',\n linksValue?.entityType || '',\n )\n\n // overwrite readonly state if the cell is currently being edited\n isReadOnly = !isEditable\n return (\n <LinksWidget\n value={linksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={!isEditable}\n folderId={folderId}\n {...sharedProps}\n />\n )\n }\n\n case type === 'subtasks': {\n const subtasksValue = valueData as SubtasksWidgetData | undefined\n\n return (\n <SubtasksWidget\n value={subtasksValue}\n cellId={cellId}\n projectName={projectName}\n disabled={isReadOnly}\n {...sharedProps}\n />\n )\n }\n\n case type === 'comments': {\n return <CommentsWidget value={valueData as EntityComment[] | undefined} {...sharedProps} />\n }\n\n case !!options.length: {\n const enumValue = Array.isArray(value) ? value : [value]\n if (isReadOnly) {\n const selectedOptions = options.filter((option) => enumValue.includes(option.value))\n\n if (enumValue.length && !selectedOptions.length) {\n // value has something but it is not in options, show a placeholder\n return (\n <TextWidget\n value={enumValue.join(', ')}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={attributeData?.widget === 'markdown'}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n }\n\n return (\n <EnumCellValue\n selectedOptions={selectedOptions}\n isReadOnly\n hasMultipleValues={enumValue.length > 1}\n isMultiSelect={type?.includes('list')}\n {...pt?.enum?.pt?.template}\n />\n )\n }\n return (\n <EnumWidget\n value={enumValue}\n options={options}\n type={type}\n onOpen={() => setEditingCellId(cellId)}\n enableCustomValues={enableCustomValues}\n {...sharedProps}\n {...pt?.enum}\n />\n )\n }\n\n case textTypes.includes(type as TextWidgetType):\n return (\n <TextWidget\n value={value as string}\n isInherited={isInherited}\n columnId={columnId}\n cellId={cellId}\n isMarkdown={\n attributeData?.widget === 'markdown' ||\n // description SHOULD be default markdown, but lets have this here just in case\n columnId === 'attrib_description' ||\n columnId === 'description'\n }\n type={type as TextWidgetType}\n onRequestEdit={setEditingCellId}\n getDraftValue={getEditingDraft}\n setDraftValue={setEditingDraft}\n {...sharedProps}\n {...pt?.text}\n />\n )\n\n case type === 'datetime':\n return (\n <DateWidget\n value={value ? (value as string) : undefined}\n isInherited={isInherited}\n {...sharedProps}\n {...pt?.date}\n />\n )\n\n case type === 'boolean':\n return <BooleanWidget value={value as boolean} {...sharedProps} {...pt?.boolean} />\n\n case isPlaceholder:\n return null\n\n default:\n // TODO: We should not allow editing unrecognized types\n // At this point, only list_of_strings without proper options is unrecognized\n // (tags if not tags are specified in anatomy) and in that case, validation\n // on the server fails with a string value. Unless we have a widget that\n // accepts a string value AND options at the same time we shouldn't show\n // any edit widget\n\n //console.log(`Unrecognized type \"${type}\" for cell ${cellId}.`)\n return null\n }\n }, [cellId, value, type, isCurrentCellEditing, options, isCollapsed])\n\n return (\n <Cell\n {...props}\n className={clsx(props.className, {\n inherited: isInherited && !isCurrentCellEditing,\n [READ_ONLY]: isReadOnly,\n editable: !isReadOnly,\n })}\n ref={ref}\n id={cellId}\n data-tooltip={\n tooltip ||\n (isInherited && !isCurrentCellEditing && isCurrentCellFocused ? 'Inherited' : undefined)\n }\n data-tooltip-delay={200}\n >\n {widget}\n </Cell>\n )\n}\n"],"names":["Cell","styled","EDIT_TRIGGER_CLASS","CellWidget","rowId","columnId","value","valueData","attributeData","options","isCollapsed","isInherited","isPlaceholder","isReadOnly","enableCustomValues","folderId","tooltip","onChange","entityType","pt","props","ref","useRef","type","projectName","useProjectContext","isEditing","setEditingCellId","getEditingDraft","setEditingDraft","useCellEditing","isCellFocused","gridMap","selectCell","focusCell","useSelectionCellsContext","cellId","getCellId","isCurrentCellEditing","isCurrentCellFocused","moveToNextRow","rowIndex","newRowId","newCellId","handleOnChange","newValue","key","handleCancel","td","widget","useMemo","sharedProps","textTypes","color","option","jsx","CollapsedWidget","NameWidget","linksValue","isEditable","isLinkEditable","LinksWidget","subtasksValue","SubtasksWidget","CommentsWidget","enumValue","selectedOptions","TextWidget","EnumCellValue","EnumWidget","DateWidget","BooleanWidget","clsx","READ_ONLY"],"mappings":"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"}