@ynput/ayon-frontend-shared 0.2.38 → 0.2.40

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 (651) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +72 -66
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +169 -167
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Views.cjs.js.map +1 -1
  8. package/dist/Views.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +1 -1
  10. package/dist/_virtual/index.cjs11.js +1 -1
  11. package/dist/_virtual/index.cjs12.js +1 -1
  12. package/dist/_virtual/index.cjs2.js +1 -1
  13. package/dist/_virtual/index.cjs3.js +1 -1
  14. package/dist/_virtual/index.cjs4.js +1 -1
  15. package/dist/_virtual/index.es10.js +3 -3
  16. package/dist/_virtual/index.es11.js +5 -5
  17. package/dist/_virtual/index.es12.js +5 -5
  18. package/dist/_virtual/index.es2.js +5 -2
  19. package/dist/_virtual/index.es2.js.map +1 -1
  20. package/dist/_virtual/index.es3.js +2 -5
  21. package/dist/_virtual/index.es3.js.map +1 -1
  22. package/dist/_virtual/index.es4.js +2 -2
  23. package/dist/api.cjs.js +1 -1
  24. package/dist/api.es.js +22 -20
  25. package/dist/api.es.js.map +1 -1
  26. package/dist/components.cjs.js +1 -1
  27. package/dist/components.es.js +139 -133
  28. package/dist/components.es.js.map +1 -1
  29. package/dist/context.cjs.js +1 -1
  30. package/dist/context.es.js +45 -38
  31. package/dist/context.es.js.map +1 -1
  32. package/dist/index.cjs.js +1 -1
  33. package/dist/index.es.js +61 -55
  34. package/dist/index.es.js.map +1 -1
  35. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  36. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  37. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  38. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  39. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  40. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  41. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  43. package/dist/shared/node_modules/prop-types/index.cjs.js +1 -1
  44. package/dist/shared/node_modules/prop-types/index.es.js +1 -1
  45. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
  46. package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
  47. package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  48. package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
  49. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  50. package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
  51. package/dist/shared/src/api/generated/graphql.cjs.js +4 -0
  52. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  53. package/dist/shared/src/api/generated/graphql.es.js +4 -0
  54. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  59. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
  60. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +8 -3
  62. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  63. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +1 -1
  64. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  65. package/dist/shared/src/api/queries/entities/updateEntity.es.js +4 -3
  66. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  67. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  68. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  69. package/dist/shared/src/api/queries/overview/updateOverview.es.js +70 -66
  70. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  71. package/dist/shared/src/api/queries/uris/getUris.cjs.js +2 -0
  72. package/dist/shared/src/api/queries/uris/getUris.cjs.js.map +1 -0
  73. package/dist/shared/src/api/queries/uris/getUris.es.js +47 -0
  74. package/dist/shared/src/api/queries/uris/getUris.es.js.map +1 -0
  75. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  76. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  77. package/dist/shared/src/api/queries/users/getUsers.es.js +19 -18
  78. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  79. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js +28 -0
  80. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.cjs.js.map +1 -0
  81. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js +54 -0
  82. package/dist/shared/src/components/AddonLoadingScreen/AddonLoadingScreen.es.js.map +1 -0
  83. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
  84. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  85. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +3 -2
  86. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  87. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  88. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  89. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +5 -2
  90. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  91. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  92. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  93. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +5 -2
  94. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  95. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
  96. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  97. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -2
  98. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  99. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  100. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  101. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +5 -2
  102. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  103. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  104. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  105. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +75 -69
  106. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  107. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js +1 -1
  108. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  109. package/dist/shared/src/components/EntityPath/EntityPath.es.js +51 -53
  110. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  111. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  112. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  113. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +4 -2
  114. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  115. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  116. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  117. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +7 -4
  118. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  119. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  120. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  121. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +60 -54
  122. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  123. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
  124. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  125. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
  126. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  127. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  128. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  129. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +66 -60
  130. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  131. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  132. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  133. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +5 -2
  134. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  135. package/dist/shared/src/components/Menu/Menu.cjs.js +2 -0
  136. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -0
  137. package/dist/shared/src/components/Menu/Menu.es.js +92 -0
  138. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -0
  139. package/dist/shared/src/components/Menu/Menu.styled.cjs.js.map +1 -0
  140. package/dist/shared/src/components/Menu/Menu.styled.es.js.map +1 -0
  141. package/dist/shared/src/components/Menu/MenuContainer.cjs.js +2 -0
  142. package/dist/shared/src/components/Menu/MenuContainer.cjs.js.map +1 -0
  143. package/dist/shared/src/components/Menu/MenuContainer.es.js +88 -0
  144. package/dist/shared/src/components/Menu/MenuContainer.es.js.map +1 -0
  145. package/dist/shared/src/components/Menu/MenuItem.cjs.js +2 -0
  146. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -0
  147. package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/MenuItem.es.js +26 -24
  148. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -0
  149. package/dist/shared/src/components/Menu/MenuList.cjs.js +2 -0
  150. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -0
  151. package/dist/shared/src/components/Menu/MenuList.es.js +131 -0
  152. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -0
  153. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js +2 -0
  154. package/dist/shared/src/components/Menu/useMenuPosition.cjs.js.map +1 -0
  155. package/dist/shared/src/components/Menu/useMenuPosition.es.js +50 -0
  156. package/dist/shared/src/components/Menu/useMenuPosition.es.js.map +1 -0
  157. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
  158. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  159. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +7 -5
  160. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  161. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  162. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  163. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +49 -43
  164. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  165. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  166. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  167. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +46 -40
  168. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  169. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  170. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  171. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +48 -42
  172. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  173. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
  174. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  175. package/dist/shared/src/components/RenameForm/RenameForm.es.js +66 -60
  176. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  177. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
  178. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  179. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +3 -2
  180. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  181. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  182. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  183. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +64 -58
  184. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  185. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  186. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  187. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +54 -48
  188. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  189. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  190. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  191. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +53 -47
  192. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  193. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  194. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  195. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +3 -2
  196. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  197. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  198. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  199. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +219 -190
  200. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  201. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +2 -2
  202. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  203. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +20 -18
  204. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  205. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
  206. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +52 -46
  208. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
  210. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  211. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +13 -11
  212. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  213. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +2 -2
  214. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  215. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +56 -50
  216. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  217. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  218. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  219. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +5 -4
  220. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  221. package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
  222. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  223. package/dist/shared/src/components/Watchers/Watchers.es.js +3 -2
  224. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  225. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  226. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  227. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +53 -47
  228. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  229. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  230. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  231. package/dist/shared/src/containers/Actions/Actions.es.js +5 -2
  232. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  233. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  234. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  235. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +54 -48
  236. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  237. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  238. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  239. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +293 -229
  240. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  241. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +10 -4
  242. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  243. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -7
  244. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  245. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  246. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  247. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +49 -43
  248. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  249. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  250. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  251. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +68 -62
  252. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  253. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  254. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  255. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +92 -86
  256. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  257. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  258. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  259. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +9 -5
  260. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  261. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js +1 -1
  262. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.cjs.js.map +1 -1
  263. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js +194 -5
  264. package/dist/shared/src/containers/DetailsPanel/FeedContextWrapper.es.js.map +1 -1
  265. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -1
  266. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  267. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +4 -2
  268. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  269. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js +2 -0
  270. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.cjs.js.map +1 -0
  271. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js +21 -0
  272. package/dist/shared/src/containers/DetailsPanel/hooks/useDetailsPanelURLSync.es.js.map +1 -0
  273. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  274. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  275. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +20 -17
  276. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  277. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  278. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  279. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +49 -43
  280. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  281. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  282. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  283. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +53 -47
  284. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  285. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  286. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  287. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +53 -47
  288. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  289. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  290. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  291. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +53 -47
  292. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  293. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  294. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  295. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +5 -2
  296. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  297. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  298. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  299. package/dist/shared/src/containers/Feed/Feed.es.js +109 -99
  300. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  301. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  302. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +446 -212
  304. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  305. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js +20 -16
  306. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js +21 -17
  308. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.styled.es.js.map +1 -1
  309. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +2 -0
  310. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -0
  311. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +288 -0
  312. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -0
  313. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js +1 -1
  314. package/dist/shared/src/containers/Feed/components/ActivityItem.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js +23 -11
  316. package/dist/shared/src/containers/Feed/components/ActivityItem.es.js.map +1 -1
  317. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  318. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +4 -2
  320. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  321. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  322. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +372 -183
  324. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  325. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  326. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +4 -2
  328. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  329. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  330. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +12 -10
  332. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  333. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  334. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +28 -26
  336. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  337. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  338. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +194 -5
  340. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  341. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  342. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +8 -5
  344. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  345. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
  346. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +3 -2
  348. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js +1 -1
  350. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js +24 -26
  352. package/dist/shared/src/containers/Feed/hooks/useScrollToHighlighted.es.js.map +1 -1
  353. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  354. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +434 -435
  356. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  357. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  358. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +126 -120
  360. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  361. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +2 -2
  362. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +52 -46
  364. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  365. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  366. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +57 -51
  368. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  369. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  370. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +79 -72
  372. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  373. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  374. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +7 -4
  376. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  377. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  378. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  379. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
  380. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
  381. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +72 -65
  382. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
  383. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  384. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  385. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +47 -41
  386. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  387. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  388. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  389. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +12 -10
  390. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  391. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  392. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +8 -5
  394. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  396. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +5 -2
  398. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  400. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +55 -49
  402. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  404. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +81 -66
  406. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  407. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  408. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  409. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +51 -45
  410. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  412. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +106 -111
  414. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +51 -45
  418. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  420. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +51 -45
  422. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  424. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +54 -48
  426. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  427. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  428. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +122 -119
  430. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  432. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +61 -55
  434. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +45 -39
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +98 -94
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  443. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  444. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  445. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +62 -56
  446. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  447. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js +1 -1
  448. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  449. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js +22 -20
  450. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  452. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +19 -17
  454. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  455. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  456. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  457. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +68 -62
  458. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  460. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +51 -45
  462. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  463. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js +1 -1
  464. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js +45 -44
  466. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidgetInput.es.js.map +1 -1
  467. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  468. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +120 -114
  470. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  471. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  472. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +53 -47
  474. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  475. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  476. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +5 -2
  478. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  479. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
  480. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +14 -12
  482. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  483. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  484. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +90 -91
  486. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  487. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  488. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +5 -2
  490. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  491. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js +1 -1
  492. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js +5 -2
  494. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  495. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
  496. package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
  497. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +3 -2
  498. package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
  499. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
  500. package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
  501. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +3 -2
  502. package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
  503. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
  504. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +3 -2
  506. package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
  507. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  508. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  509. package/dist/shared/src/context/AddonProjectContext.es.js +5 -4
  510. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  511. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  512. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  513. package/dist/shared/src/context/DetailsPanelContext.es.js +117 -75
  514. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  515. package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
  516. package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
  517. package/dist/shared/src/context/GlobalContext.es.js +5 -4
  518. package/dist/shared/src/context/GlobalContext.es.js.map +1 -1
  519. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  520. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  521. package/dist/shared/src/context/PowerpackContext.es.js +18 -15
  522. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  523. package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
  524. package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
  525. package/dist/shared/src/context/ProjectContext.es.js +44 -40
  526. package/dist/shared/src/context/ProjectContext.es.js.map +1 -1
  527. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +2 -0
  528. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -0
  529. package/dist/shared/src/context/ProjectFoldersContext.es.js +177 -0
  530. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -0
  531. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  532. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  533. package/dist/shared/src/context/RemoteModulesContext.es.js +5 -4
  534. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  535. package/dist/shared/src/context/UriContext.cjs.js +2 -0
  536. package/dist/shared/src/context/UriContext.cjs.js.map +1 -0
  537. package/dist/shared/src/context/UriContext.es.js +131 -0
  538. package/dist/shared/src/context/UriContext.es.js.map +1 -0
  539. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  540. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  541. package/dist/shared/src/context/WebsocketContext.es.js +51 -45
  542. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  543. package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
  544. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  545. package/dist/shared/src/hooks/useActionTriggers.es.js +3 -2
  546. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  547. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  548. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  549. package/dist/shared/src/hooks/useEntityUpdate.es.js +5 -2
  550. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  551. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
  552. package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
  553. package/dist/shared/src/hooks/useGetEntityGroups.es.js +3 -2
  554. package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
  555. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  556. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  557. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +5 -2
  558. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  559. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  560. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  561. package/dist/shared/src/hooks/useHierarchyTable.es.js +43 -119
  562. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  563. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
  564. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  565. package/dist/shared/src/hooks/useScopedStatuses.es.js +5 -4
  566. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  567. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  568. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  569. package/dist/shared/src/hooks/useUserProjectConfig.es.js +5 -2
  570. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  571. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js +2 -0
  572. package/dist/shared/src/util/extractEntityHierarchyFromParents.cjs.js.map +1 -0
  573. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js +25 -0
  574. package/dist/shared/src/util/extractEntityHierarchyFromParents.es.js.map +1 -0
  575. package/dist/shared/src/util/uriUtils.cjs.js +2 -0
  576. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -0
  577. package/dist/shared/src/util/uriUtils.es.js +49 -0
  578. package/dist/shared/src/util/uriUtils.es.js.map +1 -0
  579. package/dist/types/api/generated/graphql.d.ts +55 -4
  580. package/dist/types/api/generated/graphqlLinks.d.ts +47 -0
  581. package/dist/types/api/generated/views.d.ts +15 -13
  582. package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
  583. package/dist/types/api/queries/entityLists/getLists.d.ts +180 -180
  584. package/dist/types/api/queries/index.d.ts +1 -0
  585. package/dist/types/api/queries/uris/getUris.d.ts +161 -0
  586. package/dist/types/api/queries/uris/index.d.ts +1 -0
  587. package/dist/types/components/AddonLoadingScreen/AddonLoadingScreen.d.ts +25 -0
  588. package/dist/types/components/AddonLoadingScreen/index.d.ts +1 -0
  589. package/dist/types/components/Menu/Menu.d.ts +30 -0
  590. package/dist/types/components/Menu/Menu.styled.d.ts +8 -0
  591. package/dist/types/components/Menu/MenuContainer.d.ts +14 -0
  592. package/dist/types/components/Menu/MenuItem.d.ts +21 -0
  593. package/dist/types/components/Menu/MenuList.d.ts +21 -0
  594. package/dist/types/components/Menu/index.d.ts +4 -0
  595. package/dist/types/components/Menu/useMenuPosition.d.ts +12 -0
  596. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +3 -1
  597. package/dist/types/components/index.d.ts +32 -31
  598. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +6 -2
  599. package/dist/types/containers/DetailsPanel/FeedWrapper.d.ts +1 -0
  600. package/dist/types/containers/DetailsPanel/hooks/useDetailsPanelURLSync.d.ts +12 -0
  601. package/dist/types/containers/Feed/Feed.d.ts +2 -1
  602. package/dist/types/containers/Feed/components/ActivityComment/ActivityComment.d.ts +2 -1
  603. package/dist/types/containers/Feed/components/ActivityComment/ActivityCommentMenu.d.ts +9 -0
  604. package/dist/types/containers/Feed/components/ActivityItem.d.ts +1 -0
  605. package/dist/types/containers/Feed/hooks/useScrollToHighlighted.d.ts +2 -1
  606. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +2 -0
  607. package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +4 -1
  608. package/dist/types/containers/ProjectTreeTable/hooks/useUpdateTableData.d.ts +1 -0
  609. package/dist/types/containers/Views/index.d.ts +1 -1
  610. package/dist/types/context/AddonProjectContext.d.ts +12 -7
  611. package/dist/types/context/DetailsPanelContext.d.ts +1 -0
  612. package/dist/types/context/ProjectFoldersContext.d.ts +19 -0
  613. package/dist/types/context/UriContext.d.ts +40 -0
  614. package/dist/types/context/index.d.ts +2 -0
  615. package/dist/types/hooks/useGroupByRemoteModules.d.ts +1 -2
  616. package/dist/types/util/extractEntityHierarchyFromParents.d.ts +6 -0
  617. package/dist/types/util/index.d.ts +2 -0
  618. package/dist/types/util/uriUtils.d.ts +15 -0
  619. package/dist/util.cjs.js +1 -1
  620. package/dist/util.es.js +44 -37
  621. package/dist/util.es.js.map +1 -1
  622. package/package.json +1 -1
  623. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +0 -2
  624. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +0 -1
  625. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +0 -263
  626. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +0 -1
  627. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +0 -2
  628. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +0 -1
  629. package/dist/src/components/Menu/MenuComponents/Menu.es.js +0 -82
  630. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +0 -1
  631. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +0 -1
  632. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +0 -1
  633. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +0 -2
  634. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +0 -1
  635. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +0 -80
  636. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +0 -1
  637. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +0 -2
  638. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +0 -1
  639. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +0 -1
  640. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +0 -2
  641. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +0 -1
  642. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +0 -135
  643. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +0 -1
  644. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +0 -2
  645. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +0 -1
  646. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +0 -35
  647. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +0 -1
  648. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +0 -29
  649. package/dist/types/components/RemotePage/index.d.ts +0 -1
  650. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.cjs.js +0 -0
  651. /package/dist/{src/components/Menu/MenuComponents → shared/src/components/Menu}/Menu.styled.es.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { TaskLink } from '@shared/api'\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n// return the link entity ids for a given column id\nexport const getLinkEntityIdsByColumnId = (links: TaskLink[], columnId: CellId): string => {\n // split the columnId\n const [_link, linkType, _inType, _outType, direction] = columnId.split('_')\n const cellLinks = links.filter(\n (link) => link.linkType === linkType && link.direction === direction,\n )\n if (cellLinks.length) {\n return cellLinks.map((link) => link.node.id).join(',')\n } else {\n return ''\n }\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","getCellId","rowId","colId","parseCellId","cellId","match","getCellValue","obj","path","parts","current","part","getLinkEntityIdsByColumnId","links","columnId","_link","linkType","_inType","_outType","direction","cellLinks","link","getCellBorders","rowIndex","colIndex","selectedCells","_a","borders","_b","_c","_d","_e","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":"w6aAoBY,IAAAA,GAAAA,IACVA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,IAAM,CAAN,EAAA,MACAA,EAAAA,EAAA,MAAQ,CAAR,EAAA,QACAA,EAAAA,EAAA,OAAS,CAAT,EAAA,SACAA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,IAAM,EAAN,EAAA,MANUA,IAAAA,GAAA,CAAA,CAAA,EAYL,MAAMC,EAAY,CAACC,EAAcC,IAAyB,QAAQD,CAAK,IAAIC,CAAK,GAM1EC,EAAeC,GAAwC,CAC5D,MAAAC,EAAQD,EAAO,MAAM,kBAAkB,EACzC,OAACC,EACE,CAAE,MAAOA,EAAM,CAAC,EAAG,MAAOA,EAAM,CAAC,CAAE,EADvB,IAErB,EAEaC,EAAe,CAACC,EAAUC,IAAsB,CAC3D,GAAI,CAACD,GAAO,CAACC,EAAa,OAEpB,MAAAC,EAAQD,EAAK,MAAM,GAAG,EAC5B,IAAIE,EAAUH,EAEd,UAAWI,KAAQF,EACjB,GAAIC,GAAW,OAAOA,GAAY,UAAYC,KAAQD,EACpDA,EAAUA,EAAQC,CAAI,MAEf,QAIJ,OAAAD,CACT,EAGaE,EAA6B,CAACC,EAAmBC,IAA6B,CAEnF,KAAA,CAACC,EAAOC,EAAUC,EAASC,EAAUC,CAAS,EAAIL,EAAS,MAAM,GAAG,EACpEM,EAAYP,EAAM,OACrBQ,GAASA,EAAK,WAAaL,GAAYK,EAAK,YAAcF,CAC7D,EACA,OAAIC,EAAU,OACLA,EAAU,IAAKC,GAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,EAE9C,EAEX,EAWaC,EAAiB,CAC5BC,EACAC,EACAC,IACmB,eACnB,GAAI,GAACC,EAAAD,EAAcF,CAAQ,IAAtB,MAAAG,EAA0BF,IACtB,MAAA,GAGT,IAAIG,EAAU,EAGV,OAAAJ,IAAa,GAAK,GAACK,EAAAH,EAAcF,EAAW,CAAC,IAA1B,MAAAK,EAA8BJ,OACxCG,GAAA,IAIRE,EAAAJ,EAAcF,CAAQ,IAAtB,MAAAM,EAA0BL,EAAW,KAC7BG,GAAA,IAIRG,EAAAL,EAAcF,EAAW,CAAC,IAA1B,MAAAO,EAA8BN,KACtBG,GAAA,IAITH,IAAa,GAAK,GAACO,EAAAN,EAAcF,CAAQ,IAAtB,MAAAQ,EAA0BP,EAAW,OAC/CG,GAAA,GAGNA,CACT,EAKaK,EAAoBL,GAAsC,CACrE,MAAMM,EAAoB,CAAC,EAE3B,OAAIN,EAAU,GAA4BM,EAAA,KAAK,YAAY,EACvDN,EAAU,GAA8BM,EAAA,KAAK,cAAc,EAC3DN,EAAU,GAA+BM,EAAA,KAAK,eAAe,EAC7DN,EAAU,GAA6BM,EAAA,KAAK,aAAa,EAEtDA,CACT,EAGaC,EAAoB,CAC/BC,EACAC,IACGA,EAAY,IAAIC,EAAA,WAAWF,CAAE,CAAC"}
1
+ {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { TaskLink } from '@shared/api'\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n// return the link entity ids for a given column id\nexport const getLinkEntityIdsByColumnId = (links: TaskLink[], columnId: CellId): string => {\n // split the columnId\n const [_link, linkType, _inType, _outType, direction] = columnId.split('_')\n const cellLinks = links.filter(\n (link) => link.linkType === linkType && link.direction === direction,\n )\n if (cellLinks.length) {\n return cellLinks.map((link) => link.node.id).join(',')\n } else {\n return ''\n }\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","getCellId","rowId","colId","parseCellId","cellId","match","getCellValue","obj","path","parts","current","part","getLinkEntityIdsByColumnId","links","columnId","_link","linkType","_inType","_outType","direction","cellLinks","link","getCellBorders","rowIndex","colIndex","selectedCells","_a","borders","_b","_c","_d","_e","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":"0vbAoBY,IAAAA,GAAAA,IACVA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,IAAM,CAAN,EAAA,MACAA,EAAAA,EAAA,MAAQ,CAAR,EAAA,QACAA,EAAAA,EAAA,OAAS,CAAT,EAAA,SACAA,EAAAA,EAAA,KAAO,CAAP,EAAA,OACAA,EAAAA,EAAA,IAAM,EAAN,EAAA,MANUA,IAAAA,GAAA,CAAA,CAAA,EAYL,MAAMC,EAAY,CAACC,EAAcC,IAAyB,QAAQD,CAAK,IAAIC,CAAK,GAM1EC,EAAeC,GAAwC,CAC5D,MAAAC,EAAQD,EAAO,MAAM,kBAAkB,EACzC,OAACC,EACE,CAAE,MAAOA,EAAM,CAAC,EAAG,MAAOA,EAAM,CAAC,CAAE,EADvB,IAErB,EAEaC,EAAe,CAACC,EAAUC,IAAsB,CAC3D,GAAI,CAACD,GAAO,CAACC,EAAa,OAEpB,MAAAC,EAAQD,EAAK,MAAM,GAAG,EAC5B,IAAIE,EAAUH,EAEd,UAAWI,KAAQF,EACjB,GAAIC,GAAW,OAAOA,GAAY,UAAYC,KAAQD,EACpDA,EAAUA,EAAQC,CAAI,MAEf,QAIJ,OAAAD,CACT,EAGaE,EAA6B,CAACC,EAAmBC,IAA6B,CAEnF,KAAA,CAACC,EAAOC,EAAUC,EAASC,EAAUC,CAAS,EAAIL,EAAS,MAAM,GAAG,EACpEM,EAAYP,EAAM,OACrBQ,GAASA,EAAK,WAAaL,GAAYK,EAAK,YAAcF,CAC7D,EACA,OAAIC,EAAU,OACLA,EAAU,IAAKC,GAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,EAE9C,EAEX,EAWaC,EAAiB,CAC5BC,EACAC,EACAC,IACmB,eACnB,GAAI,GAACC,EAAAD,EAAcF,CAAQ,IAAtB,MAAAG,EAA0BF,IACtB,MAAA,GAGT,IAAIG,EAAU,EAGV,OAAAJ,IAAa,GAAK,GAACK,EAAAH,EAAcF,EAAW,CAAC,IAA1B,MAAAK,EAA8BJ,OACxCG,GAAA,IAIRE,EAAAJ,EAAcF,CAAQ,IAAtB,MAAAM,EAA0BL,EAAW,KAC7BG,GAAA,IAIRG,EAAAL,EAAcF,EAAW,CAAC,IAA1B,MAAAO,EAA8BN,KACtBG,GAAA,IAITH,IAAa,GAAK,GAACO,EAAAN,EAAcF,CAAQ,IAAtB,MAAAQ,EAA0BP,EAAW,OAC/CG,GAAA,GAGNA,CACT,EAKaK,EAAoBL,GAAsC,CACrE,MAAMM,EAAoB,CAAC,EAE3B,OAAIN,EAAU,GAA4BM,EAAA,KAAK,YAAY,EACvDN,EAAU,GAA8BM,EAAA,KAAK,cAAc,EAC3DN,EAAU,GAA+BM,EAAA,KAAK,eAAe,EAC7DN,EAAU,GAA6BM,EAAA,KAAK,aAAa,EAEtDA,CACT,EAGaC,EAAoB,CAC/BC,EACAC,IACGA,EAAY,IAAIC,EAAA,WAAWF,CAAE,CAAC"}
@@ -17,17 +17,11 @@ import "../widgets/CellWidget.es.js";
17
17
  import "../widgets/EntityNameWidget.es.js";
18
18
  import "../widgets/GroupHeaderWidget.es.js";
19
19
  import "../widgets/ThumbnailWidget.es.js";
20
- import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
21
- import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
22
- import "../../../components/AccessUser/AccessUser.es.js";
20
+ import "../../../components/AddonLoadingScreen/AddonLoadingScreen.es.js";
23
21
  import "clsx";
24
- import "../../../components/AttributeEditor/components/MinMaxField.es.js";
25
- import "react-dom";
26
- import "@dnd-kit/core";
27
- import "@dnd-kit/sortable";
28
- import "../../../components/EnumEditor/EnumEditor.styled.es.js";
29
- import "../../../components/Badge/Badge.es.js";
30
- import "../../../components/Chips/Chips.es.js";
22
+ import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
23
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
24
+ import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
31
25
  import "../../../api/base/client.es.js";
32
26
  import "../../../api/generated/graphql.es.js";
33
27
  import "../../../api/generated/graphqlLinks.es.js";
@@ -110,23 +104,20 @@ import "../../../api/queries/versions/updateVersions.es.js";
110
104
  import "../../../api/queries/views/getViews.es.js";
111
105
  import "../../../api/queries/views/updateViews.es.js";
112
106
  import "../../../api/queries/watchers/getWatchers.es.js";
113
- import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
114
- import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
115
- import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
116
- import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
117
- import "../../../components/EarlyPreview/EarlyPreview.es.js";
118
- import "../../../components/EmptyPlaceholder/EmptyPlaceholder.es.js";
119
- import "../../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.es.js";
107
+ import "../../../api/queries/uris/getUris.es.js";
108
+ import "@dnd-kit/core";
109
+ import "@dnd-kit/sortable";
110
+ import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
120
111
  import "../../ContextMenu/ContextMenuContext.es.js";
121
112
  /* empty css */
122
- import "../../Feed/context/FeedContext.es.js";
123
- import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
124
- import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
113
+ import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
114
+ import "axios";
125
115
  import "../../../context/RemoteModulesContext.es.js";
126
116
  import "../../../context/DetailsPanelContext.es.js";
127
117
  import "../../../context/ThumbnailUploaderContext.es.js";
128
118
  import "../../../context/SettingsPanelContext.es.js";
129
119
  import "../../../context/pip/PiPProvider.es.js";
120
+ import "react-dom";
130
121
  import "../../../context/pip/PiPWrapper.es.js";
131
122
  import "../../../context/AddonProjectContext.es.js";
132
123
  import "../../../context/AddonContext.es.js";
@@ -136,6 +127,16 @@ import "../../../context/MenuContext.es.js";
136
127
  import "../../../context/WebsocketContext.es.js";
137
128
  import "../../../context/GlobalContext.es.js";
138
129
  import "../../../context/ProjectContext.es.js";
130
+ import "../../../context/ProjectFoldersContext.es.js";
131
+ import "../../../context/UriContext.es.js";
132
+ import "../../../components/ReviewableCard/ReviewableCard.es.js";
133
+ import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
134
+ import "../../../components/FileThumbnail/FileThumbnail.es.js";
135
+ import "../../../components/Thumbnail/Thumbnail.styled.es.js";
136
+ import "../../../components/Thumbnail/StackedThumbnails.es.js";
137
+ import "../../Feed/context/FeedContext.es.js";
138
+ import "../../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.es.js";
139
+ import "../../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
139
140
  import "../../Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js";
140
141
  import "../../Feed/components/FileUploadPreview/Mimes/TextMime.es.js";
141
142
  import "react-markdown";
@@ -194,41 +195,46 @@ import "../../Views/Views.styled.es.js";
194
195
  import "../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
195
196
  import "../../Views/ViewsMenu/ViewsMenu.es.js";
196
197
  import "../../../components/EntityPanelUploader/EntityPanelUploader.styled.es.js";
197
- import "axios";
198
- import "../../../components/ReviewablesList/ReviewablesList.styled.es.js";
199
- import "../../../components/ReviewablesList/ReviewablesUpload.styled.es.js";
198
+ import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
200
199
  import "../../../components/EntityPath/EntityPath.styled.es.js";
201
200
  import "../../../components/EntityPath/SegmentProvider.es.js";
202
- import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
203
- import "../../../components/Feedback/FeedbackContext.es.js";
204
- import "../../../components/Feedback/SupportBubble.es.js";
205
- import "../../../components/FileThumbnail/FileThumbnail.es.js";
206
- import "../../../components/LegacyBadge/LegacyBadge.es.js";
207
- import "../../../components/LinksManager/LinksManager.styled.es.js";
208
- import "../../EntityPickerDialog/EntityPickerDialog.es.js";
201
+ import "../../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js";
202
+ import "../../../components/DetailsPanelDetails/DetailsPanelDetails.es.js";
203
+ import "../../../components/DetailsPanelDetails/DetailsSection.es.js";
204
+ import "../../../components/DetailsPanelDetails/FieldLabel.es.js";
205
+ import "../../../components/Watchers/Watchers.es.js";
206
+ import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
209
207
  import "../../../components/Powerpack/PowerpackButton.es.js";
210
208
  import "../../../components/Powerpack/PricingLink.es.js";
211
209
  import "../../../components/Powerpack/PowerpackDialog.styled.es.js";
212
210
  import "../../../components/Powerpack/CTAButton.es.js";
213
211
  import "../../../components/Powerpack/RequiredAddonVersion.es.js";
214
- import "../../../components/ProjectTableSettings/ProjectTableSettings.es.js";
215
212
  import "../../../components/SizeSlider/SizeSlider.es.js";
216
- import "../../../components/ReviewableCard/ReviewableCard.es.js";
217
- import "../../../components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js";
218
- import "../../../components/SearchFilter/filterDates.es.js";
219
213
  import "../../../components/SettingsPanel/SettingsPanel.es.js";
220
214
  import "../../../components/SettingsPanel/SettingsPanelItemTemplate.es.js";
221
- import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
222
- import "../../../components/SimpleFormDialog/SimpleFormDialog.es.js";
223
- import "../../../components/SortingSetting/SortingSetting.styled.es.js";
224
- import "../../../components/StyledLink/StyledLink.es.js";
225
- import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
226
- import "../../../components/Thumbnail/Thumbnail.styled.es.js";
227
- import "../../../components/Thumbnail/StackedThumbnails.es.js";
228
- import "../../../components/ThumbnailSimple/ThumbnailSimple.es.js";
215
+ import "../../../components/AttributeEditor/components/MinMaxField.es.js";
216
+ import "../../../components/EnumEditor/EnumEditor.styled.es.js";
217
+ import "../../../components/SearchFilter/filterDates.es.js";
218
+ import "../../../components/FeaturedVersionOrder/FeaturedVersionOrder.es.js";
219
+ import "../../../components/Badge/Badge.es.js";
229
220
  import "../../../components/VersionUploader/components/UploadVersionDialog.es.js";
230
221
  import "../../../components/VersionUploader/context/VersionUploadContext.es.js";
231
- import "../../../components/Watchers/Watchers.es.js";
222
+ import "../../../components/Feedback/FeedbackContext.es.js";
223
+ import "../../../components/Feedback/SupportBubble.es.js";
224
+ import "../../../components/Chips/Chips.es.js";
225
+ import "../../../components/LinksManager/LinksManager.styled.es.js";
226
+ import "../../EntityPickerDialog/EntityPickerDialog.es.js";
227
+ import "../../../components/StyledLink/StyledLink.es.js";
228
+ import "../../../components/ShareOptionIcon/ShareOptionIcon.es.js";
229
+ import "../../../components/AccessUser/AccessUser.es.js";
230
+ import "../../../../../node_modules/match-sorter/dist/match-sorter.esm.es.js";
231
+ import "../../../components/AccessSearchInput/AccessSearchInput.styled.es.js";
232
+ import "../../../components/TableGridSwitch/TableGridSwitch.es.js";
233
+ import "../../../components/SortingSetting/SortingSetting.styled.es.js";
234
+ import "../../../components/EarlyPreview/EarlyPreview.es.js";
235
+ import "../../../components/LegacyBadge/LegacyBadge.es.js";
236
+ import "../../../components/Menu/Menu.styled.es.js";
237
+ import "../../../components/Menu/MenuItem.es.js";
232
238
  import "../../../components/LinksManager/CellEditingDialog.es.js";
233
239
  import "../context/DetailsPanelEntityContext.es.js";
234
240
  import "../context/SelectedRowsContext.es.js";
@@ -239,10 +245,10 @@ import "../widgets/LoadMoreWidget.es.js";
239
245
  import "../context/ColumnSettingsContext.es.js";
240
246
  import { parseRowId as l } from "../context/ProjectTableProvider.es.js";
241
247
  var e = /* @__PURE__ */ ((t) => (t[t.None = 0] = "None", t[t.Top = 1] = "Top", t[t.Right = 2] = "Right", t[t.Bottom = 4] = "Bottom", t[t.Left = 8] = "Left", t[t.All = 15] = "All", t))(e || {});
242
- const Gr = (t, p) => `cell-${t}-${p}`, Hr = (t) => {
248
+ const Qr = (t, p) => `cell-${t}-${p}`, Sr = (t) => {
243
249
  const p = t.match(/^cell-(.+)-(.+)$/);
244
250
  return p ? { rowId: p[1], colId: p[2] } : null;
245
- }, Jr = (t, p) => {
251
+ }, Ur = (t, p) => {
246
252
  if (!t || !p) return;
247
253
  const r = p.split("_");
248
254
  let i = t;
@@ -252,29 +258,29 @@ const Gr = (t, p) => `cell-${t}-${p}`, Hr = (t) => {
252
258
  else
253
259
  return;
254
260
  return i;
255
- }, Kr = (t, p) => {
261
+ }, Wr = (t, p) => {
256
262
  const [r, i, o, u, n] = p.split("_"), f = t.filter(
257
263
  (m) => m.linkType === i && m.direction === n
258
264
  );
259
265
  return f.length ? f.map((m) => m.node.id).join(",") : "";
260
- }, Mr = (t, p, r) => {
266
+ }, Xr = (t, p, r) => {
261
267
  var o, u, n, f, m;
262
268
  if (!((o = r[t]) != null && o[p]))
263
269
  return 0;
264
270
  let i = 0;
265
271
  return (t === 0 || !((u = r[t - 1]) != null && u[p])) && (i |= 1), (n = r[t]) != null && n[p + 1] || (i |= 2), (f = r[t + 1]) != null && f[p] || (i |= 4), (p === 0 || !((m = r[t]) != null && m[p - 1])) && (i |= 8), i;
266
- }, Or = (t) => {
272
+ }, Yr = (t) => {
267
273
  const p = [];
268
274
  return t & 1 && p.push("shadow-top"), t & 2 && p.push("shadow-right"), t & 4 && p.push("shadow-bottom"), t & 8 && p.push("shadow-left"), p;
269
- }, Qr = (t, p) => p.get(l(t));
275
+ }, Zr = (t, p) => p.get(l(t));
270
276
  export {
271
277
  e as BorderPosition,
272
- Or as getBorderClasses,
273
- Mr as getCellBorders,
274
- Gr as getCellId,
275
- Jr as getCellValue,
276
- Qr as getEntityDataById,
277
- Kr as getLinkEntityIdsByColumnId,
278
- Hr as parseCellId
278
+ Yr as getBorderClasses,
279
+ Xr as getCellBorders,
280
+ Qr as getCellId,
281
+ Ur as getCellValue,
282
+ Zr as getEntityDataById,
283
+ Wr as getLinkEntityIdsByColumnId,
284
+ Sr as parseCellId
279
285
  };
280
286
  //# sourceMappingURL=cellUtils.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cellUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { TaskLink } from '@shared/api'\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n// return the link entity ids for a given column id\nexport const getLinkEntityIdsByColumnId = (links: TaskLink[], columnId: CellId): string => {\n // split the columnId\n const [_link, linkType, _inType, _outType, direction] = columnId.split('_')\n const cellLinks = links.filter(\n (link) => link.linkType === linkType && link.direction === direction,\n )\n if (cellLinks.length) {\n return cellLinks.map((link) => link.node.id).join(',')\n } else {\n return ''\n }\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","getCellId","rowId","colId","parseCellId","cellId","match","getCellValue","obj","path","parts","current","part","getLinkEntityIdsByColumnId","links","columnId","_link","linkType","_inType","_outType","direction","cellLinks","link","getCellBorders","rowIndex","colIndex","selectedCells","_a","borders","_b","_c","_d","_e","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBY,IAAAA,sBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAP,IAAA,QACAA,EAAAA,EAAA,MAAM,CAAN,IAAA,OACAA,EAAAA,EAAA,QAAQ,CAAR,IAAA,SACAA,EAAAA,EAAA,SAAS,CAAT,IAAA,UACAA,EAAAA,EAAA,OAAO,CAAP,IAAA,QACAA,EAAAA,EAAA,MAAM,EAAN,IAAA,OANUA,IAAAA,KAAA,CAAA,CAAA;AAYL,MAAMC,KAAY,CAACC,GAAcC,MAAyB,QAAQD,CAAK,IAAIC,CAAK,IAM1EC,KAAc,CAACC,MAAwC;AAC5D,QAAAC,IAAQD,EAAO,MAAM,kBAAkB;AACzC,SAACC,IACE,EAAE,OAAOA,EAAM,CAAC,GAAG,OAAOA,EAAM,CAAC,EAAE,IADvB;AAErB,GAEaC,KAAe,CAACC,GAAUC,MAAsB;AAC3D,MAAI,CAACD,KAAO,CAACC,EAAa;AAEpB,QAAAC,IAAQD,EAAK,MAAM,GAAG;AAC5B,MAAIE,IAAUH;AAEd,aAAWI,KAAQF;AACjB,QAAIC,KAAW,OAAOA,KAAY,YAAYC,KAAQD;AACpD,MAAAA,IAAUA,EAAQC,CAAI;AAAA;AAEf;AAIJ,SAAAD;AACT,GAGaE,KAA6B,CAACC,GAAmBC,MAA6B;AAEnF,QAAA,CAACC,GAAOC,GAAUC,GAASC,GAAUC,CAAS,IAAIL,EAAS,MAAM,GAAG,GACpEM,IAAYP,EAAM;AAAA,IACtB,CAACQ,MAASA,EAAK,aAAaL,KAAYK,EAAK,cAAcF;AAAA,EAC7D;AACA,SAAIC,EAAU,SACLA,EAAU,IAAI,CAACC,MAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,IAE9C;AAEX,GAWaC,KAAiB,CAC5BC,GACAC,GACAC,MACmB;;AACnB,MAAI,GAACC,IAAAD,EAAcF,CAAQ,MAAtB,QAAAG,EAA0BF;AACtB,WAAA;AAGT,MAAIG,IAAU;AAGV,UAAAJ,MAAa,KAAK,GAACK,IAAAH,EAAcF,IAAW,CAAC,MAA1B,QAAAK,EAA8BJ,SACxCG,KAAA,KAIRE,IAAAJ,EAAcF,CAAQ,MAAtB,QAAAM,EAA0BL,IAAW,OAC7BG,KAAA,KAIRG,IAAAL,EAAcF,IAAW,CAAC,MAA1B,QAAAO,EAA8BN,OACtBG,KAAA,KAITH,MAAa,KAAK,GAACO,IAAAN,EAAcF,CAAQ,MAAtB,QAAAQ,EAA0BP,IAAW,SAC/CG,KAAA,IAGNA;AACT,GAKaK,KAAmB,CAACL,MAAsC;AACrE,QAAMM,IAAoB,CAAC;AAE3B,SAAIN,IAAU,KAA4BM,EAAA,KAAK,YAAY,GACvDN,IAAU,KAA8BM,EAAA,KAAK,cAAc,GAC3DN,IAAU,KAA+BM,EAAA,KAAK,eAAe,GAC7DN,IAAU,KAA6BM,EAAA,KAAK,aAAa,GAEtDA;AACT,GAGaC,KAAoB,CAC/BC,GACAC,MACGA,EAAY,IAAIC,EAAWF,CAAE,CAAC;"}
1
+ {"version":3,"file":"cellUtils.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { TaskLink } from '@shared/api'\nimport { parseRowId } from '../context'\nimport { EMapResult, EntitiesMap } from '../types'\n\n// Type definitions for cell identifiers\nexport type CellId = string\nexport type RowId = string\nexport type ColId = string\n\n// Cell position in the grid\nexport interface CellPosition {\n rowId: RowId\n colId: ColId\n}\n\n// Cell border position flags - used for determining which borders to show\nexport enum BorderPosition {\n None = 0,\n Top = 1 << 0,\n Right = 1 << 1,\n Bottom = 1 << 2,\n Left = 1 << 3,\n All = Top | Right | Bottom | Left,\n}\n\n/**\n * Create a standardized cell ID from row and column IDs\n */\nexport const getCellId = (rowId: RowId, colId: ColId): CellId => `cell-${rowId}-${colId}`\n\n/**\n * Parse a cell ID to extract row and column IDs\n * @returns CellPosition or null if invalid format\n */\nexport const parseCellId = (cellId: CellId): CellPosition | null => {\n const match = cellId.match(/^cell-(.+)-(.+)$/)\n if (!match) return null\n return { rowId: match[1], colId: match[2] }\n}\n\nexport const getCellValue = (obj: any, path: string): any => {\n if (!obj || !path) return undefined\n\n const parts = path.split('_')\n let current = obj\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in current) {\n current = current[part]\n } else {\n return undefined // Return undefined if any part of the path is invalid\n }\n }\n\n return current\n}\n\n// return the link entity ids for a given column id\nexport const getLinkEntityIdsByColumnId = (links: TaskLink[], columnId: CellId): string => {\n // split the columnId\n const [_link, linkType, _inType, _outType, direction] = columnId.split('_')\n const cellLinks = links.filter(\n (link) => link.linkType === linkType && link.direction === direction,\n )\n if (cellLinks.length) {\n return cellLinks.map((link) => link.node.id).join(',')\n } else {\n return ''\n }\n}\n\n/**\n * Determines which borders to display for a selected cell\n * based on its position within the selection grid\n *\n * @param rowIndex Current cell's row index\n * @param colIndex Current cell's column index\n * @param selectedCells 2D array representing selection state (true = selected)\n * @returns BorderPosition flags indicating which borders to display\n */\nexport const getCellBorders = (\n rowIndex: number,\n colIndex: number,\n selectedCells: boolean[][],\n): BorderPosition => {\n if (!selectedCells[rowIndex]?.[colIndex]) {\n return BorderPosition.None\n }\n\n let borders = BorderPosition.None\n\n // Check top border\n if (rowIndex === 0 || !selectedCells[rowIndex - 1]?.[colIndex]) {\n borders |= BorderPosition.Top\n }\n\n // Check right border\n if (!selectedCells[rowIndex]?.[colIndex + 1]) {\n borders |= BorderPosition.Right\n }\n\n // Check bottom border\n if (!selectedCells[rowIndex + 1]?.[colIndex]) {\n borders |= BorderPosition.Bottom\n }\n\n // Check left border\n if (colIndex === 0 || !selectedCells[rowIndex]?.[colIndex - 1]) {\n borders |= BorderPosition.Left\n }\n\n return borders\n}\n\n/**\n * Converts border position flags to CSS classes for shadow styling\n */\nexport const getBorderClasses = (borders: BorderPosition): string[] => {\n const classes: string[] = []\n\n if (borders & BorderPosition.Top) classes.push('shadow-top')\n if (borders & BorderPosition.Right) classes.push('shadow-right')\n if (borders & BorderPosition.Bottom) classes.push('shadow-bottom')\n if (borders & BorderPosition.Left) classes.push('shadow-left')\n\n return classes\n}\n\n// get a entity from it's id\nexport const getEntityDataById = <T extends 'folder' | 'task' | 'product' | 'version'>(\n id: string,\n entitiesMap: EntitiesMap,\n) => entitiesMap.get(parseRowId(id)) as EMapResult<T> | undefined\n"],"names":["BorderPosition","getCellId","rowId","colId","parseCellId","cellId","match","getCellValue","obj","path","parts","current","part","getLinkEntityIdsByColumnId","links","columnId","_link","linkType","_inType","_outType","direction","cellLinks","link","getCellBorders","rowIndex","colIndex","selectedCells","_a","borders","_b","_c","_d","_e","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBY,IAAAA,sBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAP,IAAA,QACAA,EAAAA,EAAA,MAAM,CAAN,IAAA,OACAA,EAAAA,EAAA,QAAQ,CAAR,IAAA,SACAA,EAAAA,EAAA,SAAS,CAAT,IAAA,UACAA,EAAAA,EAAA,OAAO,CAAP,IAAA,QACAA,EAAAA,EAAA,MAAM,EAAN,IAAA,OANUA,IAAAA,KAAA,CAAA,CAAA;AAYL,MAAMC,KAAY,CAACC,GAAcC,MAAyB,QAAQD,CAAK,IAAIC,CAAK,IAM1EC,KAAc,CAACC,MAAwC;AAC5D,QAAAC,IAAQD,EAAO,MAAM,kBAAkB;AACzC,SAACC,IACE,EAAE,OAAOA,EAAM,CAAC,GAAG,OAAOA,EAAM,CAAC,EAAE,IADvB;AAErB,GAEaC,KAAe,CAACC,GAAUC,MAAsB;AAC3D,MAAI,CAACD,KAAO,CAACC,EAAa;AAEpB,QAAAC,IAAQD,EAAK,MAAM,GAAG;AAC5B,MAAIE,IAAUH;AAEd,aAAWI,KAAQF;AACjB,QAAIC,KAAW,OAAOA,KAAY,YAAYC,KAAQD;AACpD,MAAAA,IAAUA,EAAQC,CAAI;AAAA;AAEf;AAIJ,SAAAD;AACT,GAGaE,KAA6B,CAACC,GAAmBC,MAA6B;AAEnF,QAAA,CAACC,GAAOC,GAAUC,GAASC,GAAUC,CAAS,IAAIL,EAAS,MAAM,GAAG,GACpEM,IAAYP,EAAM;AAAA,IACtB,CAACQ,MAASA,EAAK,aAAaL,KAAYK,EAAK,cAAcF;AAAA,EAC7D;AACA,SAAIC,EAAU,SACLA,EAAU,IAAI,CAACC,MAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,IAE9C;AAEX,GAWaC,KAAiB,CAC5BC,GACAC,GACAC,MACmB;;AACnB,MAAI,GAACC,IAAAD,EAAcF,CAAQ,MAAtB,QAAAG,EAA0BF;AACtB,WAAA;AAGT,MAAIG,IAAU;AAGV,UAAAJ,MAAa,KAAK,GAACK,IAAAH,EAAcF,IAAW,CAAC,MAA1B,QAAAK,EAA8BJ,SACxCG,KAAA,KAIRE,IAAAJ,EAAcF,CAAQ,MAAtB,QAAAM,EAA0BL,IAAW,OAC7BG,KAAA,KAIRG,IAAAL,EAAcF,IAAW,CAAC,MAA1B,QAAAO,EAA8BN,OACtBG,KAAA,KAITH,MAAa,KAAK,GAACO,IAAAN,EAAcF,CAAQ,MAAtB,QAAAQ,EAA0BP,IAAW,SAC/CG,KAAA,IAGNA;AACT,GAKaK,KAAmB,CAACL,MAAsC;AACrE,QAAMM,IAAoB,CAAC;AAE3B,SAAIN,IAAU,KAA4BM,EAAA,KAAK,YAAY,GACvDN,IAAU,KAA8BM,EAAA,KAAK,cAAc,GAC3DN,IAAU,KAA+BM,EAAA,KAAK,eAAe,GAC7DN,IAAU,KAA6BM,EAAA,KAAK,aAAa,GAEtDA;AACT,GAGaC,KAAoB,CAC/BC,GACAC,MACGA,EAAY,IAAIC,EAAWF,CAAE,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@ynput/ayon-react-components"),c=(e,t)=>{if(!(e!=null&&e.conditions)||e.conditions.length===0)return[];const n=[],l=new Set;return e.conditions.forEach(i=>{if("key"in i){const s=g(i,t,l);s&&n.push(s)}else{const s=c(i,t);n.push(...s)}}),n},g=(e,t,n)=>{const{key:l,value:i,operator:s}=e;if(l===f.SEARCH_FILTER_ID)return{id:f.SEARCH_FILTER_ID,type:"string",label:"",values:i.map(d=>({id:d,label:d}))};const r=p(l,t);if(!r)return null;const o=`${l}_${s}_${JSON.stringify(i)}`;if(n.has(o))return null;n.add(o);const u=C(i,s,r),a=b(s,r.type),V=_(s,r.type);return{id:r.id,type:r.type,label:r.label,inverted:a,operator:V,icon:r.icon,values:u,isCustom:r.allowsCustomValues,singleSelect:r.singleSelect}},p=(e,t)=>{let n=t.find(l=>l.id===e);return n||(n=t.find(l=>l.id.endsWith(e)||l.id.replace(/^[^.]*\./,"")===e||l.id.split("_").pop()===e),n)||(n=t.find(l=>{var i;return((i=l.label)==null?void 0:i.toLowerCase())===e.toLowerCase()})),n},C=(e,t,n)=>{if(t==="isnull"||t==="notnull")return t==="isnull"?[{id:"noValue",label:"No Value"}]:[{id:"hasValue",label:"Has Value"}];if(Array.isArray(e)&&e.length===0){if(t==="eq")return[{id:"noValue",label:"No Value"}];if(t==="ne")return[{id:"hasValue",label:"Has Value"}]}return e==null?[]:(Array.isArray(e)?e:[e]).map(i=>{var o;let s=String(i),r=!1;if(t==="like"&&typeof i=="string"&&(s=i.replace(/^%/,"").replace(/%$/,""),r=!0),!r){const u=(o=n.values)==null?void 0:o.find(a=>a.id===s);if(u)return u}return{id:s,label:s,isCustom:!0}})},b=(e,t)=>e?["ne","notin","excludes","excludesall","excludesany","notnull"].includes(e):!1,_=(e,t)=>t!=null&&t.startsWith("list_of_")&&(e==="includesall"||e==="excludesall")?"AND":"OR";exports.default=c;exports.queryFilterToClientFilter=c;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@ynput/ayon-react-components"),c=(e,t)=>{if(!(e!=null&&e.conditions)||e.conditions.length===0)return[];const n=[],i=new Set;return e.conditions.forEach(l=>{if("key"in l){const r=p(l,t,i);r&&n.push(r)}else{const r=c(l,t);n.push(...r)}}),n},p=(e,t,n)=>{const{key:i,value:l,operator:r}=e;if(i===f.SEARCH_FILTER_ID){const V=Array.isArray(l)?l:[l||""];return{id:f.SEARCH_FILTER_ID,type:"string",label:"",values:V.map(d=>({id:String(d),label:String(d)}))}}const s=C(i,t);if(!s)return null;const o=`${i}_${r}_${JSON.stringify(l)}`;if(n.has(o))return null;n.add(o);const u=b(l,r,s),a=S(r,s.type),g=_(r,s.type);return{id:s.id,type:s.type,label:s.label,inverted:a,operator:g,icon:s.icon,values:u,isCustom:s.allowsCustomValues,singleSelect:s.singleSelect}},C=(e,t)=>{let n=t.find(i=>i.id===e);return n||(n=t.find(i=>i.id.endsWith(e)||i.id.replace(/^[^.]*\./,"")===e||i.id.split("_").pop()===e),n)||(n=t.find(i=>{var l;return((l=i.label)==null?void 0:l.toLowerCase())===e.toLowerCase()})),n},b=(e,t,n)=>{if(t==="isnull"||t==="notnull")return t==="isnull"?[{id:"noValue",label:"No Value"}]:[{id:"hasValue",label:"Has Value"}];if(Array.isArray(e)&&e.length===0){if(t==="eq")return[{id:"noValue",label:"No Value"}];if(t==="ne")return[{id:"hasValue",label:"Has Value"}]}return e==null?[]:(Array.isArray(e)?e:[e]).map(l=>{var o;let r=String(l),s=!1;if(t==="like"&&typeof l=="string"&&(r=l.replace(/^%/,"").replace(/%$/,""),s=!0),!s){const u=(o=n.values)==null?void 0:o.find(a=>a.id===r);if(u)return u}return{id:r,label:r,isCustom:!0}})},S=(e,t)=>e?["ne","notin","excludes","excludesall","excludesany","notnull"].includes(e):!1,_=(e,t)=>t!=null&&t.startsWith("list_of_")&&(e==="includesall"||e==="excludesall")?"AND":"OR";exports.default=c;exports.queryFilterToClientFilter=c;
2
2
  //# sourceMappingURL=queryFilterToClientFilter.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryFilterToClientFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - recursively process it\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n })\n\n return filters\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: (value as string[]).map((v) => ({ id: v, label: v })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // Determine if the filter is inverted based on the operator\n const inverted = isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","nestedFilters","key","value","operator","SEARCH_FILTER_ID","v","filterOption","findFilterOption","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","_a","val","stringValue","isCustomValue","existingValue","type"],"mappings":"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"}
1
+ {"version":3,"file":"queryFilterToClientFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - recursively process it\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n })\n\n return filters\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const valuesArray = Array.isArray(value) ? value : [value || '']\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: valuesArray.map((v) => ({ id: String(v), label: String(v) })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // Determine if the filter is inverted based on the operator\n const inverted = isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","nestedFilters","key","value","operator","SEARCH_FILTER_ID","valuesArray","v","filterOption","findFilterOption","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","_a","val","stringValue","isCustomValue","existingValue","type"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SEARCH_FILTER_ID as d } from "@ynput/ayon-react-components";
2
- const V = (e, t) => {
2
+ const g = (e, t) => {
3
3
  if (!(e != null && e.conditions) || e.conditions.length === 0)
4
4
  return [];
5
5
  const n = [], l = /* @__PURE__ */ new Set();
@@ -8,39 +8,41 @@ const V = (e, t) => {
8
8
  const s = p(i, t, l);
9
9
  s && n.push(s);
10
10
  } else {
11
- const s = V(i, t);
11
+ const s = g(i, t);
12
12
  n.push(...s);
13
13
  }
14
14
  }), n;
15
15
  }, p = (e, t, n) => {
16
16
  const { key: l, value: i, operator: s } = e;
17
- if (l === d)
17
+ if (l === d) {
18
+ const V = Array.isArray(i) ? i : [i || ""];
18
19
  return {
19
20
  id: d,
20
21
  type: "string",
21
22
  label: "",
22
- values: i.map((c) => ({ id: c, label: c }))
23
+ values: V.map((c) => ({ id: String(c), label: String(c) }))
23
24
  };
24
- const r = g(l, t);
25
+ }
26
+ const r = b(l, t);
25
27
  if (!r)
26
28
  return null;
27
- const o = `${l}_${s}_${JSON.stringify(i)}`;
28
- if (n.has(o))
29
+ const a = `${l}_${s}_${JSON.stringify(i)}`;
30
+ if (n.has(a))
29
31
  return null;
30
- n.add(o);
31
- const u = b(i, s, r), a = h(s, r.type), f = C(s, r.type);
32
+ n.add(a);
33
+ const o = h(i, s, r), u = C(s, r.type), f = A(s, r.type);
32
34
  return {
33
35
  id: r.id,
34
36
  type: r.type,
35
37
  label: r.label,
36
- inverted: a,
38
+ inverted: u,
37
39
  operator: f,
38
40
  icon: r.icon,
39
- values: u,
41
+ values: o,
40
42
  isCustom: r.allowsCustomValues,
41
43
  singleSelect: r.singleSelect
42
44
  };
43
- }, g = (e, t) => {
45
+ }, b = (e, t) => {
44
46
  let n = t.find((l) => l.id === e);
45
47
  return n || (n = t.find(
46
48
  (l) => l.id.endsWith(e) || l.id.replace(/^[^.]*\./, "") === e || l.id.split("_").pop() === e
@@ -48,7 +50,7 @@ const V = (e, t) => {
48
50
  var i;
49
51
  return ((i = l.label) == null ? void 0 : i.toLowerCase()) === e.toLowerCase();
50
52
  })), n;
51
- }, b = (e, t, n) => {
53
+ }, h = (e, t, n) => {
52
54
  if (t === "isnull" || t === "notnull")
53
55
  return t === "isnull" ? [{ id: "noValue", label: "No Value" }] : [{ id: "hasValue", label: "Has Value" }];
54
56
  if (Array.isArray(e) && e.length === 0) {
@@ -58,12 +60,12 @@ const V = (e, t) => {
58
60
  return [{ id: "hasValue", label: "Has Value" }];
59
61
  }
60
62
  return e == null ? [] : (Array.isArray(e) ? e : [e]).map((i) => {
61
- var o;
63
+ var a;
62
64
  let s = String(i), r = !1;
63
65
  if (t === "like" && typeof i == "string" && (s = i.replace(/^%/, "").replace(/%$/, ""), r = !0), !r) {
64
- const u = (o = n.values) == null ? void 0 : o.find((a) => a.id === s);
65
- if (u)
66
- return u;
66
+ const o = (a = n.values) == null ? void 0 : a.find((u) => u.id === s);
67
+ if (o)
68
+ return o;
67
69
  }
68
70
  return {
69
71
  id: s,
@@ -71,9 +73,9 @@ const V = (e, t) => {
71
73
  isCustom: !0
72
74
  };
73
75
  });
74
- }, h = (e, t) => e ? ["ne", "notin", "excludes", "excludesall", "excludesany", "notnull"].includes(e) : !1, C = (e, t) => t != null && t.startsWith("list_of_") && (e === "includesall" || e === "excludesall") ? "AND" : "OR";
76
+ }, C = (e, t) => e ? ["ne", "notin", "excludes", "excludesall", "excludesany", "notnull"].includes(e) : !1, A = (e, t) => t != null && t.startsWith("list_of_") && (e === "includesall" || e === "excludesall") ? "AND" : "OR";
75
77
  export {
76
- V as default,
77
- V as queryFilterToClientFilter
78
+ g as default,
79
+ g as queryFilterToClientFilter
78
80
  };
79
81
  //# sourceMappingURL=queryFilterToClientFilter.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queryFilterToClientFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - recursively process it\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n })\n\n return filters\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: (value as string[]).map((v) => ({ id: v, label: v })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // Determine if the filter is inverted based on the operator\n const inverted = isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","nestedFilters","key","value","operator","SEARCH_FILTER_ID","v","filterOption","findFilterOption","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","_a","val","stringValue","isCustomValue","existingValue","type"],"mappings":"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"}
1
+ {"version":3,"file":"queryFilterToClientFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.ts"],"sourcesContent":["import { Filter, FilterValue, SEARCH_FILTER_ID } from '@ynput/ayon-react-components'\nimport { QueryFilter, QueryCondition } from '../types/operations'\n\n// Option interface for filter options (from useBuildFilterOptions)\ninterface Option {\n id: string\n type?: string\n label: string\n icon?: string | null\n img?: string | null\n inverted?: boolean\n operator?: 'AND' | 'OR'\n values?: FilterValue[]\n allowsCustomValues?: boolean\n allowHasValue?: boolean\n allowNoValue?: boolean\n allowExcludes?: boolean\n operatorChangeable?: boolean\n singleSelect?: boolean\n}\n\n/**\n * Converts a QueryFilter back to Filter[] objects that can be consumed by the SearchFilter component\n * This requires the filter options to properly reconstruct the Filter objects with all their metadata\n */\nexport const queryFilterToClientFilter = (\n queryFilter: QueryFilter | undefined,\n filterOptions: Option[],\n): Filter[] => {\n if (!queryFilter?.conditions || queryFilter.conditions.length === 0) {\n return []\n }\n\n const filters: Filter[] = []\n const processedConditions = new Set<string>()\n\n // Process each condition in the query filter\n queryFilter.conditions.forEach((condition) => {\n if ('key' in condition) {\n // This is a QueryCondition\n const filter = convertConditionToFilter(condition, filterOptions, processedConditions)\n if (filter) {\n filters.push(filter)\n }\n } else {\n // This is a nested QueryFilter - recursively process it\n const nestedFilters = queryFilterToClientFilter(condition, filterOptions)\n filters.push(...nestedFilters)\n }\n })\n\n return filters\n}\n\nconst convertConditionToFilter = (\n condition: QueryCondition,\n filterOptions: Option[],\n processedConditions: Set<string>,\n): Filter | null => {\n const { key, value, operator } = condition\n\n // check if the filter is a text search filter\n if (key === SEARCH_FILTER_ID) {\n const valuesArray = Array.isArray(value) ? value : [value || '']\n const filter: Filter = {\n id: SEARCH_FILTER_ID,\n type: 'string',\n label: '',\n values: valuesArray.map((v) => ({ id: String(v), label: String(v) })),\n }\n\n return filter\n }\n\n // Find the matching filter option\n const filterOption = findFilterOption(key, filterOptions)\n if (!filterOption) {\n return null\n }\n\n // Create a unique key for this condition to avoid duplicates\n const conditionKey = `${key}_${operator}_${JSON.stringify(value)}`\n if (processedConditions.has(conditionKey)) {\n return null\n }\n processedConditions.add(conditionKey)\n\n // Convert the condition values to FilterValue objects\n const filterValues = convertConditionValueToFilterValues(value, operator, filterOption)\n\n // Determine if the filter is inverted based on the operator\n const inverted = isInvertedOperator(operator, filterOption.type)\n\n // Determine the filter operator (AND/OR)\n const filterOperator = getFilterOperator(operator, filterOption.type)\n\n const filter: Filter = {\n id: filterOption.id,\n type: filterOption.type as Filter['type'],\n label: filterOption.label,\n inverted,\n operator: filterOperator,\n icon: filterOption.icon,\n values: filterValues,\n isCustom: filterOption.allowsCustomValues,\n singleSelect: filterOption.singleSelect,\n }\n\n return filter\n}\n\nconst findFilterOption = (key: string, filterOptions: Option[]): Option | undefined => {\n // Try exact match first\n let option = filterOptions.find((opt) => opt.id === key)\n if (option) return option\n\n // Try to find by the base key (without prefixes)\n option = filterOptions.find(\n (opt) =>\n opt.id.endsWith(key) ||\n opt.id.replace(/^[^.]*\\./, '') === key ||\n opt.id.split('_').pop() === key,\n )\n if (option) return option\n\n // Try to find by label match\n option = filterOptions.find((opt) => opt.label?.toLowerCase() === key.toLowerCase())\n\n return option\n}\n\nconst convertConditionValueToFilterValues = (\n value: QueryCondition['value'],\n operator: QueryCondition['operator'],\n filterOption: Option,\n): FilterValue[] => {\n // Handle special operators for null/empty checks\n if (operator === 'isnull' || operator === 'notnull') {\n return operator === 'isnull'\n ? [{ id: 'noValue', label: 'No Value' }]\n : [{ id: 'hasValue', label: 'Has Value' }]\n }\n\n // Handle empty array cases - these represent \"No Value\" and \"Has Value\" conditions\n if (Array.isArray(value) && value.length === 0) {\n if (operator === 'eq') {\n // Empty array with 'eq' operator means \"No Value\"\n return [{ id: 'noValue', label: 'No Value' }]\n } else if (operator === 'ne') {\n // Empty array with 'ne' operator means \"Has Value\"\n return [{ id: 'hasValue', label: 'Has Value' }]\n }\n }\n\n if (value === undefined || value === null) {\n return []\n }\n\n // Convert value(s) to FilterValue objects\n const values = Array.isArray(value) ? value : [value]\n\n return values.map((val) => {\n let stringValue = String(val)\n let isCustomValue = false\n\n // Handle LIKE operator with wildcards - strip them and mark as custom\n if (operator === 'like' && typeof val === 'string') {\n // Remove leading and trailing % wildcards\n stringValue = val.replace(/^%/, '').replace(/%$/, '')\n isCustomValue = true\n }\n\n // Try to find existing option value with metadata (only if not already marked as custom from LIKE)\n if (!isCustomValue) {\n const existingValue = filterOption.values?.find((v: FilterValue) => v.id === stringValue)\n if (existingValue) {\n return existingValue\n }\n }\n\n // Create a basic FilterValue if no existing option found or if it's a LIKE value\n return {\n id: stringValue,\n label: stringValue,\n isCustom: true,\n }\n })\n}\n\nconst isInvertedOperator = (operator: QueryCondition['operator'], type?: string): boolean => {\n const invertedOperators = ['ne', 'notin', 'excludes', 'excludesall', 'excludesany', 'notnull']\n return operator ? invertedOperators.includes(operator) : false\n}\n\nconst getFilterOperator = (operator: QueryCondition['operator'], type?: string): 'AND' | 'OR' => {\n // For list types, determine AND/OR based on the operator\n if (type?.startsWith('list_of_')) {\n if (operator === 'includesall' || operator === 'excludesall') {\n return 'AND'\n }\n return 'OR'\n }\n\n // Default to OR for most cases\n return 'OR'\n}\n\nexport default queryFilterToClientFilter\n"],"names":["queryFilterToClientFilter","queryFilter","filterOptions","filters","processedConditions","condition","filter","convertConditionToFilter","nestedFilters","key","value","operator","SEARCH_FILTER_ID","valuesArray","v","filterOption","findFilterOption","conditionKey","filterValues","convertConditionValueToFilterValues","inverted","isInvertedOperator","filterOperator","getFilterOperator","option","opt","_a","val","stringValue","isCustomValue","existingValue","type"],"mappings":";AAyBa,MAAAA,IAA4B,CACvCC,GACAC,MACa;AACb,MAAI,EAACD,KAAA,QAAAA,EAAa,eAAcA,EAAY,WAAW,WAAW;AAChE,WAAO,CAAC;AAGV,QAAME,IAAoB,CAAC,GACrBC,wBAA0B,IAAY;AAGhC,SAAAH,EAAA,WAAW,QAAQ,CAACI,MAAc;AAC5C,QAAI,SAASA,GAAW;AAEtB,YAAMC,IAASC,EAAyBF,GAAWH,GAAeE,CAAmB;AACrF,MAAIE,KACFH,EAAQ,KAAKG,CAAM;AAAA,IACrB,OACK;AAEC,YAAAE,IAAgBR,EAA0BK,GAAWH,CAAa;AAChE,MAAAC,EAAA,KAAK,GAAGK,CAAa;AAAA,IAAA;AAAA,EAC/B,CACD,GAEML;AACT,GAEMI,IAA2B,CAC/BF,GACAH,GACAE,MACkB;AAClB,QAAM,EAAE,KAAAK,GAAK,OAAAC,GAAO,UAAAC,EAAa,IAAAN;AAGjC,MAAII,MAAQG,GAAkB;AACtB,UAAAC,IAAc,MAAM,QAAQH,CAAK,IAAIA,IAAQ,CAACA,KAAS,EAAE;AAQxDJ,WAPgB;AAAA,MACrB,IAAIM;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQC,EAAY,IAAI,CAACC,OAAO,EAAE,IAAI,OAAOA,CAAC,GAAG,OAAO,OAAOA,CAAC,IAAI;AAAA,IACtE;AAAA,EAEO;AAIH,QAAAC,IAAeC,EAAiBP,GAAKP,CAAa;AACxD,MAAI,CAACa;AACI,WAAA;AAIH,QAAAE,IAAe,GAAGR,CAAG,IAAIE,CAAQ,IAAI,KAAK,UAAUD,CAAK,CAAC;AAC5D,MAAAN,EAAoB,IAAIa,CAAY;AAC/B,WAAA;AAET,EAAAb,EAAoB,IAAIa,CAAY;AAGpC,QAAMC,IAAeC,EAAoCT,GAAOC,GAAUI,CAAY,GAGhFK,IAAWC,EAAmBV,GAAUI,EAAa,IAAI,GAGzDO,IAAiBC,EAAkBZ,GAAUI,EAAa,IAAI;AAc7D,SAZgB;AAAA,IACrB,IAAIA,EAAa;AAAA,IACjB,MAAMA,EAAa;AAAA,IACnB,OAAOA,EAAa;AAAA,IACpB,UAAAK;AAAA,IACA,UAAUE;AAAA,IACV,MAAMP,EAAa;AAAA,IACnB,QAAQG;AAAA,IACR,UAAUH,EAAa;AAAA,IACvB,cAAcA,EAAa;AAAA,EAC7B;AAGF,GAEMC,IAAmB,CAACP,GAAaP,MAAgD;AAErF,MAAIsB,IAAStB,EAAc,KAAK,CAACuB,MAAQA,EAAI,OAAOhB,CAAG;AAUvD,SATIe,MAGJA,IAAStB,EAAc;AAAA,IACrB,CAACuB,MACCA,EAAI,GAAG,SAAShB,CAAG,KACnBgB,EAAI,GAAG,QAAQ,YAAY,EAAE,MAAMhB,KACnCgB,EAAI,GAAG,MAAM,GAAG,EAAE,UAAUhB;AAAA,EAChC,GACIe,OAGKA,IAAAtB,EAAc,KAAK,CAACuB,MAAQ;;AAAA,aAAAC,IAAAD,EAAI,UAAJ,gBAAAC,EAAW,mBAAkBjB,EAAI;GAAa,IAE5Ee;AACT,GAEML,IAAsC,CAC1CT,GACAC,GACAI,MACkB;AAEd,MAAAJ,MAAa,YAAYA,MAAa;AACxC,WAAOA,MAAa,WAChB,CAAC,EAAE,IAAI,WAAW,OAAO,WAAA,CAAY,IACrC,CAAC,EAAE,IAAI,YAAY,OAAO,aAAa;AAI7C,MAAI,MAAM,QAAQD,CAAK,KAAKA,EAAM,WAAW,GAAG;AAC9C,QAAIC,MAAa;AAEf,aAAO,CAAC,EAAE,IAAI,WAAW,OAAO,YAAY;AAC9C,QAAWA,MAAa;AAEtB,aAAO,CAAC,EAAE,IAAI,YAAY,OAAO,aAAa;AAAA,EAChD;AAGE,SAAuBD,KAAU,OAC5B,CAAC,KAIK,MAAM,QAAQA,CAAK,IAAIA,IAAQ,CAACA,CAAK,GAEtC,IAAI,CAACiB,MAAQ;;AACrB,QAAAC,IAAc,OAAOD,CAAG,GACxBE,IAAgB;AAUpB,QAPIlB,MAAa,UAAU,OAAOgB,KAAQ,aAExCC,IAAcD,EAAI,QAAQ,MAAM,EAAE,EAAE,QAAQ,MAAM,EAAE,GACpCE,IAAA,KAId,CAACA,GAAe;AACZ,YAAAC,KAAgBJ,IAAAX,EAAa,WAAb,gBAAAW,EAAqB,KAAK,CAACZ,MAAmBA,EAAE,OAAOc;AAC7E,UAAIE;AACK,eAAAA;AAAA,IACT;AAIK,WAAA;AAAA,MACL,IAAIF;AAAA,MACJ,OAAOA;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EAAA,CACD;AACH,GAEMP,IAAqB,CAACV,GAAsCoB,MAEzDpB,IADmB,CAAC,MAAM,SAAS,YAAY,eAAe,eAAe,SAAS,EACzD,SAASA,CAAQ,IAAI,IAGrDY,IAAoB,CAACZ,GAAsCoB,MAE3DA,KAAA,QAAAA,EAAM,WAAW,gBACfpB,MAAa,iBAAiBA,MAAa,iBACtC,QAMJ;"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../../_virtual/jsx-runtime.cjs.js"),f=require("react"),K=require("styled-components"),Q=require("./BooleanWidget.cjs.js"),X=require("./CollapsedWidget.cjs.js"),Y=require("./DateWidget.cjs.js"),Z=require("./EnumWidget.cjs.js"),h=require("./TextWidget.cjs.js"),w=require("./LinksWidget.cjs.js"),$=require("../context/CellEditingContext.cjs.js"),I=require("../utils/cellUtils.cjs.js"),p=require("clsx"),O=require("../context/SelectionCellsContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const V=require("../../../context/ProjectContext.cjs.js"),ee=require("./EnumCellValue.cjs.js"),te=require("./NameWidget.cjs.js"),ie=K.div`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../../_virtual/jsx-runtime.cjs.js"),f=require("react"),K=require("styled-components"),Q=require("./BooleanWidget.cjs.js"),X=require("./CollapsedWidget.cjs.js"),Y=require("./DateWidget.cjs.js"),Z=require("./EnumWidget.cjs.js"),h=require("./TextWidget.cjs.js"),w=require("./LinksWidget.cjs.js"),$=require("../context/CellEditingContext.cjs.js"),I=require("../utils/cellUtils.cjs.js"),p=require("clsx"),O=require("../context/SelectionCellsContext.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../context/DetailsPanelContext.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("react-dom");require("../../../context/pip/PiPWrapper.cjs.js");require("../../../context/AddonProjectContext.cjs.js");require("../../../context/AddonContext.cjs.js");require("../../../context/PowerpackContext.cjs.js");require("../../../context/MoveEntityContext.cjs.js");require("../../../context/MenuContext.cjs.js");require("../../../context/WebsocketContext.cjs.js");require("../../../context/GlobalContext.cjs.js");const V=require("../../../context/ProjectContext.cjs.js");require("../../../context/ProjectFoldersContext.cjs.js");require("../../../context/UriContext.cjs.js");const ee=require("./EnumCellValue.cjs.js"),te=require("./NameWidget.cjs.js"),ie=K.div`
2
2
  position: absolute;
3
3
  inset: 0;
4
4
  padding: 4px 8px;
@@ -19,5 +19,5 @@
19
19
  border-radius: 4px;
20
20
  opacity: 1;
21
21
  }
22
- `,ne="edit-trigger",re=({rowId:W,columnId:C,value:n,valueData:R,attributeData:E,options:x=[],isCollapsed:T,isInherited:g,isPlaceholder:j,isReadOnly:d,enableCustomValues:A,folderId:N,tooltip:L,onChange:m,entityType:M,pt:i,...y})=>{const b=f.useRef(null),r=E==null?void 0:E.type,{projectName:k}=V.useProjectContext(),{isEditing:G,setEditingCellId:c}=$.useCellEditing(),{isCellFocused:_,gridMap:S,selectCell:v,focusCell:B}=O.useSelectionCellsContext(),l=I.getCellId(W,C),a=G(l),F=_(l),P=f.useCallback(()=>{j||d||c(l)},[l,c,j]),D=()=>{a||c(null)},U=()=>{const t=S.rowIdToIndex.get(W);if(t===void 0)return;const s=S.indexToRowId.get(t+1);if(s){const e=I.getCellId(s,C);v(e,!1,!1),B(e),c(e)}},z=(t,s)=>{c(null),!d&&(s==="Enter"&&U(),(t!==n||s==="Enter")&&(m==null||m(t,s)))},H=()=>{var s;c(null);const t=(s=b.current)==null?void 0:s.closest("td");t&&t.focus()},J=f.useMemo(()=>{const t={onChange:z,onCancelEdit:H,isEditing:a},s=["string","integer","float"];switch(!0){case T:{const e=r!=null&&r.includes("list")?x.find(q=>Array.isArray(n)?n.includes(q.value):n===q.value):void 0,u=e==null?void 0:e.color;return o.jsxRuntimeExports.jsx(X.CollapsedWidget,{color:u})}case r==="name":return o.jsxRuntimeExports.jsx(te.NameWidget,{value:n,valueData:R,cellId:l,entityType:M||"",...t});case r==="links":{const e=R,u=w.isLinkEditable((e==null?void 0:e.direction)||"out",(e==null?void 0:e.link.linkType)||"",(e==null?void 0:e.entityType)||"");return d=!u,o.jsxRuntimeExports.jsx(w.LinksWidget,{value:e,cellId:l,projectName:k,disabled:!u,folderId:N,...t})}case!!x.length:{const e=Array.isArray(n)?n:[n];if(d){const u=x.filter(q=>e.includes(q.value));return e.length&&!u.length?o.jsxRuntimeExports.jsx(h.TextWidget,{value:e.join(", "),isInherited:g,columnId:C,...t,...i==null?void 0:i.text}):o.jsxRuntimeExports.jsx(ee.EnumCellValue,{selectedOptions:u,isReadOnly:!0,hasMultipleValues:e.length>1,isMultiSelect:r==null?void 0:r.includes("list")})}return o.jsxRuntimeExports.jsx(Z.EnumWidget,{value:e,options:x,type:r,onOpen:()=>c(l),enableCustomValues:A,...t,...i==null?void 0:i.enum})}case s.includes(r):return o.jsxRuntimeExports.jsx(h.TextWidget,{value:n,isInherited:g,columnId:C,...t,...i==null?void 0:i.text});case r==="datetime":return o.jsxRuntimeExports.jsx(Y.DateWidget,{value:n||void 0,isInherited:g,...t,...i==null?void 0:i.date});case r==="boolean":return o.jsxRuntimeExports.jsx(Q.BooleanWidget,{value:n,...t,...i==null?void 0:i.boolean});case j:return null;default:return null}},[l,n,r,a,x,T]);return o.jsxRuntimeExports.jsx(ie,{...y,className:p(y.className,{inherited:g&&!a,readonly:d,editable:!d}),ref:b,onDoubleClick:P,onClick:D,id:l,"data-tooltip":L||(g&&!a&&F?"Inherited":void 0),"data-tooltip-delay":200,children:J})};exports.CellWidget=re;exports.EDIT_TRIGGER_CLASS=ne;
22
+ `,re="edit-trigger",ne=({rowId:W,columnId:C,value:r,valueData:R,attributeData:E,options:x=[],isCollapsed:T,isInherited:g,isPlaceholder:j,isReadOnly:d,enableCustomValues:A,folderId:N,tooltip:L,onChange:m,entityType:M,pt:i,...y})=>{const b=f.useRef(null),n=E==null?void 0:E.type,{projectName:k}=V.useProjectContext(),{isEditing:G,setEditingCellId:c}=$.useCellEditing(),{isCellFocused:_,gridMap:S,selectCell:v,focusCell:B}=O.useSelectionCellsContext(),l=I.getCellId(W,C),a=G(l),F=_(l),P=f.useCallback(()=>{j||d||c(l)},[l,c,j]),D=()=>{a||c(null)},U=()=>{const t=S.rowIdToIndex.get(W);if(t===void 0)return;const s=S.indexToRowId.get(t+1);if(s){const e=I.getCellId(s,C);v(e,!1,!1),B(e),c(e)}},z=(t,s)=>{c(null),!d&&(s==="Enter"&&U(),(t!==r||s==="Enter")&&(m==null||m(t,s)))},H=()=>{var s;c(null);const t=(s=b.current)==null?void 0:s.closest("td");t&&t.focus()},J=f.useMemo(()=>{const t={onChange:z,onCancelEdit:H,isEditing:a},s=["string","integer","float"];switch(!0){case T:{const e=n!=null&&n.includes("list")?x.find(q=>Array.isArray(r)?r.includes(q.value):r===q.value):void 0,u=e==null?void 0:e.color;return o.jsxRuntimeExports.jsx(X.CollapsedWidget,{color:u})}case n==="name":return o.jsxRuntimeExports.jsx(te.NameWidget,{value:r,valueData:R,cellId:l,entityType:M||"",...t});case n==="links":{const e=R,u=w.isLinkEditable((e==null?void 0:e.direction)||"out",(e==null?void 0:e.link.linkType)||"",(e==null?void 0:e.entityType)||"");return d=!u,o.jsxRuntimeExports.jsx(w.LinksWidget,{value:e,cellId:l,projectName:k,disabled:!u,folderId:N,...t})}case!!x.length:{const e=Array.isArray(r)?r:[r];if(d){const u=x.filter(q=>e.includes(q.value));return e.length&&!u.length?o.jsxRuntimeExports.jsx(h.TextWidget,{value:e.join(", "),isInherited:g,columnId:C,...t,...i==null?void 0:i.text}):o.jsxRuntimeExports.jsx(ee.EnumCellValue,{selectedOptions:u,isReadOnly:!0,hasMultipleValues:e.length>1,isMultiSelect:n==null?void 0:n.includes("list")})}return o.jsxRuntimeExports.jsx(Z.EnumWidget,{value:e,options:x,type:n,onOpen:()=>c(l),enableCustomValues:A,...t,...i==null?void 0:i.enum})}case s.includes(n):return o.jsxRuntimeExports.jsx(h.TextWidget,{value:r,isInherited:g,columnId:C,...t,...i==null?void 0:i.text});case n==="datetime":return o.jsxRuntimeExports.jsx(Y.DateWidget,{value:r||void 0,isInherited:g,...t,...i==null?void 0:i.date});case n==="boolean":return o.jsxRuntimeExports.jsx(Q.BooleanWidget,{value:r,...t,...i==null?void 0:i.boolean});case j:return null;default:return null}},[l,r,n,a,x,T]);return o.jsxRuntimeExports.jsx(ie,{...y,className:p(y.className,{inherited:g&&!a,readonly:d,editable:!d}),ref:b,onDoubleClick:P,onClick:D,id:l,"data-tooltip":L||(g&&!a&&F?"Inherited":void 0),"data-tooltip-delay":200,children:J})};exports.CellWidget=ne;exports.EDIT_TRIGGER_CLASS=re;
23
23
  //# sourceMappingURL=CellWidget.cjs.js.map