@ynput/ayon-frontend-shared 0.2.14 → 0.2.16

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 (668) hide show
  1. package/dist/DetailsPanel.cjs.js +10 -0
  2. package/dist/DetailsPanel.cjs.js.map +1 -1
  3. package/dist/DetailsPanel.es.js +10 -0
  4. package/dist/DetailsPanel.es.js.map +1 -1
  5. package/dist/ProjectTreeTable.cjs.js +39 -1
  6. package/dist/ProjectTreeTable.cjs.js.map +1 -1
  7. package/dist/ProjectTreeTable.es.js +41 -3
  8. package/dist/ProjectTreeTable.es.js.map +1 -1
  9. package/dist/_virtual/index.cjs10.js +4 -4
  10. package/dist/_virtual/index.cjs5.js +3 -5
  11. package/dist/_virtual/index.cjs5.js.map +1 -1
  12. package/dist/_virtual/index.cjs6.js +5 -3
  13. package/dist/_virtual/index.cjs6.js.map +1 -1
  14. package/dist/_virtual/index.cjs8.js +4 -4
  15. package/dist/_virtual/index.cjs9.js +4 -4
  16. package/dist/_virtual/index.es10.js +4 -4
  17. package/dist/_virtual/index.es5.js +2 -5
  18. package/dist/_virtual/index.es5.js.map +1 -1
  19. package/dist/_virtual/index.es6.js +5 -2
  20. package/dist/_virtual/index.es6.js.map +1 -1
  21. package/dist/_virtual/index.es8.js +4 -4
  22. package/dist/_virtual/index.es9.js +4 -4
  23. package/dist/api.cjs.js +7 -0
  24. package/dist/api.cjs.js.map +1 -1
  25. package/dist/api.es.js +9 -2
  26. package/dist/api.es.js.map +1 -1
  27. package/dist/components.cjs.js +12 -0
  28. package/dist/components.cjs.js.map +1 -1
  29. package/dist/components.es.js +12 -0
  30. package/dist/components.es.js.map +1 -1
  31. package/dist/context.cjs.js +4 -0
  32. package/dist/context.cjs.js.map +1 -1
  33. package/dist/context.es.js +4 -0
  34. package/dist/context.es.js.map +1 -1
  35. package/dist/index.cjs.js +10 -0
  36. package/dist/index.cjs.js.map +1 -1
  37. package/dist/index.es.js +10 -0
  38. package/dist/index.es.js.map +1 -1
  39. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +2 -2
  40. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  41. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  42. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  43. package/dist/node_modules/rehype-prism-plus/dist/index.es.cjs.js +1 -1
  44. package/dist/node_modules/rehype-prism-plus/dist/index.es.es.js +1 -1
  45. package/dist/node_modules/remove-accents/index.cjs.js +1 -1
  46. package/dist/node_modules/remove-accents/index.es.js +1 -1
  47. package/dist/node_modules/vfile/lib/index.cjs.js +1 -1
  48. package/dist/node_modules/vfile/lib/index.es.js +1 -1
  49. package/dist/shared/src/api/generated/actions.cjs.js.map +1 -1
  50. package/dist/shared/src/api/generated/actions.es.js.map +1 -1
  51. package/dist/shared/src/api/generated/addons.cjs.js.map +1 -1
  52. package/dist/shared/src/api/generated/addons.es.js.map +1 -1
  53. package/dist/shared/src/api/generated/anatomy.cjs.js.map +1 -1
  54. package/dist/shared/src/api/generated/anatomy.es.js.map +1 -1
  55. package/dist/shared/src/api/generated/attributes.cjs.js.map +1 -1
  56. package/dist/shared/src/api/generated/attributes.es.js.map +1 -1
  57. package/dist/shared/src/api/generated/configuration.cjs.js.map +1 -1
  58. package/dist/shared/src/api/generated/configuration.es.js.map +1 -1
  59. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  60. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  61. package/dist/shared/src/api/generated/events.cjs.js.map +1 -1
  62. package/dist/shared/src/api/generated/events.es.js.map +1 -1
  63. package/dist/shared/src/api/generated/files.cjs.js +5 -0
  64. package/dist/shared/src/api/generated/files.cjs.js.map +1 -1
  65. package/dist/shared/src/api/generated/files.es.js +5 -0
  66. package/dist/shared/src/api/generated/files.es.js.map +1 -1
  67. package/dist/shared/src/api/generated/graphql.cjs.js +24 -0
  68. package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
  69. package/dist/shared/src/api/generated/graphql.es.js +24 -0
  70. package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
  71. package/dist/shared/src/api/generated/grouping.cjs.js +18 -0
  72. package/dist/shared/src/api/generated/grouping.cjs.js.map +1 -0
  73. package/dist/shared/src/api/generated/grouping.es.js +18 -0
  74. package/dist/shared/src/api/generated/grouping.es.js.map +1 -0
  75. package/dist/shared/src/api/generated/operations.cjs.js.map +1 -1
  76. package/dist/shared/src/api/generated/operations.es.js.map +1 -1
  77. package/dist/shared/src/api/generated/projects.cjs.js +16 -0
  78. package/dist/shared/src/api/generated/projects.cjs.js.map +1 -1
  79. package/dist/shared/src/api/generated/projects.es.js +16 -0
  80. package/dist/shared/src/api/generated/projects.es.js.map +1 -1
  81. package/dist/shared/src/api/generated/reviewables.cjs.js.map +1 -1
  82. package/dist/shared/src/api/generated/reviewables.es.js.map +1 -1
  83. package/dist/shared/src/api/generated/system.cjs.js.map +1 -1
  84. package/dist/shared/src/api/generated/system.es.js.map +1 -1
  85. package/dist/shared/src/api/generated/tasks.cjs.js.map +1 -1
  86. package/dist/shared/src/api/generated/tasks.es.js.map +1 -1
  87. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  88. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  89. package/dist/shared/src/api/queries/actions/getActions.cjs.js +1 -0
  90. package/dist/shared/src/api/queries/actions/getActions.cjs.js.map +1 -1
  91. package/dist/shared/src/api/queries/actions/getActions.es.js +1 -0
  92. package/dist/shared/src/api/queries/actions/getActions.es.js.map +1 -1
  93. package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -0
  94. package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
  95. package/dist/shared/src/api/queries/activities/getActivities.es.js +1 -0
  96. package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
  97. package/dist/shared/src/api/queries/activities/getMentions.cjs.js +1 -0
  98. package/dist/shared/src/api/queries/activities/getMentions.cjs.js.map +1 -1
  99. package/dist/shared/src/api/queries/activities/getMentions.es.js +1 -0
  100. package/dist/shared/src/api/queries/activities/getMentions.es.js.map +1 -1
  101. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js +1 -0
  102. package/dist/shared/src/api/queries/activities/updateReaction.cjs.js.map +1 -1
  103. package/dist/shared/src/api/queries/activities/updateReaction.es.js +1 -0
  104. package/dist/shared/src/api/queries/activities/updateReaction.es.js.map +1 -1
  105. package/dist/shared/src/api/queries/addons/getAddons.cjs.js +1 -0
  106. package/dist/shared/src/api/queries/addons/getAddons.cjs.js.map +1 -1
  107. package/dist/shared/src/api/queries/addons/getAddons.es.js +1 -0
  108. package/dist/shared/src/api/queries/addons/getAddons.es.js.map +1 -1
  109. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js +1 -0
  110. package/dist/shared/src/api/queries/attributes/getAttributes.cjs.js.map +1 -1
  111. package/dist/shared/src/api/queries/attributes/getAttributes.es.js +1 -0
  112. package/dist/shared/src/api/queries/attributes/getAttributes.es.js.map +1 -1
  113. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js +1 -0
  114. package/dist/shared/src/api/queries/authentication/getAuthentication.cjs.js.map +1 -1
  115. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js +1 -0
  116. package/dist/shared/src/api/queries/authentication/getAuthentication.es.js.map +1 -1
  117. package/dist/shared/src/api/queries/entities/getEntity.cjs.js +1 -0
  118. package/dist/shared/src/api/queries/entities/getEntity.cjs.js.map +1 -1
  119. package/dist/shared/src/api/queries/entities/getEntity.es.js +1 -0
  120. package/dist/shared/src/api/queries/entities/getEntity.es.js.map +1 -1
  121. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -0
  122. package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
  123. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +1 -0
  124. package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
  125. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +2 -0
  126. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
  127. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +2 -0
  128. package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js.map +1 -1
  129. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js +2 -0
  130. package/dist/shared/src/api/queries/entities/updateEntity.cjs.js.map +1 -1
  131. package/dist/shared/src/api/queries/entities/updateEntity.es.js +2 -0
  132. package/dist/shared/src/api/queries/entities/updateEntity.es.js.map +1 -1
  133. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -0
  134. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  135. package/dist/shared/src/api/queries/entityLists/getLists.es.js +1 -0
  136. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  137. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js +1 -0
  138. package/dist/shared/src/api/queries/entityLists/getListsAttributes.cjs.js.map +1 -1
  139. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js +1 -0
  140. package/dist/shared/src/api/queries/entityLists/getListsAttributes.es.js.map +1 -1
  141. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -0
  142. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  143. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +1 -0
  144. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  145. package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -0
  146. package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
  147. package/dist/shared/src/api/queries/folders/getFolders.es.js +1 -0
  148. package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
  149. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js +47 -0
  150. package/dist/shared/src/api/queries/grouping/getGrouping.cjs.js.map +1 -0
  151. package/dist/shared/src/api/queries/grouping/getGrouping.es.js +47 -0
  152. package/dist/shared/src/api/queries/grouping/getGrouping.es.js.map +1 -0
  153. package/dist/shared/src/api/queries/overview/getOverview.cjs.js +64 -3
  154. package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
  155. package/dist/shared/src/api/queries/overview/getOverview.es.js +64 -3
  156. package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
  157. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +2 -0
  158. package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
  159. package/dist/shared/src/api/queries/overview/updateOverview.es.js +2 -0
  160. package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
  161. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js +1 -0
  162. package/dist/shared/src/api/queries/permissions/getPermissions.cjs.js.map +1 -1
  163. package/dist/shared/src/api/queries/permissions/getPermissions.es.js +1 -0
  164. package/dist/shared/src/api/queries/permissions/getPermissions.es.js.map +1 -1
  165. package/dist/shared/src/api/queries/project/getProject.cjs.js +1 -0
  166. package/dist/shared/src/api/queries/project/getProject.cjs.js.map +1 -1
  167. package/dist/shared/src/api/queries/project/getProject.es.js +1 -0
  168. package/dist/shared/src/api/queries/project/getProject.es.js.map +1 -1
  169. package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -0
  170. package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
  171. package/dist/shared/src/api/queries/review/getReview.es.js +1 -0
  172. package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
  173. package/dist/shared/src/api/queries/review/updateReview.cjs.js +1 -0
  174. package/dist/shared/src/api/queries/review/updateReview.cjs.js.map +1 -1
  175. package/dist/shared/src/api/queries/review/updateReview.es.js +1 -0
  176. package/dist/shared/src/api/queries/review/updateReview.es.js.map +1 -1
  177. package/dist/shared/src/api/queries/system/getSystem.cjs.js +1 -0
  178. package/dist/shared/src/api/queries/system/getSystem.cjs.js.map +1 -1
  179. package/dist/shared/src/api/queries/system/getSystem.es.js +1 -0
  180. package/dist/shared/src/api/queries/system/getSystem.es.js.map +1 -1
  181. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -0
  182. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
  183. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +1 -0
  184. package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
  185. package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -0
  186. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  187. package/dist/shared/src/api/queries/users/getUsers.es.js +2 -0
  188. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  189. package/dist/shared/src/api/queries/users/updateUsers.cjs.js +1 -0
  190. package/dist/shared/src/api/queries/users/updateUsers.cjs.js.map +1 -1
  191. package/dist/shared/src/api/queries/users/updateUsers.es.js +1 -0
  192. package/dist/shared/src/api/queries/users/updateUsers.es.js.map +1 -1
  193. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js +1 -0
  194. package/dist/shared/src/api/queries/watchers/getWatchers.cjs.js.map +1 -1
  195. package/dist/shared/src/api/queries/watchers/getWatchers.es.js +1 -0
  196. package/dist/shared/src/api/queries/watchers/getWatchers.es.js.map +1 -1
  197. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js +2 -2
  198. package/dist/shared/src/components/AttributeEditor/AttributeEditor.cjs.js.map +1 -1
  199. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js +2 -2
  200. package/dist/shared/src/components/AttributeEditor/AttributeEditor.es.js.map +1 -1
  201. package/dist/shared/src/components/Badge/Badge.cjs.js +31 -0
  202. package/dist/shared/src/components/Badge/Badge.cjs.js.map +1 -0
  203. package/dist/shared/src/components/Badge/Badge.es.js +31 -0
  204. package/dist/shared/src/components/Badge/Badge.es.js.map +1 -0
  205. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +2 -0
  206. package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
  207. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +2 -0
  208. package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
  209. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js +2 -0
  210. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.cjs.js.map +1 -1
  211. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js +2 -0
  212. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributes.es.js.map +1 -1
  213. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -0
  214. package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
  215. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +1 -0
  216. package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
  217. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js +10 -0
  218. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.cjs.js.map +1 -1
  219. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js +10 -0
  220. package/dist/shared/src/components/EntityThumbnailUploader/EntityThumbnailUploader.es.js.map +1 -1
  221. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +69 -0
  222. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -0
  223. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +69 -0
  224. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -0
  225. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +48 -0
  226. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -0
  227. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +48 -0
  228. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -0
  229. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js +102 -0
  230. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.cjs.js.map +1 -0
  231. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js +102 -0
  232. package/dist/shared/src/components/Powerpack/PowerpackDialog.styled.es.js.map +1 -0
  233. package/dist/shared/src/components/Powerpack/PricingLink.cjs.js +13 -0
  234. package/dist/shared/src/components/Powerpack/PricingLink.cjs.js.map +1 -0
  235. package/dist/shared/src/components/Powerpack/PricingLink.es.js +13 -0
  236. package/dist/shared/src/components/Powerpack/PricingLink.es.js.map +1 -0
  237. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +4 -10
  238. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
  239. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +1 -7
  240. package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
  241. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +142 -3
  242. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  243. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +142 -3
  244. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  245. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js +13 -0
  246. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.cjs.js.map +1 -0
  247. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js +13 -0
  248. package/dist/shared/src/components/ProjectTableSettings/TableSettings.styled.es.js.map +1 -0
  249. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +50 -0
  250. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -0
  251. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +50 -0
  252. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -0
  253. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js +5 -1
  254. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.cjs.js.map +1 -1
  255. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js +5 -1
  256. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.es.js.map +1 -1
  257. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js +5 -5
  258. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js.map +1 -1
  259. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js +5 -5
  260. package/dist/shared/src/components/ReviewableProgressCard/ReviewableProgressCard.styled.es.js.map +1 -1
  261. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +2 -0
  262. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
  263. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +2 -0
  264. package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js.map +1 -1
  265. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +100 -79
  266. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  267. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +100 -79
  268. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  269. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +94 -17
  270. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  271. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +95 -18
  272. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  273. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js +4 -0
  274. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.cjs.js.map +1 -1
  275. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js +4 -0
  276. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.styled.es.js.map +1 -1
  277. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +10 -0
  278. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  279. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +10 -0
  280. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  281. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +8 -7
  282. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
  283. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +8 -7
  284. package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
  285. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +6 -2
  286. package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
  287. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +6 -2
  288. package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
  289. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +223 -19
  290. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  291. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +224 -20
  292. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  293. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -0
  294. package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
  295. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +1 -0
  296. package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
  297. package/dist/shared/src/components/Watchers/Watchers.cjs.js +2 -0
  298. package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
  299. package/dist/shared/src/components/Watchers/Watchers.es.js +2 -0
  300. package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
  301. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +10 -0
  302. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  303. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +10 -0
  304. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  305. package/dist/shared/src/containers/Actions/Actions.cjs.js +3 -0
  306. package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
  307. package/dist/shared/src/containers/Actions/Actions.es.js +3 -0
  308. package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
  309. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +10 -0
  310. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  311. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +10 -0
  312. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  313. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js +22 -0
  314. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.cjs.js.map +1 -1
  315. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js +22 -0
  316. package/dist/shared/src/containers/ContextMenu/ContextMenuItem.es.js.map +1 -1
  317. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js +26 -7
  318. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.cjs.js.map +1 -1
  319. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js +26 -7
  320. package/dist/shared/src/containers/ContextMenu/useCreateContextMenu.es.js.map +1 -1
  321. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +10 -0
  322. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  323. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +10 -0
  324. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  325. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +19 -9
  326. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  327. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +19 -9
  328. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  329. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +10 -0
  330. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  331. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +10 -0
  332. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  333. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +11 -1
  334. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  335. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +11 -1
  336. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  337. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +3 -0
  338. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
  339. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +3 -0
  340. package/dist/shared/src/containers/DetailsPanel/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
  341. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js +1 -0
  342. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.cjs.js.map +1 -1
  343. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js +1 -0
  344. package/dist/shared/src/containers/DetailsPanel/FeedWrapper.es.js.map +1 -1
  345. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +2 -0
  346. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
  347. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +2 -0
  348. package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
  349. package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -0
  350. package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
  351. package/dist/shared/src/containers/Feed/Feed.es.js +1 -0
  352. package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
  353. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -0
  354. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
  355. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +1 -0
  356. package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
  357. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -0
  358. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
  359. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +1 -0
  360. package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
  361. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -0
  362. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
  363. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +1 -0
  364. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
  365. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -0
  366. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
  367. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +1 -0
  368. package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
  369. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +2 -1
  370. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  371. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +2 -1
  372. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  373. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js +8 -1
  374. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.cjs.js.map +1 -1
  375. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js +9 -2
  376. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.es.js.map +1 -1
  377. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js +9 -0
  378. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js.map +1 -1
  379. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js +10 -1
  380. package/dist/shared/src/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.es.js.map +1 -1
  381. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -0
  382. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
  383. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +1 -0
  384. package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
  385. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +3 -0
  386. package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
  387. package/dist/shared/src/containers/Feed/context/FeedContext.es.js +3 -0
  388. package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
  389. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +2 -0
  390. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
  391. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +2 -0
  392. package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
  393. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +54 -26
  394. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  395. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +55 -27
  396. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  397. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +7 -0
  398. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  399. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +7 -0
  400. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  401. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +53 -14
  402. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  403. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +53 -14
  404. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  405. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +205 -0
  406. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -0
  407. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +205 -0
  408. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -0
  409. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +25 -12
  410. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  411. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +25 -12
  412. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  413. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js +11 -1
  414. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
  415. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js +11 -1
  416. package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.es.js.map +1 -1
  417. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +2 -0
  418. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  419. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +2 -0
  420. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  421. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +54 -10
  422. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
  423. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +55 -11
  424. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
  425. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js +137 -0
  426. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.cjs.js.map +1 -0
  427. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js +137 -0
  428. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableModulesContext.es.js.map +1 -0
  429. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -0
  430. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
  431. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -0
  432. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js.map +1 -1
  433. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  434. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  435. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +1 -1
  436. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  437. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +2 -0
  438. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  439. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +2 -0
  440. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  441. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +187 -0
  442. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -0
  443. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +187 -0
  444. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -0
  445. package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.cjs.js → useBuildProjectDataTable.cjs.js} +4 -4
  446. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -0
  447. package/dist/shared/src/containers/ProjectTreeTable/hooks/{useOverviewTable.es.js → useBuildProjectDataTable.es.js} +4 -4
  448. package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -0
  449. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +64 -31
  450. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  451. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +64 -31
  452. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  453. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js +24 -0
  454. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.cjs.js.map +1 -0
  455. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js +24 -0
  456. package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnSorting.es.js.map +1 -0
  457. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +16 -9
  458. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
  459. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +16 -9
  460. package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
  461. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js +17 -0
  462. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.cjs.js.map +1 -0
  463. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js +17 -0
  464. package/dist/shared/src/containers/ProjectTreeTable/hooks/useEntitiesMap.es.js.map +1 -0
  465. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js +30 -0
  466. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.cjs.js.map +1 -0
  467. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js +30 -0
  468. package/dist/shared/src/containers/ProjectTreeTable/hooks/useExpandedState.es.js.map +1 -0
  469. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +363 -0
  470. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -0
  471. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +363 -0
  472. package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -0
  473. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js +16 -12
  474. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.cjs.js.map +1 -1
  475. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js +16 -13
  476. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetEntityTypeData.es.js.map +1 -1
  477. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +239 -0
  478. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -0
  479. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +239 -0
  480. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -0
  481. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js +82 -0
  482. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.cjs.js.map +1 -0
  483. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js +82 -0
  484. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetTaskGroups.es.js.map +1 -0
  485. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +40 -0
  486. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -0
  487. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +40 -0
  488. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -0
  489. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js +19 -0
  490. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.cjs.js.map +1 -0
  491. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js +19 -0
  492. package/dist/shared/src/containers/ProjectTreeTable/hooks/useScopedAttributeFields.es.js.map +1 -0
  493. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js +26 -0
  494. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.cjs.js.map +1 -0
  495. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js +26 -0
  496. package/dist/shared/src/containers/ProjectTreeTable/hooks/useSelectedFolders.es.js.map +1 -0
  497. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +7 -4
  498. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
  499. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +7 -4
  500. package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
  501. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +12 -1
  502. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  503. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +12 -1
  504. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  505. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.cjs.js.map +1 -1
  506. package/dist/shared/src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.es.js.map +1 -1
  507. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js +8 -0
  508. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.cjs.js.map +1 -0
  509. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js +8 -0
  510. package/dist/shared/src/containers/ProjectTreeTable/utils/errorExtraction.es.js.map +1 -0
  511. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js +7 -0
  512. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.cjs.js.map +1 -0
  513. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js +7 -0
  514. package/dist/shared/src/containers/ProjectTreeTable/utils/localStorageKeys.es.js.map +1 -0
  515. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js +0 -1
  516. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.cjs.js.map +1 -1
  517. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js +0 -1
  518. package/dist/shared/src/containers/ProjectTreeTable/utils/validateUpdateEntities.es.js.map +1 -1
  519. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +109 -0
  520. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -0
  521. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +109 -0
  522. package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -0
  523. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js +29 -0
  524. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.cjs.js.map +1 -0
  525. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js +30 -0
  526. package/dist/shared/src/containers/ProjectTreeTable/widgets/LoadMoreWidget.es.js.map +1 -0
  527. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +0 -8
  528. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
  529. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +0 -8
  530. package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js.map +1 -1
  531. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +10 -0
  532. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  533. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +10 -0
  534. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  535. package/dist/shared/src/context/AddonProjectContext.cjs.js +2 -0
  536. package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
  537. package/dist/shared/src/context/AddonProjectContext.es.js +2 -0
  538. package/dist/shared/src/context/AddonProjectContext.es.js.map +1 -1
  539. package/dist/shared/src/context/DetailsPanelContext.cjs.js +3 -0
  540. package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
  541. package/dist/shared/src/context/DetailsPanelContext.es.js +3 -0
  542. package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
  543. package/dist/shared/src/context/PowerpackContext.cjs.js +170 -0
  544. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -0
  545. package/dist/shared/src/context/PowerpackContext.es.js +170 -0
  546. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -0
  547. package/dist/shared/src/context/RemoteModulesContext.cjs.js +7 -1
  548. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  549. package/dist/shared/src/context/RemoteModulesContext.es.js +8 -2
  550. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  551. package/dist/shared/src/hooks/useActionTriggers.cjs.js +2 -0
  552. package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
  553. package/dist/shared/src/hooks/useActionTriggers.es.js +2 -0
  554. package/dist/shared/src/hooks/useActionTriggers.es.js.map +1 -1
  555. package/dist/shared/src/hooks/useEntityUpdate.cjs.js +3 -0
  556. package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
  557. package/dist/shared/src/hooks/useEntityUpdate.es.js +3 -0
  558. package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
  559. package/dist/shared/src/hooks/useLoadModule.cjs.js +8 -2
  560. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  561. package/dist/shared/src/hooks/useLoadModule.es.js +8 -2
  562. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  563. package/dist/shared/src/hooks/useScopedStatuses.cjs.js +2 -0
  564. package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
  565. package/dist/shared/src/hooks/useScopedStatuses.es.js +2 -0
  566. package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
  567. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +2 -0
  568. package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
  569. package/dist/shared/src/hooks/useUserProjectConfig.es.js +2 -0
  570. package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
  571. package/dist/shared/src/util/getAttributeIcon.cjs.js +7 -1
  572. package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
  573. package/dist/shared/src/util/getAttributeIcon.es.js +7 -1
  574. package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
  575. package/dist/shared/src/util/getEntityTypeIcon.cjs.js +9 -0
  576. package/dist/shared/src/util/getEntityTypeIcon.cjs.js.map +1 -1
  577. package/dist/shared/src/util/getEntityTypeIcon.es.js +9 -0
  578. package/dist/shared/src/util/getEntityTypeIcon.es.js.map +1 -1
  579. package/dist/types/api/generated/actions.d.ts +2 -1
  580. package/dist/types/api/generated/addons.d.ts +8 -1
  581. package/dist/types/api/generated/anatomy.d.ts +1 -14
  582. package/dist/types/api/generated/attributes.d.ts +4 -2
  583. package/dist/types/api/generated/configuration.d.ts +6 -0
  584. package/dist/types/api/generated/entityLists.d.ts +2 -0
  585. package/dist/types/api/generated/events.d.ts +1 -1
  586. package/dist/types/api/generated/files.d.ts +11 -0
  587. package/dist/types/api/generated/graphql.d.ts +33 -38
  588. package/dist/types/api/generated/grouping.d.ts +40 -0
  589. package/dist/types/api/generated/index.d.ts +3 -1
  590. package/dist/types/api/generated/operations.d.ts +1 -1
  591. package/dist/types/api/generated/projects.d.ts +59 -0
  592. package/dist/types/api/generated/reviewables.d.ts +1 -0
  593. package/dist/types/api/generated/system.d.ts +5 -3
  594. package/dist/types/api/generated/tasks.d.ts +15 -1
  595. package/dist/types/api/generated/users.d.ts +1 -4
  596. package/dist/types/api/queries/activities/getActivities.d.ts +4 -0
  597. package/dist/types/api/queries/activities/updateActivities.d.ts +8 -0
  598. package/dist/types/api/queries/entities/getEntity.d.ts +4 -0
  599. package/dist/types/api/queries/entities/getEntityPanel.d.ts +4 -0
  600. package/dist/types/api/queries/entities/updateEntity.d.ts +4 -0
  601. package/dist/types/api/queries/entityLists/getLists.d.ts +4 -0
  602. package/dist/types/api/queries/grouping/getGrouping.d.ts +137 -0
  603. package/dist/types/api/queries/grouping/index.d.ts +1 -0
  604. package/dist/types/api/queries/index.d.ts +1 -0
  605. package/dist/types/api/queries/overview/getOverview.d.ts +222 -482
  606. package/dist/types/api/queries/project/getProject.d.ts +6 -0
  607. package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +4 -0
  608. package/dist/types/api/queries/users/getUsers.d.ts +4 -0
  609. package/dist/types/components/Badge/Badge.d.ts +10 -0
  610. package/dist/types/components/Badge/index.d.ts +1 -0
  611. package/dist/types/components/Powerpack/PowerpackButton.d.ts +7 -0
  612. package/dist/types/components/Powerpack/PowerpackDialog.d.ts +4 -0
  613. package/dist/types/components/Powerpack/PowerpackDialog.styled.d.ts +8 -0
  614. package/dist/types/components/Powerpack/PricingLink.d.ts +4 -0
  615. package/dist/types/components/Powerpack/index.d.ts +3 -0
  616. package/dist/types/components/ProjectTableSettings/ProjectTableSettings.d.ts +3 -2
  617. package/dist/types/components/ProjectTableSettings/TableSettings.styled.d.ts +1 -0
  618. package/dist/types/components/ProjectTableSettings/TableSettingsFallback.d.ts +10 -0
  619. package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
  620. package/dist/types/components/ReviewableProgressCard/ReviewableProgressCard.d.ts +1 -1
  621. package/dist/types/components/ReviewablesList/ReviewablesUpload.d.ts +19 -3
  622. package/dist/types/components/index.d.ts +2 -0
  623. package/dist/types/containers/ContextMenu/ContextMenuItem.d.ts +4 -0
  624. package/dist/types/containers/ContextMenu/useCreateContextMenu.d.ts +2 -1
  625. package/dist/types/containers/Feed/components/FileUploadPreview/FileUploadPreview.styled.d.ts +1 -0
  626. package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +3 -1
  627. package/dist/types/containers/ProjectTreeTable/components/GroupSettingsFallback.d.ts +11 -0
  628. package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +7 -0
  629. package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +22 -5
  630. package/dist/types/containers/ProjectTreeTable/context/ProjectTableModulesContext.d.ts +32 -0
  631. package/dist/types/containers/ProjectTreeTable/context/index.d.ts +1 -0
  632. package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +13 -0
  633. package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +30 -0
  634. package/dist/types/containers/ProjectTreeTable/hooks/{useOverviewTable.d.ts → useBuildProjectDataTable.d.ts} +3 -1
  635. package/dist/types/containers/ProjectTreeTable/hooks/useCellContextMenu.d.ts +15 -2
  636. package/dist/types/containers/ProjectTreeTable/hooks/useColumnSorting.d.ts +12 -0
  637. package/dist/types/containers/ProjectTreeTable/hooks/useEntitiesMap.d.ts +7 -0
  638. package/dist/types/containers/ProjectTreeTable/hooks/useExpandedState.d.ts +11 -0
  639. package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +37 -0
  640. package/dist/types/containers/ProjectTreeTable/hooks/useFolderRelationships.d.ts +1 -1
  641. package/dist/types/containers/ProjectTreeTable/hooks/useGetEntityTypeData.d.ts +2 -2
  642. package/dist/types/containers/ProjectTreeTable/hooks/useGetGroupedFields.d.ts +9 -0
  643. package/dist/types/containers/ProjectTreeTable/hooks/useGetTaskGroups.d.ts +10 -0
  644. package/dist/types/containers/ProjectTreeTable/hooks/useQueryFilters.d.ts +14 -0
  645. package/dist/types/containers/ProjectTreeTable/hooks/useScopedAttributeFields.d.ts +10 -0
  646. package/dist/types/containers/ProjectTreeTable/hooks/useSelectedFolders.d.ts +10 -0
  647. package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -4
  648. package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -0
  649. package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +46 -0
  650. package/dist/types/containers/ProjectTreeTable/types/table.d.ts +13 -5
  651. package/dist/types/containers/ProjectTreeTable/utils/errorExtraction.d.ts +4 -0
  652. package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
  653. package/dist/types/containers/ProjectTreeTable/utils/localStorageKeys.d.ts +4 -0
  654. package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +14 -0
  655. package/dist/types/containers/ProjectTreeTable/widgets/LoadMoreWidget.d.ts +8 -0
  656. package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
  657. package/dist/types/context/PowerpackContext.d.ts +21 -0
  658. package/dist/types/context/index.d.ts +1 -0
  659. package/dist/types/hooks/useLoadModule.d.ts +2 -1
  660. package/dist/types/util/getAttributeIcon.d.ts +1 -1
  661. package/dist/types/util/getEntityTypeIcon.d.ts +1 -0
  662. package/dist/types/utils/extractVersionFromFilename.d.ts +5 -0
  663. package/dist/util.cjs.js +1 -0
  664. package/dist/util.cjs.js.map +1 -1
  665. package/dist/util.es.js +2 -1
  666. package/package.json +1 -1
  667. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.cjs.js.map +0 -1
  668. package/dist/shared/src/containers/ProjectTreeTable/hooks/useOverviewTable.es.js.map +0 -1
@@ -1,5 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("react-toastify");
4
+ require("../context/CellEditingContext.cjs.js");
5
+ require("../context/ClipboardContext.cjs.js");
6
+ require("../context/ColumnSettingsContext.cjs.js");
7
+ const ProjectTableContext = require("../context/ProjectTableContext.cjs.js");
8
+ require("../context/ProjectTableQueriesContext.cjs.js");
9
+ require("../context/SelectedRowsContext.cjs.js");
10
+ require("../context/SelectionCellsContext.cjs.js");
11
+ require("../context/ProjectTableSelectionContext.cjs.js");
12
+ require("../context/ProjectDataContext.cjs.js");
13
+ require("../context/ProjectTableModulesContext.cjs.js");
3
14
  var BorderPosition = /* @__PURE__ */ ((BorderPosition2) => {
4
15
  BorderPosition2[BorderPosition2["None"] = 0] = "None";
5
16
  BorderPosition2[BorderPosition2["Top"] = 1] = "Top";
@@ -56,7 +67,7 @@ const getBorderClasses = (borders) => {
56
67
  if (borders & 8) classes.push("shadow-left");
57
68
  return classes;
58
69
  };
59
- const getEntityDataById = (id, entitiesMap) => entitiesMap.get(id);
70
+ const getEntityDataById = (id, entitiesMap) => entitiesMap.get(ProjectTableContext.parseRowId(id));
60
71
  exports.BorderPosition = BorderPosition;
61
72
  exports.getBorderClasses = getBorderClasses;
62
73
  exports.getCellBorders = getCellBorders;
@@ -1 +1 @@
1
- {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { 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/**\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(id) as EMapResult<T> | undefined\n"],"names":["BorderPosition"],"mappings":";;AAkBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;;AACnB,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGO,MAAM,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAI,EAAE;;;;;;;;"}
1
+ {"version":3,"file":"cellUtils.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/cellUtils.ts"],"sourcesContent":["/**\n * Shared cell utilities for table operations\n */\n\nimport { 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/**\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","parseRowId"],"mappings":";;;;;;;;;;;;;AAmBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;;AACnB,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGa,MAAA,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAIC,oBAAA,WAAW,EAAE,CAAC;;;;;;;;"}
@@ -1,3 +1,14 @@
1
+ import "react-toastify";
2
+ import "../context/CellEditingContext.es.js";
3
+ import "../context/ClipboardContext.es.js";
4
+ import "../context/ColumnSettingsContext.es.js";
5
+ import { parseRowId } from "../context/ProjectTableContext.es.js";
6
+ import "../context/ProjectTableQueriesContext.es.js";
7
+ import "../context/SelectedRowsContext.es.js";
8
+ import "../context/SelectionCellsContext.es.js";
9
+ import "../context/ProjectTableSelectionContext.es.js";
10
+ import "../context/ProjectDataContext.es.js";
11
+ import "../context/ProjectTableModulesContext.es.js";
1
12
  var BorderPosition = /* @__PURE__ */ ((BorderPosition2) => {
2
13
  BorderPosition2[BorderPosition2["None"] = 0] = "None";
3
14
  BorderPosition2[BorderPosition2["Top"] = 1] = "Top";
@@ -54,7 +65,7 @@ const getBorderClasses = (borders) => {
54
65
  if (borders & 8) classes.push("shadow-left");
55
66
  return classes;
56
67
  };
57
- const getEntityDataById = (id, entitiesMap) => entitiesMap.get(id);
68
+ const getEntityDataById = (id, entitiesMap) => entitiesMap.get(parseRowId(id));
58
69
  export {
59
70
  BorderPosition,
60
71
  getBorderClasses,
@@ -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 { 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/**\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(id) as EMapResult<T> | undefined\n"],"names":["BorderPosition"],"mappings":"AAkBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;AAtDT;AAuDV,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGO,MAAM,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAI,EAAE;"}
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 { 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/**\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"],"mappings":";;;;;;;;;;;AAmBY,IAAA,mCAAAA,oBAAL;AACLA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,CAAN,IAAA;AACAA,kBAAAA,gBAAA,WAAQ,CAAR,IAAA;AACAA,kBAAAA,gBAAA,YAAS,CAAT,IAAA;AACAA,kBAAAA,gBAAA,UAAO,CAAP,IAAA;AACAA,kBAAAA,gBAAA,SAAM,EAAN,IAAA;AANUA,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAYL,MAAM,YAAY,CAAC,OAAc,UAAyB,QAAQ,KAAK,IAAI,KAAK;AAM1E,MAAA,cAAc,CAAC,WAAwC;AAC5D,QAAA,QAAQ,OAAO,MAAM,kBAAkB;AACzC,MAAA,CAAC,MAAc,QAAA;AACZ,SAAA,EAAE,OAAO,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,EAAE;AAC5C;AAEa,MAAA,eAAe,CAAC,KAAU,SAAsB;AAC3D,MAAI,CAAC,OAAO,CAAC,KAAa,QAAA;AAEpB,QAAA,QAAQ,KAAK,MAAM,GAAG;AAC5B,MAAI,UAAU;AAEd,aAAW,QAAQ,OAAO;AACxB,QAAI,WAAW,OAAO,YAAY,YAAY,QAAQ,SAAS;AAC7D,gBAAU,QAAQ,IAAI;AAAA,IAAA,OACjB;AACE,aAAA;AAAA,IAAA;AAAA,EACT;AAGK,SAAA;AACT;AAWO,MAAM,iBAAiB,CAC5B,UACA,UACA,kBACmB;;AACnB,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,YAAW;AACjC,WAAA;AAAA,EAAA;AAGT,MAAI,UAAU;AAGV,MAAA,aAAa,KAAK,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACnD,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACjC,eAAA;AAAA,EAAA;AAIb,MAAI,GAAC,mBAAc,WAAW,CAAC,MAA1B,mBAA8B,YAAW;AACjC,eAAA;AAAA,EAAA;AAIT,MAAA,aAAa,KAAK,GAAC,mBAAc,QAAQ,MAAtB,mBAA0B,WAAW,KAAI;AACnD,eAAA;AAAA,EAAA;AAGN,SAAA;AACT;AAKa,MAAA,mBAAmB,CAAC,YAAsC;AACrE,QAAM,UAAoB,CAAC;AAE3B,MAAI,UAAU,EAA4B,SAAA,KAAK,YAAY;AAC3D,MAAI,UAAU,EAA8B,SAAA,KAAK,cAAc;AAC/D,MAAI,UAAU,EAA+B,SAAA,KAAK,eAAe;AACjE,MAAI,UAAU,EAA6B,SAAA,KAAK,aAAa;AAEtD,SAAA;AACT;AAGa,MAAA,oBAAoB,CAC/B,IACA,gBACG,YAAY,IAAI,WAAW,EAAE,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientFilterToQueryFilter.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import { FILTER_SEPARATOR, getFilterFromId } from '@ynput/ayon-react-components'\nimport { QueryCondition, QueryFilter } from '../types/operations'\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 }[] }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\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.includes('text')) // remove text search filters as they are handled separately\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// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition => {\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\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 // Handle different filter types\n if (hasSomeValue) {\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 // 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 // For date filters, we need to return a complete query filter with conditions\n if (filter.values && filter.values.length > 0) {\n // Create a flat list of all date conditions from all filter values\n const dateConditions: QueryCondition[] = filter.values.flatMap(\n (filterValue: FilterForQuery) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n // First value is greater than (start date)\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: dateValues[0].id,\n })\n }\n\n // Second value is less than (end date)\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: dateValues[1].id,\n })\n }\n\n return conditions\n },\n )\n\n // If we have date conditions, return them as a nested filter instead of continuing\n if (dateConditions.length > 0) {\n // @ts-expect-error\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n }\n }\n\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 {\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":["getFilterFromId"],"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 { QueryCondition, QueryFilter } from '../types/operations'\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 }[] }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\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.includes('text')) // remove text search filters as they are handled separately\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// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition => {\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\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 // Handle different filter types\n if (hasSomeValue) {\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 // 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 // For date filters, we need to return a complete query filter with conditions\n if (filter.values && filter.values.length > 0) {\n // Create a flat list of all date conditions from all filter values\n const dateConditions: QueryCondition[] = filter.values.flatMap(\n (filterValue: FilterForQuery) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n // First value is greater than (start date)\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: dateValues[0].id,\n })\n }\n\n // Second value is less than (end date)\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: dateValues[1].id,\n })\n }\n\n return conditions\n },\n )\n\n // If we have date conditions, return them as a nested filter instead of continuing\n if (dateConditions.length > 0) {\n // @ts-expect-error\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n }\n }\n\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 {\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":["getFilterFromId"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clientFilterToQueryFilter.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/clientFilterToQueryFilter.ts"],"sourcesContent":["import { FILTER_SEPARATOR, getFilterFromId } from '@ynput/ayon-react-components'\nimport { QueryCondition, QueryFilter } from '../types/operations'\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 }[] }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\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.includes('text')) // remove text search filters as they are handled separately\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// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition => {\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\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 // Handle different filter types\n if (hasSomeValue) {\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 // 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 // For date filters, we need to return a complete query filter with conditions\n if (filter.values && filter.values.length > 0) {\n // Create a flat list of all date conditions from all filter values\n const dateConditions: QueryCondition[] = filter.values.flatMap(\n (filterValue: FilterForQuery) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n // First value is greater than (start date)\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: dateValues[0].id,\n })\n }\n\n // Second value is less than (end date)\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: dateValues[1].id,\n })\n }\n\n return conditions\n },\n )\n\n // If we have date conditions, return them as a nested filter instead of continuing\n if (dateConditions.length > 0) {\n // @ts-expect-error\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n }\n }\n\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 {\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":[],"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 { QueryCondition, QueryFilter } from '../types/operations'\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 }[] }[]\n type?: string\n singleSelect?: boolean\n inverted?: boolean\n operator?: string\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.includes('text')) // remove text search filters as they are handled separately\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// Helper function to convert a single Filter to a QueryCondition\nconst convertFilterToCondition = (filter: FilterForQuery): QueryCondition => {\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\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 // Handle different filter types\n if (hasSomeValue) {\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 // 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 // For date filters, we need to return a complete query filter with conditions\n if (filter.values && filter.values.length > 0) {\n // Create a flat list of all date conditions from all filter values\n const dateConditions: QueryCondition[] = filter.values.flatMap(\n (filterValue: FilterForQuery) => {\n const conditions: QueryCondition[] = []\n const dateValues = filterValue.values\n\n // First value is greater than (start date)\n if (dateValues?.[0] !== undefined && dateValues?.[0].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'lte' : 'gte',\n value: dateValues[0].id,\n })\n }\n\n // Second value is less than (end date)\n if (dateValues?.[1] !== undefined && dateValues?.[1].id !== NO_DATE) {\n conditions.push({\n key,\n operator: filter.inverted ? 'gte' : 'lte',\n value: dateValues[1].id,\n })\n }\n\n return conditions\n },\n )\n\n // If we have date conditions, return them as a nested filter instead of continuing\n if (dateConditions.length > 0) {\n // @ts-expect-error\n return {\n conditions: dateConditions,\n operator: filter.inverted ? 'or' : 'and',\n } as QueryFilter\n }\n }\n\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 {\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":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const extractErrorMessage = (error) => {
4
+ var _a;
5
+ return (_a = error == null ? void 0 : error.data) == null ? void 0 : _a.detail;
6
+ };
7
+ exports.extractErrorMessage = extractErrorMessage;
8
+ //# sourceMappingURL=errorExtraction.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorExtraction.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/errorExtraction.ts"],"sourcesContent":["/**\n * Extracts error message from a GraphQL/API error response\n */\nexport const extractErrorMessage = (error: any): string | undefined => {\n return error?.data?.detail\n}\n"],"names":[],"mappings":";;AAGa,MAAA,sBAAsB,CAAC,UAAmC;;AACrE,UAAO,oCAAO,SAAP,mBAAa;AACtB;;"}
@@ -0,0 +1,8 @@
1
+ const extractErrorMessage = (error) => {
2
+ var _a;
3
+ return (_a = error == null ? void 0 : error.data) == null ? void 0 : _a.detail;
4
+ };
5
+ export {
6
+ extractErrorMessage
7
+ };
8
+ //# sourceMappingURL=errorExtraction.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorExtraction.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/errorExtraction.ts"],"sourcesContent":["/**\n * Extracts error message from a GraphQL/API error response\n */\nexport const extractErrorMessage = (error: any): string | undefined => {\n return error?.data?.detail\n}\n"],"names":[],"mappings":"AAGa,MAAA,sBAAsB,CAAC,UAAmC;AAA1D;AACX,UAAO,oCAAO,SAAP,mBAAa;AACtB;"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const createLocalStorageKey = (page, key, projectName) => {
4
+ return `${page}-${key}-${projectName}`;
5
+ };
6
+ exports.createLocalStorageKey = createLocalStorageKey;
7
+ //# sourceMappingURL=localStorageKeys.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localStorageKeys.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/localStorageKeys.ts"],"sourcesContent":["/**\n * Generates a local storage key with a consistent format\n */\nexport const createLocalStorageKey = (page: string, key: string, projectName: string): string => {\n return `${page}-${key}-${projectName}`\n}\n"],"names":[],"mappings":";;AAGO,MAAM,wBAAwB,CAAC,MAAc,KAAa,gBAAgC;AAC/F,SAAO,GAAG,IAAI,IAAI,GAAG,IAAI,WAAW;AACtC;;"}
@@ -0,0 +1,7 @@
1
+ const createLocalStorageKey = (page, key, projectName) => {
2
+ return `${page}-${key}-${projectName}`;
3
+ };
4
+ export {
5
+ createLocalStorageKey
6
+ };
7
+ //# sourceMappingURL=localStorageKeys.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localStorageKeys.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/localStorageKeys.ts"],"sourcesContent":["/**\n * Generates a local storage key with a consistent format\n */\nexport const createLocalStorageKey = (page: string, key: string, projectName: string): string => {\n return `${page}-${key}-${projectName}`\n}\n"],"names":[],"mappings":"AAGO,MAAM,wBAAwB,CAAC,MAAc,KAAa,gBAAgC;AAC/F,SAAO,GAAG,IAAI,IAAI,GAAG,IAAI,WAAW;AACtC;"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  const validateUpdateEntities = (entities = [], attribFields) => {
3
- console.log(entities);
4
3
  for (const { isAttrib, value: rawValue, field } of entities) {
5
4
  if (!isAttrib) continue;
6
5
  const attribute = attribFields.find((attr) => attr.name === field);
@@ -1 +1 @@
1
- {"version":3,"file":"validateUpdateEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { AttributeData, ProjectTableAttribute } from '../types'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n console.log(entities)\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":[],"mappings":";AAGA,MAAM,yBAAyB,CAC7B,WAA2B,IAC3B,iBACG;AACH,UAAQ,IAAI,QAAQ;AAEpB,aAAW,EAAE,UAAU,OAAO,UAAU,WAAW,UAAU;AAC3D,QAAI,CAAC,SAAU;AACf,UAAM,YAAY,aAAa,KAAK,CAAC,SAAS,KAAK,SAAS,KAAK;AACjE,QAAI,CAAC,UAAW;AAGhB,QAAI,QAAa;AACX,UAAA,EAAE,SAAS,UAAU;AACvB,QAAA,SAAS,aAAa,SAAS,SAAS;AACtC,UAAA,OAAO,aAAa,UAAU;AAE5B,YAAA,SAAS,WAAW,MAAM,MAAM,OAAO,QAAQ,CAAC,GAAG;AACrD,gBAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,QAAA;AAErD,gBAAQ,SAAS,YAAY,SAAS,UAAU,EAAE,IAAI,WAAW,QAAQ;AAAA,MAAA,WAChE,OAAO,aAAa,UAAU;AAEvC,cAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,MAAA;AAAA,IACrD;AAIF,UAAM,iBAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,mBACJ,OAAO,QAAQ,UAAU,IAAI,EAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;AAC1B,UAAI,eAAe,SAAS,GAAG,EAAG,KAAI,GAAG,IAAI;AACtC,aAAA;AAAA,IACT,GAAG,EAAyC;AAEtC,UAAA,EAAE,IAAI,IAAI,IAAI,IAAI,WAAW,WAAW,UAAU,SAAA,IAAa;AAC/D,UAAA,UAAU,UAAU,KAAK;AAE3B,QAAA,OAAO,UAAU,UAAU;AACzB,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACvE,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AAAA,IAAA,WAClE,OAAO,UAAU,UAAU;AAChC,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AACxD,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AAC5D,UAAI,WAAW,CAAC,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK;AAC5C,cAAM,IAAI,MAAM,IAAI,KAAK,wBAAwB,OAAO,EAAE;AAAA,IACnD,WAAA,MAAM,QAAQ,KAAK,GAAG;AAC3B,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AACtD,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AAAA,IAAA;AAAA,EAC5D;AAEJ;;"}
1
+ {"version":3,"file":"validateUpdateEntities.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { AttributeData, ProjectTableAttribute } from '../types'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":[],"mappings":";AAGA,MAAM,yBAAyB,CAC7B,WAA2B,IAC3B,iBACG;AAEH,aAAW,EAAE,UAAU,OAAO,UAAU,WAAW,UAAU;AAC3D,QAAI,CAAC,SAAU;AACf,UAAM,YAAY,aAAa,KAAK,CAAC,SAAS,KAAK,SAAS,KAAK;AACjE,QAAI,CAAC,UAAW;AAGhB,QAAI,QAAa;AACX,UAAA,EAAE,SAAS,UAAU;AACvB,QAAA,SAAS,aAAa,SAAS,SAAS;AACtC,UAAA,OAAO,aAAa,UAAU;AAE5B,YAAA,SAAS,WAAW,MAAM,MAAM,OAAO,QAAQ,CAAC,GAAG;AACrD,gBAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,QAAA;AAErD,gBAAQ,SAAS,YAAY,SAAS,UAAU,EAAE,IAAI,WAAW,QAAQ;AAAA,MAAA,WAChE,OAAO,aAAa,UAAU;AAEvC,cAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,MAAA;AAAA,IACrD;AAIF,UAAM,iBAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,mBACJ,OAAO,QAAQ,UAAU,IAAI,EAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;AAC1B,UAAI,eAAe,SAAS,GAAG,EAAG,KAAI,GAAG,IAAI;AACtC,aAAA;AAAA,IACT,GAAG,EAAyC;AAEtC,UAAA,EAAE,IAAI,IAAI,IAAI,IAAI,WAAW,WAAW,UAAU,SAAA,IAAa;AAC/D,UAAA,UAAU,UAAU,KAAK;AAE3B,QAAA,OAAO,UAAU,UAAU;AACzB,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACvE,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AAAA,IAAA,WAClE,OAAO,UAAU,UAAU;AAChC,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AACxD,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AAC5D,UAAI,WAAW,CAAC,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK;AAC5C,cAAM,IAAI,MAAM,IAAI,KAAK,wBAAwB,OAAO,EAAE;AAAA,IACnD,WAAA,MAAM,QAAQ,KAAK,GAAG;AAC3B,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AACtD,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AAAA,IAAA;AAAA,EAC5D;AAEJ;;"}
@@ -1,5 +1,4 @@
1
1
  const validateUpdateEntities = (entities = [], attribFields) => {
2
- console.log(entities);
3
2
  for (const { isAttrib, value: rawValue, field } of entities) {
4
3
  if (!isAttrib) continue;
5
4
  const attribute = attribFields.find((attr) => attr.name === field);
@@ -1 +1 @@
1
- {"version":3,"file":"validateUpdateEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { AttributeData, ProjectTableAttribute } from '../types'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n console.log(entities)\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":[],"mappings":"AAGA,MAAM,yBAAyB,CAC7B,WAA2B,IAC3B,iBACG;AACH,UAAQ,IAAI,QAAQ;AAEpB,aAAW,EAAE,UAAU,OAAO,UAAU,WAAW,UAAU;AAC3D,QAAI,CAAC,SAAU;AACf,UAAM,YAAY,aAAa,KAAK,CAAC,SAAS,KAAK,SAAS,KAAK;AACjE,QAAI,CAAC,UAAW;AAGhB,QAAI,QAAa;AACX,UAAA,EAAE,SAAS,UAAU;AACvB,QAAA,SAAS,aAAa,SAAS,SAAS;AACtC,UAAA,OAAO,aAAa,UAAU;AAE5B,YAAA,SAAS,WAAW,MAAM,MAAM,OAAO,QAAQ,CAAC,GAAG;AACrD,gBAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,QAAA;AAErD,gBAAQ,SAAS,YAAY,SAAS,UAAU,EAAE,IAAI,WAAW,QAAQ;AAAA,MAAA,WAChE,OAAO,aAAa,UAAU;AAEvC,cAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,MAAA;AAAA,IACrD;AAIF,UAAM,iBAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,mBACJ,OAAO,QAAQ,UAAU,IAAI,EAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;AAC1B,UAAI,eAAe,SAAS,GAAG,EAAG,KAAI,GAAG,IAAI;AACtC,aAAA;AAAA,IACT,GAAG,EAAyC;AAEtC,UAAA,EAAE,IAAI,IAAI,IAAI,IAAI,WAAW,WAAW,UAAU,SAAA,IAAa;AAC/D,UAAA,UAAU,UAAU,KAAK;AAE3B,QAAA,OAAO,UAAU,UAAU;AACzB,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACvE,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AAAA,IAAA,WAClE,OAAO,UAAU,UAAU;AAChC,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AACxD,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AAC5D,UAAI,WAAW,CAAC,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK;AAC5C,cAAM,IAAI,MAAM,IAAI,KAAK,wBAAwB,OAAO,EAAE;AAAA,IACnD,WAAA,MAAM,QAAQ,KAAK,GAAG;AAC3B,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AACtD,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AAAA,IAAA;AAAA,EAC5D;AAEJ;"}
1
+ {"version":3,"file":"validateUpdateEntities.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/utils/validateUpdateEntities.ts"],"sourcesContent":["import { AttributeData, ProjectTableAttribute } from '../types'\nimport { EntityUpdate } from '../hooks/useUpdateTableData'\n\nconst validateUpdateEntities = (\n entities: EntityUpdate[] = [],\n attribFields: ProjectTableAttribute[],\n) => {\n // first validate the values are correct\n for (const { isAttrib, value: rawValue, field } of entities) {\n if (!isAttrib) continue\n const attribute = attribFields.find((attr) => attr.name === field)\n if (!attribute) continue\n\n // coerce numeric strings into numbers for integer/float types or fail\n let value: any = rawValue\n const { type } = attribute.data\n if (type === 'integer' || type === 'float') {\n if (typeof rawValue === 'string') {\n // empty or non‑numeric strings are invalid\n if (rawValue.trim() === '' || isNaN(Number(rawValue))) {\n throw new Error(`“${field}” must be a valid number`)\n }\n value = type === 'integer' ? parseInt(rawValue, 10) : parseFloat(rawValue)\n } else if (typeof rawValue !== 'number') {\n // any other type is invalid\n throw new Error(`“${field}” must be a valid number`)\n }\n }\n\n // collect numeric rules from attribute.data\n const validationKeys: (keyof AttributeData)[] = [\n 'ge',\n 'gt',\n 'le',\n 'lt',\n 'minLength',\n 'maxLength',\n 'minItems',\n 'maxItems',\n ]\n const validationValues = (\n Object.entries(attribute.data) as [keyof AttributeData, any][]\n ).reduce((acc, [key, v]) => {\n if (validationKeys.includes(key)) acc[key] = v as number\n return acc\n }, {} as Record<keyof AttributeData, number>)\n\n const { ge, gt, le, lt, minLength, maxLength, minItems, maxItems } = validationValues\n const pattern = attribute.data.regex\n\n if (typeof value === 'number') {\n if (ge != null && value < ge) throw new Error(`“${field}” must be ≥ ${ge}`)\n if (gt != null && value <= gt) throw new Error(`“${field}” must be > ${gt}`)\n if (le != null && value > le) throw new Error(`“${field}” must be ≤ ${le}`)\n if (lt != null && value >= lt) throw new Error(`“${field}” must be < ${lt}`)\n } else if (typeof value === 'string') {\n if (minLength != null && value.length < minLength)\n throw new Error(`“${field}” length must be ≥ ${minLength}`)\n if (maxLength != null && value.length > maxLength)\n throw new Error(`“${field}” length must be ≤ ${maxLength}`)\n if (pattern && !new RegExp(pattern).test(value))\n throw new Error(`“${field}” must match pattern ${pattern}`)\n } else if (Array.isArray(value)) {\n if (minItems != null && value.length < minItems)\n throw new Error(`“${field}” items must be ≥ ${minItems}`)\n if (maxItems != null && value.length > maxItems)\n throw new Error(`“${field}” items must be ≤ ${maxItems}`)\n }\n }\n}\n\nexport default validateUpdateEntities\n"],"names":[],"mappings":"AAGA,MAAM,yBAAyB,CAC7B,WAA2B,IAC3B,iBACG;AAEH,aAAW,EAAE,UAAU,OAAO,UAAU,WAAW,UAAU;AAC3D,QAAI,CAAC,SAAU;AACf,UAAM,YAAY,aAAa,KAAK,CAAC,SAAS,KAAK,SAAS,KAAK;AACjE,QAAI,CAAC,UAAW;AAGhB,QAAI,QAAa;AACX,UAAA,EAAE,SAAS,UAAU;AACvB,QAAA,SAAS,aAAa,SAAS,SAAS;AACtC,UAAA,OAAO,aAAa,UAAU;AAE5B,YAAA,SAAS,WAAW,MAAM,MAAM,OAAO,QAAQ,CAAC,GAAG;AACrD,gBAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,QAAA;AAErD,gBAAQ,SAAS,YAAY,SAAS,UAAU,EAAE,IAAI,WAAW,QAAQ;AAAA,MAAA,WAChE,OAAO,aAAa,UAAU;AAEvC,cAAM,IAAI,MAAM,IAAI,KAAK,0BAA0B;AAAA,MAAA;AAAA,IACrD;AAIF,UAAM,iBAA0C;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,mBACJ,OAAO,QAAQ,UAAU,IAAI,EAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;AAC1B,UAAI,eAAe,SAAS,GAAG,EAAG,KAAI,GAAG,IAAI;AACtC,aAAA;AAAA,IACT,GAAG,EAAyC;AAEtC,UAAA,EAAE,IAAI,IAAI,IAAI,IAAI,WAAW,WAAW,UAAU,SAAA,IAAa;AAC/D,UAAA,UAAU,UAAU,KAAK;AAE3B,QAAA,OAAO,UAAU,UAAU;AACzB,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACvE,UAAA,MAAM,QAAQ,QAAQ,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AACtE,UAAA,MAAM,QAAQ,SAAS,GAAI,OAAM,IAAI,MAAM,IAAI,KAAK,eAAe,EAAE,EAAE;AAAA,IAAA,WAClE,OAAO,UAAU,UAAU;AAChC,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AACxD,UAAA,aAAa,QAAQ,MAAM,SAAS;AACtC,cAAM,IAAI,MAAM,IAAI,KAAK,sBAAsB,SAAS,EAAE;AAC5D,UAAI,WAAW,CAAC,IAAI,OAAO,OAAO,EAAE,KAAK,KAAK;AAC5C,cAAM,IAAI,MAAM,IAAI,KAAK,wBAAwB,OAAO,EAAE;AAAA,IACnD,WAAA,MAAM,QAAQ,KAAK,GAAG;AAC3B,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AACtD,UAAA,YAAY,QAAQ,MAAM,SAAS;AACrC,cAAM,IAAI,MAAM,IAAI,KAAK,qBAAqB,QAAQ,EAAE;AAAA,IAAA;AAAA,EAC5D;AAEJ;"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
4
+ const ayonReactComponents = require("@ynput/ayon-react-components");
5
+ const styled = require("styled-components");
6
+ const Expander = styled(ayonReactComponents.Button)`
7
+ background-color: unset;
8
+ padding: 2px !important;
9
+ cursor: pointer;
10
+ `;
11
+ const StyledGroupHeader = styled.div`
12
+ position: relative;
13
+ display: flex;
14
+ align-items: center;
15
+ gap: var(--base-gap-small);
16
+ height: 100%;
17
+ width: 100%;
18
+ padding-right: 8px;
19
+ `;
20
+ const StyledContentWrapper = styled.div`
21
+ width: 100%;
22
+ height: 24px;
23
+ overflow: hidden;
24
+ position: relative;
25
+ `;
26
+ const StyledContentAbsolute = styled.div`
27
+ position: absolute;
28
+ inset: 0;
29
+ `;
30
+ const StyledContent = styled.div`
31
+ display: flex;
32
+ align-items: center;
33
+ gap: var(--base-gap-large);
34
+ padding: 2px 4px;
35
+ border-radius: var(--border-radius-m);
36
+ cursor: pointer;
37
+ overflow: hidden;
38
+ width: fit-content;
39
+ max-width: 100%;
40
+ height: 100%;
41
+
42
+ /* &:hover {
43
+ &,
44
+ .icon,
45
+ .path {
46
+ color: var(--md-sys-color-primary);
47
+ }
48
+ } */
49
+ `;
50
+ const StyledTextContent = styled.div`
51
+ display: flex;
52
+ flex-direction: column;
53
+ overflow: hidden;
54
+
55
+ .path {
56
+ ${ayonReactComponents.theme.labelSmall}
57
+ margin-bottom: -4px;
58
+ color: var(--md-sys-color-outline);
59
+ }
60
+
61
+ span {
62
+ overflow: hidden;
63
+ white-space: nowrap;
64
+ text-overflow: ellipsis;
65
+ }
66
+ `;
67
+ const StyledImg = styled.img`
68
+ width: 24px;
69
+ height: 24px;
70
+ border-radius: 12px;
71
+ object-fit: cover;
72
+ `;
73
+ const Count = styled.span`
74
+ color: var(--md-sys-color-outline);
75
+ `;
76
+ const GroupHeaderWidget = ({
77
+ id,
78
+ label,
79
+ name,
80
+ icon,
81
+ img,
82
+ count,
83
+ color,
84
+ isExpanded,
85
+ isEmpty,
86
+ toggleExpanded
87
+ }) => {
88
+ return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(StyledGroupHeader, { id, children: [
89
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
90
+ Expander,
91
+ {
92
+ onClick: (e) => {
93
+ e.stopPropagation();
94
+ toggleExpanded();
95
+ },
96
+ className: "expander",
97
+ icon: isExpanded ? "expand_more" : "chevron_right"
98
+ }
99
+ ),
100
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(StyledContentWrapper, { children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(StyledContentAbsolute, { children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(StyledContent, { children: [
101
+ img && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(StyledImg, { src: img, alt: name, className: "img" }),
102
+ icon && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ayonReactComponents.Icon, { icon, style: { color: color || void 0 } }),
103
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(StyledTextContent, { style: { color: color || void 0 }, children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { className: "label", children: label || name }) }),
104
+ isEmpty && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Count, { children: "(Empty)" })
105
+ ] }) }) })
106
+ ] });
107
+ };
108
+ exports.GroupHeaderWidget = GroupHeaderWidget;
109
+ //# sourceMappingURL=GroupHeaderWidget.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupHeaderWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.tsx"],"sourcesContent":["import { Button, Icon, theme } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nconst Expander = styled(Button)`\n background-color: unset;\n padding: 2px !important;\n cursor: pointer;\n`\n\nconst StyledGroupHeader = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding-right: 8px;\n`\n\nconst StyledContentWrapper = styled.div`\n width: 100%;\n height: 24px;\n overflow: hidden;\n position: relative;\n`\n\nconst StyledContentAbsolute = styled.div`\n position: absolute;\n inset: 0;\n`\n\nconst StyledContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-large);\n padding: 2px 4px;\n border-radius: var(--border-radius-m);\n cursor: pointer;\n overflow: hidden;\n width: fit-content;\n max-width: 100%;\n height: 100%;\n\n /* &:hover {\n &,\n .icon,\n .path {\n color: var(--md-sys-color-primary);\n }\n } */\n`\n\nconst StyledTextContent = styled.div`\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n .path {\n ${theme.labelSmall}\n margin-bottom: -4px;\n color: var(--md-sys-color-outline);\n }\n\n span {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n`\n\nconst StyledImg = styled.img`\n width: 24px;\n height: 24px;\n border-radius: 12px;\n object-fit: cover;\n`\n\nconst Count = styled.span`\n color: var(--md-sys-color-outline);\n`\n\ntype GroupHeaderProps = {\n id: string\n label: string\n name: string\n icon?: string | null\n img?: string | null\n color?: string | null\n count?: number\n isExpanded: boolean\n isEmpty?: boolean\n toggleExpanded: () => void\n}\n\nexport const GroupHeaderWidget = ({\n id,\n label,\n name,\n icon,\n img,\n count,\n color,\n isExpanded,\n isEmpty,\n toggleExpanded,\n}: GroupHeaderProps) => {\n return (\n <StyledGroupHeader id={id}>\n <Expander\n onClick={(e) => {\n e.stopPropagation()\n toggleExpanded()\n }}\n className=\"expander\"\n icon={isExpanded ? 'expand_more' : 'chevron_right'}\n />\n <StyledContentWrapper>\n <StyledContentAbsolute>\n <StyledContent>\n {img && <StyledImg src={img} alt={name} className=\"img\" />}\n {icon && <Icon icon={icon} style={{ color: color || undefined }} />}\n <StyledTextContent style={{ color: color || undefined }}>\n <span className=\"label\">{label || name}</span>\n </StyledTextContent>\n {/* {count === undefined && <Count>{count}</Count>} */}\n {isEmpty && <Count>(Empty)</Count>}\n </StyledContent>\n </StyledContentAbsolute>\n </StyledContentWrapper>\n </StyledGroupHeader>\n )\n}\n"],"names":["Button","theme","jsxs","jsx","Icon"],"mappings":";;;;;AAGA,MAAM,WAAW,OAAOA,0BAAM;AAAA;AAAA;AAAA;AAAA;AAM9B,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUjC,MAAM,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpC,MAAM,wBAAwB,OAAO;AAAA;AAAA;AAAA;AAKrC,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqB7B,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM3BC,0BAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,QAAQ,OAAO;AAAA;AAAA;AAiBd,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AAEpB,SAAAC,kDAAC,qBAAkB,IACjB,UAAA;AAAA,IAAAC,2BAAA,kBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AACH,yBAAA;AAAA,QACjB;AAAA,QACA,WAAU;AAAA,QACV,MAAM,aAAa,gBAAgB;AAAA,MAAA;AAAA,IACrC;AAAA,IACCA,2BAAAA,kBAAAA,IAAA,sBAAA,EACC,UAACA,iDAAA,uBAAA,EACC,4DAAC,eACE,EAAA,UAAA;AAAA,MAAA,wDAAQ,WAAU,EAAA,KAAK,KAAK,KAAK,MAAM,WAAU,OAAM;AAAA,MACvD,yDAASC,oBAAK,MAAA,EAAA,MAAY,OAAO,EAAE,OAAO,SAAS,OAAA,GAAa;AAAA,MAChED,2BAAA,kBAAA,IAAA,mBAAA,EAAkB,OAAO,EAAE,OAAO,SAAS,OAAA,GAC1C,UAAAA,2BAAA,kBAAA,IAAC,QAAK,EAAA,WAAU,SAAS,UAAA,SAAS,KAAK,CAAA,GACzC;AAAA,MAEC,WAAYA,2BAAAA,kBAAAA,IAAA,OAAA,EAAM,UAAO,UAAA,CAAA;AAAA,IAAA,EAC5B,CAAA,EACF,CAAA,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;;"}
@@ -0,0 +1,109 @@
1
+ import { j as jsxRuntimeExports } from "../../../../../_virtual/jsx-runtime.es.js";
2
+ import { Button, theme, Icon } from "@ynput/ayon-react-components";
3
+ import styled from "styled-components";
4
+ const Expander = styled(Button)`
5
+ background-color: unset;
6
+ padding: 2px !important;
7
+ cursor: pointer;
8
+ `;
9
+ const StyledGroupHeader = styled.div`
10
+ position: relative;
11
+ display: flex;
12
+ align-items: center;
13
+ gap: var(--base-gap-small);
14
+ height: 100%;
15
+ width: 100%;
16
+ padding-right: 8px;
17
+ `;
18
+ const StyledContentWrapper = styled.div`
19
+ width: 100%;
20
+ height: 24px;
21
+ overflow: hidden;
22
+ position: relative;
23
+ `;
24
+ const StyledContentAbsolute = styled.div`
25
+ position: absolute;
26
+ inset: 0;
27
+ `;
28
+ const StyledContent = styled.div`
29
+ display: flex;
30
+ align-items: center;
31
+ gap: var(--base-gap-large);
32
+ padding: 2px 4px;
33
+ border-radius: var(--border-radius-m);
34
+ cursor: pointer;
35
+ overflow: hidden;
36
+ width: fit-content;
37
+ max-width: 100%;
38
+ height: 100%;
39
+
40
+ /* &:hover {
41
+ &,
42
+ .icon,
43
+ .path {
44
+ color: var(--md-sys-color-primary);
45
+ }
46
+ } */
47
+ `;
48
+ const StyledTextContent = styled.div`
49
+ display: flex;
50
+ flex-direction: column;
51
+ overflow: hidden;
52
+
53
+ .path {
54
+ ${theme.labelSmall}
55
+ margin-bottom: -4px;
56
+ color: var(--md-sys-color-outline);
57
+ }
58
+
59
+ span {
60
+ overflow: hidden;
61
+ white-space: nowrap;
62
+ text-overflow: ellipsis;
63
+ }
64
+ `;
65
+ const StyledImg = styled.img`
66
+ width: 24px;
67
+ height: 24px;
68
+ border-radius: 12px;
69
+ object-fit: cover;
70
+ `;
71
+ const Count = styled.span`
72
+ color: var(--md-sys-color-outline);
73
+ `;
74
+ const GroupHeaderWidget = ({
75
+ id,
76
+ label,
77
+ name,
78
+ icon,
79
+ img,
80
+ count,
81
+ color,
82
+ isExpanded,
83
+ isEmpty,
84
+ toggleExpanded
85
+ }) => {
86
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(StyledGroupHeader, { id, children: [
87
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
88
+ Expander,
89
+ {
90
+ onClick: (e) => {
91
+ e.stopPropagation();
92
+ toggleExpanded();
93
+ },
94
+ className: "expander",
95
+ icon: isExpanded ? "expand_more" : "chevron_right"
96
+ }
97
+ ),
98
+ /* @__PURE__ */ jsxRuntimeExports.jsx(StyledContentWrapper, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(StyledContentAbsolute, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(StyledContent, { children: [
99
+ img && /* @__PURE__ */ jsxRuntimeExports.jsx(StyledImg, { src: img, alt: name, className: "img" }),
100
+ icon && /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { icon, style: { color: color || void 0 } }),
101
+ /* @__PURE__ */ jsxRuntimeExports.jsx(StyledTextContent, { style: { color: color || void 0 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "label", children: label || name }) }),
102
+ isEmpty && /* @__PURE__ */ jsxRuntimeExports.jsx(Count, { children: "(Empty)" })
103
+ ] }) }) })
104
+ ] });
105
+ };
106
+ export {
107
+ GroupHeaderWidget
108
+ };
109
+ //# sourceMappingURL=GroupHeaderWidget.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupHeaderWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.tsx"],"sourcesContent":["import { Button, Icon, theme } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nconst Expander = styled(Button)`\n background-color: unset;\n padding: 2px !important;\n cursor: pointer;\n`\n\nconst StyledGroupHeader = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n gap: var(--base-gap-small);\n height: 100%;\n width: 100%;\n padding-right: 8px;\n`\n\nconst StyledContentWrapper = styled.div`\n width: 100%;\n height: 24px;\n overflow: hidden;\n position: relative;\n`\n\nconst StyledContentAbsolute = styled.div`\n position: absolute;\n inset: 0;\n`\n\nconst StyledContent = styled.div`\n display: flex;\n align-items: center;\n gap: var(--base-gap-large);\n padding: 2px 4px;\n border-radius: var(--border-radius-m);\n cursor: pointer;\n overflow: hidden;\n width: fit-content;\n max-width: 100%;\n height: 100%;\n\n /* &:hover {\n &,\n .icon,\n .path {\n color: var(--md-sys-color-primary);\n }\n } */\n`\n\nconst StyledTextContent = styled.div`\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n .path {\n ${theme.labelSmall}\n margin-bottom: -4px;\n color: var(--md-sys-color-outline);\n }\n\n span {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n`\n\nconst StyledImg = styled.img`\n width: 24px;\n height: 24px;\n border-radius: 12px;\n object-fit: cover;\n`\n\nconst Count = styled.span`\n color: var(--md-sys-color-outline);\n`\n\ntype GroupHeaderProps = {\n id: string\n label: string\n name: string\n icon?: string | null\n img?: string | null\n color?: string | null\n count?: number\n isExpanded: boolean\n isEmpty?: boolean\n toggleExpanded: () => void\n}\n\nexport const GroupHeaderWidget = ({\n id,\n label,\n name,\n icon,\n img,\n count,\n color,\n isExpanded,\n isEmpty,\n toggleExpanded,\n}: GroupHeaderProps) => {\n return (\n <StyledGroupHeader id={id}>\n <Expander\n onClick={(e) => {\n e.stopPropagation()\n toggleExpanded()\n }}\n className=\"expander\"\n icon={isExpanded ? 'expand_more' : 'chevron_right'}\n />\n <StyledContentWrapper>\n <StyledContentAbsolute>\n <StyledContent>\n {img && <StyledImg src={img} alt={name} className=\"img\" />}\n {icon && <Icon icon={icon} style={{ color: color || undefined }} />}\n <StyledTextContent style={{ color: color || undefined }}>\n <span className=\"label\">{label || name}</span>\n </StyledTextContent>\n {/* {count === undefined && <Count>{count}</Count>} */}\n {isEmpty && <Count>(Empty)</Count>}\n </StyledContent>\n </StyledContentAbsolute>\n </StyledContentWrapper>\n </StyledGroupHeader>\n )\n}\n"],"names":["jsxs","jsx"],"mappings":";;;AAGA,MAAM,WAAW,OAAO,MAAM;AAAA;AAAA;AAAA;AAAA;AAM9B,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUjC,MAAM,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOpC,MAAM,wBAAwB,OAAO;AAAA;AAAA;AAAA;AAKrC,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqB7B,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAM3B,MAAM,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,MAAM,YAAY,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAOzB,MAAM,QAAQ,OAAO;AAAA;AAAA;AAiBd,MAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AAEpB,SAAAA,uCAAC,qBAAkB,IACjB,UAAA;AAAA,IAAAC,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AACH,yBAAA;AAAA,QACjB;AAAA,QACA,WAAU;AAAA,QACV,MAAM,aAAa,gBAAgB;AAAA,MAAA;AAAA,IACrC;AAAA,IACCA,kCAAAA,IAAA,sBAAA,EACC,UAACA,sCAAA,uBAAA,EACC,iDAAC,eACE,EAAA,UAAA;AAAA,MAAA,6CAAQ,WAAU,EAAA,KAAK,KAAK,KAAK,MAAM,WAAU,OAAM;AAAA,MACvD,8CAAS,MAAK,EAAA,MAAY,OAAO,EAAE,OAAO,SAAS,OAAA,GAAa;AAAA,MAChEA,kCAAA,IAAA,mBAAA,EAAkB,OAAO,EAAE,OAAO,SAAS,OAAA,GAC1C,UAAAA,kCAAA,IAAC,QAAK,EAAA,WAAU,SAAS,UAAA,SAAS,KAAK,CAAA,GACzC;AAAA,MAEC,WAAYA,kCAAAA,IAAA,OAAA,EAAM,UAAO,UAAA,CAAA;AAAA,IAAA,EAC5B,CAAA,EACF,CAAA,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ const jsxRuntime = require("../../../../../_virtual/jsx-runtime.cjs.js");
3
+ const ayonReactComponents = require("@ynput/ayon-react-components");
4
+ const styled = require("styled-components");
5
+ const LoadMore = styled.div`
6
+ position: absolute;
7
+ inset: 0;
8
+ display: flex;
9
+ align-items: center;
10
+ padding: 4px;
11
+ button {
12
+ width: 100%;
13
+ }
14
+ `;
15
+ const LoadMoreWidget = ({ label = "Load more", id, onLoadMore }) => {
16
+ return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(LoadMore, { id: `load-more-${id}`, className: "load-more", children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
17
+ ayonReactComponents.Button,
18
+ {
19
+ label,
20
+ onClick: (e) => {
21
+ e.stopPropagation();
22
+ onLoadMore(id);
23
+ },
24
+ variant: "tonal"
25
+ }
26
+ ) });
27
+ };
28
+ module.exports = LoadMoreWidget;
29
+ //# sourceMappingURL=LoadMoreWidget.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadMoreWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/LoadMoreWidget.tsx"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport { FC } from 'react'\nimport styled from 'styled-components'\n\nconst LoadMore = styled.div`\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n padding: 4px;\n button {\n width: 100%;\n }\n`\n\ninterface LoadMoreWidgetProps {\n id: string | undefined\n label: string\n onLoadMore: (id?: string) => void\n}\n\nconst LoadMoreWidget: FC<LoadMoreWidgetProps> = ({ label = 'Load more', id, onLoadMore }) => {\n return (\n <LoadMore id={`load-more-${id}`} className=\"load-more\">\n <Button\n label={label}\n onClick={(e) => {\n e.stopPropagation()\n onLoadMore(id)\n }}\n variant=\"tonal\"\n />\n </LoadMore>\n )\n}\n\nexport default LoadMoreWidget\n"],"names":["jsx","Button"],"mappings":";;;;AAIA,MAAM,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBxB,MAAM,iBAA0C,CAAC,EAAE,QAAQ,aAAa,IAAI,iBAAiB;AAC3F,0DACG,UAAS,EAAA,IAAI,aAAa,EAAE,IAAI,WAAU,aACzC,UAAAA,2BAAA,kBAAA;AAAA,IAACC,oBAAA;AAAA,IAAA;AAAA,MACC;AAAA,MACA,SAAS,CAAC,MAAM;AACd,UAAE,gBAAgB;AAClB,mBAAW,EAAE;AAAA,MACf;AAAA,MACA,SAAQ;AAAA,IAAA;AAAA,EAAA,GAEZ;AAEJ;;"}