@ynput/ayon-frontend-shared 0.4.0 → 0.4.2

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 (1168) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +37 -198
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/ProjectTreeTable.cjs.js +1 -1
  5. package/dist/ProjectTreeTable.es.js +248 -496
  6. package/dist/ProjectTreeTable.es.js.map +1 -1
  7. package/dist/Slicer.cjs.js +1 -1
  8. package/dist/Slicer.es.js +31 -230
  9. package/dist/Slicer.es.js.map +1 -1
  10. package/dist/api.cjs.js +1 -1
  11. package/dist/api.es.js +93 -93
  12. package/dist/components.cjs.js +1 -1
  13. package/dist/components.es.js +131 -126
  14. package/dist/components.es.js.map +1 -1
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.es.js +33 -128
  17. package/dist/index.es.js.map +1 -1
  18. package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
  19. package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
  20. package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
  21. package/dist/shared/node_modules/react-is/index.es.js +1 -1
  22. package/dist/shared/src/api/generated/graphql.cjs.js +45 -25
  23. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  24. package/dist/shared/src/api/generated/graphql.es.js +54 -34
  25. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  26. package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
  27. package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
  28. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  29. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  31. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  32. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
  33. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  34. package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -4
  35. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  36. package/dist/shared/src/api/queries/activities/getCategories.cjs.js.map +1 -1
  37. package/dist/shared/src/api/queries/activities/getCategories.es.js.map +1 -1
  38. package/dist/shared/src/api/queries/activities/patchTableLatestComments.cjs.js.map +1 -1
  39. package/dist/shared/src/api/queries/activities/patchTableLatestComments.es.js.map +1 -1
  40. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
  41. package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js.map +1 -1
  42. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
  43. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
  44. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +99 -201
  45. package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
  46. package/dist/shared/src/api/queries/addons/updateAddons.cjs.js.map +1 -1
  47. package/dist/shared/src/api/queries/addons/updateAddons.es.js.map +1 -1
  48. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  49. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  50. package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -1
  51. package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -1
  52. package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
  53. package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
  54. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  55. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  56. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
  57. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  58. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +133 -142
  59. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  60. package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
  61. package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
  62. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  63. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  64. package/dist/shared/src/api/queries/entityLists/getLists.es.js +151 -202
  65. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  66. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
  67. package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
  68. package/dist/shared/src/api/queries/entityLists/listFolders.es.js +40 -95
  69. package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
  70. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  71. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  72. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.cjs.js.map +1 -1
  73. package/dist/shared/src/api/queries/folders/getFolderDeleteInfo.es.js.map +1 -1
  74. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
  75. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  76. package/dist/shared/src/api/queries/folders/getFolders.es.js +80 -129
  77. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  78. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
  79. package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
  80. package/dist/shared/src/api/queries/links/getEntityLinks.es.js +111 -167
  81. package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
  82. package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
  83. package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
  84. package/dist/shared/src/api/queries/links/getLinks.es.js +58 -73
  85. package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
  86. package/dist/shared/src/api/queries/links/updateLinks.cjs.js.map +1 -1
  87. package/dist/shared/src/api/queries/links/updateLinks.es.js.map +1 -1
  88. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
  89. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  90. package/dist/shared/src/api/queries/overview/getOverview.es.js +344 -345
  91. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  92. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
  93. package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
  94. package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
  95. package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
  96. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
  97. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  98. package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
  99. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  100. package/dist/shared/src/api/queries/products/getFolderProducts.cjs.js.map +1 -1
  101. package/dist/shared/src/api/queries/products/getFolderProducts.es.js.map +1 -1
  102. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
  103. package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
  104. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +80 -134
  105. package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js.map +1 -1
  106. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
  107. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  108. package/dist/shared/src/api/queries/review/getReview.es.js +105 -86
  109. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  110. package/dist/shared/src/api/queries/share/share.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/share/share.es.js.map +1 -1
  112. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  113. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  114. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
  115. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  116. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +151 -184
  117. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  118. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
  119. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  120. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -2
  121. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  122. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
  123. package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
  124. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +486 -490
  125. package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
  126. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/versions/getVersionsProductsUtils.es.js.map +1 -1
  128. package/dist/shared/src/api/queries/versions/updateVersions.cjs.js.map +1 -1
  129. package/dist/shared/src/api/queries/versions/updateVersions.es.js.map +1 -1
  130. package/dist/shared/src/api/queries/views/getViews.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/views/getViews.es.js.map +1 -1
  132. package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
  133. package/dist/shared/src/api/queries/views/updateViews.es.js.map +1 -1
  134. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  136. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.cjs.js.map +1 -1
  137. package/dist/shared/src/components/AccessSearchInput/AccessSearchInput.es.js.map +1 -1
  138. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +1 -1
  139. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  140. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +28 -30
  141. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  142. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
  143. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
  144. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +29 -125
  145. package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js.map +1 -1
  146. package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
  147. package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
  148. package/dist/shared/src/components/Chips/Chips.es.js +18 -17
  149. package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
  150. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +3 -3
  151. package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
  152. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +16 -307
  153. package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
  154. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js +5 -5
  155. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js.map +1 -1
  156. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js +49 -145
  157. package/dist/shared/src/components/DeleteEntitiesConfirm/DeleteConfirmContent.es.js.map +1 -1
  158. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
  159. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  160. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +45 -141
  161. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  162. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
  163. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  164. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +27 -180
  165. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  166. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
  167. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
  168. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +9 -192
  169. package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
  170. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +2 -2
  171. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
  172. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +5 -197
  173. package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
  174. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
  175. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
  176. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +18 -114
  177. package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
  178. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +2 -2
  179. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
  180. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +13 -109
  181. package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js.map +1 -1
  182. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
  183. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
  184. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +11 -313
  185. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
  186. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
  187. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
  188. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +23 -119
  189. package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
  190. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
  191. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
  192. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +0 -111
  193. package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js.map +1 -1
  194. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js +1 -1
  195. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.cjs.js.map +1 -1
  196. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js +1 -1
  197. package/dist/shared/src/components/DetailsPanelDetails/hooks/useQuillFormats.es.js.map +1 -1
  198. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
  199. package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
  200. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +13 -311
  201. package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
  202. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  203. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  204. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +86 -270
  205. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  206. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
  207. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
  208. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +34 -332
  209. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
  210. package/dist/shared/src/components/EntityPath/EntityPath.cjs.js.map +1 -1
  211. package/dist/shared/src/components/EntityPath/EntityPath.es.js.map +1 -1
  212. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
  213. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  214. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +15 -307
  215. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  216. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.cjs.js.map +1 -1
  217. package/dist/shared/src/components/EnumEditor/DraggableEnumEditorItem.es.js.map +1 -1
  218. package/dist/shared/src/components/EnumEditor/EnumEditorItem.cjs.js.map +1 -1
  219. package/dist/shared/src/components/EnumEditor/EnumEditorItem.es.js.map +1 -1
  220. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
  221. package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
  222. package/dist/shared/src/components/Feedback/FeedbackContext.es.js +89 -290
  223. package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
  224. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +2 -2
  225. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -1
  226. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +10 -106
  227. package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -1
  228. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +1 -1
  229. package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -1
  230. package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +6 -5
  231. package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
  232. package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js.map +1 -1
  233. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
  234. package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
  235. package/dist/shared/src/components/LinksManager/LinksManager.es.js +51 -343
  236. package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
  237. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  238. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  239. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +7 -209
  240. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  241. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
  242. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
  243. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +2 -202
  244. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
  245. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
  246. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
  247. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +4 -182
  248. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
  249. package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
  250. package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
  251. package/dist/shared/src/components/Menu/Menu.es.js +48 -340
  252. package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
  253. package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
  254. package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
  255. package/dist/shared/src/components/Menu/MenuItem.es.js +20 -313
  256. package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
  257. package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
  258. package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
  259. package/dist/shared/src/components/Menu/MenuList.es.js +74 -370
  260. package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
  261. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +2 -2
  262. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  263. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +16 -312
  264. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  265. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  266. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  267. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -343
  268. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  269. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
  270. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +226 -368
  272. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  273. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
  274. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -375
  276. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  277. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  278. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +3 -296
  280. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  281. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
  282. package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
  283. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +34 -331
  284. package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
  285. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
  286. package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
  287. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +30 -328
  288. package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
  289. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +5 -5
  290. package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
  291. package/dist/shared/src/components/RenameForm/RenameForm.es.js +77 -369
  292. package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
  293. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  294. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  295. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +114 -312
  296. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  297. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  298. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  299. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +66 -362
  300. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  301. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  302. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  303. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +14 -313
  304. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  305. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
  306. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
  307. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +70 -72
  308. package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js.map +1 -1
  309. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
  310. package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
  311. package/dist/shared/src/components/ReviewablesSelector/Card.es.js +24 -323
  312. package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
  313. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
  314. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
  315. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
  316. package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
  317. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
  318. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  319. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +441 -523
  320. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  321. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +7 -7
  322. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  323. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +29 -326
  324. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  325. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
  326. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
  327. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
  328. package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
  329. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +4 -4
  330. package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
  331. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +53 -352
  332. package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
  333. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  334. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  335. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +95 -391
  336. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  337. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js +2 -2
  338. package/dist/shared/src/components/SyncButton/SyncButton.cjs.js.map +1 -1
  339. package/dist/shared/src/components/SyncButton/SyncButton.es.js +52 -165
  340. package/dist/shared/src/components/SyncButton/SyncButton.es.js.map +1 -1
  341. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +3 -3
  342. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  343. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +35 -331
  344. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  345. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
  346. package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
  347. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +26 -122
  348. package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
  349. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
  350. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
  351. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +22 -118
  352. package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js.map +1 -1
  353. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +13 -13
  354. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  355. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +99 -297
  356. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  357. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
  358. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
  359. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +61 -259
  360. package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
  361. package/dist/shared/src/config/plannerFeatures.cjs.js.map +1 -1
  362. package/dist/shared/src/config/plannerFeatures.es.js.map +1 -1
  363. package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
  364. package/dist/shared/src/config/powerpackFeatures.es.js.map +1 -1
  365. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  366. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +6 -207
  368. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  369. package/dist/shared/src/containers/Actions/ActionIcon.cjs.js.map +1 -1
  370. package/dist/shared/src/containers/Actions/ActionIcon.es.js.map +1 -1
  371. package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
  372. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  373. package/dist/shared/src/containers/Actions/Actions.es.js +51 -247
  374. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  375. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
  376. package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js.map +1 -1
  377. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  378. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +20 -320
  380. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  381. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  382. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  383. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  384. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  385. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  386. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +143 -324
  388. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  389. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +3 -3
  390. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +27 -326
  392. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  393. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  394. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +39 -233
  396. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  397. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  398. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +65 -252
  400. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  401. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
  402. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +16 -314
  404. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
  405. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
  406. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
  407. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +61 -351
  408. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
  409. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +5 -5
  410. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +20 -116
  412. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js.map +1 -1
  413. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
  414. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +2 -303
  416. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
  417. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js +1 -1
  418. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js +51 -147
  420. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.es.js.map +1 -1
  421. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
  422. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +2 -199
  424. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  425. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.cjs.js.map +1 -1
  426. package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.es.js.map +1 -1
  427. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
  428. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
  429. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
  430. package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
  431. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.cjs.js.map +1 -1
  432. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.es.js.map +1 -1
  433. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +9 -9
  434. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +18 -317
  436. package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
  437. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
  438. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +13 -214
  440. package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
  441. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
  442. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
  443. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +22 -320
  444. package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
  445. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
  446. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
  447. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -304
  448. package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
  449. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.cjs.js.map +1 -1
  450. package/dist/shared/src/containers/DetailsPanel/helpers/buildDetailsPanelTitles.es.js.map +1 -1
  451. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.cjs.js.map +1 -1
  452. package/dist/shared/src/containers/DetailsPanel/helpers/buildEntityTypeIcons.es.js.map +1 -1
  453. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.cjs.js.map +1 -1
  454. package/dist/shared/src/containers/DetailsPanel/helpers/getAllProjectsStatuses.es.js.map +1 -1
  455. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.cjs.js.map +1 -1
  456. package/dist/shared/src/containers/DetailsPanel/helpers/getEntityPathData.es.js.map +1 -1
  457. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
  458. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +10 -106
  460. package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js.map +1 -1
  461. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.cjs.js.map +1 -1
  462. package/dist/shared/src/containers/DetailsPanel/helpers/mergeProjectInfo.es.js.map +1 -1
  463. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
  464. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  465. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -206
  466. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  467. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
  468. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  469. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +74 -370
  470. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  471. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  472. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  473. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +20 -321
  474. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  475. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +6 -6
  476. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  477. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +32 -335
  478. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  479. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +3 -3
  480. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  481. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +12 -315
  482. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  483. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
  484. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
  485. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +11 -107
  486. package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js.map +1 -1
  487. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
  488. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
  489. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -225
  490. package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
  491. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
  492. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
  493. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +27 -123
  494. package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js.map +1 -1
  495. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.cjs.js.map +1 -1
  496. package/dist/shared/src/containers/EntityPickerDialog/util/getExpandedFoldersFromIds.es.js.map +1 -1
  497. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
  498. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/Feed/Feed.es.js +65 -242
  500. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  501. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js.map +1 -1
  502. package/dist/shared/src/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.es.js.map +1 -1
  503. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
  504. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
  505. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +8 -306
  506. package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
  507. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
  508. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  509. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +145 -418
  510. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  511. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
  512. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
  513. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +18 -314
  514. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
  515. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
  516. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +24 -120
  518. package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
  519. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
  520. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  521. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +42 -328
  522. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  523. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js.map +1 -1
  524. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.styled.es.js.map +1 -1
  525. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  526. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  527. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +227 -369
  528. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  529. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.cjs.js.map +1 -1
  530. package/dist/shared/src/containers/Feed/components/CommentInput/VersionReviewPill.es.js.map +1 -1
  531. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
  532. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +38 -338
  534. package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
  535. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
  536. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  537. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +22 -321
  538. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  539. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
  540. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
  541. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +9 -105
  542. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js.map +1 -1
  543. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
  544. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  545. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +21 -321
  546. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  547. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js +1 -1
  548. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.cjs.js.map +1 -1
  549. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js +16 -26
  550. package/dist/shared/src/containers/Feed/components/CommentInput/modules/index.es.js.map +1 -1
  551. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js +2 -0
  552. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.cjs.js.map +1 -0
  553. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js +14 -0
  554. package/dist/shared/src/containers/Feed/components/CommentInput/quillFormats.es.js.map +1 -0
  555. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js +1 -1
  556. package/dist/shared/src/containers/Feed/components/CommentInput/types.cjs.js.map +1 -1
  557. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js +2 -15
  558. package/dist/shared/src/containers/Feed/components/CommentInput/types.es.js.map +1 -1
  559. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
  560. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
  561. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +63 -359
  562. package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
  563. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  564. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  565. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +57 -353
  566. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  567. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
  568. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  569. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +14 -307
  570. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  571. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
  572. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  573. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +34 -235
  574. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  575. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
  576. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
  577. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +67 -163
  578. package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js.map +1 -1
  579. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
  580. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +18 -8
  581. package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
  582. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
  583. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
  584. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +10 -106
  585. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
  586. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.cjs.js.map +1 -1
  587. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionUsers.es.js.map +1 -1
  588. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
  589. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
  590. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +13 -109
  591. package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js.map +1 -1
  592. package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
  593. package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
  594. package/dist/shared/src/containers/ListTable/ListTable.es.js +116 -282
  595. package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
  596. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
  597. package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
  598. package/dist/shared/src/containers/ListTable/ListTableCell.es.js +58 -188
  599. package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
  600. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
  601. package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
  602. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +46 -340
  603. package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
  604. package/dist/shared/src/containers/ListTable/ListTableWidgets.cjs.js.map +1 -1
  605. package/dist/shared/src/containers/ListTable/ListTableWidgets.es.js.map +1 -1
  606. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.cjs.js.map +1 -1
  607. package/dist/shared/src/containers/MoveEntityDialog/MoveEntityDialog.es.js.map +1 -1
  608. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +3 -3
  609. package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
  610. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +170 -456
  611. package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
  612. package/dist/shared/src/containers/NewEntity/components/TypeEditor.cjs.js.map +1 -1
  613. package/dist/shared/src/containers/NewEntity/components/TypeEditor.es.js.map +1 -1
  614. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
  615. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
  616. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +117 -311
  617. package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
  618. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  619. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  620. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +603 -869
  621. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  622. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  623. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  624. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +605 -579
  625. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  626. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
  627. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
  628. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +75 -372
  629. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
  630. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
  631. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  632. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +32 -201
  633. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  634. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  635. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  636. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +28 -122
  637. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  638. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +7 -7
  639. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
  640. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +35 -131
  641. package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
  642. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  643. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  644. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +107 -299
  645. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  646. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
  647. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  648. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +334 -515
  649. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  650. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
  651. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
  652. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +158 -329
  653. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
  654. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  655. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  656. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +4 -205
  657. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  658. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
  659. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  660. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +121 -418
  661. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  662. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  663. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  664. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +73 -244
  665. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  666. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.cjs.js.map +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js +3 -3
  668. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardComments.es.js.map +1 -1
  669. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.cjs.js.map +1 -1
  670. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardSubtasks.es.js.map +1 -1
  671. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  672. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  673. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  674. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  675. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +83 -179
  676. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  677. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  678. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  679. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -314
  680. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  681. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
  682. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
  683. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +60 -231
  684. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
  685. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
  686. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
  687. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +75 -246
  688. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
  689. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  690. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  691. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +149 -438
  692. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  693. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  694. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  695. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +25 -196
  696. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  697. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
  698. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
  699. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +32 -203
  700. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
  701. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
  702. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  703. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +32 -329
  704. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  705. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
  706. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
  707. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +174 -371
  708. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
  709. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  710. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  711. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  712. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  713. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +29 -200
  714. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  715. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
  716. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
  717. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +36 -201
  718. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
  719. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
  720. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
  721. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  722. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  723. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +93 -383
  724. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  725. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  726. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  727. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +78 -279
  728. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  729. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  730. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  731. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +31 -229
  732. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  733. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  734. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  735. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +25 -196
  736. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  737. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
  738. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
  739. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +39 -221
  740. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
  741. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
  742. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  743. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +167 -464
  744. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  745. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  746. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  747. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +41 -212
  748. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  749. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  750. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  751. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
  752. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
  753. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
  754. package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
  755. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.cjs.js.map +1 -1
  756. package/dist/shared/src/containers/ProjectTreeTable/utils/getEntityViewerIds.es.js.map +1 -1
  757. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -1
  758. package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -1
  759. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  760. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  761. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
  762. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
  763. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
  764. package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
  765. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.cjs.js.map +1 -1
  766. package/dist/shared/src/containers/ProjectTreeTable/utils/getTypeDefaultValue.es.js.map +1 -1
  767. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.cjs.js.map +1 -1
  768. package/dist/shared/src/containers/ProjectTreeTable/utils/linksToTableData.es.js.map +1 -1
  769. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.cjs.js.map +1 -1
  770. package/dist/shared/src/containers/ProjectTreeTable/utils/loadingUtils.es.js.map +1 -1
  771. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.cjs.js.map +1 -1
  772. package/dist/shared/src/containers/ProjectTreeTable/utils/queryFilterToClientFilter.es.js.map +1 -1
  773. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.cjs.js.map +1 -1
  774. package/dist/shared/src/containers/ProjectTreeTable/utils/sanitizeQueryFilter.es.js.map +1 -1
  775. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  776. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  777. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +2 -2
  778. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  779. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +14 -312
  780. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  781. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
  782. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  783. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +121 -399
  784. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  785. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +5 -5
  786. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
  787. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +40 -329
  788. package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
  789. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.cjs.js.map +1 -1
  790. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityNameWidget.es.js.map +1 -1
  791. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
  792. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
  793. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +198 -0
  794. package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
  795. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  796. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  797. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  798. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  799. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +3 -3
  800. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  801. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +50 -343
  802. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  803. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +5 -5
  804. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
  805. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +77 -361
  806. package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
  807. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
  808. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
  809. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +28 -199
  810. package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
  811. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
  812. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
  813. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +36 -330
  814. package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
  815. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +5 -5
  816. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
  817. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +130 -421
  818. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
  819. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +4 -4
  820. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
  821. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +80 -176
  822. package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
  823. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +5 -5
  824. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  825. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +12 -108
  826. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  827. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  828. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  829. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +20 -214
  830. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  831. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  832. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  833. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +231 -524
  834. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  835. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +2 -2
  836. package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
  837. package/dist/shared/src/containers/Slicer/components/Slicer.es.js +69 -364
  838. package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
  839. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +2 -2
  840. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
  841. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +18 -315
  842. package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
  843. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +2 -2
  844. package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
  845. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +24 -325
  846. package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
  847. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
  848. package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
  849. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +69 -367
  850. package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
  851. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
  852. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
  853. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +27 -225
  854. package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
  855. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
  856. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
  857. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +34 -233
  858. package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
  859. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
  860. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
  861. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +5 -306
  862. package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
  863. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
  864. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
  865. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +7 -308
  866. package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
  867. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
  868. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
  869. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +11 -311
  870. package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
  871. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
  872. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
  873. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +13 -313
  874. package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
  875. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
  876. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
  877. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +34 -335
  878. package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
  879. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
  880. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
  881. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +11 -313
  882. package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
  883. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
  884. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
  885. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +72 -365
  886. package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
  887. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
  888. package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
  889. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.cjs.js.map +1 -1
  890. package/dist/shared/src/containers/Slicer/util/createFilterFromSlicer.es.js.map +1 -1
  891. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
  892. package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
  893. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +24 -120
  894. package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js.map +1 -1
  895. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.cjs.js.map +1 -1
  896. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewFormDialogFallback.es.js.map +1 -1
  897. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
  898. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
  899. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +35 -333
  900. package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
  901. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
  902. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
  903. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +55 -351
  904. package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
  905. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +2 -2
  906. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
  907. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +40 -332
  908. package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
  909. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
  910. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  911. package/dist/shared/src/containers/Views/context/ViewsContext.es.js +59 -259
  912. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  913. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
  914. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
  915. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +17 -113
  916. package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
  917. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
  918. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
  919. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +45 -141
  920. package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
  921. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
  922. package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
  923. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
  924. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
  925. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +22 -213
  926. package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
  927. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.cjs.js.map +1 -1
  928. package/dist/shared/src/containers/Views/hooks/useSaveViewFromCurrent.es.js.map +1 -1
  929. package/dist/shared/src/containers/Views/types.cjs.js.map +1 -1
  930. package/dist/shared/src/containers/Views/types.es.js.map +1 -1
  931. package/dist/shared/src/containers/Views/utils/generateWorkingView.cjs.js.map +1 -1
  932. package/dist/shared/src/containers/Views/utils/generateWorkingView.es.js.map +1 -1
  933. package/dist/shared/src/context/AddonContext.cjs.js.map +1 -1
  934. package/dist/shared/src/context/AddonContext.es.js.map +1 -1
  935. package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
  936. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  937. package/dist/shared/src/context/AddonProjectContext.es.js +19 -115
  938. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  939. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js +1 -1
  940. package/dist/shared/src/context/DeleteEntitiesContext.cjs.js.map +1 -1
  941. package/dist/shared/src/context/DeleteEntitiesContext.es.js +1 -1
  942. package/dist/shared/src/context/DeleteEntitiesContext.es.js.map +1 -1
  943. package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
  944. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  945. package/dist/shared/src/context/DetailsPanelContext.es.js +66 -359
  946. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  947. package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
  948. package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
  949. package/dist/shared/src/context/EntityUpdatesContext.es.js +79 -356
  950. package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
  951. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  952. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  953. package/dist/shared/src/context/PowerpackContext.es.js +42 -341
  954. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  955. package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
  956. package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
  957. package/dist/shared/src/context/ProjectFoldersContext.es.js +26 -228
  958. package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
  959. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  960. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  961. package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
  962. package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
  963. package/dist/shared/src/context/SubtasksModulesContext.es.js +23 -321
  964. package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
  965. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js +1 -1
  966. package/dist/shared/src/context/ThumbnailUploaderContext.cjs.js.map +1 -1
  967. package/dist/shared/src/context/ThumbnailUploaderContext.es.js +17 -21
  968. package/dist/shared/src/context/ThumbnailUploaderContext.es.js.map +1 -1
  969. package/dist/shared/src/context/UriContext.cjs.js +1 -1
  970. package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
  971. package/dist/shared/src/context/UriContext.es.js +2 -2
  972. package/dist/shared/src/context/UriContext.es.js.map +1 -1
  973. package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
  974. package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
  975. package/dist/shared/src/context/WebsocketContext.es.js +28 -226
  976. package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
  977. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
  978. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  979. package/dist/shared/src/hooks/useEntityUpdate.es.js +2 -205
  980. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  981. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
  982. package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
  983. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +11 -311
  984. package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
  985. package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
  986. package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
  987. package/dist/shared/src/hooks/useHierarchyTable.es.js +30 -330
  988. package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
  989. package/dist/shared/src/hooks/useLoadModules.cjs.js.map +1 -1
  990. package/dist/shared/src/hooks/useLoadModules.es.js.map +1 -1
  991. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
  992. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
  993. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +19 -115
  994. package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js.map +1 -1
  995. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
  996. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  997. package/dist/shared/src/hooks/useUserProjectConfig.es.js +6 -209
  998. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  999. package/dist/shared/src/util/buildHierarchicalTableRows.cjs.js.map +1 -1
  1000. package/dist/shared/src/util/buildHierarchicalTableRows.es.js.map +1 -1
  1001. package/dist/shared/src/util/checkName.cjs.js.map +1 -1
  1002. package/dist/shared/src/util/checkName.es.js.map +1 -1
  1003. package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
  1004. package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
  1005. package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
  1006. package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
  1007. package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
  1008. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  1009. package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
  1010. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  1011. package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
  1012. package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
  1013. package/dist/shared/src/util/getBundleMode.es.js +16 -112
  1014. package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
  1015. package/dist/shared/src/util/getGroupByDataType.cjs.js.map +1 -1
  1016. package/dist/shared/src/util/getGroupByDataType.es.js.map +1 -1
  1017. package/dist/shared/src/util/getPriorityOptions.cjs.js.map +1 -1
  1018. package/dist/shared/src/util/getPriorityOptions.es.js.map +1 -1
  1019. package/dist/shared/src/util/iconUtils.cjs.js.map +1 -1
  1020. package/dist/shared/src/util/iconUtils.es.js.map +1 -1
  1021. package/dist/shared/src/util/mentionTypeOptions.cjs.js +2 -0
  1022. package/dist/shared/src/util/mentionTypeOptions.cjs.js.map +1 -0
  1023. package/dist/shared/src/util/mentionTypeOptions.es.js +16 -0
  1024. package/dist/shared/src/util/mentionTypeOptions.es.js.map +1 -0
  1025. package/dist/shared/src/util/parseFilename.cjs.js +2 -0
  1026. package/dist/shared/src/util/parseFilename.cjs.js.map +1 -0
  1027. package/dist/shared/src/util/parseFilename.es.js +8 -0
  1028. package/dist/shared/src/util/parseFilename.es.js.map +1 -0
  1029. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
  1030. package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
  1031. package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
  1032. package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
  1033. package/dist/shared/src/util/uriUtils.cjs.js.map +1 -1
  1034. package/dist/shared/src/util/uriUtils.es.js.map +1 -1
  1035. package/dist/types/api/base/index.d.ts +1 -1
  1036. package/dist/types/api/generated/graphql.d.ts +50 -4
  1037. package/dist/types/api/generated/graphqlLinks.d.ts +15 -2
  1038. package/dist/types/api/generated/views.d.ts +13 -4
  1039. package/dist/types/api/queries/activities/getActivities.d.ts +28 -2
  1040. package/dist/types/api/queries/activities/getCategories.d.ts +1 -1
  1041. package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +1 -4
  1042. package/dist/types/api/queries/entities/getEntity.d.ts +14 -1
  1043. package/dist/types/api/queries/entities/getEntityPanel.d.ts +14 -1
  1044. package/dist/types/api/queries/entities/updateEntity.d.ts +14 -1
  1045. package/dist/types/api/queries/entityLists/getLists.d.ts +317 -312
  1046. package/dist/types/api/queries/entityLists/types.d.ts +7 -0
  1047. package/dist/types/api/queries/overview/getOverview.d.ts +49 -20
  1048. package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
  1049. package/dist/types/api/queries/project/getProject.d.ts +74 -61
  1050. package/dist/types/api/queries/system/getSystem.d.ts +1 -1
  1051. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +14 -1
  1052. package/dist/types/api/queries/users/getUsers.d.ts +14 -1
  1053. package/dist/types/api/queries/versions/getVersionsProducts.d.ts +159 -2
  1054. package/dist/types/api/queries/views/getViews.d.ts +1 -1
  1055. package/dist/types/components/DetailsPanelDetails/DetailsSection.d.ts +1 -1
  1056. package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
  1057. package/dist/types/components/Menu/Menu.d.ts +1 -1
  1058. package/dist/types/components/Menu/MenuList.d.ts +1 -1
  1059. package/dist/types/components/Powerpack/PowerpackButton.d.ts +1 -1
  1060. package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +10 -2
  1061. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +2 -2
  1062. package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +1 -1
  1063. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  1064. package/dist/types/components/RemotePage/ProjectPageRemote.d.ts +1 -1
  1065. package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +5 -3
  1066. package/dist/types/components/RenameForm/RenameForm.d.ts +1 -1
  1067. package/dist/types/components/ReviewablesList/SortableReviewableCard.d.ts +1 -1
  1068. package/dist/types/components/ReviewablesList/useReviewablesUpload.d.ts +2 -2
  1069. package/dist/types/components/ReviewablesSelector/Card.d.ts +1 -1
  1070. package/dist/types/components/SearchFilter/filterScopeRegistry.d.ts +1 -1
  1071. package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +6 -3
  1072. package/dist/types/components/SettingsPanel/SettingsPanel.d.ts +1 -1
  1073. package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
  1074. package/dist/types/components/SyncButton/SyncButton.d.ts +1 -1
  1075. package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +1 -2
  1076. package/dist/types/components/index.d.ts +1 -0
  1077. package/dist/types/config/plannerFeatures.d.ts +1 -1
  1078. package/dist/types/config/powerpackFeatures.d.ts +1 -1
  1079. package/dist/types/containers/Actions/Actions.d.ts +2 -2
  1080. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +1 -1
  1081. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +1 -1
  1082. package/dist/types/containers/DetailsPanel/DetailsPanel.d.ts +1 -1
  1083. package/dist/types/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.d.ts +2 -2
  1084. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.d.ts +1 -1
  1085. package/dist/types/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useMenuOptions.d.ts +2 -2
  1086. package/dist/types/containers/DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.d.ts +1 -1
  1087. package/dist/types/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.d.ts +3 -3
  1088. package/dist/types/containers/DetailsPanel/containers/DetailsPanelSubtasks.d.ts +1 -1
  1089. package/dist/types/containers/DetailsPanel/helpers/buildEntityTypeIcons.d.ts +1 -1
  1090. package/dist/types/containers/DetailsPanel/helpers/getEntityPathData.d.ts +1 -1
  1091. package/dist/types/containers/DetailsPanel/helpers/mergeProjectInfo.d.ts +1 -1
  1092. package/dist/types/containers/DetailsPanel/hooks/useGetEntityPath.d.ts +1 -1
  1093. package/dist/types/containers/EntityPickerDialog/components/EntityTypeTable.d.ts +1 -1
  1094. package/dist/types/containers/EntityPickerDialog/hooks/useGetEntityPickerData.d.ts +1 -1
  1095. package/dist/types/containers/EntityPickerDialog/util/buildEntityPickerTableData.d.ts +1 -1
  1096. package/dist/types/containers/Feed/components/ActivityCategorySelect/ActivityCategorySelect.d.ts +1 -1
  1097. package/dist/types/containers/Feed/components/ActivityReference/ActivityReference.styled.d.ts +2 -2
  1098. package/dist/types/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.d.ts +1 -1
  1099. package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.styled.d.ts +1 -1
  1100. package/dist/types/containers/Feed/components/CommentInput/modules/index.d.ts +1 -1
  1101. package/dist/types/containers/Feed/components/CommentInput/quillFormats.d.ts +1 -0
  1102. package/dist/types/containers/Feed/components/CommentInput/types.d.ts +1 -12
  1103. package/dist/types/containers/Feed/components/FileUploadCard/FileUploadCard.d.ts +1 -1
  1104. package/dist/types/containers/Feed/context/FeedContext.d.ts +1 -1
  1105. package/dist/types/containers/Feed/hooks/useLastVersionReview.d.ts +1 -1
  1106. package/dist/types/containers/Feed/mentionHelpers/getMentionTasks.d.ts +1 -1
  1107. package/dist/types/containers/Feed/mentionHelpers/getMentionUsers.d.ts +1 -1
  1108. package/dist/types/containers/Feed/mentionHelpers/getMentionVersions.d.ts +2 -2
  1109. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +4 -2
  1110. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
  1111. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +4 -3
  1112. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +1 -1
  1113. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +4 -5
  1114. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
  1115. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  1116. package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
  1117. package/dist/types/containers/ProjectTreeTable/hooks/useMoveEntities.d.ts +1 -1
  1118. package/dist/types/containers/ProjectTreeTable/hooks/usePasteLinks.d.ts +1 -1
  1119. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +1 -1
  1120. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
  1121. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +6 -5
  1122. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
  1123. package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
  1124. package/dist/types/containers/ProjectTreeTable/utils/getEntityViewerIds.d.ts +1 -1
  1125. package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +1 -1
  1126. package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
  1127. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
  1128. package/dist/types/containers/ProjectTreeTable/utils/linksToTableData.d.ts +1 -1
  1129. package/dist/types/containers/ProjectTreeTable/utils/sanitizeQueryFilter.d.ts +1 -1
  1130. package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
  1131. package/dist/types/containers/ProjectTreeTable/widgets/LinksWidget.d.ts +1 -1
  1132. package/dist/types/containers/ProjectTreeTable/widgets/NameWidget.d.ts +1 -1
  1133. package/dist/types/containers/ProjectTreeTable/widgets/TextWidget.d.ts +2 -1
  1134. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  1135. package/dist/types/containers/Slicer/components/Slicer.d.ts +2 -2
  1136. package/dist/types/containers/Slicer/components/SlicerDropdownFallback.d.ts +1 -1
  1137. package/dist/types/containers/Slicer/context/SlicerContext.d.ts +3 -4
  1138. package/dist/types/containers/Slicer/hooks/useEntityListsSlice.d.ts +1 -1
  1139. package/dist/types/containers/Slicer/hooks/useHierarchyContextMenuItems.d.ts +3 -3
  1140. package/dist/types/containers/Slicer/hooks/useProjectAnatomySlices.d.ts +1 -1
  1141. package/dist/types/containers/Slicer/hooks/useSlicerCounts.d.ts +1 -1
  1142. package/dist/types/containers/Slicer/hooks/useUsersTable.d.ts +1 -1
  1143. package/dist/types/containers/Slicer/types.d.ts +1 -1
  1144. package/dist/types/containers/Views/hooks/pages/useListsViewSettings.d.ts +1 -1
  1145. package/dist/types/containers/Views/hooks/pages/useOverviewViewSettings.d.ts +1 -1
  1146. package/dist/types/containers/Views/types.d.ts +1 -1
  1147. package/dist/types/context/AddonContext.d.ts +1 -1
  1148. package/dist/types/context/AddonProjectContext.d.ts +2 -2
  1149. package/dist/types/context/DetailsPanelContext.d.ts +2 -2
  1150. package/dist/types/context/SubtasksModulesContext.d.ts +1 -1
  1151. package/dist/types/hooks/useHierarchyTable.d.ts +1 -1
  1152. package/dist/types/util/buildHierarchicalTableRows.d.ts +1 -1
  1153. package/dist/types/util/columnConfigConverter.d.ts +1 -1
  1154. package/dist/types/util/getBundleMode.d.ts +1 -1
  1155. package/dist/types/util/getGroupByDataType.d.ts +1 -1
  1156. package/dist/types/util/index.d.ts +2 -0
  1157. package/dist/types/util/mentionTypeOptions.d.ts +12 -0
  1158. package/dist/types/util/parseFilename.d.ts +1 -0
  1159. package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
  1160. package/dist/types/util/uriUtils.d.ts +1 -1
  1161. package/dist/util.cjs.js +1 -1
  1162. package/dist/util.es.js +52 -47
  1163. package/dist/util.es.js.map +1 -1
  1164. package/package.json +4 -4
  1165. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js +0 -2
  1166. package/dist/shared/src/components/ThumbnailSimple/index.cjs.js.map +0 -1
  1167. package/dist/shared/src/components/ThumbnailSimple/index.es.js +0 -6
  1168. package/dist/shared/src/components/ThumbnailSimple/index.es.js.map +0 -1
@@ -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","borders","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,IAAKA,sBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,MAAM,CAAA,IAAN,OACAA,EAAAA,EAAA,QAAQ,CAAA,IAAR,SACAA,EAAAA,EAAA,SAAS,CAAA,IAAT,UACAA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,MAAM,EAAA,IAAN,OANUA,IAAAA,KAAA,CAAA,CAAA;AAYL,MAAMC,KAAY,CAACC,GAAcC,MAAyB,QAAQD,CAAK,IAAIC,CAAK,IAM1EC,KAAc,CAACC,MAAwC;AAClE,QAAMC,IAAQD,EAAO,MAAM,kBAAkB;AAC7C,SAAKC,IACE,EAAE,OAAOA,EAAM,CAAC,GAAG,OAAOA,EAAM,CAAC,EAAA,IADrB;AAErB,GAEaC,KAAe,CAACC,GAAUC,MAAsB;AAC3D,MAAI,CAACD,KAAO,CAACC,EAAM;AAEnB,QAAMC,IAAQD,EAAK,MAAM,GAAG;AAC5B,MAAIE,IAAUH;AAEd,aAAWI,KAAQF;AACjB,QAAIC,KAAW,OAAOA,KAAY,YAAYC,KAAQD;AACpD,MAAAA,IAAUA,EAAQC,CAAI;AAAA;AAEtB;AAIJ,SAAOD;AACT,GAGaE,KAA6B,CAACC,GAAmBC,MAA6B;AAEzF,QAAM,CAACC,GAAOC,GAAUC,GAASC,GAAUC,CAAS,IAAIL,EAAS,MAAM,GAAG,GACpEM,IAAYP,EAAM;AAAA,IACtB,CAACQ,MAASA,EAAK,aAAaL,KAAYK,EAAK,cAAcF;AAAA,EAAA;AAE7D,SAAIC,EAAU,SACLA,EAAU,IAAI,CAACC,MAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,IAE9C;AAEX,GAWaC,KAAiB,CAC5BC,GACAC,GACAC,MACmB;AACnB,MAAI,CAACA,EAAcF,CAAQ,IAAIC,CAAQ;AACrC,WAAO;AAGT,MAAIE,IAAU;AAGd,UAAIH,MAAa,KAAK,CAACE,EAAcF,IAAW,CAAC,IAAIC,CAAQ,OAC3DE,KAAW,IAIRD,EAAcF,CAAQ,IAAIC,IAAW,CAAC,MACzCE,KAAW,IAIRD,EAAcF,IAAW,CAAC,IAAIC,CAAQ,MACzCE,KAAW,KAITF,MAAa,KAAK,CAACC,EAAcF,CAAQ,IAAIC,IAAW,CAAC,OAC3DE,KAAW,IAGNA;AACT,GAKaC,KAAmB,CAACD,MAAsC;AACrE,QAAME,IAAoB,CAAA;AAE1B,SAAIF,IAAU,KAAoBE,EAAQ,KAAK,YAAY,GACvDF,IAAU,KAAsBE,EAAQ,KAAK,cAAc,GAC3DF,IAAU,KAAuBE,EAAQ,KAAK,eAAe,GAC7DF,IAAU,KAAqBE,EAAQ,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 type { 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","borders","getBorderClasses","classes","getEntityDataById","id","entitiesMap","parseRowId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,IAAKA,sBAAAA,OACVA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,MAAM,CAAA,IAAN,OACAA,EAAAA,EAAA,QAAQ,CAAA,IAAR,SACAA,EAAAA,EAAA,SAAS,CAAA,IAAT,UACAA,EAAAA,EAAA,OAAO,CAAA,IAAP,QACAA,EAAAA,EAAA,MAAM,EAAA,IAAN,OANUA,IAAAA,KAAA,CAAA,CAAA;AAYL,MAAMC,KAAY,CAACC,GAAcC,MAAyB,QAAQD,CAAK,IAAIC,CAAK,IAM1EC,KAAc,CAACC,MAAwC;AAClE,QAAMC,IAAQD,EAAO,MAAM,kBAAkB;AAC7C,SAAKC,IACE,EAAE,OAAOA,EAAM,CAAC,GAAG,OAAOA,EAAM,CAAC,EAAA,IADrB;AAErB,GAEaC,KAAe,CAACC,GAAUC,MAAsB;AAC3D,MAAI,CAACD,KAAO,CAACC,EAAM;AAEnB,QAAMC,IAAQD,EAAK,MAAM,GAAG;AAC5B,MAAIE,IAAUH;AAEd,aAAWI,KAAQF;AACjB,QAAIC,KAAW,OAAOA,KAAY,YAAYC,KAAQD;AACpD,MAAAA,IAAUA,EAAQC,CAAI;AAAA;AAEtB;AAIJ,SAAOD;AACT,GAGaE,KAA6B,CAACC,GAAmBC,MAA6B;AAEzF,QAAM,CAACC,GAAOC,GAAUC,GAASC,GAAUC,CAAS,IAAIL,EAAS,MAAM,GAAG,GACpEM,IAAYP,EAAM;AAAA,IACtB,CAACQ,MAASA,EAAK,aAAaL,KAAYK,EAAK,cAAcF;AAAA,EAAA;AAE7D,SAAIC,EAAU,SACLA,EAAU,IAAI,CAACC,MAASA,EAAK,KAAK,EAAE,EAAE,KAAK,GAAG,IAE9C;AAEX,GAWaC,KAAiB,CAC5BC,GACAC,GACAC,MACmB;AACnB,MAAI,CAACA,EAAcF,CAAQ,IAAIC,CAAQ;AACrC,WAAO;AAGT,MAAIE,IAAU;AAGd,UAAIH,MAAa,KAAK,CAACE,EAAcF,IAAW,CAAC,IAAIC,CAAQ,OAC3DE,KAAW,IAIRD,EAAcF,CAAQ,IAAIC,IAAW,CAAC,MACzCE,KAAW,IAIRD,EAAcF,IAAW,CAAC,IAAIC,CAAQ,MACzCE,KAAW,KAITF,MAAa,KAAK,CAACC,EAAcF,CAAQ,IAAIC,IAAW,CAAC,OAC3DE,KAAW,IAGNA;AACT,GAKaC,KAAmB,CAACD,MAAsC;AACrE,QAAME,IAAoB,CAAA;AAE1B,SAAIF,IAAU,KAAoBE,EAAQ,KAAK,YAAY,GACvDF,IAAU,KAAsBE,EAAQ,KAAK,cAAc,GAC3DF,IAAU,KAAuBE,EAAQ,KAAK,eAAe,GAC7DF,IAAU,KAAqBE,EAAQ,KAAK,aAAa,GAEtDA;AACT,GAGaC,KAAoB,CAC/BC,GACAC,MACGA,EAAY,IAAIC,EAAWF,CAAE,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientFilterToQueryFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import { getFilterFromId } from '@ynput/ayon-react-components'\nimport { QueryCondition, QueryFilter } from '../types/operations'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { createRelativeValue } from './expandRelativeDates'\nconst NO_DATE = 'no-date'\n\n// New type that cherry picks only the needed fields from Filter\nexport type FilterForQuery = {\n id: string\n values?: { id: string; values?: { id: string }[]; isCustom?: boolean }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\n}\n\n/**\n * Converts a datetime Filter to a nested QueryFilter with gte/lte conditions.\n * Returns null if no date conditions could be created.\n * Shared with other filter adapters (e.g. subtasksFilterAdapter).\n */\nexport const convertDateFilterToQueryFilter = (\n key: string,\n filter: { values?: FilterForQuery['values']; inverted?: boolean },\n): QueryFilter | null => {\n if (!filter.values || filter.values.length === 0) return null\n\n const dateConditions: QueryCondition[] = filter.values.flatMap((filterValue) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n const startISO = dateValues?.[0]?.id\n const endISO = dateValues?.[1]?.id\n const relativePattern =\n startISO && endISO && startISO !== NO_DATE && endISO !== NO_DATE\n ? detectRelativeDatePattern(startISO, endISO)\n : null\n\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 0) : dateValues[0].id,\n })\n }\n\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 1) : dateValues[1].id,\n })\n }\n\n return conditions\n })\n\n if (dateConditions.length === 0) return null\n\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n}\n\nexport const clientFilterToQueryFilter = (filters: FilterForQuery[]): QueryFilter => {\n // If there are no filters, return an empty filter\n if (!filters || filters.length === 0) {\n return {}\n }\n\n // Process each filter as its own condition\n const conditions: (QueryCondition | QueryFilter)[] = filters\n .filter((f) => !!f.values?.length)\n .filter((f) => f.id !== 'hierarchy') // remove hierarchy filter as it is handled separately\n .flatMap((filter) => convertFilterToCondition(filter))\n\n // Return the QueryFilter with all conditions combined with AND\n return {\n conditions,\n operator: 'and',\n }\n}\n\n// Cleared text attribs are stored as \"\" (not null), so nullness checks on text\n// fields must cover both states. queryFilterToClientFilter reverses these shapes.\nconst textEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'isnull' },\n { key, operator: 'eq', value: '' },\n ],\n operator: 'or',\n})\n\nconst textNotEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'notnull' },\n { key, operator: 'ne', value: '' },\n ],\n operator: 'and',\n})\n\n// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition | QueryFilter => {\n // Extract key from filter ID (split by underscore if needed)\n const key = getFilterFromId(filter.id)\n\n // Handle values based on filter type\n let value: QueryCondition['value']\n\n // there is any value\n const hasSomeValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('hasValue')\n const hasNoValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('noValue')\n\n if (filter.values && filter.values.length > 0) {\n if (filter.singleSelect) {\n // @ts-expect-error\n value = convertValueByType(filter.values[0].id, filter.type)\n } else {\n // @ts-expect-error\n value = filter.values.map((v) => convertValueByType(v.id, filter.type))\n }\n }\n\n // Determine if this is likely a list field based on filter type\n const isListField =\n filter.type?.startsWith('list_of_') || key.includes('tags') || key.includes('assignees')\n const isDateField = filter.type === 'datetime'\n const isBooleanField = filter.type === 'boolean'\n // Version field is a special numeric field that should use exact matching\n const isNumberField =\n key.endsWith('version') || filter.type === 'integer' || filter.type === 'float'\n\n // Check if any of the values are custom (user-entered values)\n const hasCustomValues = filter.values && filter.values.some((v) => v.isCustom === true)\n\n // Determine the appropriate operator based on filter properties and type\n let operator: QueryCondition['operator'] = 'eq'\n\n // Handling NULL values\n if (value === undefined) {\n operator = filter.inverted ? 'notnull' : 'isnull'\n return { key, operator }\n }\n\n const isTextField = filter.type === 'string' && !isListField\n\n // Handle different filter types\n if (hasSomeValue) {\n if (isTextField) {\n return filter.inverted ? textEmptyGroup(key) : textNotEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should not be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'eq'\n : 'ne'\n : filter.inverted\n ? 'isnull'\n : 'notnull'\n } else if (hasNoValue) {\n if (isTextField) {\n return filter.inverted ? textNotEmptyGroup(key) : textEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'ne'\n : 'eq'\n : filter.inverted\n ? 'notnull'\n : 'isnull'\n } else if (isListField) {\n if (filter.inverted) {\n operator = filter.operator === 'AND' ? 'excludesall' : 'excludesany'\n } else {\n operator = filter.operator === 'AND' ? 'includesall' : 'includesany'\n }\n } else if (isDateField) {\n const dateQueryFilter = convertDateFilterToQueryFilter(key, filter)\n if (dateQueryFilter) return dateQueryFilter\n // If no date conditions were created, fall back to a basic equality check\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (isBooleanField) {\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (hasCustomValues && !isListField && !isNumberField) {\n // Handle custom values with partial matching using LIKE operator\n // If we have custom values, we need to use LIKE operator with wildcards for partial matching\n // Note: Version fields and numeric fields use exact matching (eq/in) instead\n\n if (!filter.values || filter.values.length === 0) {\n // This shouldn't happen but handle it gracefully\n operator = filter.inverted ? 'notin' : 'in'\n } else {\n // Separate custom and non-custom values\n const customValues = filter.values.filter((v) => v.isCustom === true)\n const nonCustomValues = filter.values.filter((v) => !v.isCustom)\n\n // If we only have custom values\n if (nonCustomValues.length === 0) {\n if (customValues.length === 1) {\n // Single custom value - use simple LIKE operator\n operator = 'like'\n value = `%${customValues[0].id}%`\n } else {\n // Multiple custom values - create OR conditions for each\n const conditions: QueryCondition[] = customValues.map((v) => ({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n }))\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n } else {\n // We have both custom and non-custom values\n // Create separate conditions for each type\n const conditions: QueryCondition[] = []\n\n // Add non-custom values condition\n if (nonCustomValues.length > 0) {\n conditions.push({\n key,\n operator: filter.inverted ? 'notin' : 'in',\n value: nonCustomValues.map((v) =>\n convertValueByType(v.id, filter.type),\n ) as QueryCondition['value'],\n })\n }\n\n // Add custom values conditions (each needs its own LIKE)\n customValues.forEach((v) => {\n conditions.push({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n })\n })\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n }\n } else {\n // DEFAULT for other scalar fields\n operator = filter.inverted ? 'notin' : 'in'\n }\n\n return { key, value, operator }\n}\n\n// Helper function to convert values based on the filter type\nconst convertValueByType = (value: string, type?: string): string | number | boolean => {\n if (!type) return value\n\n switch (type) {\n case 'integer':\n return parseInt(value, 10)\n case 'float':\n return parseFloat(value)\n case 'boolean':\n return value.toLowerCase() === 'true'\n default:\n return value\n }\n}\n\nexport default clientFilterToQueryFilter\n"],"names":["NO_DATE","convertDateFilterToQueryFilter","key","filter","dateConditions","filterValue","conditions","dateValues","startISO","endISO","relativePattern","detectRelativeDatePattern","createRelativeValue","clientFilterToQueryFilter","filters","f","convertFilterToCondition","textEmptyGroup","textNotEmptyGroup","getFilterFromId","value","hasSomeValue","v","hasNoValue","convertValueByType","isListField","isDateField","isBooleanField","isNumberField","hasCustomValues","operator","isTextField","dateQueryFilter","customValues","nonCustomValues","type"],"mappings":"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"}
1
+ {"version":3,"file":"clientFilterToQueryFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import { getFilterFromId } from '@ynput/ayon-react-components'\nimport type { QueryCondition, QueryFilter } from '../types/operations'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { createRelativeValue } from './expandRelativeDates'\nconst NO_DATE = 'no-date'\n\n// New type that cherry picks only the needed fields from Filter\nexport type FilterForQuery = {\n id: string\n values?: { id: string; values?: { id: string }[]; isCustom?: boolean }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\n}\n\n/**\n * Converts a datetime Filter to a nested QueryFilter with gte/lte conditions.\n * Returns null if no date conditions could be created.\n * Shared with other filter adapters (e.g. subtasksFilterAdapter).\n */\nexport const convertDateFilterToQueryFilter = (\n key: string,\n filter: { values?: FilterForQuery['values']; inverted?: boolean },\n): QueryFilter | null => {\n if (!filter.values || filter.values.length === 0) return null\n\n const dateConditions: QueryCondition[] = filter.values.flatMap((filterValue) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n const startISO = dateValues?.[0]?.id\n const endISO = dateValues?.[1]?.id\n const relativePattern =\n startISO && endISO && startISO !== NO_DATE && endISO !== NO_DATE\n ? detectRelativeDatePattern(startISO, endISO)\n : null\n\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 0) : dateValues[0].id,\n })\n }\n\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 1) : dateValues[1].id,\n })\n }\n\n return conditions\n })\n\n if (dateConditions.length === 0) return null\n\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n}\n\nexport const clientFilterToQueryFilter = (filters: FilterForQuery[]): QueryFilter => {\n // If there are no filters, return an empty filter\n if (!filters || filters.length === 0) {\n return {}\n }\n\n // Process each filter as its own condition\n const conditions: (QueryCondition | QueryFilter)[] = filters\n .filter((f) => !!f.values?.length)\n .filter((f) => f.id !== 'hierarchy') // remove hierarchy filter as it is handled separately\n .flatMap((filter) => convertFilterToCondition(filter))\n\n // Return the QueryFilter with all conditions combined with AND\n return {\n conditions,\n operator: 'and',\n }\n}\n\n// Cleared text attribs are stored as \"\" (not null), so nullness checks on text\n// fields must cover both states. queryFilterToClientFilter reverses these shapes.\nconst textEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'isnull' },\n { key, operator: 'eq', value: '' },\n ],\n operator: 'or',\n})\n\nconst textNotEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'notnull' },\n { key, operator: 'ne', value: '' },\n ],\n operator: 'and',\n})\n\n// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition | QueryFilter => {\n // Extract key from filter ID (split by underscore if needed)\n const key = getFilterFromId(filter.id)\n\n // Handle values based on filter type\n let value: QueryCondition['value']\n\n // there is any value\n const hasSomeValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('hasValue')\n const hasNoValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('noValue')\n\n if (filter.values && filter.values.length > 0) {\n if (filter.singleSelect) {\n // @ts-expect-error\n value = convertValueByType(filter.values[0].id, filter.type)\n } else {\n // @ts-expect-error\n value = filter.values.map((v) => convertValueByType(v.id, filter.type))\n }\n }\n\n // Determine if this is likely a list field based on filter type\n const isListField =\n filter.type?.startsWith('list_of_') || key.includes('tags') || key.includes('assignees')\n const isDateField = filter.type === 'datetime'\n const isBooleanField = filter.type === 'boolean'\n // Version field is a special numeric field that should use exact matching\n const isNumberField =\n key.endsWith('version') || filter.type === 'integer' || filter.type === 'float'\n\n // Check if any of the values are custom (user-entered values)\n const hasCustomValues = filter.values && filter.values.some((v) => v.isCustom === true)\n\n // Determine the appropriate operator based on filter properties and type\n let operator: QueryCondition['operator'] = 'eq'\n\n // Handling NULL values\n if (value === undefined) {\n operator = filter.inverted ? 'notnull' : 'isnull'\n return { key, operator }\n }\n\n const isTextField = filter.type === 'string' && !isListField\n\n // Handle different filter types\n if (hasSomeValue) {\n if (isTextField) {\n return filter.inverted ? textEmptyGroup(key) : textNotEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should not be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'eq'\n : 'ne'\n : filter.inverted\n ? 'isnull'\n : 'notnull'\n } else if (hasNoValue) {\n if (isTextField) {\n return filter.inverted ? textNotEmptyGroup(key) : textEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'ne'\n : 'eq'\n : filter.inverted\n ? 'notnull'\n : 'isnull'\n } else if (isListField) {\n if (filter.inverted) {\n operator = filter.operator === 'AND' ? 'excludesall' : 'excludesany'\n } else {\n operator = filter.operator === 'AND' ? 'includesall' : 'includesany'\n }\n } else if (isDateField) {\n const dateQueryFilter = convertDateFilterToQueryFilter(key, filter)\n if (dateQueryFilter) return dateQueryFilter\n // If no date conditions were created, fall back to a basic equality check\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (isBooleanField) {\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (hasCustomValues && !isListField && !isNumberField) {\n // Handle custom values with partial matching using LIKE operator\n // If we have custom values, we need to use LIKE operator with wildcards for partial matching\n // Note: Version fields and numeric fields use exact matching (eq/in) instead\n\n if (!filter.values || filter.values.length === 0) {\n // This shouldn't happen but handle it gracefully\n operator = filter.inverted ? 'notin' : 'in'\n } else {\n // Separate custom and non-custom values\n const customValues = filter.values.filter((v) => v.isCustom === true)\n const nonCustomValues = filter.values.filter((v) => !v.isCustom)\n\n // If we only have custom values\n if (nonCustomValues.length === 0) {\n if (customValues.length === 1) {\n // Single custom value - use simple LIKE operator\n operator = 'like'\n value = `%${customValues[0].id}%`\n } else {\n // Multiple custom values - create OR conditions for each\n const conditions: QueryCondition[] = customValues.map((v) => ({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n }))\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n } else {\n // We have both custom and non-custom values\n // Create separate conditions for each type\n const conditions: QueryCondition[] = []\n\n // Add non-custom values condition\n if (nonCustomValues.length > 0) {\n conditions.push({\n key,\n operator: filter.inverted ? 'notin' : 'in',\n value: nonCustomValues.map((v) =>\n convertValueByType(v.id, filter.type),\n ) as QueryCondition['value'],\n })\n }\n\n // Add custom values conditions (each needs its own LIKE)\n customValues.forEach((v) => {\n conditions.push({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n })\n })\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n }\n } else {\n // DEFAULT for other scalar fields\n operator = filter.inverted ? 'notin' : 'in'\n }\n\n return { key, value, operator }\n}\n\n// Helper function to convert values based on the filter type\nconst convertValueByType = (value: string, type?: string): string | number | boolean => {\n if (!type) return value\n\n switch (type) {\n case 'integer':\n return parseInt(value, 10)\n case 'float':\n return parseFloat(value)\n case 'boolean':\n return value.toLowerCase() === 'true'\n default:\n return value\n }\n}\n\nexport default clientFilterToQueryFilter\n"],"names":["NO_DATE","convertDateFilterToQueryFilter","key","filter","dateConditions","filterValue","conditions","dateValues","startISO","endISO","relativePattern","detectRelativeDatePattern","createRelativeValue","clientFilterToQueryFilter","filters","f","convertFilterToCondition","textEmptyGroup","textNotEmptyGroup","getFilterFromId","value","hasSomeValue","v","hasNoValue","convertValueByType","isListField","isDateField","isBooleanField","isNumberField","hasCustomValues","operator","isTextField","dateQueryFilter","customValues","nonCustomValues","type"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientFilterToQueryFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import { getFilterFromId } from '@ynput/ayon-react-components'\nimport { QueryCondition, QueryFilter } from '../types/operations'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { createRelativeValue } from './expandRelativeDates'\nconst NO_DATE = 'no-date'\n\n// New type that cherry picks only the needed fields from Filter\nexport type FilterForQuery = {\n id: string\n values?: { id: string; values?: { id: string }[]; isCustom?: boolean }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\n}\n\n/**\n * Converts a datetime Filter to a nested QueryFilter with gte/lte conditions.\n * Returns null if no date conditions could be created.\n * Shared with other filter adapters (e.g. subtasksFilterAdapter).\n */\nexport const convertDateFilterToQueryFilter = (\n key: string,\n filter: { values?: FilterForQuery['values']; inverted?: boolean },\n): QueryFilter | null => {\n if (!filter.values || filter.values.length === 0) return null\n\n const dateConditions: QueryCondition[] = filter.values.flatMap((filterValue) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n const startISO = dateValues?.[0]?.id\n const endISO = dateValues?.[1]?.id\n const relativePattern =\n startISO && endISO && startISO !== NO_DATE && endISO !== NO_DATE\n ? detectRelativeDatePattern(startISO, endISO)\n : null\n\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 0) : dateValues[0].id,\n })\n }\n\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 1) : dateValues[1].id,\n })\n }\n\n return conditions\n })\n\n if (dateConditions.length === 0) return null\n\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n}\n\nexport const clientFilterToQueryFilter = (filters: FilterForQuery[]): QueryFilter => {\n // If there are no filters, return an empty filter\n if (!filters || filters.length === 0) {\n return {}\n }\n\n // Process each filter as its own condition\n const conditions: (QueryCondition | QueryFilter)[] = filters\n .filter((f) => !!f.values?.length)\n .filter((f) => f.id !== 'hierarchy') // remove hierarchy filter as it is handled separately\n .flatMap((filter) => convertFilterToCondition(filter))\n\n // Return the QueryFilter with all conditions combined with AND\n return {\n conditions,\n operator: 'and',\n }\n}\n\n// Cleared text attribs are stored as \"\" (not null), so nullness checks on text\n// fields must cover both states. queryFilterToClientFilter reverses these shapes.\nconst textEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'isnull' },\n { key, operator: 'eq', value: '' },\n ],\n operator: 'or',\n})\n\nconst textNotEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'notnull' },\n { key, operator: 'ne', value: '' },\n ],\n operator: 'and',\n})\n\n// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition | QueryFilter => {\n // Extract key from filter ID (split by underscore if needed)\n const key = getFilterFromId(filter.id)\n\n // Handle values based on filter type\n let value: QueryCondition['value']\n\n // there is any value\n const hasSomeValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('hasValue')\n const hasNoValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('noValue')\n\n if (filter.values && filter.values.length > 0) {\n if (filter.singleSelect) {\n // @ts-expect-error\n value = convertValueByType(filter.values[0].id, filter.type)\n } else {\n // @ts-expect-error\n value = filter.values.map((v) => convertValueByType(v.id, filter.type))\n }\n }\n\n // Determine if this is likely a list field based on filter type\n const isListField =\n filter.type?.startsWith('list_of_') || key.includes('tags') || key.includes('assignees')\n const isDateField = filter.type === 'datetime'\n const isBooleanField = filter.type === 'boolean'\n // Version field is a special numeric field that should use exact matching\n const isNumberField =\n key.endsWith('version') || filter.type === 'integer' || filter.type === 'float'\n\n // Check if any of the values are custom (user-entered values)\n const hasCustomValues = filter.values && filter.values.some((v) => v.isCustom === true)\n\n // Determine the appropriate operator based on filter properties and type\n let operator: QueryCondition['operator'] = 'eq'\n\n // Handling NULL values\n if (value === undefined) {\n operator = filter.inverted ? 'notnull' : 'isnull'\n return { key, operator }\n }\n\n const isTextField = filter.type === 'string' && !isListField\n\n // Handle different filter types\n if (hasSomeValue) {\n if (isTextField) {\n return filter.inverted ? textEmptyGroup(key) : textNotEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should not be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'eq'\n : 'ne'\n : filter.inverted\n ? 'isnull'\n : 'notnull'\n } else if (hasNoValue) {\n if (isTextField) {\n return filter.inverted ? textNotEmptyGroup(key) : textEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'ne'\n : 'eq'\n : filter.inverted\n ? 'notnull'\n : 'isnull'\n } else if (isListField) {\n if (filter.inverted) {\n operator = filter.operator === 'AND' ? 'excludesall' : 'excludesany'\n } else {\n operator = filter.operator === 'AND' ? 'includesall' : 'includesany'\n }\n } else if (isDateField) {\n const dateQueryFilter = convertDateFilterToQueryFilter(key, filter)\n if (dateQueryFilter) return dateQueryFilter\n // If no date conditions were created, fall back to a basic equality check\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (isBooleanField) {\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (hasCustomValues && !isListField && !isNumberField) {\n // Handle custom values with partial matching using LIKE operator\n // If we have custom values, we need to use LIKE operator with wildcards for partial matching\n // Note: Version fields and numeric fields use exact matching (eq/in) instead\n\n if (!filter.values || filter.values.length === 0) {\n // This shouldn't happen but handle it gracefully\n operator = filter.inverted ? 'notin' : 'in'\n } else {\n // Separate custom and non-custom values\n const customValues = filter.values.filter((v) => v.isCustom === true)\n const nonCustomValues = filter.values.filter((v) => !v.isCustom)\n\n // If we only have custom values\n if (nonCustomValues.length === 0) {\n if (customValues.length === 1) {\n // Single custom value - use simple LIKE operator\n operator = 'like'\n value = `%${customValues[0].id}%`\n } else {\n // Multiple custom values - create OR conditions for each\n const conditions: QueryCondition[] = customValues.map((v) => ({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n }))\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n } else {\n // We have both custom and non-custom values\n // Create separate conditions for each type\n const conditions: QueryCondition[] = []\n\n // Add non-custom values condition\n if (nonCustomValues.length > 0) {\n conditions.push({\n key,\n operator: filter.inverted ? 'notin' : 'in',\n value: nonCustomValues.map((v) =>\n convertValueByType(v.id, filter.type),\n ) as QueryCondition['value'],\n })\n }\n\n // Add custom values conditions (each needs its own LIKE)\n customValues.forEach((v) => {\n conditions.push({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n })\n })\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n }\n } else {\n // DEFAULT for other scalar fields\n operator = filter.inverted ? 'notin' : 'in'\n }\n\n return { key, value, operator }\n}\n\n// Helper function to convert values based on the filter type\nconst convertValueByType = (value: string, type?: string): string | number | boolean => {\n if (!type) return value\n\n switch (type) {\n case 'integer':\n return parseInt(value, 10)\n case 'float':\n return parseFloat(value)\n case 'boolean':\n return value.toLowerCase() === 'true'\n default:\n return value\n }\n}\n\nexport default clientFilterToQueryFilter\n"],"names":["NO_DATE","convertDateFilterToQueryFilter","key","filter","dateConditions","filterValue","conditions","dateValues","startISO","endISO","relativePattern","detectRelativeDatePattern","createRelativeValue","clientFilterToQueryFilter","filters","f","convertFilterToCondition","textEmptyGroup","textNotEmptyGroup","getFilterFromId","value","hasSomeValue","v","hasNoValue","convertValueByType","isListField","isDateField","isBooleanField","isNumberField","hasCustomValues","operator","isTextField","dateQueryFilter","customValues","nonCustomValues","type"],"mappings":"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"}
1
+ {"version":3,"file":"clientFilterToQueryFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import { getFilterFromId } from '@ynput/ayon-react-components'\nimport type { QueryCondition, QueryFilter } from '../types/operations'\nimport { detectRelativeDatePattern } from '@shared/components/SearchFilter/filterDates'\nimport { createRelativeValue } from './expandRelativeDates'\nconst NO_DATE = 'no-date'\n\n// New type that cherry picks only the needed fields from Filter\nexport type FilterForQuery = {\n id: string\n values?: { id: string; values?: { id: string }[]; isCustom?: boolean }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\n}\n\n/**\n * Converts a datetime Filter to a nested QueryFilter with gte/lte conditions.\n * Returns null if no date conditions could be created.\n * Shared with other filter adapters (e.g. subtasksFilterAdapter).\n */\nexport const convertDateFilterToQueryFilter = (\n key: string,\n filter: { values?: FilterForQuery['values']; inverted?: boolean },\n): QueryFilter | null => {\n if (!filter.values || filter.values.length === 0) return null\n\n const dateConditions: QueryCondition[] = filter.values.flatMap((filterValue) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n const startISO = dateValues?.[0]?.id\n const endISO = dateValues?.[1]?.id\n const relativePattern =\n startISO && endISO && startISO !== NO_DATE && endISO !== NO_DATE\n ? detectRelativeDatePattern(startISO, endISO)\n : null\n\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 0) : dateValues[0].id,\n })\n }\n\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: relativePattern ? createRelativeValue(relativePattern.id, 1) : dateValues[1].id,\n })\n }\n\n return conditions\n })\n\n if (dateConditions.length === 0) return null\n\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n}\n\nexport const clientFilterToQueryFilter = (filters: FilterForQuery[]): QueryFilter => {\n // If there are no filters, return an empty filter\n if (!filters || filters.length === 0) {\n return {}\n }\n\n // Process each filter as its own condition\n const conditions: (QueryCondition | QueryFilter)[] = filters\n .filter((f) => !!f.values?.length)\n .filter((f) => f.id !== 'hierarchy') // remove hierarchy filter as it is handled separately\n .flatMap((filter) => convertFilterToCondition(filter))\n\n // Return the QueryFilter with all conditions combined with AND\n return {\n conditions,\n operator: 'and',\n }\n}\n\n// Cleared text attribs are stored as \"\" (not null), so nullness checks on text\n// fields must cover both states. queryFilterToClientFilter reverses these shapes.\nconst textEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'isnull' },\n { key, operator: 'eq', value: '' },\n ],\n operator: 'or',\n})\n\nconst textNotEmptyGroup = (key: string): QueryFilter => ({\n conditions: [\n { key, operator: 'notnull' },\n { key, operator: 'ne', value: '' },\n ],\n operator: 'and',\n})\n\n// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition | QueryFilter => {\n // Extract key from filter ID (split by underscore if needed)\n const key = getFilterFromId(filter.id)\n\n // Handle values based on filter type\n let value: QueryCondition['value']\n\n // there is any value\n const hasSomeValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('hasValue')\n const hasNoValue =\n Array.isArray(filter.values) && filter.values.map((v) => v.id)?.includes('noValue')\n\n if (filter.values && filter.values.length > 0) {\n if (filter.singleSelect) {\n // @ts-expect-error\n value = convertValueByType(filter.values[0].id, filter.type)\n } else {\n // @ts-expect-error\n value = filter.values.map((v) => convertValueByType(v.id, filter.type))\n }\n }\n\n // Determine if this is likely a list field based on filter type\n const isListField =\n filter.type?.startsWith('list_of_') || key.includes('tags') || key.includes('assignees')\n const isDateField = filter.type === 'datetime'\n const isBooleanField = filter.type === 'boolean'\n // Version field is a special numeric field that should use exact matching\n const isNumberField =\n key.endsWith('version') || filter.type === 'integer' || filter.type === 'float'\n\n // Check if any of the values are custom (user-entered values)\n const hasCustomValues = filter.values && filter.values.some((v) => v.isCustom === true)\n\n // Determine the appropriate operator based on filter properties and type\n let operator: QueryCondition['operator'] = 'eq'\n\n // Handling NULL values\n if (value === undefined) {\n operator = filter.inverted ? 'notnull' : 'isnull'\n return { key, operator }\n }\n\n const isTextField = filter.type === 'string' && !isListField\n\n // Handle different filter types\n if (hasSomeValue) {\n if (isTextField) {\n return filter.inverted ? textEmptyGroup(key) : textNotEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should not be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'eq'\n : 'ne'\n : filter.inverted\n ? 'isnull'\n : 'notnull'\n } else if (hasNoValue) {\n if (isTextField) {\n return filter.inverted ? textNotEmptyGroup(key) : textEmptyGroup(key)\n }\n // we set the value to the empty state and then say it should be that\n value = isListField ? [] : undefined\n operator = isListField\n ? filter.inverted\n ? 'ne'\n : 'eq'\n : filter.inverted\n ? 'notnull'\n : 'isnull'\n } else if (isListField) {\n if (filter.inverted) {\n operator = filter.operator === 'AND' ? 'excludesall' : 'excludesany'\n } else {\n operator = filter.operator === 'AND' ? 'includesall' : 'includesany'\n }\n } else if (isDateField) {\n const dateQueryFilter = convertDateFilterToQueryFilter(key, filter)\n if (dateQueryFilter) return dateQueryFilter\n // If no date conditions were created, fall back to a basic equality check\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (isBooleanField) {\n operator = filter.inverted ? 'ne' : 'eq'\n } else if (hasCustomValues && !isListField && !isNumberField) {\n // Handle custom values with partial matching using LIKE operator\n // If we have custom values, we need to use LIKE operator with wildcards for partial matching\n // Note: Version fields and numeric fields use exact matching (eq/in) instead\n\n if (!filter.values || filter.values.length === 0) {\n // This shouldn't happen but handle it gracefully\n operator = filter.inverted ? 'notin' : 'in'\n } else {\n // Separate custom and non-custom values\n const customValues = filter.values.filter((v) => v.isCustom === true)\n const nonCustomValues = filter.values.filter((v) => !v.isCustom)\n\n // If we only have custom values\n if (nonCustomValues.length === 0) {\n if (customValues.length === 1) {\n // Single custom value - use simple LIKE operator\n operator = 'like'\n value = `%${customValues[0].id}%`\n } else {\n // Multiple custom values - create OR conditions for each\n const conditions: QueryCondition[] = customValues.map((v) => ({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n }))\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n } else {\n // We have both custom and non-custom values\n // Create separate conditions for each type\n const conditions: QueryCondition[] = []\n\n // Add non-custom values condition\n if (nonCustomValues.length > 0) {\n conditions.push({\n key,\n operator: filter.inverted ? 'notin' : 'in',\n value: nonCustomValues.map((v) =>\n convertValueByType(v.id, filter.type),\n ) as QueryCondition['value'],\n })\n }\n\n // Add custom values conditions (each needs its own LIKE)\n customValues.forEach((v) => {\n conditions.push({\n key,\n operator: 'like' as QueryCondition['operator'],\n value: `%${v.id}%`,\n })\n })\n\n return {\n conditions,\n operator: filter.inverted ? 'and' : 'or',\n } as QueryFilter\n }\n }\n } else {\n // DEFAULT for other scalar fields\n operator = filter.inverted ? 'notin' : 'in'\n }\n\n return { key, value, operator }\n}\n\n// Helper function to convert values based on the filter type\nconst convertValueByType = (value: string, type?: string): string | number | boolean => {\n if (!type) return value\n\n switch (type) {\n case 'integer':\n return parseInt(value, 10)\n case 'float':\n return parseFloat(value)\n case 'boolean':\n return value.toLowerCase() === 'true'\n default:\n return value\n }\n}\n\nexport default clientFilterToQueryFilter\n"],"names":["NO_DATE","convertDateFilterToQueryFilter","key","filter","dateConditions","filterValue","conditions","dateValues","startISO","endISO","relativePattern","detectRelativeDatePattern","createRelativeValue","clientFilterToQueryFilter","filters","f","convertFilterToCondition","textEmptyGroup","textNotEmptyGroup","getFilterFromId","value","hasSomeValue","v","hasNoValue","convertValueByType","isListField","isDateField","isBooleanField","isNumberField","hasCustomValues","operator","isTextField","dateQueryFilter","customValues","nonCustomValues","type"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t={folder:"folder_entity",task:"task_entity",version:"version_entity"},a={folder:t.folder,folderName:t.folder,taskLabel:t.task,taskName:t.task},i=n=>a[n]||n,l=(n=[])=>Array.from(new Set(n.map(i))),r=(n={})=>{const o={};return Object.entries(n).forEach(([e,s])=>{const m=i(e);(o[m]===void 0||m===e)&&(o[m]=s)}),o},d=n=>{if(!n)return{};const o={...n.columnPinning,left:l(n.columnPinning?.left),right:l(n.columnPinning?.right)},e=r(n.columnSizing),s=r(n.columnVisibility),m=l(n.columnOrder),c=n.sorting?.map(u=>({...u,id:i(u.id)}));return{...n,columnOrder:m,columnPinning:o,columnSizing:e,columnVisibility:s,sorting:c,columnSummaries:r(n.columnSummaries),columnSummaryScopes:r(n.columnSummaryScopes),columnSummaryFormats:r(n.columnSummaryFormats)}};exports.ENTITY_COLUMN_IDS=t;exports.LEGACY_COLUMN_ID_ALIASES=a;exports.normalizeColumnId=i;exports.normalizeColumnIdList=l;exports.normalizeColumnsConfig=d;
2
+ //# sourceMappingURL=columnIds.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnIds.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/columnIds.ts"],"sourcesContent":["import type {\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport type { ColumnsConfig } from '../context/ColumnSettingsContext'\n\nexport const ENTITY_COLUMN_IDS = {\n folder: 'folder_entity',\n task: 'task_entity',\n version: 'version_entity',\n} as const\n\n// These ids were persisted by older table settings.\nexport const LEGACY_COLUMN_ID_ALIASES: Record<string, string> = {\n folder: ENTITY_COLUMN_IDS.folder,\n folderName: ENTITY_COLUMN_IDS.folder,\n taskLabel: ENTITY_COLUMN_IDS.task,\n taskName: ENTITY_COLUMN_IDS.task,\n}\n\nexport const normalizeColumnId = (columnId: string) =>\n LEGACY_COLUMN_ID_ALIASES[columnId] || columnId\n\nexport const normalizeColumnIdList = (columnIds: string[] = []): string[] =>\n Array.from(new Set(columnIds.map(normalizeColumnId)))\n\nconst normalizeColumnRecord = <T>(record: Record<string, T> = {}): Record<string, T> => {\n const normalized: Record<string, T> = {}\n\n // Keep an explicitly saved canonical value when both ids are present.\n Object.entries(record).forEach(([columnId, value]) => {\n const normalizedId = normalizeColumnId(columnId)\n if (normalized[normalizedId] === undefined || normalizedId === columnId) {\n normalized[normalizedId] = value\n }\n })\n\n return normalized\n}\n\nexport const normalizeColumnsConfig = (config?: ColumnsConfig): ColumnsConfig => {\n if (!config) return {} as ColumnsConfig\n\n const columnPinning: ColumnPinningState = {\n ...config.columnPinning,\n left: normalizeColumnIdList(config.columnPinning?.left),\n right: normalizeColumnIdList(config.columnPinning?.right),\n }\n\n const columnSizing: ColumnSizingState = normalizeColumnRecord(config.columnSizing)\n const columnVisibility: VisibilityState = normalizeColumnRecord(config.columnVisibility)\n const columnOrder: ColumnOrderState = normalizeColumnIdList(config.columnOrder)\n const sorting: SortingState | undefined = config.sorting?.map((sort) => ({\n ...sort,\n id: normalizeColumnId(sort.id),\n }))\n\n return {\n ...config,\n columnOrder,\n columnPinning,\n columnSizing,\n columnVisibility,\n sorting,\n columnSummaries: normalizeColumnRecord(config.columnSummaries),\n columnSummaryScopes: normalizeColumnRecord(config.columnSummaryScopes),\n columnSummaryFormats: normalizeColumnRecord(config.columnSummaryFormats),\n }\n}\n"],"names":["ENTITY_COLUMN_IDS","LEGACY_COLUMN_ID_ALIASES","normalizeColumnId","columnId","normalizeColumnIdList","columnIds","normalizeColumnRecord","record","normalized","value","normalizedId","normalizeColumnsConfig","config","columnPinning","columnSizing","columnVisibility","columnOrder","sorting","sort"],"mappings":"gFASO,MAAMA,EAAoB,CAC/B,OAAQ,gBACR,KAAM,cACN,QAAS,gBACX,EAGaC,EAAmD,CAC9D,OAAQD,EAAkB,OAC1B,WAAYA,EAAkB,OAC9B,UAAWA,EAAkB,KAC7B,SAAUA,EAAkB,IAC9B,EAEaE,EAAqBC,GAChCF,EAAyBE,CAAQ,GAAKA,EAE3BC,EAAwB,CAACC,EAAsB,CAAA,IAC1D,MAAM,KAAK,IAAI,IAAIA,EAAU,IAAIH,CAAiB,CAAC,CAAC,EAEhDI,EAAwB,CAAIC,EAA4B,KAA0B,CACtF,MAAMC,EAAgC,CAAA,EAGtC,cAAO,QAAQD,CAAM,EAAE,QAAQ,CAAC,CAACJ,EAAUM,CAAK,IAAM,CACpD,MAAMC,EAAeR,EAAkBC,CAAQ,GAC3CK,EAAWE,CAAY,IAAM,QAAaA,IAAiBP,KAC7DK,EAAWE,CAAY,EAAID,EAE/B,CAAC,EAEMD,CACT,EAEaG,EAA0BC,GAA0C,CAC/E,GAAI,CAACA,EAAQ,MAAO,CAAA,EAEpB,MAAMC,EAAoC,CACxC,GAAGD,EAAO,cACV,KAAMR,EAAsBQ,EAAO,eAAe,IAAI,EACtD,MAAOR,EAAsBQ,EAAO,eAAe,KAAK,CAAA,EAGpDE,EAAkCR,EAAsBM,EAAO,YAAY,EAC3EG,EAAoCT,EAAsBM,EAAO,gBAAgB,EACjFI,EAAgCZ,EAAsBQ,EAAO,WAAW,EACxEK,EAAoCL,EAAO,SAAS,IAAKM,IAAU,CACvE,GAAGA,EACH,GAAIhB,EAAkBgB,EAAK,EAAE,CAAA,EAC7B,EAEF,MAAO,CACL,GAAGN,EACH,YAAAI,EACA,cAAAH,EACA,aAAAC,EACA,iBAAAC,EACA,QAAAE,EACA,gBAAiBX,EAAsBM,EAAO,eAAe,EAC7D,oBAAqBN,EAAsBM,EAAO,mBAAmB,EACrE,qBAAsBN,EAAsBM,EAAO,oBAAoB,CAAA,CAE3E"}
@@ -0,0 +1,45 @@
1
+ const e = {
2
+ folder: "folder_entity",
3
+ task: "task_entity",
4
+ version: "version_entity"
5
+ }, c = {
6
+ folder: e.folder,
7
+ folderName: e.folder,
8
+ taskLabel: e.task,
9
+ taskName: e.task
10
+ }, s = (n) => c[n] || n, i = (n = []) => Array.from(new Set(n.map(s))), r = (n = {}) => {
11
+ const o = {};
12
+ return Object.entries(n).forEach(([t, l]) => {
13
+ const m = s(t);
14
+ (o[m] === void 0 || m === t) && (o[m] = l);
15
+ }), o;
16
+ }, d = (n) => {
17
+ if (!n) return {};
18
+ const o = {
19
+ ...n.columnPinning,
20
+ left: i(n.columnPinning?.left),
21
+ right: i(n.columnPinning?.right)
22
+ }, t = r(n.columnSizing), l = r(n.columnVisibility), m = i(n.columnOrder), u = n.sorting?.map((a) => ({
23
+ ...a,
24
+ id: s(a.id)
25
+ }));
26
+ return {
27
+ ...n,
28
+ columnOrder: m,
29
+ columnPinning: o,
30
+ columnSizing: t,
31
+ columnVisibility: l,
32
+ sorting: u,
33
+ columnSummaries: r(n.columnSummaries),
34
+ columnSummaryScopes: r(n.columnSummaryScopes),
35
+ columnSummaryFormats: r(n.columnSummaryFormats)
36
+ };
37
+ };
38
+ export {
39
+ e as ENTITY_COLUMN_IDS,
40
+ c as LEGACY_COLUMN_ID_ALIASES,
41
+ s as normalizeColumnId,
42
+ i as normalizeColumnIdList,
43
+ d as normalizeColumnsConfig
44
+ };
45
+ //# sourceMappingURL=columnIds.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnIds.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/columnIds.ts"],"sourcesContent":["import type {\n ColumnOrderState,\n ColumnPinningState,\n ColumnSizingState,\n SortingState,\n VisibilityState,\n} from '@tanstack/react-table'\nimport type { ColumnsConfig } from '../context/ColumnSettingsContext'\n\nexport const ENTITY_COLUMN_IDS = {\n folder: 'folder_entity',\n task: 'task_entity',\n version: 'version_entity',\n} as const\n\n// These ids were persisted by older table settings.\nexport const LEGACY_COLUMN_ID_ALIASES: Record<string, string> = {\n folder: ENTITY_COLUMN_IDS.folder,\n folderName: ENTITY_COLUMN_IDS.folder,\n taskLabel: ENTITY_COLUMN_IDS.task,\n taskName: ENTITY_COLUMN_IDS.task,\n}\n\nexport const normalizeColumnId = (columnId: string) =>\n LEGACY_COLUMN_ID_ALIASES[columnId] || columnId\n\nexport const normalizeColumnIdList = (columnIds: string[] = []): string[] =>\n Array.from(new Set(columnIds.map(normalizeColumnId)))\n\nconst normalizeColumnRecord = <T>(record: Record<string, T> = {}): Record<string, T> => {\n const normalized: Record<string, T> = {}\n\n // Keep an explicitly saved canonical value when both ids are present.\n Object.entries(record).forEach(([columnId, value]) => {\n const normalizedId = normalizeColumnId(columnId)\n if (normalized[normalizedId] === undefined || normalizedId === columnId) {\n normalized[normalizedId] = value\n }\n })\n\n return normalized\n}\n\nexport const normalizeColumnsConfig = (config?: ColumnsConfig): ColumnsConfig => {\n if (!config) return {} as ColumnsConfig\n\n const columnPinning: ColumnPinningState = {\n ...config.columnPinning,\n left: normalizeColumnIdList(config.columnPinning?.left),\n right: normalizeColumnIdList(config.columnPinning?.right),\n }\n\n const columnSizing: ColumnSizingState = normalizeColumnRecord(config.columnSizing)\n const columnVisibility: VisibilityState = normalizeColumnRecord(config.columnVisibility)\n const columnOrder: ColumnOrderState = normalizeColumnIdList(config.columnOrder)\n const sorting: SortingState | undefined = config.sorting?.map((sort) => ({\n ...sort,\n id: normalizeColumnId(sort.id),\n }))\n\n return {\n ...config,\n columnOrder,\n columnPinning,\n columnSizing,\n columnVisibility,\n sorting,\n columnSummaries: normalizeColumnRecord(config.columnSummaries),\n columnSummaryScopes: normalizeColumnRecord(config.columnSummaryScopes),\n columnSummaryFormats: normalizeColumnRecord(config.columnSummaryFormats),\n }\n}\n"],"names":["ENTITY_COLUMN_IDS","LEGACY_COLUMN_ID_ALIASES","normalizeColumnId","columnId","normalizeColumnIdList","columnIds","normalizeColumnRecord","record","normalized","value","normalizedId","normalizeColumnsConfig","config","columnPinning","columnSizing","columnVisibility","columnOrder","sorting","sort"],"mappings":"AASO,MAAMA,IAAoB;AAAA,EAC/B,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX,GAGaC,IAAmD;AAAA,EAC9D,QAAQD,EAAkB;AAAA,EAC1B,YAAYA,EAAkB;AAAA,EAC9B,WAAWA,EAAkB;AAAA,EAC7B,UAAUA,EAAkB;AAC9B,GAEaE,IAAoB,CAACC,MAChCF,EAAyBE,CAAQ,KAAKA,GAE3BC,IAAwB,CAACC,IAAsB,CAAA,MAC1D,MAAM,KAAK,IAAI,IAAIA,EAAU,IAAIH,CAAiB,CAAC,CAAC,GAEhDI,IAAwB,CAAIC,IAA4B,OAA0B;AACtF,QAAMC,IAAgC,CAAA;AAGtC,gBAAO,QAAQD,CAAM,EAAE,QAAQ,CAAC,CAACJ,GAAUM,CAAK,MAAM;AACpD,UAAMC,IAAeR,EAAkBC,CAAQ;AAC/C,KAAIK,EAAWE,CAAY,MAAM,UAAaA,MAAiBP,OAC7DK,EAAWE,CAAY,IAAID;AAAA,EAE/B,CAAC,GAEMD;AACT,GAEaG,IAAyB,CAACC,MAA0C;AAC/E,MAAI,CAACA,EAAQ,QAAO,CAAA;AAEpB,QAAMC,IAAoC;AAAA,IACxC,GAAGD,EAAO;AAAA,IACV,MAAMR,EAAsBQ,EAAO,eAAe,IAAI;AAAA,IACtD,OAAOR,EAAsBQ,EAAO,eAAe,KAAK;AAAA,EAAA,GAGpDE,IAAkCR,EAAsBM,EAAO,YAAY,GAC3EG,IAAoCT,EAAsBM,EAAO,gBAAgB,GACjFI,IAAgCZ,EAAsBQ,EAAO,WAAW,GACxEK,IAAoCL,EAAO,SAAS,IAAI,CAACM,OAAU;AAAA,IACvE,GAAGA;AAAA,IACH,IAAIhB,EAAkBgB,EAAK,EAAE;AAAA,EAAA,EAC7B;AAEF,SAAO;AAAA,IACL,GAAGN;AAAA,IACH,aAAAI;AAAA,IACA,eAAAH;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAE;AAAA,IACA,iBAAiBX,EAAsBM,EAAO,eAAe;AAAA,IAC7D,qBAAqBN,EAAsBM,EAAO,mBAAmB;AAAA,IACrE,sBAAsBN,EAAsBM,EAAO,oBAAoB;AAAA,EAAA;AAE3E;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityViewerIds.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getEntityViewerIds.ts"],"sourcesContent":["import { EntityMap } from '.'\n\n// gets parents id of an entity when using the viewer\nexport const getEntityViewierIds = (entity: EntityMap): { [id: string]: string } => {\n const targetIds = {\n [entity.entityType + 'Id']: entity.entityId,\n }\n // if version, also include productId and folderId\n if (entity.entityType === 'version') {\n if ('product' in entity && entity.product?.id) {\n targetIds.productId = entity.product?.id\n if ('folder' in entity.product && entity.product?.folder?.id) {\n targetIds.folderId = entity.product?.folder.id\n }\n }\n }\n return targetIds\n}\n"],"names":["getEntityViewierIds","entity","targetIds"],"mappings":"gFAGO,MAAMA,EAAuBC,GAAgD,CAClF,MAAMC,EAAY,CAChB,CAACD,EAAO,WAAa,IAAI,EAAGA,EAAO,QAAA,EAGrC,OAAIA,EAAO,aAAe,WACpB,YAAaA,GAAUA,EAAO,SAAS,KACzCC,EAAU,UAAYD,EAAO,SAAS,GAClC,WAAYA,EAAO,SAAWA,EAAO,SAAS,QAAQ,KACxDC,EAAU,SAAWD,EAAO,SAAS,OAAO,KAI3CC,CACT"}
1
+ {"version":3,"file":"getEntityViewerIds.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getEntityViewerIds.ts"],"sourcesContent":["import type { EntityMap } from '../types/table'\n\n// gets parents id of an entity when using the viewer\nexport const getEntityViewierIds = (entity: EntityMap): { [id: string]: string } => {\n const targetIds = {\n [entity.entityType + 'Id']: entity.entityId,\n }\n // if version, also include productId and folderId\n if (entity.entityType === 'version') {\n if ('product' in entity && entity.product?.id) {\n targetIds.productId = entity.product?.id\n if ('folder' in entity.product && entity.product?.folder?.id) {\n targetIds.folderId = entity.product?.folder.id\n }\n }\n }\n return targetIds\n}\n"],"names":["getEntityViewierIds","entity","targetIds"],"mappings":"gFAGO,MAAMA,EAAuBC,GAAgD,CAClF,MAAMC,EAAY,CAChB,CAACD,EAAO,WAAa,IAAI,EAAGA,EAAO,QAAA,EAGrC,OAAIA,EAAO,aAAe,WACpB,YAAaA,GAAUA,EAAO,SAAS,KACzCC,EAAU,UAAYD,EAAO,SAAS,GAClC,WAAYA,EAAO,SAAWA,EAAO,SAAS,QAAQ,KACxDC,EAAU,SAAWD,EAAO,SAAS,OAAO,KAI3CC,CACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"getEntityViewerIds.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getEntityViewerIds.ts"],"sourcesContent":["import { EntityMap } from '.'\n\n// gets parents id of an entity when using the viewer\nexport const getEntityViewierIds = (entity: EntityMap): { [id: string]: string } => {\n const targetIds = {\n [entity.entityType + 'Id']: entity.entityId,\n }\n // if version, also include productId and folderId\n if (entity.entityType === 'version') {\n if ('product' in entity && entity.product?.id) {\n targetIds.productId = entity.product?.id\n if ('folder' in entity.product && entity.product?.folder?.id) {\n targetIds.folderId = entity.product?.folder.id\n }\n }\n }\n return targetIds\n}\n"],"names":["getEntityViewierIds","entity","targetIds"],"mappings":"AAGO,MAAMA,IAAsB,CAACC,MAAgD;AAClF,QAAMC,IAAY;AAAA,IAChB,CAACD,EAAO,aAAa,IAAI,GAAGA,EAAO;AAAA,EAAA;AAGrC,SAAIA,EAAO,eAAe,aACpB,aAAaA,KAAUA,EAAO,SAAS,OACzCC,EAAU,YAAYD,EAAO,SAAS,IAClC,YAAYA,EAAO,WAAWA,EAAO,SAAS,QAAQ,OACxDC,EAAU,WAAWD,EAAO,SAAS,OAAO,MAI3CC;AACT;"}
1
+ {"version":3,"file":"getEntityViewerIds.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getEntityViewerIds.ts"],"sourcesContent":["import type { EntityMap } from '../types/table'\n\n// gets parents id of an entity when using the viewer\nexport const getEntityViewierIds = (entity: EntityMap): { [id: string]: string } => {\n const targetIds = {\n [entity.entityType + 'Id']: entity.entityId,\n }\n // if version, also include productId and folderId\n if (entity.entityType === 'version') {\n if ('product' in entity && entity.product?.id) {\n targetIds.productId = entity.product?.id\n if ('folder' in entity.product && entity.product?.folder?.id) {\n targetIds.folderId = entity.product?.folder.id\n }\n }\n }\n return targetIds\n}\n"],"names":["getEntityViewierIds","entity","targetIds"],"mappings":"AAGO,MAAMA,IAAsB,CAACC,MAAgD;AAClF,QAAMC,IAAY;AAAA,IAChB,CAACD,EAAO,aAAa,IAAI,GAAGA,EAAO;AAAA,EAAA;AAGrC,SAAIA,EAAO,eAAe,aACpB,aAAaA,KAAUA,EAAO,SAAS,OACzCC,EAAU,YAAYD,EAAO,SAAS,IAClC,YAAYA,EAAO,WAAWA,EAAO,SAAS,QAAQ,OACxDC,EAAU,WAAWD,EAAO,SAAS,OAAO,MAI3CC;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFolderIdsToQueryFromExpanded.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.ts"],"sourcesContent":["import { ProjectFoldersContextValue } from '@shared/context'\nimport { ExpandedState } from '@tanstack/react-table'\n\nexport const getFolderIdsToQueryFromExpanded = (props: {\n expanded: ExpandedState\n expandedParentIds: string[]\n selectedFolders: string[]\n excludeSelectedFolders: boolean\n getFolderById: ProjectFoldersContextValue['getFolderById']\n showHierarchy: boolean\n}) => {\n const {\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n } = props\n const expandedMap = expanded as Record<string, boolean>\n const memoVisibility = new Map<string, boolean>()\n\n const isFolderVisible = (id: string): boolean => {\n // If visibility for this specific branch path was already calculated, return it instantly\n if (memoVisibility.has(id)) return memoVisibility.get(id)!\n\n const folder = getFolderById(id)\n if (!folder) {\n memoVisibility.set(id, false)\n return false\n }\n\n const parentId = folder.parentId as string\n\n // Check if this folder acts as a boundary root from the slicer selection\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(id)\n\n if (isRootFromSlicer) {\n memoVisibility.set(id, true)\n return true\n }\n\n // Top-level root folders (no parent) are always visible IF there is no slicer selection\n if (!parentId) {\n const isVisible = selectedFolders.length === 0\n memoVisibility.set(id, isVisible)\n return isVisible\n }\n\n // If the parent folder is not expanded, this folder is NOT visible (only for tree table hierarchy)\n if (showHierarchy) {\n // Chain step: Visible ONLY if the immediate parent is expanded AND that parent path is visible\n const visible = expandedMap[parentId] === true && isFolderVisible(parentId)\n\n // Cache the result to protect sibling lookups from re-walking this shared ancestral path\n memoVisibility.set(id, visible)\n return visible\n } else {\n return true\n }\n }\n\n // We ONLY loop over the expanded folder IDs, never the full project folder array!\n return expandedParentIds.filter((id) => isFolderVisible(id))\n}\n"],"names":["getFolderIdsToQueryFromExpanded","props","expanded","expandedParentIds","selectedFolders","excludeSelectedFolders","getFolderById","showHierarchy","expandedMap","memoVisibility","isFolderVisible","id","folder","parentId","isVisible","visible"],"mappings":"gFAGO,MAAMA,EAAmCC,GAO1C,CACJ,KAAM,CACJ,SAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,uBAAAC,EACA,cAAAC,EACA,cAAAC,CAAA,EACEN,EACEO,EAAcN,EACdO,MAAqB,IAErBC,EAAmBC,GAAwB,CAE/C,GAAIF,EAAe,IAAIE,CAAE,EAAG,OAAOF,EAAe,IAAIE,CAAE,EAExD,MAAMC,EAASN,EAAcK,CAAE,EAC/B,GAAI,CAACC,EACH,OAAAH,EAAe,IAAIE,EAAI,EAAK,EACrB,GAGT,MAAME,EAAWD,EAAO,SAOxB,GAJyBP,EACrBD,EAAgB,SAASS,CAAQ,EACjCT,EAAgB,SAASO,CAAE,EAG7B,OAAAF,EAAe,IAAIE,EAAI,EAAI,EACpB,GAIT,GAAI,CAACE,EAAU,CACb,MAAMC,EAAYV,EAAgB,SAAW,EAC7C,OAAAK,EAAe,IAAIE,EAAIG,CAAS,EACzBA,CACT,CAGA,GAAIP,EAAe,CAEjB,MAAMQ,EAAUP,EAAYK,CAAQ,IAAM,IAAQH,EAAgBG,CAAQ,EAG1E,OAAAJ,EAAe,IAAIE,EAAII,CAAO,EACvBA,CACT,KACE,OAAO,EAEX,EAGA,OAAOZ,EAAkB,OAAQQ,GAAOD,EAAgBC,CAAE,CAAC,CAC7D"}
1
+ {"version":3,"file":"getFolderIdsToQueryFromExpanded.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.ts"],"sourcesContent":["import type { ProjectFoldersContextValue } from '@shared/context/ProjectFoldersContext'\nimport { ExpandedState } from '@tanstack/react-table'\n\nexport const getFolderIdsToQueryFromExpanded = (props: {\n expanded: ExpandedState\n expandedParentIds: string[]\n selectedFolders: string[]\n excludeSelectedFolders: boolean\n getFolderById: ProjectFoldersContextValue['getFolderById']\n showHierarchy: boolean\n}) => {\n const {\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n } = props\n const expandedMap = expanded as Record<string, boolean>\n const memoVisibility = new Map<string, boolean>()\n\n const isFolderVisible = (id: string): boolean => {\n // If visibility for this specific branch path was already calculated, return it instantly\n if (memoVisibility.has(id)) return memoVisibility.get(id)!\n\n const folder = getFolderById(id)\n if (!folder) {\n memoVisibility.set(id, false)\n return false\n }\n\n const parentId = folder.parentId as string\n\n // Check if this folder acts as a boundary root from the slicer selection\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(id)\n\n if (isRootFromSlicer) {\n memoVisibility.set(id, true)\n return true\n }\n\n // Top-level root folders (no parent) are always visible IF there is no slicer selection\n if (!parentId) {\n const isVisible = selectedFolders.length === 0\n memoVisibility.set(id, isVisible)\n return isVisible\n }\n\n // If the parent folder is not expanded, this folder is NOT visible (only for tree table hierarchy)\n if (showHierarchy) {\n // Chain step: Visible ONLY if the immediate parent is expanded AND that parent path is visible\n const visible = expandedMap[parentId] === true && isFolderVisible(parentId)\n\n // Cache the result to protect sibling lookups from re-walking this shared ancestral path\n memoVisibility.set(id, visible)\n return visible\n } else {\n return true\n }\n }\n\n // We ONLY loop over the expanded folder IDs, never the full project folder array!\n return expandedParentIds.filter((id) => isFolderVisible(id))\n}\n"],"names":["getFolderIdsToQueryFromExpanded","props","expanded","expandedParentIds","selectedFolders","excludeSelectedFolders","getFolderById","showHierarchy","expandedMap","memoVisibility","isFolderVisible","id","folder","parentId","isVisible","visible"],"mappings":"gFAGO,MAAMA,EAAmCC,GAO1C,CACJ,KAAM,CACJ,SAAAC,EACA,kBAAAC,EACA,gBAAAC,EACA,uBAAAC,EACA,cAAAC,EACA,cAAAC,CAAA,EACEN,EACEO,EAAcN,EACdO,MAAqB,IAErBC,EAAmBC,GAAwB,CAE/C,GAAIF,EAAe,IAAIE,CAAE,EAAG,OAAOF,EAAe,IAAIE,CAAE,EAExD,MAAMC,EAASN,EAAcK,CAAE,EAC/B,GAAI,CAACC,EACH,OAAAH,EAAe,IAAIE,EAAI,EAAK,EACrB,GAGT,MAAME,EAAWD,EAAO,SAOxB,GAJyBP,EACrBD,EAAgB,SAASS,CAAQ,EACjCT,EAAgB,SAASO,CAAE,EAG7B,OAAAF,EAAe,IAAIE,EAAI,EAAI,EACpB,GAIT,GAAI,CAACE,EAAU,CACb,MAAMC,EAAYV,EAAgB,SAAW,EAC7C,OAAAK,EAAe,IAAIE,EAAIG,CAAS,EACzBA,CACT,CAGA,GAAIP,EAAe,CAEjB,MAAMQ,EAAUP,EAAYK,CAAQ,IAAM,IAAQH,EAAgBG,CAAQ,EAG1E,OAAAJ,EAAe,IAAIE,EAAII,CAAO,EACvBA,CACT,KACE,OAAO,EAEX,EAGA,OAAOZ,EAAkB,OAAQQ,GAAOD,EAAgBC,CAAE,CAAC,CAC7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFolderIdsToQueryFromExpanded.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.ts"],"sourcesContent":["import { ProjectFoldersContextValue } from '@shared/context'\nimport { ExpandedState } from '@tanstack/react-table'\n\nexport const getFolderIdsToQueryFromExpanded = (props: {\n expanded: ExpandedState\n expandedParentIds: string[]\n selectedFolders: string[]\n excludeSelectedFolders: boolean\n getFolderById: ProjectFoldersContextValue['getFolderById']\n showHierarchy: boolean\n}) => {\n const {\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n } = props\n const expandedMap = expanded as Record<string, boolean>\n const memoVisibility = new Map<string, boolean>()\n\n const isFolderVisible = (id: string): boolean => {\n // If visibility for this specific branch path was already calculated, return it instantly\n if (memoVisibility.has(id)) return memoVisibility.get(id)!\n\n const folder = getFolderById(id)\n if (!folder) {\n memoVisibility.set(id, false)\n return false\n }\n\n const parentId = folder.parentId as string\n\n // Check if this folder acts as a boundary root from the slicer selection\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(id)\n\n if (isRootFromSlicer) {\n memoVisibility.set(id, true)\n return true\n }\n\n // Top-level root folders (no parent) are always visible IF there is no slicer selection\n if (!parentId) {\n const isVisible = selectedFolders.length === 0\n memoVisibility.set(id, isVisible)\n return isVisible\n }\n\n // If the parent folder is not expanded, this folder is NOT visible (only for tree table hierarchy)\n if (showHierarchy) {\n // Chain step: Visible ONLY if the immediate parent is expanded AND that parent path is visible\n const visible = expandedMap[parentId] === true && isFolderVisible(parentId)\n\n // Cache the result to protect sibling lookups from re-walking this shared ancestral path\n memoVisibility.set(id, visible)\n return visible\n } else {\n return true\n }\n }\n\n // We ONLY loop over the expanded folder IDs, never the full project folder array!\n return expandedParentIds.filter((id) => isFolderVisible(id))\n}\n"],"names":["getFolderIdsToQueryFromExpanded","props","expanded","expandedParentIds","selectedFolders","excludeSelectedFolders","getFolderById","showHierarchy","expandedMap","memoVisibility","isFolderVisible","id","folder","parentId","isVisible","visible"],"mappings":"AAGO,MAAMA,IAAkC,CAACC,MAO1C;AACJ,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACEN,GACEO,IAAcN,GACdO,wBAAqB,IAAA,GAErBC,IAAkB,CAACC,MAAwB;AAE/C,QAAIF,EAAe,IAAIE,CAAE,EAAG,QAAOF,EAAe,IAAIE,CAAE;AAExD,UAAMC,IAASN,EAAcK,CAAE;AAC/B,QAAI,CAACC;AACH,aAAAH,EAAe,IAAIE,GAAI,EAAK,GACrB;AAGT,UAAME,IAAWD,EAAO;AAOxB,QAJyBP,IACrBD,EAAgB,SAASS,CAAQ,IACjCT,EAAgB,SAASO,CAAE;AAG7B,aAAAF,EAAe,IAAIE,GAAI,EAAI,GACpB;AAIT,QAAI,CAACE,GAAU;AACb,YAAMC,IAAYV,EAAgB,WAAW;AAC7C,aAAAK,EAAe,IAAIE,GAAIG,CAAS,GACzBA;AAAA,IACT;AAGA,QAAIP,GAAe;AAEjB,YAAMQ,IAAUP,EAAYK,CAAQ,MAAM,MAAQH,EAAgBG,CAAQ;AAG1E,aAAAJ,EAAe,IAAIE,GAAII,CAAO,GACvBA;AAAA,IACT;AACE,aAAO;AAAA,EAEX;AAGA,SAAOZ,EAAkB,OAAO,CAACQ,MAAOD,EAAgBC,CAAE,CAAC;AAC7D;"}
1
+ {"version":3,"file":"getFolderIdsToQueryFromExpanded.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.ts"],"sourcesContent":["import type { ProjectFoldersContextValue } from '@shared/context/ProjectFoldersContext'\nimport { ExpandedState } from '@tanstack/react-table'\n\nexport const getFolderIdsToQueryFromExpanded = (props: {\n expanded: ExpandedState\n expandedParentIds: string[]\n selectedFolders: string[]\n excludeSelectedFolders: boolean\n getFolderById: ProjectFoldersContextValue['getFolderById']\n showHierarchy: boolean\n}) => {\n const {\n expanded,\n expandedParentIds,\n selectedFolders,\n excludeSelectedFolders,\n getFolderById,\n showHierarchy,\n } = props\n const expandedMap = expanded as Record<string, boolean>\n const memoVisibility = new Map<string, boolean>()\n\n const isFolderVisible = (id: string): boolean => {\n // If visibility for this specific branch path was already calculated, return it instantly\n if (memoVisibility.has(id)) return memoVisibility.get(id)!\n\n const folder = getFolderById(id)\n if (!folder) {\n memoVisibility.set(id, false)\n return false\n }\n\n const parentId = folder.parentId as string\n\n // Check if this folder acts as a boundary root from the slicer selection\n const isRootFromSlicer = excludeSelectedFolders\n ? selectedFolders.includes(parentId)\n : selectedFolders.includes(id)\n\n if (isRootFromSlicer) {\n memoVisibility.set(id, true)\n return true\n }\n\n // Top-level root folders (no parent) are always visible IF there is no slicer selection\n if (!parentId) {\n const isVisible = selectedFolders.length === 0\n memoVisibility.set(id, isVisible)\n return isVisible\n }\n\n // If the parent folder is not expanded, this folder is NOT visible (only for tree table hierarchy)\n if (showHierarchy) {\n // Chain step: Visible ONLY if the immediate parent is expanded AND that parent path is visible\n const visible = expandedMap[parentId] === true && isFolderVisible(parentId)\n\n // Cache the result to protect sibling lookups from re-walking this shared ancestral path\n memoVisibility.set(id, visible)\n return visible\n } else {\n return true\n }\n }\n\n // We ONLY loop over the expanded folder IDs, never the full project folder array!\n return expandedParentIds.filter((id) => isFolderVisible(id))\n}\n"],"names":["getFolderIdsToQueryFromExpanded","props","expanded","expandedParentIds","selectedFolders","excludeSelectedFolders","getFolderById","showHierarchy","expandedMap","memoVisibility","isFolderVisible","id","folder","parentId","isVisible","visible"],"mappings":"AAGO,MAAMA,IAAkC,CAACC,MAO1C;AACJ,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,EAAA,IACEN,GACEO,IAAcN,GACdO,wBAAqB,IAAA,GAErBC,IAAkB,CAACC,MAAwB;AAE/C,QAAIF,EAAe,IAAIE,CAAE,EAAG,QAAOF,EAAe,IAAIE,CAAE;AAExD,UAAMC,IAASN,EAAcK,CAAE;AAC/B,QAAI,CAACC;AACH,aAAAH,EAAe,IAAIE,GAAI,EAAK,GACrB;AAGT,UAAME,IAAWD,EAAO;AAOxB,QAJyBP,IACrBD,EAAgB,SAASS,CAAQ,IACjCT,EAAgB,SAASO,CAAE;AAG7B,aAAAF,EAAe,IAAIE,GAAI,EAAI,GACpB;AAIT,QAAI,CAACE,GAAU;AACb,YAAMC,IAAYV,EAAgB,WAAW;AAC7C,aAAAK,EAAe,IAAIE,GAAIG,CAAS,GACzBA;AAAA,IACT;AAGA,QAAIP,GAAe;AAEjB,YAAMQ,IAAUP,EAAYK,CAAQ,MAAM,MAAQH,EAAgBG,CAAQ;AAG1E,aAAAJ,EAAe,IAAIE,GAAII,CAAO,GACvBA;AAAA,IACT;AACE,aAAO;AAAA,EAEX;AAGA,SAAOZ,EAAkB,OAAO,CAACQ,MAAOD,EAAgBC,CAAE,CAAC;AAC7D;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getReadOnlyLists.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getReadOnlyLists.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\n\n// Known built-in fields. We keep both camelCase and snake_case variants since\n// permissions may use either form depending on the backend response.\nconst FIELD_VARIANTS: Record<string, string[]> = {\n name: ['name'],\n label: ['label'],\n status: ['status'],\n tags: ['tags'],\n assignees: ['assignees'],\n active: ['active'],\n parentId: ['parentId', 'parent_id'],\n folderType: ['folderType', 'folder_type'],\n taskType: ['taskType', 'task_type'],\n productType: ['productType', 'product_type'],\n author: ['author'],\n}\n\nexport const getReadOnlyLists = (\n attribFields: ProjectTableAttribute[],\n writableFields: string[] | undefined,\n extra: string[] = [],\n) => {\n let readOnlyAttribs: string[] = attribFields\n .filter((attrib) => attrib.readOnly) // Filter attributes that are explicitly readOnly\n .map((attrib) => attrib.name) // Extract the names of the readOnly attributes\n\n let readOnlyColumnsSet: Set<string>\n // Gather read-only built-in fields (non-attribute), based on provided writableFields\n const readOnlyFields: string[] = []\n let folderTypeReadOnly = false\n let taskTypeReadOnly = false\n if (writableFields?.length) {\n const writableSet = new Set(writableFields)\n const isWritable = (variants: string[]) => variants.some((v) => writableSet.has(v))\n\n Object.entries(FIELD_VARIANTS).forEach(([fieldId, variants]) => {\n const writable = isWritable(variants)\n if (!writable) {\n // Mark this built-in field as read-only\n readOnlyFields.push(fieldId)\n if (fieldId === 'folderType') folderTypeReadOnly = true\n if (fieldId === 'taskType') taskTypeReadOnly = true\n }\n })\n }\n\n if (extra?.includes('attrib' as any)) {\n // If 'attrib' is in the readonly columns, all attributes are read-only\n readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name) // Mark all attributes as readOnly if they are builtin\n readOnlyColumnsSet = new Set([\n ...attribFields.filter((a) => a.builtin).map((attrib) => 'attrib_' + attrib.name), // Add all attribute columns to the readOnly set\n ...readOnlyFields, // Also include read-only built-in fields\n ...(extra || []), // Add any other specified readOnly columns\n ])\n } else {\n // If 'attrib' is not in the readonly columns, handle individual attributes\n readOnlyColumnsSet = new Set([\n ...readOnlyAttribs.map((name) => 'attrib_' + name), // Add readOnly attribute columns to the set\n ...readOnlyFields, // Add read-only built-in fields to the set (field ids match column ids)\n ...(extra || []), // Add any other specified readOnly columns\n ])\n\n // Add readOnly from extra to attribs\n if (extra) {\n extra.forEach((col) => {\n if (col.startsWith('attrib_')) {\n const attribName = col.replace('attrib_', '')\n if (\n attribFields.find((attrib) => attrib.name === attribName) &&\n !readOnlyAttribs.includes(attribName)\n ) {\n readOnlyAttribs.push(attribName)\n }\n }\n })\n }\n }\n\n // If both folder type and task type are read-only, also add subType as read-only\n // This is a UI-combined field for folderType/taskType\n if (folderTypeReadOnly && taskTypeReadOnly) {\n readOnlyColumnsSet.add('subType')\n if (!readOnlyAttribs.includes('subType')) readOnlyAttribs.push('subType')\n }\n\n // Also add read-only built-in fields to readOnlyAttribs to expose a combined list\n // (Clipboard paste logic will still only enforce for attrib_ columns.)\n if (readOnlyFields.length) {\n for (const f of readOnlyFields) {\n if (!readOnlyAttribs.includes(f)) readOnlyAttribs.push(f)\n }\n }\n\n const readOnlyColumns = Array.from(readOnlyColumnsSet) // Convert the set of readOnly columns to an array\n\n return { readOnlyColumns, readOnlyAttribs }\n}\n"],"names":["FIELD_VARIANTS","getReadOnlyLists","attribFields","writableFields","extra","readOnlyAttribs","attrib","readOnlyColumnsSet","readOnlyFields","folderTypeReadOnly","taskTypeReadOnly","writableSet","isWritable","variants","v","fieldId","a","name","col","attribName","f"],"mappings":"gFAIA,MAAMA,EAA2C,CAC/C,KAAM,CAAC,MAAM,EACb,MAAO,CAAC,OAAO,EACf,OAAQ,CAAC,QAAQ,EACjB,KAAM,CAAC,MAAM,EACb,UAAW,CAAC,WAAW,EACvB,OAAQ,CAAC,QAAQ,EACjB,SAAU,CAAC,WAAY,WAAW,EAClC,WAAY,CAAC,aAAc,aAAa,EACxC,SAAU,CAAC,WAAY,WAAW,EAClC,YAAa,CAAC,cAAe,cAAc,EAC3C,OAAQ,CAAC,QAAQ,CACnB,EAEaC,EAAmB,CAC9BC,EACAC,EACAC,EAAkB,CAAA,IACf,CACH,IAAIC,EAA4BH,EAC7B,OAAQI,GAAWA,EAAO,QAAQ,EAClC,IAAKA,GAAWA,EAAO,IAAI,EAE1BC,EAEJ,MAAMC,EAA2B,CAAA,EACjC,IAAIC,EAAqB,GACrBC,EAAmB,GACvB,GAAIP,GAAgB,OAAQ,CAC1B,MAAMQ,EAAc,IAAI,IAAIR,CAAc,EACpCS,EAAcC,GAAuBA,EAAS,KAAMC,GAAMH,EAAY,IAAIG,CAAC,CAAC,EAElF,OAAO,QAAQd,CAAc,EAAE,QAAQ,CAAC,CAACe,EAASF,CAAQ,IAAM,CAC7CD,EAAWC,CAAQ,IAGlCL,EAAe,KAAKO,CAAO,EACvBA,IAAY,eAAcN,EAAqB,IAC/CM,IAAY,aAAYL,EAAmB,IAEnD,CAAC,CACH,CA2CA,GAzCIN,GAAO,SAAS,QAAe,GAEjCC,EAAkBH,EAAa,OAAQc,GAAMA,EAAE,OAAO,EAAE,IAAKV,GAAWA,EAAO,IAAI,EACnFC,MAAyB,IAAI,CAC3B,GAAGL,EAAa,OAAQc,GAAMA,EAAE,OAAO,EAAE,IAAKV,GAAW,UAAYA,EAAO,IAAI,EAChF,GAAGE,EACH,GAAIJ,GAAS,CAAA,CAAC,CACf,IAGDG,MAAyB,IAAI,CAC3B,GAAGF,EAAgB,IAAKY,GAAS,UAAYA,CAAI,EACjD,GAAGT,EACH,GAAIJ,GAAS,CAAA,CAAC,CACf,EAGGA,GACFA,EAAM,QAASc,GAAQ,CACrB,GAAIA,EAAI,WAAW,SAAS,EAAG,CAC7B,MAAMC,EAAaD,EAAI,QAAQ,UAAW,EAAE,EAE1ChB,EAAa,KAAMI,GAAWA,EAAO,OAASa,CAAU,GACxD,CAACd,EAAgB,SAASc,CAAU,GAEpCd,EAAgB,KAAKc,CAAU,CAEnC,CACF,CAAC,GAMDV,GAAsBC,IACxBH,EAAmB,IAAI,SAAS,EAC3BF,EAAgB,SAAS,SAAS,GAAGA,EAAgB,KAAK,SAAS,GAKtEG,EAAe,OACjB,UAAWY,KAAKZ,EACTH,EAAgB,SAASe,CAAC,GAAGf,EAAgB,KAAKe,CAAC,EAM5D,MAAO,CAAE,gBAFe,MAAM,KAAKb,CAAkB,EAE3B,gBAAAF,CAAA,CAC5B"}
1
+ {"version":3,"file":"getReadOnlyLists.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getReadOnlyLists.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\n\n// Known built-in fields. We keep both camelCase and snake_case variants since\n// permissions may use either form depending on the backend response.\nconst FIELD_VARIANTS: Record<string, string[]> = {\n name: ['name'],\n label: ['label'],\n status: ['status'],\n tags: ['tags'],\n assignees: ['assignees'],\n active: ['active'],\n parentId: ['parentId', 'parent_id'],\n folderType: ['folderType', 'folder_type'],\n taskType: ['taskType', 'task_type'],\n productType: ['productType', 'product_type'],\n author: ['author'],\n}\n\nexport const getReadOnlyLists = (\n attribFields: ProjectTableAttribute[],\n writableFields: string[] | undefined,\n extra: string[] = [],\n) => {\n let readOnlyAttribs: string[] = attribFields\n .filter((attrib) => attrib.readOnly) // Filter attributes that are explicitly readOnly\n .map((attrib) => attrib.name) // Extract the names of the readOnly attributes\n\n let readOnlyColumnsSet: Set<string>\n // Gather read-only built-in fields (non-attribute), based on provided writableFields\n const readOnlyFields: string[] = []\n let folderTypeReadOnly = false\n let taskTypeReadOnly = false\n if (writableFields?.length) {\n const writableSet = new Set(writableFields)\n const isWritable = (variants: string[]) => variants.some((v) => writableSet.has(v))\n\n Object.entries(FIELD_VARIANTS).forEach(([fieldId, variants]) => {\n const writable = isWritable(variants)\n if (!writable) {\n // Mark this built-in field as read-only\n readOnlyFields.push(fieldId)\n if (fieldId === 'folderType') folderTypeReadOnly = true\n if (fieldId === 'taskType') taskTypeReadOnly = true\n }\n })\n }\n\n if (extra?.includes('attrib' as any)) {\n // If 'attrib' is in the readonly columns, all attributes are read-only\n readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name) // Mark all attributes as readOnly if they are builtin\n readOnlyColumnsSet = new Set([\n ...attribFields.filter((a) => a.builtin).map((attrib) => 'attrib_' + attrib.name), // Add all attribute columns to the readOnly set\n ...readOnlyFields, // Also include read-only built-in fields\n ...(extra || []), // Add any other specified readOnly columns\n ])\n } else {\n // If 'attrib' is not in the readonly columns, handle individual attributes\n readOnlyColumnsSet = new Set([\n ...readOnlyAttribs.map((name) => 'attrib_' + name), // Add readOnly attribute columns to the set\n ...readOnlyFields, // Add read-only built-in fields to the set (field ids match column ids)\n ...(extra || []), // Add any other specified readOnly columns\n ])\n\n // Add readOnly from extra to attribs\n if (extra) {\n extra.forEach((col) => {\n if (col.startsWith('attrib_')) {\n const attribName = col.replace('attrib_', '')\n if (\n attribFields.find((attrib) => attrib.name === attribName) &&\n !readOnlyAttribs.includes(attribName)\n ) {\n readOnlyAttribs.push(attribName)\n }\n }\n })\n }\n }\n\n // If both folder type and task type are read-only, also add subType as read-only\n // This is a UI-combined field for folderType/taskType\n if (folderTypeReadOnly && taskTypeReadOnly) {\n readOnlyColumnsSet.add('subType')\n if (!readOnlyAttribs.includes('subType')) readOnlyAttribs.push('subType')\n }\n // Also add read-only built-in fields to readOnlyAttribs to expose a combined list\n // (Clipboard paste logic will still only enforce for attrib_ columns.)\n if (readOnlyFields.length) {\n for (const f of readOnlyFields) {\n if (!readOnlyAttribs.includes(f)) readOnlyAttribs.push(f)\n }\n }\n\n const readOnlyColumns = Array.from(readOnlyColumnsSet) // Convert the set of readOnly columns to an array\n\n return { readOnlyColumns, readOnlyAttribs }\n}\n"],"names":["FIELD_VARIANTS","getReadOnlyLists","attribFields","writableFields","extra","readOnlyAttribs","attrib","readOnlyColumnsSet","readOnlyFields","folderTypeReadOnly","taskTypeReadOnly","writableSet","isWritable","variants","v","fieldId","a","name","col","attribName","f"],"mappings":"gFAIA,MAAMA,EAA2C,CAC/C,KAAM,CAAC,MAAM,EACb,MAAO,CAAC,OAAO,EACf,OAAQ,CAAC,QAAQ,EACjB,KAAM,CAAC,MAAM,EACb,UAAW,CAAC,WAAW,EACvB,OAAQ,CAAC,QAAQ,EACjB,SAAU,CAAC,WAAY,WAAW,EAClC,WAAY,CAAC,aAAc,aAAa,EACxC,SAAU,CAAC,WAAY,WAAW,EAClC,YAAa,CAAC,cAAe,cAAc,EAC3C,OAAQ,CAAC,QAAQ,CACnB,EAEaC,EAAmB,CAC9BC,EACAC,EACAC,EAAkB,CAAA,IACf,CACH,IAAIC,EAA4BH,EAC7B,OAAQI,GAAWA,EAAO,QAAQ,EAClC,IAAKA,GAAWA,EAAO,IAAI,EAE1BC,EAEJ,MAAMC,EAA2B,CAAA,EACjC,IAAIC,EAAqB,GACrBC,EAAmB,GACvB,GAAIP,GAAgB,OAAQ,CAC1B,MAAMQ,EAAc,IAAI,IAAIR,CAAc,EACpCS,EAAcC,GAAuBA,EAAS,KAAMC,GAAMH,EAAY,IAAIG,CAAC,CAAC,EAElF,OAAO,QAAQd,CAAc,EAAE,QAAQ,CAAC,CAACe,EAASF,CAAQ,IAAM,CAC7CD,EAAWC,CAAQ,IAGlCL,EAAe,KAAKO,CAAO,EACvBA,IAAY,eAAcN,EAAqB,IAC/CM,IAAY,aAAYL,EAAmB,IAEnD,CAAC,CACH,CA0CA,GAxCIN,GAAO,SAAS,QAAe,GAEjCC,EAAkBH,EAAa,OAAQc,GAAMA,EAAE,OAAO,EAAE,IAAKV,GAAWA,EAAO,IAAI,EACnFC,MAAyB,IAAI,CAC3B,GAAGL,EAAa,OAAQc,GAAMA,EAAE,OAAO,EAAE,IAAKV,GAAW,UAAYA,EAAO,IAAI,EAChF,GAAGE,EACH,GAAIJ,GAAS,CAAA,CAAC,CACf,IAGDG,MAAyB,IAAI,CAC3B,GAAGF,EAAgB,IAAKY,GAAS,UAAYA,CAAI,EACjD,GAAGT,EACH,GAAIJ,GAAS,CAAA,CAAC,CACf,EAGGA,GACFA,EAAM,QAASc,GAAQ,CACrB,GAAIA,EAAI,WAAW,SAAS,EAAG,CAC7B,MAAMC,EAAaD,EAAI,QAAQ,UAAW,EAAE,EAE1ChB,EAAa,KAAMI,GAAWA,EAAO,OAASa,CAAU,GACxD,CAACd,EAAgB,SAASc,CAAU,GAEpCd,EAAgB,KAAKc,CAAU,CAEnC,CACF,CAAC,GAMDV,GAAsBC,IACxBH,EAAmB,IAAI,SAAS,EAC3BF,EAAgB,SAAS,SAAS,GAAGA,EAAgB,KAAK,SAAS,GAItEG,EAAe,OACjB,UAAWY,KAAKZ,EACTH,EAAgB,SAASe,CAAC,GAAGf,EAAgB,KAAKe,CAAC,EAM5D,MAAO,CAAE,gBAFe,MAAM,KAAKb,CAAkB,EAE3B,gBAAAF,CAAA,CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"getReadOnlyLists.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getReadOnlyLists.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\n\n// Known built-in fields. We keep both camelCase and snake_case variants since\n// permissions may use either form depending on the backend response.\nconst FIELD_VARIANTS: Record<string, string[]> = {\n name: ['name'],\n label: ['label'],\n status: ['status'],\n tags: ['tags'],\n assignees: ['assignees'],\n active: ['active'],\n parentId: ['parentId', 'parent_id'],\n folderType: ['folderType', 'folder_type'],\n taskType: ['taskType', 'task_type'],\n productType: ['productType', 'product_type'],\n author: ['author'],\n}\n\nexport const getReadOnlyLists = (\n attribFields: ProjectTableAttribute[],\n writableFields: string[] | undefined,\n extra: string[] = [],\n) => {\n let readOnlyAttribs: string[] = attribFields\n .filter((attrib) => attrib.readOnly) // Filter attributes that are explicitly readOnly\n .map((attrib) => attrib.name) // Extract the names of the readOnly attributes\n\n let readOnlyColumnsSet: Set<string>\n // Gather read-only built-in fields (non-attribute), based on provided writableFields\n const readOnlyFields: string[] = []\n let folderTypeReadOnly = false\n let taskTypeReadOnly = false\n if (writableFields?.length) {\n const writableSet = new Set(writableFields)\n const isWritable = (variants: string[]) => variants.some((v) => writableSet.has(v))\n\n Object.entries(FIELD_VARIANTS).forEach(([fieldId, variants]) => {\n const writable = isWritable(variants)\n if (!writable) {\n // Mark this built-in field as read-only\n readOnlyFields.push(fieldId)\n if (fieldId === 'folderType') folderTypeReadOnly = true\n if (fieldId === 'taskType') taskTypeReadOnly = true\n }\n })\n }\n\n if (extra?.includes('attrib' as any)) {\n // If 'attrib' is in the readonly columns, all attributes are read-only\n readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name) // Mark all attributes as readOnly if they are builtin\n readOnlyColumnsSet = new Set([\n ...attribFields.filter((a) => a.builtin).map((attrib) => 'attrib_' + attrib.name), // Add all attribute columns to the readOnly set\n ...readOnlyFields, // Also include read-only built-in fields\n ...(extra || []), // Add any other specified readOnly columns\n ])\n } else {\n // If 'attrib' is not in the readonly columns, handle individual attributes\n readOnlyColumnsSet = new Set([\n ...readOnlyAttribs.map((name) => 'attrib_' + name), // Add readOnly attribute columns to the set\n ...readOnlyFields, // Add read-only built-in fields to the set (field ids match column ids)\n ...(extra || []), // Add any other specified readOnly columns\n ])\n\n // Add readOnly from extra to attribs\n if (extra) {\n extra.forEach((col) => {\n if (col.startsWith('attrib_')) {\n const attribName = col.replace('attrib_', '')\n if (\n attribFields.find((attrib) => attrib.name === attribName) &&\n !readOnlyAttribs.includes(attribName)\n ) {\n readOnlyAttribs.push(attribName)\n }\n }\n })\n }\n }\n\n // If both folder type and task type are read-only, also add subType as read-only\n // This is a UI-combined field for folderType/taskType\n if (folderTypeReadOnly && taskTypeReadOnly) {\n readOnlyColumnsSet.add('subType')\n if (!readOnlyAttribs.includes('subType')) readOnlyAttribs.push('subType')\n }\n\n // Also add read-only built-in fields to readOnlyAttribs to expose a combined list\n // (Clipboard paste logic will still only enforce for attrib_ columns.)\n if (readOnlyFields.length) {\n for (const f of readOnlyFields) {\n if (!readOnlyAttribs.includes(f)) readOnlyAttribs.push(f)\n }\n }\n\n const readOnlyColumns = Array.from(readOnlyColumnsSet) // Convert the set of readOnly columns to an array\n\n return { readOnlyColumns, readOnlyAttribs }\n}\n"],"names":["FIELD_VARIANTS","getReadOnlyLists","attribFields","writableFields","extra","readOnlyAttribs","attrib","readOnlyColumnsSet","readOnlyFields","folderTypeReadOnly","taskTypeReadOnly","writableSet","isWritable","variants","v","fieldId","a","name","col","attribName","f"],"mappings":"AAIA,MAAMA,IAA2C;AAAA,EAC/C,MAAM,CAAC,MAAM;AAAA,EACb,OAAO,CAAC,OAAO;AAAA,EACf,QAAQ,CAAC,QAAQ;AAAA,EACjB,MAAM,CAAC,MAAM;AAAA,EACb,WAAW,CAAC,WAAW;AAAA,EACvB,QAAQ,CAAC,QAAQ;AAAA,EACjB,UAAU,CAAC,YAAY,WAAW;AAAA,EAClC,YAAY,CAAC,cAAc,aAAa;AAAA,EACxC,UAAU,CAAC,YAAY,WAAW;AAAA,EAClC,aAAa,CAAC,eAAe,cAAc;AAAA,EAC3C,QAAQ,CAAC,QAAQ;AACnB,GAEaC,IAAmB,CAC9BC,GACAC,GACAC,IAAkB,CAAA,MACf;AACH,MAAIC,IAA4BH,EAC7B,OAAO,CAACI,MAAWA,EAAO,QAAQ,EAClC,IAAI,CAACA,MAAWA,EAAO,IAAI,GAE1BC;AAEJ,QAAMC,IAA2B,CAAA;AACjC,MAAIC,IAAqB,IACrBC,IAAmB;AACvB,MAAIP,GAAgB,QAAQ;AAC1B,UAAMQ,IAAc,IAAI,IAAIR,CAAc,GACpCS,IAAa,CAACC,MAAuBA,EAAS,KAAK,CAACC,MAAMH,EAAY,IAAIG,CAAC,CAAC;AAElF,WAAO,QAAQd,CAAc,EAAE,QAAQ,CAAC,CAACe,GAASF,CAAQ,MAAM;AAE9D,MADiBD,EAAWC,CAAQ,MAGlCL,EAAe,KAAKO,CAAO,GACvBA,MAAY,iBAAcN,IAAqB,KAC/CM,MAAY,eAAYL,IAAmB;AAAA,IAEnD,CAAC;AAAA,EACH;AA2CA,MAzCIN,GAAO,SAAS,QAAe,KAEjCC,IAAkBH,EAAa,OAAO,CAACc,MAAMA,EAAE,OAAO,EAAE,IAAI,CAACV,MAAWA,EAAO,IAAI,GACnFC,wBAAyB,IAAI;AAAA,IAC3B,GAAGL,EAAa,OAAO,CAACc,MAAMA,EAAE,OAAO,EAAE,IAAI,CAACV,MAAW,YAAYA,EAAO,IAAI;AAAA;AAAA,IAChF,GAAGE;AAAA;AAAA,IACH,GAAIJ,KAAS,CAAA;AAAA;AAAA,EAAC,CACf,MAGDG,wBAAyB,IAAI;AAAA,IAC3B,GAAGF,EAAgB,IAAI,CAACY,MAAS,YAAYA,CAAI;AAAA;AAAA,IACjD,GAAGT;AAAA;AAAA,IACH,GAAIJ,KAAS,CAAA;AAAA;AAAA,EAAC,CACf,GAGGA,KACFA,EAAM,QAAQ,CAACc,MAAQ;AACrB,QAAIA,EAAI,WAAW,SAAS,GAAG;AAC7B,YAAMC,IAAaD,EAAI,QAAQ,WAAW,EAAE;AAC5C,MACEhB,EAAa,KAAK,CAACI,MAAWA,EAAO,SAASa,CAAU,KACxD,CAACd,EAAgB,SAASc,CAAU,KAEpCd,EAAgB,KAAKc,CAAU;AAAA,IAEnC;AAAA,EACF,CAAC,IAMDV,KAAsBC,MACxBH,EAAmB,IAAI,SAAS,GAC3BF,EAAgB,SAAS,SAAS,KAAGA,EAAgB,KAAK,SAAS,IAKtEG,EAAe;AACjB,eAAWY,KAAKZ;AACd,MAAKH,EAAgB,SAASe,CAAC,KAAGf,EAAgB,KAAKe,CAAC;AAM5D,SAAO,EAAE,iBAFe,MAAM,KAAKb,CAAkB,GAE3B,iBAAAF,EAAA;AAC5B;"}
1
+ {"version":3,"file":"getReadOnlyLists.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getReadOnlyLists.ts"],"sourcesContent":["import { ProjectTableAttribute } from '../types'\n\n// Known built-in fields. We keep both camelCase and snake_case variants since\n// permissions may use either form depending on the backend response.\nconst FIELD_VARIANTS: Record<string, string[]> = {\n name: ['name'],\n label: ['label'],\n status: ['status'],\n tags: ['tags'],\n assignees: ['assignees'],\n active: ['active'],\n parentId: ['parentId', 'parent_id'],\n folderType: ['folderType', 'folder_type'],\n taskType: ['taskType', 'task_type'],\n productType: ['productType', 'product_type'],\n author: ['author'],\n}\n\nexport const getReadOnlyLists = (\n attribFields: ProjectTableAttribute[],\n writableFields: string[] | undefined,\n extra: string[] = [],\n) => {\n let readOnlyAttribs: string[] = attribFields\n .filter((attrib) => attrib.readOnly) // Filter attributes that are explicitly readOnly\n .map((attrib) => attrib.name) // Extract the names of the readOnly attributes\n\n let readOnlyColumnsSet: Set<string>\n // Gather read-only built-in fields (non-attribute), based on provided writableFields\n const readOnlyFields: string[] = []\n let folderTypeReadOnly = false\n let taskTypeReadOnly = false\n if (writableFields?.length) {\n const writableSet = new Set(writableFields)\n const isWritable = (variants: string[]) => variants.some((v) => writableSet.has(v))\n\n Object.entries(FIELD_VARIANTS).forEach(([fieldId, variants]) => {\n const writable = isWritable(variants)\n if (!writable) {\n // Mark this built-in field as read-only\n readOnlyFields.push(fieldId)\n if (fieldId === 'folderType') folderTypeReadOnly = true\n if (fieldId === 'taskType') taskTypeReadOnly = true\n }\n })\n }\n\n if (extra?.includes('attrib' as any)) {\n // If 'attrib' is in the readonly columns, all attributes are read-only\n readOnlyAttribs = attribFields.filter((a) => a.builtin).map((attrib) => attrib.name) // Mark all attributes as readOnly if they are builtin\n readOnlyColumnsSet = new Set([\n ...attribFields.filter((a) => a.builtin).map((attrib) => 'attrib_' + attrib.name), // Add all attribute columns to the readOnly set\n ...readOnlyFields, // Also include read-only built-in fields\n ...(extra || []), // Add any other specified readOnly columns\n ])\n } else {\n // If 'attrib' is not in the readonly columns, handle individual attributes\n readOnlyColumnsSet = new Set([\n ...readOnlyAttribs.map((name) => 'attrib_' + name), // Add readOnly attribute columns to the set\n ...readOnlyFields, // Add read-only built-in fields to the set (field ids match column ids)\n ...(extra || []), // Add any other specified readOnly columns\n ])\n\n // Add readOnly from extra to attribs\n if (extra) {\n extra.forEach((col) => {\n if (col.startsWith('attrib_')) {\n const attribName = col.replace('attrib_', '')\n if (\n attribFields.find((attrib) => attrib.name === attribName) &&\n !readOnlyAttribs.includes(attribName)\n ) {\n readOnlyAttribs.push(attribName)\n }\n }\n })\n }\n }\n\n // If both folder type and task type are read-only, also add subType as read-only\n // This is a UI-combined field for folderType/taskType\n if (folderTypeReadOnly && taskTypeReadOnly) {\n readOnlyColumnsSet.add('subType')\n if (!readOnlyAttribs.includes('subType')) readOnlyAttribs.push('subType')\n }\n // Also add read-only built-in fields to readOnlyAttribs to expose a combined list\n // (Clipboard paste logic will still only enforce for attrib_ columns.)\n if (readOnlyFields.length) {\n for (const f of readOnlyFields) {\n if (!readOnlyAttribs.includes(f)) readOnlyAttribs.push(f)\n }\n }\n\n const readOnlyColumns = Array.from(readOnlyColumnsSet) // Convert the set of readOnly columns to an array\n\n return { readOnlyColumns, readOnlyAttribs }\n}\n"],"names":["FIELD_VARIANTS","getReadOnlyLists","attribFields","writableFields","extra","readOnlyAttribs","attrib","readOnlyColumnsSet","readOnlyFields","folderTypeReadOnly","taskTypeReadOnly","writableSet","isWritable","variants","v","fieldId","a","name","col","attribName","f"],"mappings":"AAIA,MAAMA,IAA2C;AAAA,EAC/C,MAAM,CAAC,MAAM;AAAA,EACb,OAAO,CAAC,OAAO;AAAA,EACf,QAAQ,CAAC,QAAQ;AAAA,EACjB,MAAM,CAAC,MAAM;AAAA,EACb,WAAW,CAAC,WAAW;AAAA,EACvB,QAAQ,CAAC,QAAQ;AAAA,EACjB,UAAU,CAAC,YAAY,WAAW;AAAA,EAClC,YAAY,CAAC,cAAc,aAAa;AAAA,EACxC,UAAU,CAAC,YAAY,WAAW;AAAA,EAClC,aAAa,CAAC,eAAe,cAAc;AAAA,EAC3C,QAAQ,CAAC,QAAQ;AACnB,GAEaC,IAAmB,CAC9BC,GACAC,GACAC,IAAkB,CAAA,MACf;AACH,MAAIC,IAA4BH,EAC7B,OAAO,CAACI,MAAWA,EAAO,QAAQ,EAClC,IAAI,CAACA,MAAWA,EAAO,IAAI,GAE1BC;AAEJ,QAAMC,IAA2B,CAAA;AACjC,MAAIC,IAAqB,IACrBC,IAAmB;AACvB,MAAIP,GAAgB,QAAQ;AAC1B,UAAMQ,IAAc,IAAI,IAAIR,CAAc,GACpCS,IAAa,CAACC,MAAuBA,EAAS,KAAK,CAACC,MAAMH,EAAY,IAAIG,CAAC,CAAC;AAElF,WAAO,QAAQd,CAAc,EAAE,QAAQ,CAAC,CAACe,GAASF,CAAQ,MAAM;AAE9D,MADiBD,EAAWC,CAAQ,MAGlCL,EAAe,KAAKO,CAAO,GACvBA,MAAY,iBAAcN,IAAqB,KAC/CM,MAAY,eAAYL,IAAmB;AAAA,IAEnD,CAAC;AAAA,EACH;AA0CA,MAxCIN,GAAO,SAAS,QAAe,KAEjCC,IAAkBH,EAAa,OAAO,CAACc,MAAMA,EAAE,OAAO,EAAE,IAAI,CAACV,MAAWA,EAAO,IAAI,GACnFC,wBAAyB,IAAI;AAAA,IAC3B,GAAGL,EAAa,OAAO,CAACc,MAAMA,EAAE,OAAO,EAAE,IAAI,CAACV,MAAW,YAAYA,EAAO,IAAI;AAAA;AAAA,IAChF,GAAGE;AAAA;AAAA,IACH,GAAIJ,KAAS,CAAA;AAAA;AAAA,EAAC,CACf,MAGDG,wBAAyB,IAAI;AAAA,IAC3B,GAAGF,EAAgB,IAAI,CAACY,MAAS,YAAYA,CAAI;AAAA;AAAA,IACjD,GAAGT;AAAA;AAAA,IACH,GAAIJ,KAAS,CAAA;AAAA;AAAA,EAAC,CACf,GAGGA,KACFA,EAAM,QAAQ,CAACc,MAAQ;AACrB,QAAIA,EAAI,WAAW,SAAS,GAAG;AAC7B,YAAMC,IAAaD,EAAI,QAAQ,WAAW,EAAE;AAC5C,MACEhB,EAAa,KAAK,CAACI,MAAWA,EAAO,SAASa,CAAU,KACxD,CAACd,EAAgB,SAASc,CAAU,KAEpCd,EAAgB,KAAKc,CAAU;AAAA,IAEnC;AAAA,EACF,CAAC,IAMDV,KAAsBC,MACxBH,EAAmB,IAAI,SAAS,GAC3BF,EAAgB,SAAS,SAAS,KAAGA,EAAgB,KAAK,SAAS,IAItEG,EAAe;AACjB,eAAWY,KAAKZ;AACd,MAAKH,EAAgB,SAASe,CAAC,KAAGf,EAAgB,KAAKe,CAAC;AAM5D,SAAO,EAAE,iBAFe,MAAM,KAAKb,CAAkB,GAE3B,iBAAAF,EAAA;AAC5B;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=({users:p,statuses:t,folderTypes:s,taskTypes:o,productTypes:i,tags:u,scopes:b})=>({assignee:p.map(({name:e,fullName:l})=>({value:e,label:l||e,icon:`/api/users/${e}/avatar`})),status:t.filter(e=>!e.scope||b.some(l=>e.scope?.includes(l))).map(({name:e,color:l,icon:a,scope:r})=>({value:e,label:e,color:l,icon:a,scope:r})),tag:u.map(({name:e,color:l})=>({value:e,label:e,color:l})),folderType:s.map(({name:e,icon:l,color:a})=>({value:e,label:e,icon:l,color:a})),taskType:o.map(({name:e,icon:l,color:a})=>({value:e,label:e,icon:l,color:a})),productType:i.map(({name:e,icon:l,color:a})=>({value:e,label:e,icon:l,color:a}))});exports.getTableFieldOptions=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=({users:s,statuses:o,folderTypes:p,taskTypes:u,productTypes:i,tags:r,scopes:b})=>{const t=e=>o.filter(l=>!l.scope||e.some(a=>l.scope?.includes(a))).map(({name:l,color:a,icon:c,scope:d})=>({value:l,label:l,color:a,icon:c,scope:d}));return{assignee:s.map(({name:e,fullName:l})=>({value:e,label:l||e,icon:`/api/users/${e}/avatar`})),status:t(b),folderStatus:t(["folder"]),tag:r.map(({name:e,color:l})=>({value:e,label:e,color:l})),folderType:p.map(({name:e,icon:l,color:a})=>({value:e,label:e,icon:l,color:a})),taskType:u.map(({name:e,icon:l,color:a})=>({value:e,label:e,icon:l,color:a})),productType:i.map(({name:e,icon:l,color:a})=>({value:e,label:e,icon:l,color:a}))}};exports.getTableFieldOptions=v;
2
2
  //# sourceMappingURL=getTableFieldOptions.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTableFieldOptions.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTableFieldOptions.ts"],"sourcesContent":["import { BuiltInFieldOptions } from '../types'\nimport { FolderType, Status, Tag, TaskType, ProductType} from '../types/project'\n\ntype Params = {\n users: {\n name: string\n fullName?: string\n }[]\n statuses: Status[]\n folderTypes: FolderType[]\n taskTypes: TaskType[]\n productTypes: ProductType[]\n tags: Tag[]\n scopes: string[]\n}\n\nexport const getTableFieldOptions = ({\n users,\n statuses,\n folderTypes,\n taskTypes,\n productTypes,\n tags,\n scopes,\n}: Params): BuiltInFieldOptions => ({\n assignee: users.map(({ name, fullName }) => ({\n value: name,\n label: fullName || name,\n icon: `/api/users/${name}/avatar`,\n })),\n status: statuses\n .filter((status) => !status.scope || scopes.some((s) => status.scope?.includes(s)))\n .map(({ name, color, icon, scope }) => ({\n value: name,\n label: name,\n color,\n icon,\n scope,\n })),\n tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),\n folderType: folderTypes.map(({ name, icon, color }) => ({ value: name, label: name, icon, color })),\n taskType: taskTypes.map(({ name, icon, color }) => ({ value: name, label: name, icon, color })),\n productType: productTypes.map(({name, icon, color}) => ({value: name, label: name, icon, color})),\n\n\n})\n"],"names":["getTableFieldOptions","users","statuses","folderTypes","taskTypes","productTypes","tags","scopes","name","fullName","status","s","color","icon","scope"],"mappings":"gFAgBO,MAAMA,EAAuB,CAAC,CACnC,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,UAAAC,EACA,aAAAC,EACA,KAAAC,EACA,OAAAC,CACF,KAAoC,CAClC,SAAUN,EAAM,IAAI,CAAC,CAAE,KAAAO,EAAM,SAAAC,MAAgB,CAC3C,MAAOD,EACP,MAAOC,GAAYD,EACnB,KAAM,cAAcA,CAAI,SAAA,EACxB,EACF,OAAQN,EACL,OAAQQ,GAAW,CAACA,EAAO,OAASH,EAAO,KAAMI,GAAMD,EAAO,OAAO,SAASC,CAAC,CAAC,CAAC,EACjF,IAAI,CAAC,CAAE,KAAAH,EAAM,MAAAI,EAAO,KAAAC,EAAM,MAAAC,MAAa,CACtC,MAAON,EACP,MAAOA,EACP,MAAAI,EACA,KAAAC,EACA,MAAAC,CAAA,EACA,EACJ,IAAKR,EAAK,IAAI,CAAC,CAAE,KAAAE,EAAM,MAAAI,CAAA,KAAa,CAAE,MAAOJ,EAAM,MAAOA,EAAM,MAAAI,GAAQ,EACxE,WAAYT,EAAY,IAAI,CAAC,CAAE,KAAAK,EAAM,KAAAK,EAAM,MAAAD,CAAA,KAAa,CAAE,MAAOJ,EAAM,MAAOA,EAAM,KAAAK,EAAM,MAAAD,GAAQ,EAClG,SAAUR,EAAU,IAAI,CAAC,CAAE,KAAAI,EAAM,KAAAK,EAAM,MAAAD,CAAA,KAAa,CAAE,MAAOJ,EAAM,MAAOA,EAAM,KAAAK,EAAM,MAAAD,GAAQ,EAC9F,YAAaP,EAAa,IAAI,CAAC,CAAC,KAAAG,EAAM,KAAAK,EAAM,MAAAD,CAAA,KAAY,CAAC,MAAOJ,EAAM,MAAOA,EAAM,KAAAK,EAAM,MAAAD,GAAO,CAGlG"}
1
+ {"version":3,"file":"getTableFieldOptions.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTableFieldOptions.ts"],"sourcesContent":["import type { ProductType } from '@shared/api'\nimport type { BuiltInFieldOptions } from '../types'\nimport type { FolderType, Status, Tag, TaskType } from '../types/project'\n\ntype Params = {\n users: {\n name: string\n fullName?: string\n }[]\n statuses: Status[]\n folderTypes: FolderType[]\n taskTypes: TaskType[]\n productTypes: ProductType[]\n tags: Tag[]\n scopes: string[]\n}\n\nexport const getTableFieldOptions = ({\n users,\n statuses,\n folderTypes,\n taskTypes,\n productTypes,\n tags,\n scopes,\n}: Params): BuiltInFieldOptions => {\n const getStatusOptions = (allowedScopes: string[]) =>\n statuses\n .filter(\n (status) => !status.scope || allowedScopes.some((scope) => status.scope?.includes(scope)),\n )\n .map(({ name, color, icon, scope }) => ({\n value: name,\n label: name,\n color,\n icon,\n scope,\n }))\n\n return {\n assignee: users.map(({ name, fullName }) => ({\n value: name,\n label: fullName || name,\n icon: `/api/users/${name}/avatar`,\n })),\n status: getStatusOptions(scopes),\n folderStatus: getStatusOptions(['folder']),\n tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),\n folderType: folderTypes.map(({ name, icon, color }) => ({\n value: name,\n label: name,\n icon,\n color,\n })),\n taskType: taskTypes.map(({ name, icon, color }) => ({ value: name, label: name, icon, color })),\n productType: productTypes.map(({ name, icon, color }) => ({\n value: name,\n label: name,\n icon,\n color,\n })),\n }\n}\n"],"names":["getTableFieldOptions","users","statuses","folderTypes","taskTypes","productTypes","tags","scopes","getStatusOptions","allowedScopes","status","scope","name","color","icon","fullName"],"mappings":"gFAiBO,MAAMA,EAAuB,CAAC,CACnC,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,UAAAC,EACA,aAAAC,EACA,KAAAC,EACA,OAAAC,CACF,IAAmC,CACjC,MAAMC,EAAoBC,GACxBP,EACG,OACEQ,GAAW,CAACA,EAAO,OAASD,EAAc,KAAME,GAAUD,EAAO,OAAO,SAASC,CAAK,CAAC,CAAA,EAEzF,IAAI,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,KAAAC,EAAM,MAAAH,MAAa,CACtC,MAAOC,EACP,MAAOA,EACP,MAAAC,EACA,KAAAC,EACA,MAAAH,CAAA,EACA,EAEN,MAAO,CACL,SAAUV,EAAM,IAAI,CAAC,CAAE,KAAAW,EAAM,SAAAG,MAAgB,CAC3C,MAAOH,EACP,MAAOG,GAAYH,EACnB,KAAM,cAAcA,CAAI,SAAA,EACxB,EACF,OAAQJ,EAAiBD,CAAM,EAC/B,aAAcC,EAAiB,CAAC,QAAQ,CAAC,EACzC,IAAKF,EAAK,IAAI,CAAC,CAAE,KAAAM,EAAM,MAAAC,CAAA,KAAa,CAAE,MAAOD,EAAM,MAAOA,EAAM,MAAAC,GAAQ,EACxE,WAAYV,EAAY,IAAI,CAAC,CAAE,KAAAS,EAAM,KAAAE,EAAM,MAAAD,MAAa,CACtD,MAAOD,EACP,MAAOA,EACP,KAAAE,EACA,MAAAD,CAAA,EACA,EACF,SAAUT,EAAU,IAAI,CAAC,CAAE,KAAAQ,EAAM,KAAAE,EAAM,MAAAD,CAAA,KAAa,CAAE,MAAOD,EAAM,MAAOA,EAAM,KAAAE,EAAM,MAAAD,GAAQ,EAC9F,YAAaR,EAAa,IAAI,CAAC,CAAE,KAAAO,EAAM,KAAAE,EAAM,MAAAD,MAAa,CACxD,MAAOD,EACP,MAAOA,EACP,KAAAE,EACA,MAAAD,CAAA,EACA,CAAA,CAEN"}
@@ -1,30 +1,46 @@
1
- const c = ({
1
+ const d = ({
2
2
  users: p,
3
3
  statuses: s,
4
4
  folderTypes: o,
5
- taskTypes: t,
6
- productTypes: u,
7
- tags: b,
8
- scopes: i
9
- }) => ({
10
- assignee: p.map(({ name: l, fullName: e }) => ({
11
- value: l,
12
- label: e || l,
13
- icon: `/api/users/${l}/avatar`
14
- })),
15
- status: s.filter((l) => !l.scope || i.some((e) => l.scope?.includes(e))).map(({ name: l, color: e, icon: a, scope: v }) => ({
5
+ taskTypes: u,
6
+ productTypes: r,
7
+ tags: i,
8
+ scopes: b
9
+ }) => {
10
+ const t = (e) => s.filter(
11
+ (l) => !l.scope || e.some((a) => l.scope?.includes(a))
12
+ ).map(({ name: l, color: a, icon: c, scope: v }) => ({
16
13
  value: l,
17
14
  label: l,
18
- color: e,
19
- icon: a,
15
+ color: a,
16
+ icon: c,
20
17
  scope: v
21
- })),
22
- tag: b.map(({ name: l, color: e }) => ({ value: l, label: l, color: e })),
23
- folderType: o.map(({ name: l, icon: e, color: a }) => ({ value: l, label: l, icon: e, color: a })),
24
- taskType: t.map(({ name: l, icon: e, color: a }) => ({ value: l, label: l, icon: e, color: a })),
25
- productType: u.map(({ name: l, icon: e, color: a }) => ({ value: l, label: l, icon: e, color: a }))
26
- });
18
+ }));
19
+ return {
20
+ assignee: p.map(({ name: e, fullName: l }) => ({
21
+ value: e,
22
+ label: l || e,
23
+ icon: `/api/users/${e}/avatar`
24
+ })),
25
+ status: t(b),
26
+ folderStatus: t(["folder"]),
27
+ tag: i.map(({ name: e, color: l }) => ({ value: e, label: e, color: l })),
28
+ folderType: o.map(({ name: e, icon: l, color: a }) => ({
29
+ value: e,
30
+ label: e,
31
+ icon: l,
32
+ color: a
33
+ })),
34
+ taskType: u.map(({ name: e, icon: l, color: a }) => ({ value: e, label: e, icon: l, color: a })),
35
+ productType: r.map(({ name: e, icon: l, color: a }) => ({
36
+ value: e,
37
+ label: e,
38
+ icon: l,
39
+ color: a
40
+ }))
41
+ };
42
+ };
27
43
  export {
28
- c as getTableFieldOptions
44
+ d as getTableFieldOptions
29
45
  };
30
46
  //# sourceMappingURL=getTableFieldOptions.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTableFieldOptions.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTableFieldOptions.ts"],"sourcesContent":["import { BuiltInFieldOptions } from '../types'\nimport { FolderType, Status, Tag, TaskType, ProductType} from '../types/project'\n\ntype Params = {\n users: {\n name: string\n fullName?: string\n }[]\n statuses: Status[]\n folderTypes: FolderType[]\n taskTypes: TaskType[]\n productTypes: ProductType[]\n tags: Tag[]\n scopes: string[]\n}\n\nexport const getTableFieldOptions = ({\n users,\n statuses,\n folderTypes,\n taskTypes,\n productTypes,\n tags,\n scopes,\n}: Params): BuiltInFieldOptions => ({\n assignee: users.map(({ name, fullName }) => ({\n value: name,\n label: fullName || name,\n icon: `/api/users/${name}/avatar`,\n })),\n status: statuses\n .filter((status) => !status.scope || scopes.some((s) => status.scope?.includes(s)))\n .map(({ name, color, icon, scope }) => ({\n value: name,\n label: name,\n color,\n icon,\n scope,\n })),\n tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),\n folderType: folderTypes.map(({ name, icon, color }) => ({ value: name, label: name, icon, color })),\n taskType: taskTypes.map(({ name, icon, color }) => ({ value: name, label: name, icon, color })),\n productType: productTypes.map(({name, icon, color}) => ({value: name, label: name, icon, color})),\n\n\n})\n"],"names":["getTableFieldOptions","users","statuses","folderTypes","taskTypes","productTypes","tags","scopes","name","fullName","status","s","color","icon","scope"],"mappings":"AAgBO,MAAMA,IAAuB,CAAC;AAAA,EACnC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AACF,OAAoC;AAAA,EAClC,UAAUN,EAAM,IAAI,CAAC,EAAE,MAAAO,GAAM,UAAAC,SAAgB;AAAA,IAC3C,OAAOD;AAAA,IACP,OAAOC,KAAYD;AAAA,IACnB,MAAM,cAAcA,CAAI;AAAA,EAAA,EACxB;AAAA,EACF,QAAQN,EACL,OAAO,CAACQ,MAAW,CAACA,EAAO,SAASH,EAAO,KAAK,CAACI,MAAMD,EAAO,OAAO,SAASC,CAAC,CAAC,CAAC,EACjF,IAAI,CAAC,EAAE,MAAAH,GAAM,OAAAI,GAAO,MAAAC,GAAM,OAAAC,SAAa;AAAA,IACtC,OAAON;AAAA,IACP,OAAOA;AAAA,IACP,OAAAI;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,EACA;AAAA,EACJ,KAAKR,EAAK,IAAI,CAAC,EAAE,MAAAE,GAAM,OAAAI,EAAA,OAAa,EAAE,OAAOJ,GAAM,OAAOA,GAAM,OAAAI,IAAQ;AAAA,EACxE,YAAYT,EAAY,IAAI,CAAC,EAAE,MAAAK,GAAM,MAAAK,GAAM,OAAAD,EAAA,OAAa,EAAE,OAAOJ,GAAM,OAAOA,GAAM,MAAAK,GAAM,OAAAD,IAAQ;AAAA,EAClG,UAAUR,EAAU,IAAI,CAAC,EAAE,MAAAI,GAAM,MAAAK,GAAM,OAAAD,EAAA,OAAa,EAAE,OAAOJ,GAAM,OAAOA,GAAM,MAAAK,GAAM,OAAAD,IAAQ;AAAA,EAC9F,aAAaP,EAAa,IAAI,CAAC,EAAC,MAAAG,GAAM,MAAAK,GAAM,OAAAD,EAAA,OAAY,EAAC,OAAOJ,GAAM,OAAOA,GAAM,MAAAK,GAAM,OAAAD,IAAO;AAGlG;"}
1
+ {"version":3,"file":"getTableFieldOptions.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTableFieldOptions.ts"],"sourcesContent":["import type { ProductType } from '@shared/api'\nimport type { BuiltInFieldOptions } from '../types'\nimport type { FolderType, Status, Tag, TaskType } from '../types/project'\n\ntype Params = {\n users: {\n name: string\n fullName?: string\n }[]\n statuses: Status[]\n folderTypes: FolderType[]\n taskTypes: TaskType[]\n productTypes: ProductType[]\n tags: Tag[]\n scopes: string[]\n}\n\nexport const getTableFieldOptions = ({\n users,\n statuses,\n folderTypes,\n taskTypes,\n productTypes,\n tags,\n scopes,\n}: Params): BuiltInFieldOptions => {\n const getStatusOptions = (allowedScopes: string[]) =>\n statuses\n .filter(\n (status) => !status.scope || allowedScopes.some((scope) => status.scope?.includes(scope)),\n )\n .map(({ name, color, icon, scope }) => ({\n value: name,\n label: name,\n color,\n icon,\n scope,\n }))\n\n return {\n assignee: users.map(({ name, fullName }) => ({\n value: name,\n label: fullName || name,\n icon: `/api/users/${name}/avatar`,\n })),\n status: getStatusOptions(scopes),\n folderStatus: getStatusOptions(['folder']),\n tag: tags.map(({ name, color }) => ({ value: name, label: name, color })),\n folderType: folderTypes.map(({ name, icon, color }) => ({\n value: name,\n label: name,\n icon,\n color,\n })),\n taskType: taskTypes.map(({ name, icon, color }) => ({ value: name, label: name, icon, color })),\n productType: productTypes.map(({ name, icon, color }) => ({\n value: name,\n label: name,\n icon,\n color,\n })),\n }\n}\n"],"names":["getTableFieldOptions","users","statuses","folderTypes","taskTypes","productTypes","tags","scopes","getStatusOptions","allowedScopes","status","scope","name","color","icon","fullName"],"mappings":"AAiBO,MAAMA,IAAuB,CAAC;AAAA,EACnC,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC;AAAA,EACA,QAAAC;AACF,MAAmC;AACjC,QAAMC,IAAmB,CAACC,MACxBP,EACG;AAAA,IACC,CAACQ,MAAW,CAACA,EAAO,SAASD,EAAc,KAAK,CAACE,MAAUD,EAAO,OAAO,SAASC,CAAK,CAAC;AAAA,EAAA,EAEzF,IAAI,CAAC,EAAE,MAAAC,GAAM,OAAAC,GAAO,MAAAC,GAAM,OAAAH,SAAa;AAAA,IACtC,OAAOC;AAAA,IACP,OAAOA;AAAA,IACP,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAH;AAAA,EAAA,EACA;AAEN,SAAO;AAAA,IACL,UAAUV,EAAM,IAAI,CAAC,EAAE,MAAAW,GAAM,UAAAG,SAAgB;AAAA,MAC3C,OAAOH;AAAA,MACP,OAAOG,KAAYH;AAAA,MACnB,MAAM,cAAcA,CAAI;AAAA,IAAA,EACxB;AAAA,IACF,QAAQJ,EAAiBD,CAAM;AAAA,IAC/B,cAAcC,EAAiB,CAAC,QAAQ,CAAC;AAAA,IACzC,KAAKF,EAAK,IAAI,CAAC,EAAE,MAAAM,GAAM,OAAAC,EAAA,OAAa,EAAE,OAAOD,GAAM,OAAOA,GAAM,OAAAC,IAAQ;AAAA,IACxE,YAAYV,EAAY,IAAI,CAAC,EAAE,MAAAS,GAAM,MAAAE,GAAM,OAAAD,SAAa;AAAA,MACtD,OAAOD;AAAA,MACP,OAAOA;AAAA,MACP,MAAAE;AAAA,MACA,OAAAD;AAAA,IAAA,EACA;AAAA,IACF,UAAUT,EAAU,IAAI,CAAC,EAAE,MAAAQ,GAAM,MAAAE,GAAM,OAAAD,EAAA,OAAa,EAAE,OAAOD,GAAM,OAAOA,GAAM,MAAAE,GAAM,OAAAD,IAAQ;AAAA,IAC9F,aAAaR,EAAa,IAAI,CAAC,EAAE,MAAAO,GAAM,MAAAE,GAAM,OAAAD,SAAa;AAAA,MACxD,OAAOD;AAAA,MACP,OAAOA;AAAA,MACP,MAAAE;AAAA,MACA,OAAAD;AAAA,IAAA,EACA;AAAA,EAAA;AAEN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTypeDefaultValue.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTypeDefaultValue.ts"],"sourcesContent":["import { AttributeData } from '@shared/api'\n\nexport const getTypeDefaultValue = (type: AttributeData['type']) => {\n switch (type) {\n case 'boolean':\n return false\n case 'datetime':\n return null\n case 'float':\n case 'integer':\n return 0\n case 'string':\n return ''\n case 'list_of_strings':\n case 'list_of_integers':\n case 'list_of_any':\n case 'list_of_submodels':\n return []\n case 'dict':\n return {}\n default:\n return null\n }\n}\n"],"names":["getTypeDefaultValue","type"],"mappings":"gFAEO,MAAMA,EAAuBC,GAAgC,CAClE,OAAQA,EAAA,CACN,IAAK,UACH,MAAO,GACT,IAAK,WACH,OAAO,KACT,IAAK,QACL,IAAK,UACH,MAAO,GACT,IAAK,SACH,MAAO,GACT,IAAK,kBACL,IAAK,mBACL,IAAK,cACL,IAAK,oBACH,MAAO,CAAA,EACT,IAAK,OACH,MAAO,CAAA,EACT,QACE,OAAO,IAAA,CAEb"}
1
+ {"version":3,"file":"getTypeDefaultValue.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTypeDefaultValue.ts"],"sourcesContent":["import type { AttributeData } from '@shared/api'\n\nexport const getTypeDefaultValue = (type: AttributeData['type']) => {\n switch (type) {\n case 'boolean':\n return false\n case 'datetime':\n return null\n case 'float':\n case 'integer':\n return 0\n case 'string':\n return ''\n case 'list_of_strings':\n case 'list_of_integers':\n case 'list_of_any':\n case 'list_of_submodels':\n return []\n case 'dict':\n return {}\n default:\n return null\n }\n}\n"],"names":["getTypeDefaultValue","type"],"mappings":"gFAEO,MAAMA,EAAuBC,GAAgC,CAClE,OAAQA,EAAA,CACN,IAAK,UACH,MAAO,GACT,IAAK,WACH,OAAO,KACT,IAAK,QACL,IAAK,UACH,MAAO,GACT,IAAK,SACH,MAAO,GACT,IAAK,kBACL,IAAK,mBACL,IAAK,cACL,IAAK,oBACH,MAAO,CAAA,EACT,IAAK,OACH,MAAO,CAAA,EACT,QACE,OAAO,IAAA,CAEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"getTypeDefaultValue.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTypeDefaultValue.ts"],"sourcesContent":["import { AttributeData } from '@shared/api'\n\nexport const getTypeDefaultValue = (type: AttributeData['type']) => {\n switch (type) {\n case 'boolean':\n return false\n case 'datetime':\n return null\n case 'float':\n case 'integer':\n return 0\n case 'string':\n return ''\n case 'list_of_strings':\n case 'list_of_integers':\n case 'list_of_any':\n case 'list_of_submodels':\n return []\n case 'dict':\n return {}\n default:\n return null\n }\n}\n"],"names":["getTypeDefaultValue","type"],"mappings":"AAEO,MAAMA,IAAsB,CAACC,MAAgC;AAClE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,CAAA;AAAA,IACT,KAAK;AACH,aAAO,CAAA;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;"}
1
+ {"version":3,"file":"getTypeDefaultValue.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/getTypeDefaultValue.ts"],"sourcesContent":["import type { AttributeData } from '@shared/api'\n\nexport const getTypeDefaultValue = (type: AttributeData['type']) => {\n switch (type) {\n case 'boolean':\n return false\n case 'datetime':\n return null\n case 'float':\n case 'integer':\n return 0\n case 'string':\n return ''\n case 'list_of_strings':\n case 'list_of_integers':\n case 'list_of_any':\n case 'list_of_submodels':\n return []\n case 'dict':\n return {}\n default:\n return null\n }\n}\n"],"names":["getTypeDefaultValue","type"],"mappings":"AAEO,MAAMA,IAAsB,CAACC,MAAgC;AAClE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAO,CAAA;AAAA,IACT,KAAK;AACH,aAAO,CAAA;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;"}
@@ -1 +1 @@
1
- {"version":3,"file":"linksToTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/linksToTableData.ts"],"sourcesContent":["// converts the links array to the data shown in the table (object of link keys with list of link entity names)\n// we split the links by direction (in/out) and store them in an object\n\nimport { LinkEntity } from '@shared/components'\nimport { getLinkKey } from '../buildTreeTableColumns'\nimport { EntityLink } from '@shared/api'\nimport { getEntityColor, getEntityIcon, IconAnatomy } from '@shared/util/iconUtils'\n\nexport type LinkId = string\nexport type LinkValue = LinkEntity[]\nexport type LinksTableData = Record<LinkId, LinkValue>\n\nexport const linksToTableData = (\n links: EntityLink[] | undefined,\n entityType: string,\n anatomy: IconAnatomy,\n): LinksTableData =>\n links?.reduce((acc, edge) => {\n const { linkType, direction, entityType: linkEntityType, id, node, isRestricted } = edge\n\n // Handle restricted links (node is null)\n if (isRestricted || !node) {\n const entityData: LinkEntity = {\n label: '',\n parents: [],\n linkId: id,\n entityId: '',\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, undefined, anatomy),\n color: undefined,\n isRestricted: true,\n }\n\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }\n\n // Handle normal links\n const entityData: LinkEntity = {\n label: (node.label || node.name) as string,\n parents: node.parents,\n linkId: id,\n entityId: node.id as string,\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, node.subType, anatomy),\n color: getEntityColor(linkEntityType, node.subType, anatomy),\n }\n\n // we must build the entity link type name based on the direction and entity types\n // e.g. \"linkType|inEntityType|outEntityType\"\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n // add the entity name to the link type\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }, {} as LinksTableData) || {}\n\n// converts the link type + in/out entity types to a link name format {linkType}|in|out\nconst linkTypeToLinkName = (\n linkType: string,\n baseEntityType: string,\n linkEntityType: string,\n direction: 'in' | 'out' | string,\n): string => {\n const firstType = direction === 'in' ? linkEntityType : baseEntityType\n const secondType = direction === 'in' ? baseEntityType : linkEntityType\n return `${linkType}|${firstType}|${secondType}`\n}\n"],"names":["linksToTableData","links","entityType","anatomy","acc","edge","linkType","direction","linkEntityType","id","node","isRestricted","entityData","getEntityIcon","linkTypeName","linkTypeToLinkName","tableId","getLinkKey","getEntityColor","baseEntityType"],"mappings":"+KAYaA,EAAmB,CAC9BC,EACAC,EACAC,IAEAF,GAAO,OAAO,CAACG,EAAKC,IAAS,CAC3B,KAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,WAAYC,EAAgB,GAAAC,EAAI,KAAAC,EAAM,aAAAC,GAAiBN,EAGpF,GAAIM,GAAgB,CAACD,EAAM,CACzB,MAAME,EAAyB,CAC7B,MAAO,GACP,QAAS,CAAA,EACT,OAAQH,EACR,SAAU,GACV,WAAYD,EACZ,KAAMK,EAAAA,cAAcL,EAAgB,OAAWL,CAAO,EACtD,MAAO,OACP,aAAc,EAAA,EAGVW,EAAeC,EAAmBT,EAAUJ,EAAYM,EAAgBD,CAAS,EACjFS,EAAUC,EAAAA,WAAW,CAAE,KAAMH,CAAAA,EAAgBP,CAAS,EAE5D,OAAKH,EAAIY,CAAO,IACdZ,EAAIY,CAAO,EAAI,CAAA,GAGZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,GACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,EAGvBR,CACT,CAGA,MAAMQ,EAAyB,CAC7B,MAAQF,EAAK,OAASA,EAAK,KAC3B,QAASA,EAAK,QACd,OAAQD,EACR,SAAUC,EAAK,GACf,WAAYF,EACZ,KAAMK,EAAAA,cAAcL,EAAgBE,EAAK,QAASP,CAAO,EACzD,MAAOe,EAAAA,eAAeV,EAAgBE,EAAK,QAASP,CAAO,CAAA,EAKvDW,EAAeC,EAAmBT,EAAUJ,EAAYM,EAAgBD,CAAS,EAEjFS,EAAUC,EAAAA,WAAW,CAAE,KAAMH,CAAA,EAAgBP,CAAS,EAE5D,OAAKH,EAAIY,CAAO,IACdZ,EAAIY,CAAO,EAAI,CAAA,GAIZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,GACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,EAGvBR,CACT,EAAG,CAAA,CAAoB,GAAK,CAAA,EAGxBW,EAAqB,CACzBT,EACAa,EACAX,EACAD,IAIO,GAAGD,CAAQ,IAFAC,IAAc,KAAOC,EAAiBW,CAEzB,IADZZ,IAAc,KAAOY,EAAiBX,CACZ"}
1
+ {"version":3,"file":"linksToTableData.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/linksToTableData.ts"],"sourcesContent":["// converts the links array to the data shown in the table (object of link keys with list of link entity names)\n// we split the links by direction (in/out) and store them in an object\n\nimport type { LinkEntity } from '@shared/components/LinksManager/LinksManager'\nimport { getLinkKey } from '../buildTreeTableColumns'\nimport { EntityLink } from '@shared/api'\nimport { getEntityColor, getEntityIcon, IconAnatomy } from '@shared/util/iconUtils'\n\nexport type LinkId = string\nexport type LinkValue = LinkEntity[]\nexport type LinksTableData = Record<LinkId, LinkValue>\n\nexport const linksToTableData = (\n links: EntityLink[] | undefined,\n entityType: string,\n anatomy: IconAnatomy,\n): LinksTableData =>\n links?.reduce((acc, edge) => {\n const { linkType, direction, entityType: linkEntityType, id, node, isRestricted } = edge\n\n // Handle restricted links (node is null)\n if (isRestricted || !node) {\n const entityData: LinkEntity = {\n label: '',\n parents: [],\n linkId: id,\n entityId: '',\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, undefined, anatomy),\n color: undefined,\n isRestricted: true,\n }\n\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }\n\n // Handle normal links\n const entityData: LinkEntity = {\n label: (node.label || node.name) as string,\n parents: node.parents,\n linkId: id,\n entityId: node.id as string,\n entityType: linkEntityType,\n icon: getEntityIcon(linkEntityType, node.subType, anatomy),\n color: getEntityColor(linkEntityType, node.subType, anatomy),\n }\n\n // we must build the entity link type name based on the direction and entity types\n // e.g. \"linkType|inEntityType|outEntityType\"\n const linkTypeName = linkTypeToLinkName(linkType, entityType, linkEntityType, direction)\n\n const tableId = getLinkKey({ name: linkTypeName }, direction)\n\n if (!acc[tableId]) {\n acc[tableId] = []\n }\n\n // add the entity name to the link type\n if (!acc[tableId].includes(entityData)) {\n acc[tableId].push(entityData)\n }\n\n return acc\n }, {} as LinksTableData) || {}\n\n// converts the link type + in/out entity types to a link name format {linkType}|in|out\nconst linkTypeToLinkName = (\n linkType: string,\n baseEntityType: string,\n linkEntityType: string,\n direction: 'in' | 'out' | string,\n): string => {\n const firstType = direction === 'in' ? linkEntityType : baseEntityType\n const secondType = direction === 'in' ? baseEntityType : linkEntityType\n return `${linkType}|${firstType}|${secondType}`\n}\n"],"names":["linksToTableData","links","entityType","anatomy","acc","edge","linkType","direction","linkEntityType","id","node","isRestricted","entityData","getEntityIcon","linkTypeName","linkTypeToLinkName","tableId","getLinkKey","getEntityColor","baseEntityType"],"mappings":"+KAYaA,EAAmB,CAC9BC,EACAC,EACAC,IAEAF,GAAO,OAAO,CAACG,EAAKC,IAAS,CAC3B,KAAM,CAAE,SAAAC,EAAU,UAAAC,EAAW,WAAYC,EAAgB,GAAAC,EAAI,KAAAC,EAAM,aAAAC,GAAiBN,EAGpF,GAAIM,GAAgB,CAACD,EAAM,CACzB,MAAME,EAAyB,CAC7B,MAAO,GACP,QAAS,CAAA,EACT,OAAQH,EACR,SAAU,GACV,WAAYD,EACZ,KAAMK,EAAAA,cAAcL,EAAgB,OAAWL,CAAO,EACtD,MAAO,OACP,aAAc,EAAA,EAGVW,EAAeC,EAAmBT,EAAUJ,EAAYM,EAAgBD,CAAS,EACjFS,EAAUC,EAAAA,WAAW,CAAE,KAAMH,CAAAA,EAAgBP,CAAS,EAE5D,OAAKH,EAAIY,CAAO,IACdZ,EAAIY,CAAO,EAAI,CAAA,GAGZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,GACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,EAGvBR,CACT,CAGA,MAAMQ,EAAyB,CAC7B,MAAQF,EAAK,OAASA,EAAK,KAC3B,QAASA,EAAK,QACd,OAAQD,EACR,SAAUC,EAAK,GACf,WAAYF,EACZ,KAAMK,EAAAA,cAAcL,EAAgBE,EAAK,QAASP,CAAO,EACzD,MAAOe,EAAAA,eAAeV,EAAgBE,EAAK,QAASP,CAAO,CAAA,EAKvDW,EAAeC,EAAmBT,EAAUJ,EAAYM,EAAgBD,CAAS,EAEjFS,EAAUC,EAAAA,WAAW,CAAE,KAAMH,CAAA,EAAgBP,CAAS,EAE5D,OAAKH,EAAIY,CAAO,IACdZ,EAAIY,CAAO,EAAI,CAAA,GAIZZ,EAAIY,CAAO,EAAE,SAASJ,CAAU,GACnCR,EAAIY,CAAO,EAAE,KAAKJ,CAAU,EAGvBR,CACT,EAAG,CAAA,CAAoB,GAAK,CAAA,EAGxBW,EAAqB,CACzBT,EACAa,EACAX,EACAD,IAIO,GAAGD,CAAQ,IAFAC,IAAc,KAAOC,EAAiBW,CAEzB,IADZZ,IAAc,KAAOY,EAAiBX,CACZ"}