@ynput/ayon-frontend-shared 0.2.26 → 0.2.28

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 (367) hide show
  1. package/dist/DetailsPanel.cjs.js +1 -1
  2. package/dist/DetailsPanel.es.js +25 -22
  3. package/dist/DetailsPanel.es.js.map +1 -1
  4. package/dist/Views.cjs.js +1 -1
  5. package/dist/Views.cjs.js.map +1 -1
  6. package/dist/Views.es.js +13 -11
  7. package/dist/Views.es.js.map +1 -1
  8. package/dist/api.cjs.js +1 -1
  9. package/dist/api.es.js +153 -151
  10. package/dist/components.cjs.js +1 -1
  11. package/dist/components.es.js +62 -51
  12. package/dist/components.es.js.map +1 -1
  13. package/dist/index.cjs.js +1 -1
  14. package/dist/index.es.js +12 -6
  15. package/dist/index.es.js.map +1 -1
  16. package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
  17. package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
  18. package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
  19. package/dist/shared/src/api/generated/users.es.js.map +1 -1
  20. package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
  21. package/dist/shared/src/api/generated/views.es.js.map +1 -1
  22. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
  23. package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
  24. package/dist/shared/src/api/queries/entityLists/getLists.es.js +142 -117
  25. package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
  26. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
  27. package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
  28. package/dist/shared/src/api/queries/entityLists/updateLists.es.js +110 -95
  29. package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
  30. package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
  31. package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
  32. package/dist/shared/src/api/queries/users/getUsers.es.js +21 -17
  33. package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
  34. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
  35. package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
  36. package/dist/shared/src/components/AccessUser/AccessUser.es.js +33 -0
  37. package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
  38. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +42 -0
  39. package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
  40. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +46 -0
  41. package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
  42. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +34 -0
  43. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +1 -0
  44. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +46 -0
  45. package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +1 -0
  46. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +20 -10
  47. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
  48. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +81 -67
  49. package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
  50. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
  51. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
  52. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +59 -52
  53. package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
  54. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
  55. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
  56. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
  57. package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
  58. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
  59. package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
  60. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
  61. package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
  62. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
  63. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
  64. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
  65. package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
  66. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
  67. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
  68. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +205 -0
  69. package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
  70. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
  71. package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
  72. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +25 -0
  73. package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
  74. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
  75. package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
  76. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
  77. package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
  78. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
  79. package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
  80. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -2
  81. package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
  82. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
  83. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
  84. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
  85. package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
  86. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
  87. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
  88. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
  89. package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
  90. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
  91. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
  92. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +18 -21
  93. package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
  94. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
  95. package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
  96. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
  97. package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
  98. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
  99. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
  100. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
  101. package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
  102. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
  103. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
  104. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
  105. package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
  106. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +2 -0
  107. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
  108. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +17 -0
  109. package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
  110. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
  111. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
  112. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
  113. package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
  114. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
  115. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
  116. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
  117. package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
  118. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
  119. package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
  120. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
  121. package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
  122. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
  123. package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
  124. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
  125. package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
  126. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
  127. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
  128. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +146 -157
  129. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
  130. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
  131. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
  132. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
  133. package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
  134. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
  135. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
  136. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
  137. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
  138. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
  139. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
  140. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
  141. package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
  142. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
  143. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
  144. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
  145. package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
  146. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
  147. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
  148. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
  149. package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
  150. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
  151. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
  152. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
  153. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
  154. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
  155. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
  156. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
  157. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
  158. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
  159. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
  160. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
  161. package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
  162. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
  163. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
  164. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +413 -396
  165. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
  166. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +104 -25
  167. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
  168. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +131 -52
  169. package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
  170. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
  171. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
  172. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +136 -129
  173. package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
  174. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +16 -53
  175. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
  176. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +100 -120
  177. package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
  178. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
  179. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
  180. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
  181. package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
  182. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +7 -3
  183. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
  184. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +12 -8
  185. package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
  186. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
  187. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
  188. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
  189. package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
  190. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
  191. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
  192. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +250 -235
  193. package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
  194. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
  195. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
  196. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +24 -21
  197. package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
  198. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
  199. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
  200. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
  201. package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
  202. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
  203. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
  204. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
  205. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
  206. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +10 -10
  207. package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
  208. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
  209. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
  210. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -9
  211. package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
  212. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
  213. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
  214. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +65 -60
  215. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
  216. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
  217. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
  218. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
  219. package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
  220. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
  221. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
  222. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
  223. package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
  224. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
  225. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
  226. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +5 -2
  227. package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
  228. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
  229. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
  230. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
  231. package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
  232. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
  233. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
  234. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
  235. package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
  236. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
  237. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
  238. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
  239. package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
  240. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
  241. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
  242. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
  243. package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
  244. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +1 -1
  245. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
  246. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +41 -14
  247. package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
  248. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
  249. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
  250. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
  251. package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
  252. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
  253. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
  254. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +110 -104
  255. package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
  256. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +2 -2
  257. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
  258. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +8 -8
  259. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
  260. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
  261. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
  262. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +44 -43
  263. package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
  264. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
  265. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
  266. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
  267. package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
  268. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
  269. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
  270. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
  271. package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
  272. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
  273. package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
  274. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +118 -103
  275. package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
  276. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +16 -4
  277. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
  278. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +13 -1
  279. package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
  280. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
  281. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
  282. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
  283. package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
  284. package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
  285. package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
  286. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +2 -0
  287. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +1 -0
  288. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +64 -0
  289. package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +1 -0
  290. package/dist/shared/src/context/MenuContext.cjs.js +2 -0
  291. package/dist/shared/src/context/MenuContext.cjs.js.map +1 -0
  292. package/dist/shared/src/context/MenuContext.es.js +28 -0
  293. package/dist/shared/src/context/MenuContext.es.js.map +1 -0
  294. package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
  295. package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
  296. package/dist/shared/src/context/PowerpackContext.es.js +20 -15
  297. package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
  298. package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
  299. package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
  300. package/dist/shared/src/context/RemoteModulesContext.es.js +19 -19
  301. package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
  302. package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
  303. package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
  304. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +2 -0
  305. package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -0
  306. package/dist/src/components/Menu/MenuComponents/Menu.es.js +55 -0
  307. package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -0
  308. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +254 -0
  309. package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -0
  310. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +265 -0
  311. package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -0
  312. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +2 -0
  313. package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +1 -0
  314. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +80 -0
  315. package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +1 -0
  316. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +2 -0
  317. package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -0
  318. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +59 -0
  319. package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -0
  320. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +2 -0
  321. package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -0
  322. package/dist/src/components/Menu/MenuComponents/MenuList.es.js +112 -0
  323. package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -0
  324. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +2 -0
  325. package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +1 -0
  326. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +35 -0
  327. package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +1 -0
  328. package/dist/types/api/generated/entityLists.d.ts +8 -8
  329. package/dist/types/api/generated/users.d.ts +18 -14
  330. package/dist/types/api/generated/views.d.ts +47 -9
  331. package/dist/types/api/queries/entityLists/getLists.d.ts +133 -0
  332. package/dist/types/api/queries/entityLists/types.d.ts +2 -1
  333. package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
  334. package/dist/types/api/queries/users/getUsers.d.ts +132 -0
  335. package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
  336. package/dist/types/components/AccessUser/AccessUser.d.ts +22 -0
  337. package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
  338. package/dist/types/components/AccessUser/index.d.ts +1 -0
  339. package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +8 -0
  340. package/dist/types/components/DetailsMetaData/index.d.ts +1 -0
  341. package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
  342. package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +13 -0
  343. package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
  344. package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
  345. package/dist/types/components/ListMetaData/index.d.ts +1 -0
  346. package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
  347. package/dist/types/components/Powerpack/index.d.ts +1 -0
  348. package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +10 -0
  349. package/dist/types/components/ShareOptionIcon/index.d.ts +2 -0
  350. package/dist/types/components/index.d.ts +4 -0
  351. package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
  352. package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +3 -1
  353. package/dist/types/containers/ProjectTreeTable/components/ColumnHeaderMenu.d.ts +4 -1
  354. package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +1 -0
  355. package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +3 -1
  356. package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -0
  357. package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +1 -1
  358. package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
  359. package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -2
  360. package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
  361. package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
  362. package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +11 -0
  363. package/dist/types/containers/Views/index.d.ts +6 -2
  364. package/dist/types/context/MenuContext.d.ts +12 -0
  365. package/dist/types/context/PowerpackContext.d.ts +1 -1
  366. package/dist/types/index.d.ts +1 -0
  367. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTable.styled.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.styled.ts"],"sourcesContent":["import { Button, theme } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 8px;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* make error icon smaller */\n .empty-placeholder {\n width: 100%;\n padding: 8px;\n max-width: 240px;\n .icon {\n font-size: 32px;\n }\n h3 {\n ${theme.titleMedium}\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n tr {\n position: absolute;\n display: flex;\n width: 100%;\n /* transform: set on dynamically */\n }\n\n td {\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const Cell = styled.div`\n width: 100%;\n min-height: 32px;\n user-select: none;\n padding: 0px 4px;\n\n display: flex;\n gap: var(--base-gap-small);\n align-items: center;\n cursor: pointer;\n\n border-radius: var(--border-radius-m);\n\n .value {\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .path {\n display: flex;\n gap: var(--base-gap-small);\n }\n\n .loading {\n pointer-events: none;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-hover);\n }\n\n &.selected {\n background-color: var(--md-sys-color-primary-container);\n\n &,\n .icon {\n color: var(--md-sys-color-on-primary-container);\n }\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed !important;\n \n &,\n .value,\n .icon {\n color: var(--md-sys-color-outline);\n }\n\n &:hover {\n background-color: transparent;\n }\n\n .value {\n text-decoration: line-through;\n }\n }\n`\n\nexport const Expander = styled(Button)`\n &.expander {\n background-color: unset;\n padding: 2px;\n cursor: pointer;\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n }\n`\n\n// utility styles for wrapping the table\nexport const Container = styled.div`\n border-radius: var(--border-radius-m);\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-low);\n height: 100%;\n flex: 1;\n\n display: flex;\n flex-direction: column;\n position: relative;\n`\n\nexport const Header = styled.div`\n padding: 2px;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n position: relative;\n\n display: flex;\n gap: var(--base-gap-small);\n\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n`\n\nexport const HeaderButton = styled(Button)`\n background-color: unset !important;\n z-index: 110;\n position: relative;\n\n &.hasIcon {\n padding: 4px;\n }\n\n &.open {\n background-color: unset !important;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-hover) !important;\n }\n\n &.active {\n background-color: var(--md-sys-color-surface-container-hover) !important;\n }\n`\n"],"names":["TableContainer","styled","theme","Cell","Expander","Button","Container","Header","HeaderButton"],"mappings":";;AAGO,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAsB7BC,EAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgCZC,IAAOF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA8DdG,IAAWH,EAAOI,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYxBC,IAAYL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYnBM,IAASN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAahBO,IAAeP,EAAOI,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"SimpleTable.styled.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTable.styled.ts"],"sourcesContent":["import { Button, theme } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const TableContainer = styled.div`\n display: flex;\n\n height: 100%;\n width: 100%;\n overflow: auto;\n padding: 4px;\n padding-top: 8px;\n\n &.isLoading {\n overflow: hidden;\n }\n\n /* make error icon smaller */\n .empty-placeholder {\n width: 100%;\n padding: 8px;\n max-width: 240px;\n .icon {\n font-size: 32px;\n }\n h3 {\n ${theme.titleMedium}\n }\n }\n\n table {\n height: fit-content;\n width: 100%;\n display: grid;\n }\n\n thead {\n display: none;\n }\n\n tbody {\n position: relative;\n display: grid;\n }\n\n tr {\n position: absolute;\n display: flex;\n width: 100%;\n /* transform: set on dynamically */\n }\n\n td {\n padding: 1px 0px;\n width: 100%;\n }\n`\n\nexport const Cell = styled.div`\n width: 100%;\n min-height: 32px;\n user-select: none;\n padding: 0px 4px;\n\n display: flex;\n gap: var(--base-gap-small);\n align-items: center;\n cursor: pointer;\n\n border-radius: var(--border-radius-m);\n\n .value {\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .path {\n display: flex;\n gap: var(--base-gap-small);\n }\n\n .loading {\n pointer-events: none;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-hover);\n }\n\n &.selected {\n background-color: var(--md-sys-color-primary-container);\n\n &,\n .icon {\n color: var(--md-sys-color-on-primary-container);\n }\n }\n\n &.inactive {\n .icon,\n .value {\n color: var(--md-sys-color-outline);\n }\n }\n\n &.disabled {\n opacity: 0.5;\n cursor: not-allowed !important;\n\n &,\n .value,\n .icon {\n color: var(--md-sys-color-outline);\n }\n\n &:hover {\n background-color: transparent;\n }\n\n .value {\n text-decoration: line-through;\n }\n }\n\n /* filled icon */\n .icon.filled {\n font-variation-settings: 'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20;\n }\n`\n\nexport const Expander = styled(Button)`\n &.expander {\n background-color: unset;\n padding: 2px;\n cursor: pointer;\n &:hover {\n background-color: var(--md-sys-color-surface-container-high-hover);\n }\n }\n`\n\n// utility styles for wrapping the table\nexport const Container = styled.div`\n border-radius: var(--border-radius-m);\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-low);\n height: 100%;\n flex: 1;\n\n display: flex;\n flex-direction: column;\n position: relative;\n`\n\nexport const Header = styled.div`\n padding: 2px;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n position: relative;\n\n display: flex;\n gap: var(--base-gap-small);\n\n border-bottom: 1px solid var(--md-sys-color-outline-variant);\n`\n\nexport const HeaderButton = styled(Button)`\n background-color: unset !important;\n z-index: 110;\n position: relative;\n\n &.hasIcon {\n padding: 4px;\n }\n\n &.open {\n background-color: unset !important;\n }\n\n &:hover {\n background-color: var(--md-sys-color-surface-container-hover) !important;\n }\n\n &.active {\n background-color: var(--md-sys-color-surface-container-hover) !important;\n }\n`\n"],"names":["TableContainer","styled","theme","Cell","Expander","Button","Container","Header","HeaderButton"],"mappings":";;AAGO,MAAMA,IAAiBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAsB7BC,EAAM,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgCZC,IAAOF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0EdG,IAAWH,EAAOI,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYxBC,IAAYL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYnBM,IAASN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAahBO,IAAeP,EAAOI,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),x=require("react"),m=require("./SimpleTable.styled.cjs.js"),b=require("@ynput/ayon-react-components"),c=({isRowExpandable:o,isRowExpanded:t,isTableExpandable:r,onExpandClick:s})=>o?e.jsxRuntimeExports.jsx(m.Expander,{onClick:l=>{l.stopPropagation(),s==null||s()},icon:t?"expand_more":"chevron_right",className:"expander",style:{cursor:"pointer"}}):r&&e.jsxRuntimeExports.jsx("div",{style:{display:"inline-block",minWidth:24}}),v=x.forwardRef(({value:o,icon:t,parents:r,iconColor:s,isRowExpandable:l,isRowExpanded:j,isTableExpandable:u,onExpandClick:R,startContent:a,endContent:i,depth:d=0,isDisabled:p,disabledMessage:h,style:y,...E},g)=>e.jsxRuntimeExports.jsxs(m.Cell,{...E,ref:g,style:{...y,paddingLeft:`calc(${d*.5}rem + 4px)`,...p&&{cursor:"not-allowed"}},title:p?h:void 0,children:[e.jsxRuntimeExports.jsx(c,{isRowExpandable:l,isRowExpanded:j,isTableExpandable:u,onExpandClick:R}),a&&a,t&&e.jsxRuntimeExports.jsx(b.Icon,{icon:t,style:{color:s}}),r&&e.jsxRuntimeExports.jsx("span",{className:"path",children:r.map((T,n)=>e.jsxRuntimeExports.jsxs(x.Fragment,{children:[e.jsxRuntimeExports.jsx("span",{children:T},n+"-path"),e.jsxRuntimeExports.jsx("span",{children:"/"},n+"-separator")]},n))}),e.jsxRuntimeExports.jsx("span",{className:"value",children:o}),i&&i]}));exports.RowExpander=c;exports.SimpleTableCellTemplate=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),p=require("react"),c=require("./SimpleTable.styled.cjs.js"),f=require("@ynput/ayon-react-components"),q=require("clsx"),m=({isRowExpandable:l,isRowExpanded:t,enableNonFolderIndent:r=!0,isTableExpandable:i,onExpandClick:s})=>l?e.jsxRuntimeExports.jsx(c.Expander,{onClick:a=>{a.stopPropagation(),s==null||s()},icon:t?"expand_more":"chevron_right",className:"expander",style:{cursor:"pointer"}}):i&&r&&e.jsxRuntimeExports.jsx("div",{style:{display:"inline-block",minWidth:24}}),S=p.forwardRef(({value:l,icon:t,parents:r,iconColor:i,iconFilled:s,isRowExpandable:a,isRowExpanded:u,isTableExpandable:j,enableNonFolderIndent:R=!0,onExpandClick:d,startContent:n,endContent:x,depth:h=0,isDisabled:y,disabledMessage:E,active:N,style:b,...g},v)=>e.jsxRuntimeExports.jsxs(c.Cell,{...g,ref:v,style:{...b,paddingLeft:`calc(${h*.5}rem + 4px)`},title:y?E:void 0,children:[e.jsxRuntimeExports.jsx(m,{isRowExpandable:a,isRowExpanded:u,isTableExpandable:j,onExpandClick:d,enableNonFolderIndent:R}),n&&n,t&&e.jsxRuntimeExports.jsx(f.Icon,{icon:t,className:q({filled:s}),style:{color:i}}),r&&e.jsxRuntimeExports.jsx("span",{className:"path",children:r.map((T,o)=>e.jsxRuntimeExports.jsxs(p.Fragment,{children:[e.jsxRuntimeExports.jsx("span",{children:T},o+"-path"),e.jsxRuntimeExports.jsx("span",{children:"/"},o+"-separator")]},o))}),e.jsxRuntimeExports.jsx("span",{className:"value",children:l}),x&&x]}));exports.RowExpander=m;exports.SimpleTableCellTemplate=S;
2
2
  //# sourceMappingURL=SimpleTableRowTemplate.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTableRowTemplate.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n ...(isDisabled && {\n cursor: 'not-allowed',\n }),\n }}\n title={isDisabled ? disabledMessage : undefined}\n >\n <RowExpander\n isRowExpandable={isRowExpandable}\n isRowExpanded={isRowExpanded}\n isTableExpandable={isTableExpandable}\n onExpandClick={onExpandClick}\n />\n {startContent && startContent}\n {icon && <Icon icon={icon} style={{ color: iconColor }} />}\n {parents && (\n <span className=\"path\">\n {parents.map((part, index) => (\n <Fragment key={index}>\n <span key={index + '-path'}>{part}</span>\n <span key={index + '-separator'}>/</span>\n </Fragment>\n ))}\n </span>\n )}\n <span className=\"value\">{value}</span>\n {endContent && endContent}\n </Styled.Cell>\n )\n },\n)\n"],"names":["RowExpander","isRowExpandable","isRowExpanded","isTableExpandable","onExpandClick","jsx","Styled.Expander","e","SimpleTableCellTemplate","forwardRef","value","icon","parents","iconColor","startContent","endContent","depth","isDisabled","disabledMessage","style","props","ref","jsxs","Styled.Cell","Icon","part","index","Fragment"],"mappings":"iPAWaA,EAAc,CAAC,CAC1B,gBAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,cAAAC,CACF,IACEH,EACEI,EAAA,kBAAA,IAACC,EAAO,SAAP,CACC,QAAUC,GAAM,CACdA,EAAE,gBAAgB,EACFH,GAAA,MAAAA,GAClB,EACA,KAAMF,EAAgB,cAAgB,gBACtC,UAAU,WACV,MAAO,CAAE,OAAQ,SAAU,CAAA,CAC7B,EAEAC,2BAAsB,MAAI,CAAA,MAAO,CAAE,QAAS,eAAgB,SAAU,GAAM,CAAA,EAoBnEK,EAA0BC,EAAA,WACrC,CACE,CACE,MAAAC,EACA,KAAAC,EACA,QAAAC,EACA,UAAAC,EACA,gBAAAZ,EACA,cAAAC,EACA,kBAAAC,EACA,cAAAC,EACA,aAAAU,EACA,WAAAC,EACA,MAAAC,EAAQ,EACR,WAAAC,EACA,gBAAAC,EACA,MAAAC,EACA,GAAGC,GAELC,IAGEC,EAAA,kBAAA,KAACC,EAAO,KAAP,CACE,GAAGH,EACJ,IAAAC,EACA,MAAO,CACL,GAAGF,EACH,YAAa,QAAQH,EAAQ,EAAG,aAChC,GAAIC,GAAc,CAChB,OAAQ,aAAA,CAEZ,EACA,MAAOA,EAAaC,EAAkB,OAEtC,SAAA,CAAAb,EAAA,kBAAA,IAACL,EAAA,CACC,gBAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,cAAAC,CAAA,CACF,EACCU,GAAgBA,EAChBH,2BAASa,EAAAA,KAAK,CAAA,KAAAb,EAAY,MAAO,CAAE,MAAOE,GAAa,EACvDD,GACEP,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,OACb,SAAQO,EAAA,IAAI,CAACa,EAAMC,IAClBJ,EAAA,kBAAA,KAACK,EACC,SAAA,CAAA,SAAA,CAACtB,EAAA,kBAAA,IAAA,OAAA,CAA4B,SAAlBoB,CAAA,EAAAC,EAAQ,OAAe,EACjCrB,EAAA,kBAAA,IAAA,OAAA,CAAgC,SAAtB,GAAA,EAAAqB,EAAQ,YAAe,CAAA,GAFrBA,CAGf,CACD,EACH,EAEDrB,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,QAAS,SAAMK,EAAA,EAC9BK,GAAcA,CAAA,CAAA,CACjB,CAGN"}
1
+ {"version":3,"file":"SimpleTableRowTemplate.cjs.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n enableNonFolderIndent?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n enableNonFolderIndent = true,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable &&\n enableNonFolderIndent && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n iconFilled?: boolean\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n enableNonFolderIndent?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n active?: boolean\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n iconFilled,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n enableNonFolderIndent = true,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n active,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n }}\n title={isDisabled ? disabledMessage : undefined}\n >\n <RowExpander\n isRowExpandable={isRowExpandable}\n isRowExpanded={isRowExpanded}\n isTableExpandable={isTableExpandable}\n onExpandClick={onExpandClick}\n enableNonFolderIndent={enableNonFolderIndent}\n />\n {startContent && startContent}\n {icon && (\n <Icon\n icon={icon}\n className={clsx({ filled: iconFilled })}\n style={{\n color: iconColor,\n }}\n />\n )}\n {parents && (\n <span className=\"path\">\n {parents.map((part, index) => (\n <Fragment key={index}>\n <span key={index + '-path'}>{part}</span>\n <span key={index + '-separator'}>/</span>\n </Fragment>\n ))}\n </span>\n )}\n <span className=\"value\">{value}</span>\n {endContent && endContent}\n </Styled.Cell>\n )\n },\n)\n"],"names":["RowExpander","isRowExpandable","isRowExpanded","enableNonFolderIndent","isTableExpandable","onExpandClick","jsx","Styled.Expander","e","SimpleTableCellTemplate","forwardRef","value","icon","parents","iconColor","iconFilled","startContent","endContent","depth","isDisabled","disabledMessage","active","style","props","ref","jsxs","Styled.Cell","Icon","clsx","part","index","Fragment"],"mappings":"mQAaaA,EAAc,CAAC,CAC1B,gBAAAC,EACA,cAAAC,EACA,sBAAAC,EAAwB,GACxB,kBAAAC,EACA,cAAAC,CACF,IACEJ,EACEK,EAAA,kBAAA,IAACC,EAAO,SAAP,CACC,QAAUC,GAAM,CACdA,EAAE,gBAAgB,EACFH,GAAA,MAAAA,GAClB,EACA,KAAMH,EAAgB,cAAgB,gBACtC,UAAU,WACV,MAAO,CAAE,OAAQ,SAAU,CAAA,CAC7B,EAEAE,GACAD,GAAyBG,EAAA,kBAAA,IAAC,MAAI,CAAA,MAAO,CAAE,QAAS,eAAgB,SAAU,EAAA,CAAM,CAAA,EAuBvEG,EAA0BC,EAAA,WACrC,CACE,CACE,MAAAC,EACA,KAAAC,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EACA,gBAAAd,EACA,cAAAC,EACA,kBAAAE,EACA,sBAAAD,EAAwB,GACxB,cAAAE,EACA,aAAAW,EACA,WAAAC,EACA,MAAAC,EAAQ,EACR,WAAAC,EACA,gBAAAC,EACA,OAAAC,EACA,MAAAC,EACA,GAAGC,GAELC,IAGEC,EAAA,kBAAA,KAACC,EAAO,KAAP,CACE,GAAGH,EACJ,IAAAC,EACA,MAAO,CACL,GAAGF,EACH,YAAa,QAAQJ,EAAQ,EAAG,YAClC,EACA,MAAOC,EAAaC,EAAkB,OAEtC,SAAA,CAAAd,EAAA,kBAAA,IAACN,EAAA,CACC,gBAAAC,EACA,cAAAC,EACA,kBAAAE,EACA,cAAAC,EACA,sBAAAF,CAAA,CACF,EACCa,GAAgBA,EAChBJ,GACCN,EAAA,kBAAA,IAACqB,EAAA,KAAA,CACC,KAAAf,EACA,UAAWgB,EAAK,CAAE,OAAQb,EAAY,EACtC,MAAO,CACL,MAAOD,CAAA,CACT,CACF,EAEDD,GACEP,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,OACb,SAAQO,EAAA,IAAI,CAACgB,EAAMC,IAClBL,EAAA,kBAAA,KAACM,EACC,SAAA,CAAA,SAAA,CAACzB,EAAA,kBAAA,IAAA,OAAA,CAA4B,SAAlBuB,CAAA,EAAAC,EAAQ,OAAe,EACjCxB,EAAA,kBAAA,IAAA,OAAA,CAAgC,SAAtB,GAAA,EAAAwB,EAAQ,YAAe,CAAA,GAFrBA,CAGf,CACD,EACH,EAEDxB,EAAA,kBAAA,IAAA,OAAA,CAAK,UAAU,QAAS,SAAMK,EAAA,EAC9BM,GAAcA,CAAA,CAAA,CACjB,CAGN"}
@@ -1,76 +1,88 @@
1
- import { j as r } from "../../../../_virtual/jsx-runtime.es.js";
2
- import { forwardRef as g, Fragment as v } from "react";
3
- import { Cell as w, Expander as N } from "./SimpleTable.styled.es.js";
4
- import { Icon as R } from "@ynput/ayon-react-components";
5
- const T = ({
6
- isRowExpandable: o,
1
+ import { j as e } from "../../../../_virtual/jsx-runtime.es.js";
2
+ import { forwardRef as N, Fragment as R } from "react";
3
+ import { Cell as b, Expander as w } from "./SimpleTable.styled.es.js";
4
+ import { Icon as T } from "@ynput/ayon-react-components";
5
+ import _ from "clsx";
6
+ const F = ({
7
+ isRowExpandable: a,
7
8
  isRowExpanded: s,
8
- isTableExpandable: l,
9
- onExpandClick: e
10
- }) => o ? /* @__PURE__ */ r.jsx(
11
- N,
9
+ enableNonFolderIndent: l = !0,
10
+ isTableExpandable: o,
11
+ onExpandClick: r
12
+ }) => a ? /* @__PURE__ */ e.jsx(
13
+ w,
12
14
  {
13
- onClick: (a) => {
14
- a.stopPropagation(), e == null || e();
15
+ onClick: (t) => {
16
+ t.stopPropagation(), r == null || r();
15
17
  },
16
18
  icon: s ? "expand_more" : "chevron_right",
17
19
  className: "expander",
18
20
  style: { cursor: "pointer" }
19
21
  }
20
- ) : l && /* @__PURE__ */ r.jsx("div", { style: { display: "inline-block", minWidth: 24 } }), L = g(
22
+ ) : o && l && /* @__PURE__ */ e.jsx("div", { style: { display: "inline-block", minWidth: 24 } }), q = N(
21
23
  ({
22
- value: o,
24
+ value: a,
23
25
  icon: s,
24
26
  parents: l,
25
- iconColor: e,
26
- isRowExpandable: a,
27
+ iconColor: o,
28
+ iconFilled: r,
29
+ isRowExpandable: t,
27
30
  isRowExpanded: c,
28
- isTableExpandable: n,
29
- onExpandClick: j,
30
- startContent: t,
31
- endContent: m,
32
- depth: x = 0,
33
- isDisabled: i,
34
- disabledMessage: h,
35
- style: d,
36
- ...f
37
- }, u) => /* @__PURE__ */ r.jsxs(
38
- w,
31
+ isTableExpandable: x,
32
+ enableNonFolderIndent: j = !0,
33
+ onExpandClick: n,
34
+ startContent: m,
35
+ endContent: p,
36
+ depth: d = 0,
37
+ isDisabled: h,
38
+ disabledMessage: f,
39
+ active: I,
40
+ style: u,
41
+ ...v
42
+ }, y) => /* @__PURE__ */ e.jsxs(
43
+ b,
39
44
  {
40
- ...f,
41
- ref: u,
45
+ ...v,
46
+ ref: y,
42
47
  style: {
43
- ...d,
44
- paddingLeft: `calc(${x * 0.5}rem + 4px)`,
45
- ...i && {
46
- cursor: "not-allowed"
47
- }
48
+ ...u,
49
+ paddingLeft: `calc(${d * 0.5}rem + 4px)`
48
50
  },
49
- title: i ? h : void 0,
51
+ title: h ? f : void 0,
50
52
  children: [
51
- /* @__PURE__ */ r.jsx(
52
- T,
53
+ /* @__PURE__ */ e.jsx(
54
+ F,
53
55
  {
54
- isRowExpandable: a,
56
+ isRowExpandable: t,
55
57
  isRowExpanded: c,
56
- isTableExpandable: n,
57
- onExpandClick: j
58
+ isTableExpandable: x,
59
+ onExpandClick: n,
60
+ enableNonFolderIndent: j
61
+ }
62
+ ),
63
+ m && m,
64
+ s && /* @__PURE__ */ e.jsx(
65
+ T,
66
+ {
67
+ icon: s,
68
+ className: _({ filled: r }),
69
+ style: {
70
+ color: o
71
+ }
58
72
  }
59
73
  ),
60
- t && t,
61
- s && /* @__PURE__ */ r.jsx(R, { icon: s, style: { color: e } }),
62
- l && /* @__PURE__ */ r.jsx("span", { className: "path", children: l.map((y, p) => /* @__PURE__ */ r.jsxs(v, { children: [
63
- /* @__PURE__ */ r.jsx("span", { children: y }, p + "-path"),
64
- /* @__PURE__ */ r.jsx("span", { children: "/" }, p + "-separator")
65
- ] }, p)) }),
66
- /* @__PURE__ */ r.jsx("span", { className: "value", children: o }),
67
- m && m
74
+ l && /* @__PURE__ */ e.jsx("span", { className: "path", children: l.map((g, i) => /* @__PURE__ */ e.jsxs(R, { children: [
75
+ /* @__PURE__ */ e.jsx("span", { children: g }, i + "-path"),
76
+ /* @__PURE__ */ e.jsx("span", { children: "/" }, i + "-separator")
77
+ ] }, i)) }),
78
+ /* @__PURE__ */ e.jsx("span", { className: "value", children: a }),
79
+ p && p
68
80
  ]
69
81
  }
70
82
  )
71
83
  );
72
84
  export {
73
- T as RowExpander,
74
- L as SimpleTableCellTemplate
85
+ F as RowExpander,
86
+ q as SimpleTableCellTemplate
75
87
  };
76
88
  //# sourceMappingURL=SimpleTableRowTemplate.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleTableRowTemplate.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n ...(isDisabled && {\n cursor: 'not-allowed',\n }),\n }}\n title={isDisabled ? disabledMessage : undefined}\n >\n <RowExpander\n isRowExpandable={isRowExpandable}\n isRowExpanded={isRowExpanded}\n isTableExpandable={isTableExpandable}\n onExpandClick={onExpandClick}\n />\n {startContent && startContent}\n {icon && <Icon icon={icon} style={{ color: iconColor }} />}\n {parents && (\n <span className=\"path\">\n {parents.map((part, index) => (\n <Fragment key={index}>\n <span key={index + '-path'}>{part}</span>\n <span key={index + '-separator'}>/</span>\n </Fragment>\n ))}\n </span>\n )}\n <span className=\"value\">{value}</span>\n {endContent && endContent}\n </Styled.Cell>\n )\n },\n)\n"],"names":["RowExpander","isRowExpandable","isRowExpanded","isTableExpandable","onExpandClick","jsx","Styled.Expander","e","SimpleTableCellTemplate","forwardRef","value","icon","parents","iconColor","startContent","endContent","depth","isDisabled","disabledMessage","style","props","ref","jsxs","Styled.Cell","Icon","part","index","Fragment"],"mappings":";;;;AAWO,MAAMA,IAAc,CAAC;AAAA,EAC1B,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,eAAAC;AACF,MACEH,IACEI,gBAAAA,EAAA;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,SAAS,CAACC,MAAM;AACd,MAAAA,EAAE,gBAAgB,GACFH,KAAA,QAAAA;AAAA,IAClB;AAAA,IACA,MAAMF,IAAgB,gBAAgB;AAAA,IACtC,WAAU;AAAA,IACV,OAAO,EAAE,QAAQ,UAAU;AAAA,EAAA;AAC7B,IAEAC,2BAAsB,OAAI,EAAA,OAAO,EAAE,SAAS,gBAAgB,UAAU,KAAM,CAAA,GAoBnEK,IAA0BC;AAAA,EACrC,CACE;AAAA,IACE,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,iBAAAZ;AAAA,IACA,eAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAU;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MAGEC,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGH;AAAA,MACJ,KAAAC;AAAA,MACA,OAAO;AAAA,QACL,GAAGF;AAAA,QACH,aAAa,QAAQH,IAAQ,GAAG;AAAA,QAChC,GAAIC,KAAc;AAAA,UAChB,QAAQ;AAAA,QAAA;AAAA,MAEZ;AAAA,MACA,OAAOA,IAAaC,IAAkB;AAAA,MAEtC,UAAA;AAAA,QAAAb,gBAAAA,EAAA;AAAA,UAACL;AAAA,UAAA;AAAA,YACC,iBAAAC;AAAA,YACA,eAAAC;AAAA,YACA,mBAAAC;AAAA,YACA,eAAAC;AAAA,UAAA;AAAA,QACF;AAAA,QACCU,KAAgBA;AAAA,QAChBH,2BAASa,GAAK,EAAA,MAAAb,GAAY,OAAO,EAAE,OAAOE,KAAa;AAAA,QACvDD,KACEP,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,QACb,UAAQO,EAAA,IAAI,CAACa,GAAMC,MAClBJ,gBAAAA,EAAA,KAACK,GACC,EAAA,UAAA;AAAA,UAACtB,gBAAAA,EAAA,IAAA,QAAA,EAA4B,UAAlBoB,EAAA,GAAAC,IAAQ,OAAe;AAAA,UACjCrB,gBAAAA,EAAA,IAAA,QAAA,EAAgC,UAAtB,IAAA,GAAAqB,IAAQ,YAAe;AAAA,QAAA,KAFrBA,CAGf,CACD,GACH;AAAA,QAEDrB,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,SAAS,UAAMK,GAAA;AAAA,QAC9BK,KAAcA;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB;AAGN;"}
1
+ {"version":3,"file":"SimpleTableRowTemplate.es.js","sources":["../../../../../src/containers/SimpleTable/SimpleTableRowTemplate.tsx"],"sourcesContent":["import { forwardRef, Fragment } from 'react'\nimport * as Styled from './SimpleTable.styled'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\n\nexport type RowExpanderProps = {\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n enableNonFolderIndent?: boolean\n isTableExpandable?: boolean\n onExpandClick?: () => void\n}\n\nexport const RowExpander = ({\n isRowExpandable,\n isRowExpanded,\n enableNonFolderIndent = true,\n isTableExpandable,\n onExpandClick,\n}: RowExpanderProps) =>\n isRowExpandable ? (\n <Styled.Expander\n onClick={(e) => {\n e.stopPropagation()\n onExpandClick?.()\n }}\n icon={isRowExpanded ? 'expand_more' : 'chevron_right'}\n className=\"expander\"\n style={{ cursor: 'pointer' }}\n />\n ) : (\n isTableExpandable &&\n enableNonFolderIndent && <div style={{ display: 'inline-block', minWidth: 24 }} />\n )\n\nexport interface SimpleTableCellTemplateProps extends React.HTMLAttributes<HTMLDivElement> {\n value: string\n icon?: string\n parents?: string[]\n iconColor?: string\n iconFilled?: boolean\n isRowExpandable?: boolean\n isRowExpanded?: boolean\n isTableExpandable?: boolean\n enableNonFolderIndent?: boolean\n onExpandClick?: () => void\n // when used as a template\n startContent?: React.ReactNode\n endContent?: React.ReactNode\n depth?: number\n isDisabled?: boolean\n disabledMessage?: string\n active?: boolean\n}\n\nexport const SimpleTableCellTemplate = forwardRef<HTMLDivElement, SimpleTableCellTemplateProps>(\n (\n {\n value,\n icon,\n parents,\n iconColor,\n iconFilled,\n isRowExpandable,\n isRowExpanded,\n isTableExpandable,\n enableNonFolderIndent = true,\n onExpandClick,\n startContent,\n endContent,\n depth = 0,\n isDisabled,\n disabledMessage,\n active,\n style,\n ...props\n },\n ref,\n ) => {\n return (\n <Styled.Cell\n {...props}\n ref={ref}\n style={{\n ...style,\n paddingLeft: `calc(${depth * 0.5}rem + 4px)`,\n }}\n title={isDisabled ? disabledMessage : undefined}\n >\n <RowExpander\n isRowExpandable={isRowExpandable}\n isRowExpanded={isRowExpanded}\n isTableExpandable={isTableExpandable}\n onExpandClick={onExpandClick}\n enableNonFolderIndent={enableNonFolderIndent}\n />\n {startContent && startContent}\n {icon && (\n <Icon\n icon={icon}\n className={clsx({ filled: iconFilled })}\n style={{\n color: iconColor,\n }}\n />\n )}\n {parents && (\n <span className=\"path\">\n {parents.map((part, index) => (\n <Fragment key={index}>\n <span key={index + '-path'}>{part}</span>\n <span key={index + '-separator'}>/</span>\n </Fragment>\n ))}\n </span>\n )}\n <span className=\"value\">{value}</span>\n {endContent && endContent}\n </Styled.Cell>\n )\n },\n)\n"],"names":["RowExpander","isRowExpandable","isRowExpanded","enableNonFolderIndent","isTableExpandable","onExpandClick","jsx","Styled.Expander","e","SimpleTableCellTemplate","forwardRef","value","icon","parents","iconColor","iconFilled","startContent","endContent","depth","isDisabled","disabledMessage","active","style","props","ref","jsxs","Styled.Cell","Icon","clsx","part","index","Fragment"],"mappings":";;;;;AAaO,MAAMA,IAAc,CAAC;AAAA,EAC1B,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,uBAAAC,IAAwB;AAAA,EACxB,mBAAAC;AAAA,EACA,eAAAC;AACF,MACEJ,IACEK,gBAAAA,EAAA;AAAA,EAACC;AAAAA,EAAA;AAAA,IACC,SAAS,CAACC,MAAM;AACd,MAAAA,EAAE,gBAAgB,GACFH,KAAA,QAAAA;AAAA,IAClB;AAAA,IACA,MAAMH,IAAgB,gBAAgB;AAAA,IACtC,WAAU;AAAA,IACV,OAAO,EAAE,QAAQ,UAAU;AAAA,EAAA;AAC7B,IAEAE,KACAD,KAAyBG,gBAAAA,EAAA,IAAC,OAAI,EAAA,OAAO,EAAE,SAAS,gBAAgB,UAAU,GAAA,EAAM,CAAA,GAuBvEG,IAA0BC;AAAA,EACrC,CACE;AAAA,IACE,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,IACA,iBAAAd;AAAA,IACA,eAAAC;AAAA,IACA,mBAAAE;AAAA,IACA,uBAAAD,IAAwB;AAAA,IACxB,eAAAE;AAAA,IACA,cAAAW;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,YAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MAGEC,gBAAAA,EAAA;AAAA,IAACC;AAAAA,IAAA;AAAA,MACE,GAAGH;AAAA,MACJ,KAAAC;AAAA,MACA,OAAO;AAAA,QACL,GAAGF;AAAA,QACH,aAAa,QAAQJ,IAAQ,GAAG;AAAA,MAClC;AAAA,MACA,OAAOC,IAAaC,IAAkB;AAAA,MAEtC,UAAA;AAAA,QAAAd,gBAAAA,EAAA;AAAA,UAACN;AAAA,UAAA;AAAA,YACC,iBAAAC;AAAA,YACA,eAAAC;AAAA,YACA,mBAAAE;AAAA,YACA,eAAAC;AAAA,YACA,uBAAAF;AAAA,UAAA;AAAA,QACF;AAAA,QACCa,KAAgBA;AAAA,QAChBJ,KACCN,gBAAAA,EAAA;AAAA,UAACqB;AAAA,UAAA;AAAA,YACC,MAAAf;AAAA,YACA,WAAWgB,EAAK,EAAE,QAAQb,GAAY;AAAA,YACtC,OAAO;AAAA,cACL,OAAOD;AAAA,YAAA;AAAA,UACT;AAAA,QACF;AAAA,QAEDD,KACEP,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,QACb,UAAQO,EAAA,IAAI,CAACgB,GAAMC,MAClBL,gBAAAA,EAAA,KAACM,GACC,EAAA,UAAA;AAAA,UAACzB,gBAAAA,EAAA,IAAA,QAAA,EAA4B,UAAlBuB,EAAA,GAAAC,IAAQ,OAAe;AAAA,UACjCxB,gBAAAA,EAAA,IAAA,QAAA,EAAgC,UAAtB,IAAA,GAAAwB,IAAQ,YAAe;AAAA,QAAA,KAFrBA,CAGf,CACD,GACH;AAAA,QAEDxB,gBAAAA,EAAA,IAAA,QAAA,EAAK,WAAU,SAAS,UAAMK,GAAA;AAAA,QAC9BM,KAAcA;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB;AAGN;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\n })\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
1
+ {"version":3,"file":"ViewsContext.cjs.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\n })\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewsContext.es.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\n })\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}\n"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
1
+ {"version":3,"file":"ViewsContext.es.js","sources":["../../../../../../src/containers/Views/context/ViewsContext.tsx"],"sourcesContent":["import { createContext, useContext, FC, ReactNode, useState, useMemo, useCallback } from 'react'\nimport { ViewType, viewTypes, WORKING_VIEW_ID } from '../index'\nimport {\n GetDefaultViewApiResponse,\n useGetCurrentUserQuery,\n useGetWorkingViewQuery,\n useGetViewQuery,\n useListViewsQuery,\n UserModel,\n ViewListItemModel,\n viewsQueries,\n useGetShareOptionsQuery,\n ShareOption,\n} from '@shared/api'\nimport useBuildViewMenuItems from '../hooks/useBuildViewMenuItems'\nimport { ViewMenuItem } from '../ViewsMenu/ViewsMenu'\nimport { usePowerpack } from '@shared/context'\nimport { useSelectedView } from '../hooks/useSelectedView'\nimport { UseViewMutations, useViewsMutations } from '../hooks/useViewsMutations'\nimport { useSaveViewFromCurrent } from '../hooks/useSaveViewFromCurrent'\nimport { useViewSettingsChanged } from '../hooks/useViewSettingsChanged'\nimport { useLocalStorage } from '@shared/hooks'\n\nexport type ViewData = GetDefaultViewApiResponse\nexport type ViewSettings = GetDefaultViewApiResponse['settings']\nexport type SelectedViewState = ViewData | undefined // id of view otherwise null with use working\nexport type EditingViewState = string | true | null // id of view being edited otherwise null\n\nexport type CollapsedViewState = Record<string, boolean>\n\nexport interface ViewsContextValue {\n // State\n viewType?: ViewType\n projectName?: string\n currentUser?: UserModel\n isMenuOpen: boolean\n editingView: EditingViewState\n selectedView: SelectedViewState\n\n // Views data\n viewsList: ViewListItemModel[]\n viewSettings: ViewSettings | undefined\n workingSettings: ViewSettings | undefined\n workingView: ViewListItemModel | undefined\n editingViewId: string | undefined\n viewMenuItems: ViewMenuItem[]\n editingViewData?: ViewData\n isLoadingEditingViewData: boolean\n isLoadingViews: boolean\n isViewWorking: boolean\n\n // Data\n shareOptions?: ShareOption[] // available users to share with (undefined means loading)\n\n // Actions\n setIsMenuOpen: (open: boolean) => void\n setEditingView: (editing: EditingViewState) => void\n setSelectedView: (viewId: string) => void\n onSettingsChanged: (changed: boolean) => void\n\n // Mutations\n onCreateView: UseViewMutations['onCreateView']\n onDeleteView: UseViewMutations['onDeleteView']\n onUpdateView: UseViewMutations['onUpdateView']\n\n // Actions (shared)\n resetWorkingView: () => Promise<void>\n\n // api\n api: typeof viewsQueries\n dispatch: any\n}\n\nconst ViewsContext = createContext<ViewsContextValue | null>(null)\n\nexport interface ViewsProviderProps {\n children: ReactNode\n viewType?: string\n projectName?: string\n dispatch?: any\n debug?: {\n powerLicense?: boolean\n }\n}\n\nexport const ViewsProvider: FC<ViewsProviderProps> = ({\n children,\n viewType: viewTypeProp,\n projectName,\n dispatch,\n debug,\n}) => {\n // validate viewType\n const viewType = viewTypes.includes(viewTypeProp as ViewType)\n ? (viewTypeProp as ViewType)\n : undefined\n\n let { powerLicense } = usePowerpack()\n if (debug?.powerLicense !== undefined) {\n console.warn('Using debug power license:', debug.powerLicense)\n powerLicense = debug.powerLicense\n }\n\n const { data: currentUser } = useGetCurrentUserQuery()\n\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [editingView, setEditingView] = useState<EditingViewState>(null)\n // Collapsed state persisted globally across all viewTypes and projects\n const stateKey = 'viewsMenuCollapsed'\n\n const [collapsedSections, setCollapsedSections] = useLocalStorage<CollapsedViewState>(\n stateKey,\n {},\n )\n\n // anything extra to do when a view is created successfully\n const handleOnViewCreated = (view: ViewData) => {\n const key = view.visibility === 'private' ? 'myViews' : 'sharedViews'\n // if the section is collapsed, expand it\n if (collapsedSections[key]) {\n const newCollapsedSections = { ...collapsedSections }\n newCollapsedSections[key] = false\n setCollapsedSections(newCollapsedSections)\n }\n }\n\n const { onCreateView, onDeleteView, onUpdateView, onResetWorkingView } = useViewsMutations({\n viewType,\n projectName,\n onCreate: handleOnViewCreated,\n })\n\n // when editing the view, get all users that can be shared to that view\n const { data: shareOptions } = useGetShareOptionsQuery(\n { projectName },\n { skip: !powerLicense || !editingView },\n )\n\n // setting of default views\n const [selectedView, setSelectedView, previousSelectedViewId] = useSelectedView({\n viewType: viewType as string,\n projectName: projectName,\n })\n\n const [viewSettingsChanged, setViewSettingsChanged] = useViewSettingsChanged({\n viewType: viewType as ViewType,\n })\n\n // Fetch views data\n const { currentData: viewsList = [], isLoading: isLoadingViews } = useListViewsQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n // always get your working view\n const { currentData: workingView } = useGetWorkingViewQuery(\n { projectName: projectName, viewType: viewType as string },\n { skip: !viewType },\n )\n\n const workingSettings = workingView?.settings\n\n // which settings to use for the view\n const viewSettings =\n !selectedView || selectedView.id === WORKING_VIEW_ID ? workingSettings : selectedView?.settings\n\n // is the working view selected?\n const isViewWorking = selectedView?.id === workingView?.id\n // were we just on a custom view and then edited it and ended up on the working view\n const editingViewId =\n viewSettingsChanged &&\n isViewWorking &&\n !!previousSelectedViewId &&\n previousSelectedViewId !== workingView?.id\n ? previousSelectedViewId\n : undefined\n\n // get data for the view we are editing\n const { currentData: editingViewDataData, isFetching: isLoadingEditingViewData } =\n useGetViewQuery(\n {\n viewId: editingView as string,\n projectName: isViewStudioScope(editingView as string, viewsList) ? undefined : projectName,\n viewType: viewType as string,\n },\n { skip: !(typeof editingView === 'string') || !powerLicense },\n )\n\n const editingViewData = useMemo(\n () => (editingView === editingViewDataData?.id ? editingViewDataData : undefined),\n [editingView, editingViewDataData],\n )\n\n const { onSaveViewFromCurrent } = useSaveViewFromCurrent({\n viewType: viewType,\n projectName,\n viewsList,\n sourceSettings: viewSettings,\n onUpdateView: onUpdateView,\n })\n\n // Reset working view to default (empty) settings\n const resetWorkingView = useCallback(async () => {\n try {\n await onResetWorkingView({\n existingWorkingViewId: workingView?.id,\n selectedViewId: selectedView?.id,\n setSelectedView,\n setSettingsChanged: setViewSettingsChanged,\n notify: true,\n })\n } catch (error) {\n console.error('Failed to reset view:', error)\n }\n }, [workingView, onResetWorkingView, selectedView, setSelectedView, setViewSettingsChanged])\n\n // build the menu items for the views\n const viewMenuItems = useBuildViewMenuItems({\n viewsList,\n workingView,\n viewType,\n projectName,\n currentUser,\n useWorkingView: !powerLicense,\n editingViewId,\n selectedId: selectedView?.id,\n collapsed: collapsedSections,\n setCollapsed: setCollapsedSections,\n onResetWorkingView,\n onSelect: (viewId) => {\n setSelectedView(viewId)\n // reset the settings changed state when switching views\n setViewSettingsChanged(false)\n // close the menu when selecting a view\n setIsMenuOpen(false)\n },\n onEdit: (viewId) => setEditingView(viewId),\n onSave: async (viewId) => onSaveViewFromCurrent(viewId),\n })\n\n const value: ViewsContextValue = {\n viewType,\n projectName,\n isMenuOpen,\n editingView,\n currentUser,\n selectedView,\n viewSettings,\n workingSettings,\n editingViewData,\n isLoadingEditingViewData,\n viewsList,\n workingView,\n editingViewId,\n viewMenuItems,\n isLoadingViews,\n isViewWorking,\n // data\n shareOptions,\n setIsMenuOpen,\n setEditingView,\n setSelectedView,\n onSettingsChanged: setViewSettingsChanged,\n // mutations\n onCreateView,\n onUpdateView,\n onDeleteView,\n // shared actions\n resetWorkingView,\n // api\n api: viewsQueries,\n dispatch,\n }\n\n return <ViewsContext.Provider value={value}>{children}</ViewsContext.Provider>\n}\n\nexport const useViewsContext = (): ViewsContextValue => {\n const context = useContext(ViewsContext)\n if (!context) {\n throw new Error('useViewsContext must be used within a ViewsProvider')\n }\n return context\n}\n\nexport const isViewStudioScope = (viewId: string | undefined, viewsList: ViewListItemModel[]) => {\n if (!viewId) return true\n const view = viewsList.find((v) => v.id === viewId)\n return view?.scope === 'studio'\n}"],"names":["ViewsContext","createContext","ViewsProvider","children","viewTypeProp","projectName","dispatch","debug","viewType","viewTypes","powerLicense","usePowerpack","currentUser","useGetCurrentUserQuery","isMenuOpen","setIsMenuOpen","useState","editingView","setEditingView","stateKey","collapsedSections","setCollapsedSections","useLocalStorage","handleOnViewCreated","view","key","newCollapsedSections","onCreateView","onDeleteView","onUpdateView","onResetWorkingView","useViewsMutations","shareOptions","useGetShareOptionsQuery","selectedView","setSelectedView","previousSelectedViewId","useSelectedView","viewSettingsChanged","setViewSettingsChanged","useViewSettingsChanged","viewsList","isLoadingViews","useListViewsQuery","workingView","useGetWorkingViewQuery","workingSettings","viewSettings","WORKING_VIEW_ID","isViewWorking","editingViewId","editingViewDataData","isLoadingEditingViewData","useGetViewQuery","isViewStudioScope","editingViewData","useMemo","onSaveViewFromCurrent","useSaveViewFromCurrent","resetWorkingView","useCallback","error","viewMenuItems","useBuildViewMenuItems","viewId","value","viewsQueries","jsx","useViewsContext","context","useContext","v"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../context/ViewsContext.cjs.js"),C=require("../../utils/viewUpdateHelper.cjs.js"),s=require("react"),U=()=>{const{viewSettings:l}=v.useViewsContext(),[c,r]=s.useState(null),[i,d]=s.useState(null),[u,p]=s.useState(null),{updateViewSettings:n}=C.useViewUpdateHelper(),a=l,e=(a==null?void 0:a.slicer)||{},S=e.rowSelection||{},w=e.expanded||{},g=e.persistentRowSelectionData||{};s.useEffect(()=>{r(null),d(null),p(null)},[JSON.stringify(l)]);const R=c!==null?c:S,x=i!==null?i:w,y=u!==null?u:g,D=s.useCallback(async t=>{const o={...e,rowSelection:t};await n({slicer:o},r,t,{errorMessage:"Failed to update row selection"})},[n,e]),V=s.useCallback(async t=>{const o={...e,expanded:t};await n({slicer:o},d,t,{errorMessage:"Failed to update expanded state"})},[n,e]),b=s.useCallback(async t=>{const o={...e,persistentRowSelectionData:t};await n({slicer:o},p,t,{errorMessage:"Failed to update persistent row selection data"})},[n,e]);return{rowSelection:R,onUpdateRowSelection:D,expanded:x,onUpdateExpanded:V,persistentRowSelectionData:y,onUpdatePersistentRowSelectionData:b}};exports.useReportsViewSettings=U;
2
+ //# sourceMappingURL=useReportsViewSettings.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportsViewSettings.cjs.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useReportsViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing reports page view settings.\n *\n * The hook handles:\n * - Slicer row selection state\n * - Slicer expanded state\n * - Slicer slice type (hierarchy, assignees, status, etc.)\n * - Slicer persistent row selection data\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\nimport { RowSelectionState, ExpandedState } from '@tanstack/react-table'\nimport { SelectionData } from '@shared/containers/Slicer'\n\ninterface SlicerSettings {\n rowSelection?: RowSelectionState\n expanded?: ExpandedState\n persistentRowSelectionData?: SelectionData\n}\n\nexport type ReportsViewSettings = {\n // Slicer state management\n rowSelection: RowSelectionState\n onUpdateRowSelection: (rowSelection: RowSelectionState) => void\n\n expanded: ExpandedState\n onUpdateExpanded: (expanded: ExpandedState) => void\n\n persistentRowSelectionData: SelectionData\n onUpdatePersistentRowSelectionData: (persistentRowSelectionData: SelectionData) => void\n}\n\nexport const useReportsViewSettings = (): ReportsViewSettings => {\n // Get views context\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localRowSelection, setLocalRowSelection] = useState<RowSelectionState | null>(null)\n const [localExpanded, setLocalExpanded] = useState<ExpandedState | null>(null)\n const [localPersistentData, setLocalPersistentData] = useState<SelectionData | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings from view\n const overviewSettings = viewSettings as OverviewSettings\n const serverSettings = (overviewSettings as any)?.slicer || {} as SlicerSettings\n\n // Extract individual settings from server\n const serverRowSelection = (serverSettings.rowSelection as RowSelectionState) || {}\n const serverExpanded = (serverSettings.expanded as ExpandedState) || {}\n const serverPersistentData = (serverSettings.persistentRowSelectionData as SelectionData) || {}\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalRowSelection(null)\n setLocalExpanded(null)\n setLocalPersistentData(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const rowSelection = localRowSelection !== null ? localRowSelection : serverRowSelection\n const expanded = localExpanded !== null ? localExpanded : serverExpanded\n const persistentRowSelectionData = localPersistentData !== null ? localPersistentData : serverPersistentData\n\n // Update handlers for each setting\n const onUpdateRowSelection = useCallback(\n async (newRowSelection: RowSelectionState) => {\n const updatedSlicer = {\n ...serverSettings,\n rowSelection: newRowSelection,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalRowSelection,\n newRowSelection,\n { errorMessage: 'Failed to update row selection' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdateExpanded = useCallback(\n async (newExpanded: ExpandedState) => {\n const updatedSlicer = {\n ...serverSettings,\n expanded: newExpanded,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalExpanded,\n newExpanded,\n { errorMessage: 'Failed to update expanded state' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdatePersistentRowSelectionData = useCallback(\n async (newPersistentData: SelectionData) => {\n const updatedSlicer = {\n ...serverSettings,\n persistentRowSelectionData: newPersistentData,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalPersistentData,\n newPersistentData,\n { errorMessage: 'Failed to update persistent row selection data' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n return {\n rowSelection,\n onUpdateRowSelection,\n expanded,\n onUpdateExpanded,\n persistentRowSelectionData,\n onUpdatePersistentRowSelectionData,\n }\n}\n"],"names":["useReportsViewSettings","viewSettings","useViewsContext","localRowSelection","setLocalRowSelection","useState","localExpanded","setLocalExpanded","localPersistentData","setLocalPersistentData","updateViewSettings","useViewUpdateHelper","overviewSettings","serverSettings","serverRowSelection","serverExpanded","serverPersistentData","useEffect","rowSelection","expanded","persistentRowSelectionData","onUpdateRowSelection","useCallback","newRowSelection","updatedSlicer","onUpdateExpanded","newExpanded","onUpdatePersistentRowSelectionData","newPersistentData"],"mappings":"yMAqCaA,EAAyB,IAA2B,CAEzD,KAAA,CAAE,aAAAC,CAAa,EAAIC,kBAAgB,EAGnC,CAACC,EAAmBC,CAAoB,EAAIC,EAAAA,SAAmC,IAAI,EACnF,CAACC,EAAeC,CAAgB,EAAIF,EAAAA,SAA+B,IAAI,EACvE,CAACG,EAAqBC,CAAsB,EAAIJ,EAAAA,SAA+B,IAAI,EAGnF,CAAE,mBAAAK,CAAmB,EAAIC,sBAAoB,EAG7CC,EAAmBX,EACnBY,GAAkBD,GAAA,YAAAA,EAA0B,SAAU,CAAC,EAGvDE,EAAsBD,EAAe,cAAsC,CAAC,EAC5EE,EAAkBF,EAAe,UAA8B,CAAC,EAChEG,EAAwBH,EAAe,4BAAgD,CAAC,EAG9FI,EAAAA,UAAU,IAAM,CACdb,EAAqB,IAAI,EACzBG,EAAiB,IAAI,EACrBE,EAAuB,IAAI,GAC1B,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC,EAG3B,MAAAiB,EAAef,IAAsB,KAAOA,EAAoBW,EAChEK,EAAWb,IAAkB,KAAOA,EAAgBS,EACpDK,EAA6BZ,IAAwB,KAAOA,EAAsBQ,EAGlFK,EAAuBC,EAAA,YAC3B,MAAOC,GAAuC,CAC5C,MAAMC,EAAgB,CACpB,GAAGX,EACH,aAAcU,CAChB,EACM,MAAAb,EACJ,CAAE,OAAQc,CAAc,EACxBpB,EACAmB,EACA,CAAE,aAAc,gCAAiC,CACnD,CACF,EACA,CAACb,EAAoBG,CAAc,CACrC,EAEMY,EAAmBH,EAAA,YACvB,MAAOI,GAA+B,CACpC,MAAMF,EAAgB,CACpB,GAAGX,EACH,SAAUa,CACZ,EACM,MAAAhB,EACJ,CAAE,OAAQc,CAAc,EACxBjB,EACAmB,EACA,CAAE,aAAc,iCAAkC,CACpD,CACF,EACA,CAAChB,EAAoBG,CAAc,CACrC,EAEMc,EAAqCL,EAAA,YACzC,MAAOM,GAAqC,CAC1C,MAAMJ,EAAgB,CACpB,GAAGX,EACH,2BAA4Be,CAC9B,EACM,MAAAlB,EACJ,CAAE,OAAQc,CAAc,EACxBf,EACAmB,EACA,CAAE,aAAc,gDAAiD,CACnE,CACF,EACA,CAAClB,EAAoBG,CAAc,CACrC,EAEO,MAAA,CACL,aAAAK,EACA,qBAAAG,EACA,SAAAF,EACA,iBAAAM,EACA,2BAAAL,EACA,mCAAAO,CACF,CACF"}
@@ -0,0 +1,64 @@
1
+ import { useViewsContext as U } from "../../context/ViewsContext.es.js";
2
+ import { useViewUpdateHelper as V } from "../../utils/viewUpdateHelper.es.js";
3
+ import { useState as a, useEffect as v, useCallback as l } from "react";
4
+ const P = () => {
5
+ const { viewSettings: c } = U(), [r, i] = a(null), [d, p] = a(null), [u, S] = a(null), { updateViewSettings: s } = V(), n = c, e = (n == null ? void 0 : n.slicer) || {}, w = e.rowSelection || {}, x = e.expanded || {}, R = e.persistentRowSelectionData || {};
6
+ v(() => {
7
+ i(null), p(null), S(null);
8
+ }, [JSON.stringify(c)]);
9
+ const g = r !== null ? r : w, f = d !== null ? d : x, m = u !== null ? u : R, D = l(
10
+ async (t) => {
11
+ const o = {
12
+ ...e,
13
+ rowSelection: t
14
+ };
15
+ await s(
16
+ { slicer: o },
17
+ i,
18
+ t,
19
+ { errorMessage: "Failed to update row selection" }
20
+ );
21
+ },
22
+ [s, e]
23
+ ), y = l(
24
+ async (t) => {
25
+ const o = {
26
+ ...e,
27
+ expanded: t
28
+ };
29
+ await s(
30
+ { slicer: o },
31
+ p,
32
+ t,
33
+ { errorMessage: "Failed to update expanded state" }
34
+ );
35
+ },
36
+ [s, e]
37
+ ), E = l(
38
+ async (t) => {
39
+ const o = {
40
+ ...e,
41
+ persistentRowSelectionData: t
42
+ };
43
+ await s(
44
+ { slicer: o },
45
+ S,
46
+ t,
47
+ { errorMessage: "Failed to update persistent row selection data" }
48
+ );
49
+ },
50
+ [s, e]
51
+ );
52
+ return {
53
+ rowSelection: g,
54
+ onUpdateRowSelection: D,
55
+ expanded: f,
56
+ onUpdateExpanded: y,
57
+ persistentRowSelectionData: m,
58
+ onUpdatePersistentRowSelectionData: E
59
+ };
60
+ };
61
+ export {
62
+ P as useReportsViewSettings
63
+ };
64
+ //# sourceMappingURL=useReportsViewSettings.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportsViewSettings.es.js","sources":["../../../../../../../src/containers/Views/hooks/pages/useReportsViewSettings.ts"],"sourcesContent":["/**\n * Unified hook for managing reports page view settings.\n *\n * The hook handles:\n * - Slicer row selection state\n * - Slicer expanded state\n * - Slicer slice type (hierarchy, assignees, status, etc.)\n * - Slicer persistent row selection data\n *\n * Must be used within a ViewsProvider context.\n */\n\nimport { useViewsContext } from '../../context/ViewsContext'\nimport { OverviewSettings } from '@shared/api'\nimport { useViewUpdateHelper } from '../../utils/viewUpdateHelper'\nimport { useState, useEffect, useCallback } from 'react'\nimport { RowSelectionState, ExpandedState } from '@tanstack/react-table'\nimport { SelectionData } from '@shared/containers/Slicer'\n\ninterface SlicerSettings {\n rowSelection?: RowSelectionState\n expanded?: ExpandedState\n persistentRowSelectionData?: SelectionData\n}\n\nexport type ReportsViewSettings = {\n // Slicer state management\n rowSelection: RowSelectionState\n onUpdateRowSelection: (rowSelection: RowSelectionState) => void\n\n expanded: ExpandedState\n onUpdateExpanded: (expanded: ExpandedState) => void\n\n persistentRowSelectionData: SelectionData\n onUpdatePersistentRowSelectionData: (persistentRowSelectionData: SelectionData) => void\n}\n\nexport const useReportsViewSettings = (): ReportsViewSettings => {\n // Get views context\n const { viewSettings } = useViewsContext()\n\n // Local state for immediate updates\n const [localRowSelection, setLocalRowSelection] = useState<RowSelectionState | null>(null)\n const [localExpanded, setLocalExpanded] = useState<ExpandedState | null>(null)\n const [localPersistentData, setLocalPersistentData] = useState<SelectionData | null>(null)\n\n // Get view update helper\n const { updateViewSettings } = useViewUpdateHelper()\n\n // Get server settings from view\n const overviewSettings = viewSettings as OverviewSettings\n const serverSettings = (overviewSettings as any)?.slicer || {} as SlicerSettings\n\n // Extract individual settings from server\n const serverRowSelection = (serverSettings.rowSelection as RowSelectionState) || {}\n const serverExpanded = (serverSettings.expanded as ExpandedState) || {}\n const serverPersistentData = (serverSettings.persistentRowSelectionData as SelectionData) || {}\n\n // Sync local state with server when viewSettings change\n useEffect(() => {\n setLocalRowSelection(null)\n setLocalExpanded(null)\n setLocalPersistentData(null)\n }, [JSON.stringify(viewSettings)])\n\n // Use local state if available, otherwise use server state\n const rowSelection = localRowSelection !== null ? localRowSelection : serverRowSelection\n const expanded = localExpanded !== null ? localExpanded : serverExpanded\n const persistentRowSelectionData = localPersistentData !== null ? localPersistentData : serverPersistentData\n\n // Update handlers for each setting\n const onUpdateRowSelection = useCallback(\n async (newRowSelection: RowSelectionState) => {\n const updatedSlicer = {\n ...serverSettings,\n rowSelection: newRowSelection,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalRowSelection,\n newRowSelection,\n { errorMessage: 'Failed to update row selection' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdateExpanded = useCallback(\n async (newExpanded: ExpandedState) => {\n const updatedSlicer = {\n ...serverSettings,\n expanded: newExpanded,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalExpanded,\n newExpanded,\n { errorMessage: 'Failed to update expanded state' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n const onUpdatePersistentRowSelectionData = useCallback(\n async (newPersistentData: SelectionData) => {\n const updatedSlicer = {\n ...serverSettings,\n persistentRowSelectionData: newPersistentData,\n }\n await updateViewSettings(\n { slicer: updatedSlicer },\n setLocalPersistentData,\n newPersistentData,\n { errorMessage: 'Failed to update persistent row selection data' }\n )\n },\n [updateViewSettings, serverSettings]\n )\n\n return {\n rowSelection,\n onUpdateRowSelection,\n expanded,\n onUpdateExpanded,\n persistentRowSelectionData,\n onUpdatePersistentRowSelectionData,\n }\n}\n"],"names":["useReportsViewSettings","viewSettings","useViewsContext","localRowSelection","setLocalRowSelection","useState","localExpanded","setLocalExpanded","localPersistentData","setLocalPersistentData","updateViewSettings","useViewUpdateHelper","overviewSettings","serverSettings","serverRowSelection","serverExpanded","serverPersistentData","useEffect","rowSelection","expanded","persistentRowSelectionData","onUpdateRowSelection","useCallback","newRowSelection","updatedSlicer","onUpdateExpanded","newExpanded","onUpdatePersistentRowSelectionData","newPersistentData"],"mappings":";;;AAqCO,MAAMA,IAAyB,MAA2B;AAEzD,QAAA,EAAE,cAAAC,EAAa,IAAIC,EAAgB,GAGnC,CAACC,GAAmBC,CAAoB,IAAIC,EAAmC,IAAI,GACnF,CAACC,GAAeC,CAAgB,IAAIF,EAA+B,IAAI,GACvE,CAACG,GAAqBC,CAAsB,IAAIJ,EAA+B,IAAI,GAGnF,EAAE,oBAAAK,EAAmB,IAAIC,EAAoB,GAG7CC,IAAmBX,GACnBY,KAAkBD,KAAA,gBAAAA,EAA0B,WAAU,CAAC,GAGvDE,IAAsBD,EAAe,gBAAsC,CAAC,GAC5EE,IAAkBF,EAAe,YAA8B,CAAC,GAChEG,IAAwBH,EAAe,8BAAgD,CAAC;AAG9F,EAAAI,EAAU,MAAM;AACd,IAAAb,EAAqB,IAAI,GACzBG,EAAiB,IAAI,GACrBE,EAAuB,IAAI;AAAA,KAC1B,CAAC,KAAK,UAAUR,CAAY,CAAC,CAAC;AAG3B,QAAAiB,IAAef,MAAsB,OAAOA,IAAoBW,GAChEK,IAAWb,MAAkB,OAAOA,IAAgBS,GACpDK,IAA6BZ,MAAwB,OAAOA,IAAsBQ,GAGlFK,IAAuBC;AAAA,IAC3B,OAAOC,MAAuC;AAC5C,YAAMC,IAAgB;AAAA,QACpB,GAAGX;AAAA,QACH,cAAcU;AAAA,MAChB;AACM,YAAAb;AAAA,QACJ,EAAE,QAAQc,EAAc;AAAA,QACxBpB;AAAA,QACAmB;AAAA,QACA,EAAE,cAAc,iCAAiC;AAAA,MACnD;AAAA,IACF;AAAA,IACA,CAACb,GAAoBG,CAAc;AAAA,EACrC,GAEMY,IAAmBH;AAAA,IACvB,OAAOI,MAA+B;AACpC,YAAMF,IAAgB;AAAA,QACpB,GAAGX;AAAA,QACH,UAAUa;AAAA,MACZ;AACM,YAAAhB;AAAA,QACJ,EAAE,QAAQc,EAAc;AAAA,QACxBjB;AAAA,QACAmB;AAAA,QACA,EAAE,cAAc,kCAAkC;AAAA,MACpD;AAAA,IACF;AAAA,IACA,CAAChB,GAAoBG,CAAc;AAAA,EACrC,GAEMc,IAAqCL;AAAA,IACzC,OAAOM,MAAqC;AAC1C,YAAMJ,IAAgB;AAAA,QACpB,GAAGX;AAAA,QACH,4BAA4Be;AAAA,MAC9B;AACM,YAAAlB;AAAA,QACJ,EAAE,QAAQc,EAAc;AAAA,QACxBf;AAAA,QACAmB;AAAA,QACA,EAAE,cAAc,iDAAiD;AAAA,MACnE;AAAA,IACF;AAAA,IACA,CAAClB,GAAoBG,CAAc;AAAA,EACrC;AAEO,SAAA;AAAA,IACL,cAAAK;AAAA,IACA,sBAAAG;AAAA,IACA,UAAAF;AAAA,IACA,kBAAAM;AAAA,IACA,4BAAAL;AAAA,IACA,oCAAAO;AAAA,EACF;AACF;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../../../_virtual/jsx-runtime.cjs.js"),o=require("react"),u=o.createContext(void 0),c=({children:t})=>{const[s,n]=o.useState(!1),r={menuOpen:s,setMenuOpen:e=>{n(e)},toggleMenuOpen:e=>{if(!e){n(!1);return}n(e===s?!1:e)}};return i.jsxRuntimeExports.jsx(u.Provider,{value:r,children:t})},M=()=>{const t=o.useContext(u);if(t===void 0)throw new Error("useMenuContext must be used within a MenuProvider");return t};exports.MenuProvider=c;exports.useMenuContext=M;
2
+ //# sourceMappingURL=MenuContext.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContext.cjs.js","sources":["../../../../src/context/MenuContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, ReactNode } from 'react'\n\ninterface MenuContextType {\n menuOpen: string | false\n setMenuOpen: (menuId: string | false) => void\n toggleMenuOpen: (menuId: string | false) => void\n}\n\nconst MenuContext = createContext<MenuContextType | undefined>(undefined)\n\ninterface MenuProviderProps {\n children: ReactNode\n}\n\nexport const MenuProvider: React.FC<MenuProviderProps> = ({ children }) => {\n const [menuOpen, setMenuOpenState] = useState<string | false>(false)\n\n const setMenuOpen = (menuId: string | false) => {\n setMenuOpenState(menuId)\n }\n\n const toggleMenuOpen = (menuId: string | false) => {\n // no payload means toggle off\n if (!menuId) {\n setMenuOpenState(false)\n return\n }\n\n // if payload is same as current state, toggle off\n if (menuId === menuOpen) {\n setMenuOpenState(false)\n } else {\n // else set payload\n setMenuOpenState(menuId)\n }\n }\n\n const value: MenuContextType = {\n menuOpen,\n setMenuOpen,\n toggleMenuOpen,\n }\n\n return <MenuContext.Provider value={value}>{children}</MenuContext.Provider>\n}\n\nexport const useMenuContext = (): MenuContextType => {\n const context = useContext(MenuContext)\n if (context === undefined) {\n throw new Error('useMenuContext must be used within a MenuProvider')\n }\n return context\n}\n"],"names":["MenuContext","createContext","MenuProvider","children","menuOpen","setMenuOpenState","useState","value","menuId","jsx","useMenuContext","context","useContext"],"mappings":"2JAQMA,EAAcC,gBAA2C,MAAS,EAM3DC,EAA4C,CAAC,CAAE,SAAAC,KAAe,CACzE,KAAM,CAACC,EAAUC,CAAgB,EAAIC,EAAAA,SAAyB,EAAK,EAsB7DC,EAAyB,CAC7B,SAAAH,EACA,YAtBmBI,GAA2B,CAC9CH,EAAiBG,CAAM,CACzB,EAqBE,eAnBsBA,GAA2B,CAEjD,GAAI,CAACA,EAAQ,CACXH,EAAiB,EAAK,EACtB,MAAA,CAKAA,EADEG,IAAWJ,EACI,GAGAI,CAHK,CAK1B,CAMA,EAEA,OAAQC,EAAAA,kBAAAA,IAAAT,EAAY,SAAZ,CAAqB,MAAAO,EAAe,SAAAJ,CAAS,CAAA,CACvD,EAEaO,EAAiB,IAAuB,CAC7C,MAAAC,EAAUC,aAAWZ,CAAW,EACtC,GAAIW,IAAY,OACR,MAAA,IAAI,MAAM,mDAAmD,EAE9D,OAAAA,CACT"}
@@ -0,0 +1,28 @@
1
+ import { j as u } from "../../../_virtual/jsx-runtime.es.js";
2
+ import { createContext as i, useState as c, useContext as p } from "react";
3
+ const s = i(void 0), l = ({ children: t }) => {
4
+ const [o, n] = c(!1), r = {
5
+ menuOpen: o,
6
+ setMenuOpen: (e) => {
7
+ n(e);
8
+ },
9
+ toggleMenuOpen: (e) => {
10
+ if (!e) {
11
+ n(!1);
12
+ return;
13
+ }
14
+ n(e === o ? !1 : e);
15
+ }
16
+ };
17
+ return /* @__PURE__ */ u.jsx(s.Provider, { value: r, children: t });
18
+ }, v = () => {
19
+ const t = p(s);
20
+ if (t === void 0)
21
+ throw new Error("useMenuContext must be used within a MenuProvider");
22
+ return t;
23
+ };
24
+ export {
25
+ l as MenuProvider,
26
+ v as useMenuContext
27
+ };
28
+ //# sourceMappingURL=MenuContext.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuContext.es.js","sources":["../../../../src/context/MenuContext.tsx"],"sourcesContent":["import React, { createContext, useContext, useState, ReactNode } from 'react'\n\ninterface MenuContextType {\n menuOpen: string | false\n setMenuOpen: (menuId: string | false) => void\n toggleMenuOpen: (menuId: string | false) => void\n}\n\nconst MenuContext = createContext<MenuContextType | undefined>(undefined)\n\ninterface MenuProviderProps {\n children: ReactNode\n}\n\nexport const MenuProvider: React.FC<MenuProviderProps> = ({ children }) => {\n const [menuOpen, setMenuOpenState] = useState<string | false>(false)\n\n const setMenuOpen = (menuId: string | false) => {\n setMenuOpenState(menuId)\n }\n\n const toggleMenuOpen = (menuId: string | false) => {\n // no payload means toggle off\n if (!menuId) {\n setMenuOpenState(false)\n return\n }\n\n // if payload is same as current state, toggle off\n if (menuId === menuOpen) {\n setMenuOpenState(false)\n } else {\n // else set payload\n setMenuOpenState(menuId)\n }\n }\n\n const value: MenuContextType = {\n menuOpen,\n setMenuOpen,\n toggleMenuOpen,\n }\n\n return <MenuContext.Provider value={value}>{children}</MenuContext.Provider>\n}\n\nexport const useMenuContext = (): MenuContextType => {\n const context = useContext(MenuContext)\n if (context === undefined) {\n throw new Error('useMenuContext must be used within a MenuProvider')\n }\n return context\n}\n"],"names":["MenuContext","createContext","MenuProvider","children","menuOpen","setMenuOpenState","useState","value","menuId","jsx","useMenuContext","context","useContext"],"mappings":";;AAQA,MAAMA,IAAcC,EAA2C,MAAS,GAM3DC,IAA4C,CAAC,EAAE,UAAAC,QAAe;AACzE,QAAM,CAACC,GAAUC,CAAgB,IAAIC,EAAyB,EAAK,GAsB7DC,IAAyB;AAAA,IAC7B,UAAAH;AAAA,IACA,aAtBkB,CAACI,MAA2B;AAC9C,MAAAH,EAAiBG,CAAM;AAAA,IACzB;AAAA,IAqBE,gBAnBqB,CAACA,MAA2B;AAEjD,UAAI,CAACA,GAAQ;AACX,QAAAH,EAAiB,EAAK;AACtB;AAAA,MAAA;AAIF,MACEA,EADEG,MAAWJ,IACI,KAGAI,CAHK;AAAA,IAK1B;AAAA,EAMA;AAEA,SAAQC,gBAAAA,EAAAA,IAAAT,EAAY,UAAZ,EAAqB,OAAAO,GAAe,UAAAJ,EAAS,CAAA;AACvD,GAEaO,IAAiB,MAAuB;AAC7C,QAAAC,IAAUC,EAAWZ,CAAW;AACtC,MAAIW,MAAY;AACR,UAAA,IAAI,MAAM,mDAAmD;AAE9D,SAAAA;AACT;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react"),k=require("../hooks/useLoadModule.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("lodash");require("react-toastify");require("./RemoteModulesContext.cjs.js");require("./DetailsPanelContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");const l={slicer:{label:"Slicer",description:"Advanced filtering system for project organization.",bullet:"Powerful project filtering tools"},annotations:{label:"Annotations",description:"Create detailed visual feedback directly on media files.",bullet:"Advanced media review tools"},releases:{label:"Release History",description:"Access and download the complete archive of releases",bullet:"Full release archive access"},advancedFilters:{label:"Advanced Filters",description:"Customize your view and find your data with powerful filtering options",bullet:"Advanced filtering options"},listAttributes:{label:"List Attributes",description:"Add custom attributes to your lists for better collaboration and organization.",bullet:"Custom attributes for lists"},groupAttributes:{label:"Group Attributes",description:"Group tasks by assignees, status, or other attributes for better organization.",bullet:"Group tasks by attributes"},sharedViews:{label:"Shared Views",description:"Save custom views and share them with team members for better collaboration.",bullet:"Save and share custom views"}},d=r.createContext(void 0),v=({children:i,debug:e})=>{const[u,a]=r.useState(null),p=o=>o?l[o]:null,[c,t]=r.useState(!1),w=async()=>!1,[q,{isLoaded:n,isLoading:h}]=k.useLoadModule({addon:"powerpack",remote:"license",module:"checkPowerLicense",fallback:w});r.useEffect(()=>{(async()=>{if((e==null?void 0:e.powerLicense)!==void 0)console.warn("Using debug power license:",e.powerLicense),t(e.powerLicense);else if(n)try{const s=await q();t(s)}catch(s){console.error("Error checking power license:",s),t(!1)}})()},[e,n,q]);const b=r.useMemo(()=>({powerLicense:c,selectedPowerPack:u,setPowerpackDialog:a,powerpackDialog:p(u)}),[c,u,a]);return f.jsxRuntimeExports.jsx(d.Provider,{value:b,children:i})},P=()=>{const i=r.useContext(d);if(i===void 0)throw new Error("usePowerpack must be used within a PowerpackProvider");return i};exports.PowerpackProvider=v;exports.powerpackFeatures=l;exports.usePowerpack=P;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../../../_virtual/jsx-runtime.cjs.js"),r=require("react"),v=require("../hooks/useLoadModule.cjs.js");require("../../../_virtual/runtime.cjs.js");require("../../../_virtual/semver.cjs.js");require("../api/base/client.cjs.js");require("../api/generated/graphql.cjs.js");require("../api/generated/graphqlLinks.cjs.js");require("../api/generated/access.cjs.js");require("../api/generated/actions.cjs.js");require("../api/generated/activityFeed.cjs.js");require("../api/generated/addons.cjs.js");require("../api/generated/anatomy.cjs.js");require("../api/generated/attributes.cjs.js");require("../api/generated/authentication.cjs.js");require("../api/generated/bundles.cjs.js");require("../api/generated/configuration.cjs.js");require("../api/generated/desktop.cjs.js");require("../api/generated/entityLists.cjs.js");require("../api/generated/events.cjs.js");require("../api/generated/files.cjs.js");require("../api/generated/folders.cjs.js");require("../api/generated/inbox.cjs.js");require("../api/generated/links.cjs.js");require("../api/generated/market.cjs.js");require("../api/generated/onboarding.cjs.js");require("../api/generated/operations.cjs.js");require("../api/generated/products.cjs.js");require("../api/generated/projectDashboard.cjs.js");require("../api/generated/projects.cjs.js");require("../api/generated/reviewables.cjs.js");require("../api/generated/services.cjs.js");require("../api/generated/system.cjs.js");require("../api/generated/tasks.cjs.js");require("../api/generated/teams.cjs.js");require("../api/generated/thumbnails.cjs.js");require("../api/generated/uRIs.cjs.js");require("../api/generated/users.cjs.js");require("../api/generated/versions.cjs.js");require("../api/generated/workfiles.cjs.js");require("../api/generated/ynputCloud.cjs.js");require("../api/generated/grouping.cjs.js");require("../api/generated/views.cjs.js");require("../api/queries/actions/getActions.cjs.js");require("../api/queries/activities/getActivities.cjs.js");require("../api/queries/activities/updateActivities.cjs.js");require("../api/queries/activities/updateReaction.cjs.js");require("../api/queries/activities/getMentions.cjs.js");require("../api/queries/addons/getAddons.cjs.js");require("../api/queries/addons/updateAddons.cjs.js");require("../api/queries/attributes/getAttributes.cjs.js");require("../api/queries/attributes/updateAttributes.cjs.js");require("../api/queries/authentication/getAuthentication.cjs.js");require("../api/queries/cloud/cloud.cjs.js");require("../api/queries/entities/getEntity.cjs.js");require("../api/queries/entities/getEntityPanel.cjs.js");require("../api/queries/entities/updateEntity.cjs.js");require("../api/queries/entityLists/getLists.cjs.js");require("../api/queries/entityLists/updateLists.cjs.js");require("../api/queries/entityLists/getListsAttributes.cjs.js");require("../api/queries/entityLists/updateListsAttributes.cjs.js");require("../api/queries/folders/getFolders.cjs.js");require("../api/queries/grouping/getGrouping.cjs.js");require("../api/queries/links/updateLinks.cjs.js");require("../api/queries/links/getLinks.cjs.js");require("../api/queries/links/getEntityLinks.cjs.js");require("../api/queries/overview/getOverview.cjs.js");require("../api/queries/overview/updateOverview.cjs.js");require("../api/queries/permissions/getPermissions.cjs.js");require("../api/queries/products/createProduct.cjs.js");require("../api/queries/project/getProject.cjs.js");require("../api/queries/project/updateProject.cjs.js");require("../api/queries/review/getReview.cjs.js");require("../api/queries/review/updateReview.cjs.js");require("../api/queries/share/share.cjs.js");require("../api/queries/system/getSystem.cjs.js");require("../api/queries/userDashboard/getUserDashboard.cjs.js");require("../api/queries/users/getUsers.cjs.js");require("../api/queries/users/updateUsers.cjs.js");require("../api/queries/versions/updateVersions.cjs.js");require("../api/queries/views/getViews.cjs.js");require("../api/queries/views/updateViews.cjs.js");require("../api/queries/watchers/getWatchers.cjs.js");require("lodash");require("react-toastify");require("./RemoteModulesContext.cjs.js");require("./DetailsPanelContext.cjs.js");require("./ThumbnailUploaderContext.cjs.js");require("./SettingsPanelContext.cjs.js");require("./pip/PiPProvider.cjs.js");require("react-dom");require("./pip/PiPWrapper.cjs.js");require("./AddonProjectContext.cjs.js");require("./AddonContext.cjs.js");require("./MoveEntityContext.cjs.js");require("react-redux");require("custom-protocol-check");const l={slicer:{label:"Slicer",description:"Advanced filtering system for project organization.",bullet:"Powerful project filtering tools"},annotations:{label:"Annotations",description:"Create detailed visual feedback directly on media files.",bullet:"Advanced media review tools"},releases:{label:"Release History",description:"Access and download the complete archive of releases",bullet:"Full release archive access"},advancedFilters:{label:"Advanced Filters",description:"Customize your view and find your data with powerful filtering options",bullet:"Advanced filtering options"},listAttributes:{label:"List Attributes",description:"Add custom attributes to your lists for better collaboration and organization.",bullet:"Custom attributes for lists"},listAccess:{label:"List Access",description:"Manage and control access to your lists with advanced sharing options.",bullet:"Advanced list sharing options"},groupAttributes:{label:"Group Attributes",description:"Group tasks by assignees, status, or other attributes for better organization.",bullet:"Group tasks by attributes"},sharedViews:{label:"Shared Views",description:"Save custom views and share them with team members for better collaboration.",bullet:"Save and share custom views"}},d=r.createContext(void 0),k=({children:i,debug:e})=>{const[t,a]=r.useState(null),p=o=>o?l[o]:null,[c,u]=r.useState(!1),w=async()=>!1,[n,{isLoaded:q,isLoading:P}]=v.useLoadModule({addon:"powerpack",remote:"license",module:"checkPowerLicense",fallback:w});r.useEffect(()=>{(async()=>{if((e==null?void 0:e.powerLicense)!==void 0)console.warn("Using debug power license:",e.powerLicense),u(e.powerLicense);else if(q)try{const s=await n();u(s)}catch(s){console.error("Error checking power license:",s),u(!1)}})()},[e,q,n]);const b=r.useMemo(()=>({powerLicense:c,selectedPowerPack:t,setPowerpackDialog:a,powerpackDialog:p(t)}),[c,t,a]);return f.jsxRuntimeExports.jsx(d.Provider,{value:b,children:i})},h=()=>{const i=r.useContext(d);if(i===void 0)throw new Error("usePowerpack must be used within a PowerpackProvider");return i};exports.PowerpackProvider=k;exports.powerpackFeatures=l;exports.usePowerpack=h;
2
2
  //# sourceMappingURL=PowerpackContext.cjs.js.map