@ynput/ayon-frontend-shared 0.4.0 → 0.4.1
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.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +49 -46
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +244 -228
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +52 -49
- package/dist/Slicer.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +93 -93
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +130 -126
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +36 -33
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/parse-numeric-range/index.cjs.js +1 -1
- package/dist/node_modules/parse-numeric-range/index.es.js +1 -1
- package/dist/shared/node_modules/react-is/index.cjs.js +1 -1
- package/dist/shared/node_modules/react-is/index.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +40 -21
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +36 -17
- package/dist/shared/src/api/generated/graphql.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphqlLinks.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/getActivities.es.js +4 -4
- package/dist/shared/src/api/queries/activities/getActivities.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js +99 -105
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +133 -87
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +155 -155
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/folders/getFolders.es.js +66 -64
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +110 -111
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getLinks.es.js +58 -73
- package/dist/shared/src/api/queries/links/getLinks.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/getOverview.es.js +380 -328
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/patchVersions.es.js +130 -77
- package/dist/shared/src/api/queries/overview/patchVersions.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/updateOverview.es.js +136 -132
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js +1 -1
- package/dist/shared/src/api/queries/review/getReview.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/review/getReview.es.js +180 -104
- package/dist/shared/src/api/queries/review/getReview.es.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js +152 -132
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +2 -2
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +2 -2
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js +485 -439
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js +1 -1
- package/dist/shared/src/components/Chips/Chips.cjs.js.map +1 -1
- package/dist/shared/src/components/Chips/Chips.es.js +18 -17
- package/dist/shared/src/components/Chips/Chips.es.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.cjs.js.map +1 -1
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js +23 -20
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +10 -7
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js +23 -20
- package/dist/shared/src/components/DetailsPanelDetails/DescriptionSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js +23 -20
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js +23 -20
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js +34 -30
- package/dist/shared/src/components/EntityIcon/EntityIcon.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +23 -20
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js +28 -25
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploaderDialog.es.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js +23 -20
- package/dist/shared/src/components/EntityPath/SegmentProvider.es.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.cjs.js.map +1 -1
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js +27 -24
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinksManager.es.js +23 -20
- package/dist/shared/src/components/LinksManager/LinksManager.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +23 -20
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +23 -20
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -1
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +23 -20
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js +1 -1
- package/dist/shared/src/components/Menu/Menu.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/Menu.es.js +23 -20
- package/dist/shared/src/components/Menu/Menu.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuItem.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuItem.es.js +21 -18
- package/dist/shared/src/components/Menu/MenuItem.es.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js +1 -1
- package/dist/shared/src/components/Menu/MenuList.cjs.js.map +1 -1
- package/dist/shared/src/components/Menu/MenuList.es.js +23 -20
- package/dist/shared/src/components/Menu/MenuList.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +23 -20
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +23 -20
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +210 -182
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +2 -2
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +89 -82
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +23 -20
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js +109 -106
- package/dist/shared/src/components/RemotePage/ProjectPageRemote.es.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js +23 -20
- package/dist/shared/src/components/RemotePage/RemotePageWrapper.es.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.cjs.js.map +1 -1
- package/dist/shared/src/components/RenameForm/RenameForm.es.js +23 -20
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +29 -32
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +30 -27
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +29 -26
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js +29 -26
- package/dist/shared/src/components/ReviewablesSelector/Card.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js +2 -1
- package/dist/shared/src/components/SearchFilter/filterScopeRegistry.es.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.cjs.js.map +1 -1
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js +511 -394
- package/dist/shared/src/components/SearchFilter/useBuildFilterOptions.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js +23 -20
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.es.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js +8 -5
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.cjs.js.map +1 -1
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js +36 -22
- package/dist/shared/src/components/SettingsPanel/SettingsPanelItemTemplate.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js +30 -27
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +29 -26
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +23 -20
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +29 -26
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js +32 -29
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +29 -26
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/Actions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/Actions.es.js +23 -20
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +29 -26
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +23 -20
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/hooks/useContextAccess.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js +23 -20
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js +12 -12
- package/dist/shared/src/containers/DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js +133 -130
- package/dist/shared/src/containers/DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js +29 -26
- package/dist/shared/src/containers/DetailsPanel/containers/DetailsPanelSubtasks.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js +27 -24
- package/dist/shared/src/containers/DetailsPanel/containers/FeedContextWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js +27 -24
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js +23 -20
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +29 -26
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js +23 -20
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/Feed.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/Feed.es.js +28 -25
- package/dist/shared/src/containers/Feed/Feed.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js +29 -26
- package/dist/shared/src/containers/Feed/components/ActivityCheckbox/ActivityCheckbox.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js +29 -26
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityComment.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js +29 -26
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js +23 -20
- package/dist/shared/src/containers/Feed/components/ActivityVersions/ActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +27 -24
- package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js +33 -30
- package/dist/shared/src/containers/Feed/components/CommentInput/helpers.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js +23 -20
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js +23 -20
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +2 -2
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +21 -18
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +23 -20
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js +27 -24
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js +26 -23
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTable.es.js +25 -22
- package/dist/shared/src/containers/ListTable/ListTable.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js +119 -116
- package/dist/shared/src/containers/ListTable/ListTableCell.es.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js +29 -26
- package/dist/shared/src/containers/ListTable/ListTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js +2 -2
- package/dist/shared/src/containers/NewEntity/components/NewEntity.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js +114 -111
- package/dist/shared/src/containers/NewEntity/components/NewEntity.es.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js +116 -113
- package/dist/shared/src/containers/NewEntity/context/NewEntityContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +64 -61
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +586 -414
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js +24 -21
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnDndProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +24 -21
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +131 -128
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +289 -272
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +34 -31
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +28 -25
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +118 -115
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js +28 -25
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useBuildProjectDataTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +124 -121
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +48 -45
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useColumnGroupBy.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useDeleteEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js +103 -100
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +93 -383
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +22 -19
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js +37 -45
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useSortBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js +21 -18
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +37 -34
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js +45 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/columnIds.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js +37 -21
- package/dist/shared/src/containers/ProjectTreeTable/utils/getTableFieldOptions.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +28 -25
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +6 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +28 -21
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js +30 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js +370 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EntityWidget.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +39 -36
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/widgets/MarkdownWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js +26 -23
- package/dist/shared/src/containers/ProjectTreeTable/widgets/NameWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js +29 -26
- package/dist/shared/src/containers/ProjectTreeTable/widgets/SubtasksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js +23 -20
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +29 -26
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +29 -26
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js +25 -22
- package/dist/shared/src/containers/Slicer/components/Slicer.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js +23 -20
- package/dist/shared/src/containers/Slicer/components/SlicerDropdownFallback.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js +29 -26
- package/dist/shared/src/containers/Slicer/components/SlicerSearch.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js +27 -24
- package/dist/shared/src/containers/Slicer/context/SlicerContext.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js +22 -19
- package/dist/shared/src/containers/Slicer/hooks/useHierarchyContextMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js +25 -22
- package/dist/shared/src/containers/Slicer/hooks/useSlicerCounts.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +23 -20
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +24 -21
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js +23 -20
- package/dist/shared/src/containers/Views/ViewsDialogContainer/ViewsDialogContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js +23 -20
- package/dist/shared/src/containers/Views/ViewsMenuContainer/BaseViewsTags.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js +23 -20
- package/dist/shared/src/containers/Views/ViewsMenuContainer/ViewsMenuContainer.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js +25 -22
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js +26 -23
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js +1 -1
- package/dist/shared/src/context/DetailsPanelContext.cjs.js.map +1 -1
- package/dist/shared/src/context/DetailsPanelContext.es.js +27 -24
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/EntityUpdatesContext.es.js +85 -65
- package/dist/shared/src/context/EntityUpdatesContext.es.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +27 -24
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContext.es.js +25 -22
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/SubtasksModulesContext.es.js +25 -22
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js +1 -1
- package/dist/shared/src/context/WebsocketContext.cjs.js.map +1 -1
- package/dist/shared/src/context/WebsocketContext.es.js +31 -28
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useEntityUpdate.es.js +23 -20
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js +23 -20
- package/dist/shared/src/hooks/useGroupByRemoteModules.es.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useHierarchyTable.es.js +23 -20
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useUserProjectConfig.es.js +23 -20
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js +1 -1
- package/dist/shared/src/util/columnConfigConverter.cjs.js.map +1 -1
- package/dist/shared/src/util/columnConfigConverter.es.js +33 -33
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js +1 -1
- package/dist/shared/src/util/getAttributeIcon.cjs.js.map +1 -1
- package/dist/shared/src/util/getAttributeIcon.es.js +2 -1
- package/dist/shared/src/util/getAttributeIcon.es.js.map +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.cjs.js.map +1 -1
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js +33 -27
- package/dist/shared/src/util/realtimeUpdatesUtils.es.js.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +45 -2
- package/dist/types/api/generated/graphqlLinks.d.ts +14 -2
- package/dist/types/api/generated/views.d.ts +13 -4
- package/dist/types/api/queries/activities/getActivities.d.ts +24 -0
- package/dist/types/api/queries/activities/util/activityRealtimeHandler.d.ts +0 -3
- package/dist/types/api/queries/entities/getEntity.d.ts +12 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +12 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +12 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +12 -7
- package/dist/types/api/queries/entityLists/types.d.ts +7 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +14 -2
- package/dist/types/api/queries/overview/patchVersions.d.ts +9 -0
- package/dist/types/api/queries/project/getProject.d.ts +12 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +12 -0
- package/dist/types/api/queries/users/getUsers.d.ts +12 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +155 -0
- package/dist/types/components/EntityIcon/EntityIcon.d.ts +4 -4
- package/dist/types/components/ProjectTableSettings/ColumnsSettings.d.ts +9 -1
- package/dist/types/components/ProjectTableSettings/index.d.ts +1 -0
- package/dist/types/components/RemotePage/RemotePageWrapper.d.ts +1 -1
- package/dist/types/components/SearchFilter/useBuildFilterOptions.d.ts +5 -2
- package/dist/types/components/SettingsPanel/SettingsPanelItemTemplate.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +22 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/utils/columnIds.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/utils/getTableFieldOptions.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EntityWidget.d.ts +15 -0
- package/dist/types/containers/ProjectTreeTable/widgets/index.d.ts +1 -0
- package/dist/types/util/realtimeUpdatesUtils.d.ts +6 -3
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +43 -42
- package/package.json +4 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../../../../_virtual/jsx-runtime.cjs.js"),A=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/EnumCellValue.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/MarkdownWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const b=require("./widgets/CellWidget.cjs.js"),ie=require("./widgets/EntityNameWidget.cjs.js"),re=require("./widgets/GroupHeaderWidget.cjs.js"),ne=require("./widgets/ThumbnailWidget.cjs.js");require("./widgets/LinksWidget.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");const K=require("@ynput/ayon-react-components");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");const p=require("clsx");require("../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("react-toastify");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/dataImport.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/projectFolders.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/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.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/bundles/getBundles.cjs.js");require("../../api/queries/bundles/updateBundles.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/columnStats/groupCounts.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.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/users/guests.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("../../api/queries/uris/getUris.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */const te=require("lodash"),V=require("../../util/getEntityTypeIcon.cjs.js");require("uuid");const X=require("./constants.cjs.js");require("../../util/pubsub.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../Feed/components/CommentInput/modules/index.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../context/PowerpackContextInstance.cjs.js");require("../../context/UriContext.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContextInstance.cjs.js");require("../../context/EntityUpdatesContextInstance.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");const _=require("./utils/cellUtils.cjs.js"),H=require("./ProjectTreeTable.styled.cjs.js"),ae=require("./components/SelectionCell.cjs.js"),ue=require("./components/RowSelectionHeader.cjs.js"),le=require("./context/CellEditingContext.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");const W=require("./utils/restrictedEntity.cjs.js");require("./context/SelectionCellsContext.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");const h=require("./hooks/useBuildGroupByTableData.cjs.js"),se=require("./context/ColumnSettingsContext.cjs.js");require("./context/ProjectTableContextInstance.cjs.js");require("./context/ClipboardContext.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("./context/ProjectDataContextInstance.cjs.js");require("../NewEntity/components/NewEntity.cjs.js");require("../Slicer/components/Slicer.cjs.js");require("../Slicer/context/SlicerContextInstance.cjs.js");require("../Slicer/components/SlicerDropdownFallback.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../NewEntity/context/NewEntityContextInstance.cjs.js");require("../NewEntity/components/NewEntityForm.cjs.js");const oe=require("./widgets/LoadMoreWidget.cjs.js"),de=require("./types/columnConfig.cjs.js");require("./components/HeaderActionButton.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("./components/TableFooterRow.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../Views/context/ViewsContextInstance.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../ListTable/ListTableRow.cjs.js");require("../ListTable/ListTable.styled.cjs.js");require("../../context/DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/InfoMessage/InfoMessage.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/FreeTrialLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/SyncButton/SyncButton.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../components/ColumnHeaderMenuUI.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");const ge=require("./widgets/MetaWidget.cjs.js"),U=u=>["folder","product"].includes(u),x=50,T=u=>(o,g,...q)=>o.original.isLoading!==g.original.isLoading?o.original.isLoading?1:-1:u(o,g,...q),Z=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),j=u=>(o,g,...q)=>{const f=u(o,g,...q);if(f!==0)return f;const v=o.original.label||o.original.name||"",R=g.original.label||g.original.name||"";return Z.compare(v,R)},O=(u,o)=>{const g=u.original.label||u.original.path||u.original.name||"",q=o.original.label||o.original.path||o.original.name||"";return Z.compare(g,q)},$=(u,o,g)=>{const q=_.getCellValue(u.original,g),f=_.getCellValue(o.original,g),v=Array.isArray(q)?q.length:q?String(q).length:0,R=Array.isArray(f)?f.length:f?String(f).length:0;return v-R},F=(u,o,g,q)=>{const f=_.getCellValue(u.original,g),v=_.getCellValue(o.original,g);if(q&&q.enum){const R=q.enum.findIndex(L=>L.value===f),D=q.enum.findIndex(L=>L.value===v);return R-D}else return q?.type==="datetime"?A.sortingFns.datetime(u,o,g):q?.type==="boolean"?(f===!0?1:0)-(v===!0?1:0):A.sortingFns.alphanumeric(u,o,g)},B=(u,o)=>`${u.linkType.charAt(0).toUpperCase()+u.linkType.slice(1)} (${o})`,M=(u,o)=>`${u.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${o}`,Y=(u,o)=>`link_${M(u,o)}`,ce=({scopes:u,attribs:o,links:g=[],includeLinks:q=!0,showHierarchy:f,isFlatFolderView:v,options:R,excluded:D,excludedSorting:L,extraColumns:G,groupBy:z,nameLabel:J="Entity"})=>{const y=[],c=e=>!D?.includes(e),E=e=>!L?.includes(e);c(X.ROW_SELECTION_COLUMN_ID)&&y.push({id:X.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>s.jsxRuntimeExports.jsx(ue,{}),cell:({row:e})=>e.original.entityType==="group"||e.original.metaType?null:s.jsxRuntimeExports.jsx(ae.SelectionCell,{}),size:20}),c("thumbnail")&&y.push({id:"thumbnail",header:"Thumbnail",size:63,minSize:24,enableResizing:!0,enableSorting:!1,cell:({row:e,column:i,table:r})=>{if(e.original.entityType==="group"||e.original.metaType)return null;const n=r.options.meta;if(!n)return null;const a=_.getCellId(e.id,i.id);let t={entityId:e.original.entityId||e.id,entityType:e.original.entityType,thumbnailHash:e.original.thumbnailHash};return e.original.thumbnail&&(t=e.original.thumbnail),s.jsxRuntimeExports.jsx(ne.ThumbnailWidget,{id:a,entityId:t.entityId,entityType:t.entityType,thumbnailHash:t.thumbnailHash,icon:e.original.icon,projectName:n?.projectName,className:p("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),c("name")&&y.push({id:"name",accessorKey:"name",header:J,minSize:x,sortingFn:T(O),enableSorting:z&&z.id!=="folder"?!1:E("name"),enableResizing:!0,enablePinning:!0,enableHiding:!(z&&z.id!=="folder"),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id),l=r.options.meta,{isEditing:d}=le.useCellEditing(),{rowHeight:I=40}=se.useColumnSettingsContext(),C=_.getCellId(e.id,i.id);if(e.original.metaType)return s.jsxRuntimeExports.jsx(H.TableCellContent,{id:C,className:p("large","readonly",e.original.entityType),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`,pointerEvents:"none"},tabIndex:0,children:s.jsxRuntimeExports.jsx(ge.MetaWidget,{metaType:e.original.metaType,label:e.original.label})});if(e.original.entityType===h.NEXT_PAGE_ID&&e.original.group)return s.jsxRuntimeExports.jsx(oe,{id:e.original.group.value,onLoadMore:k=>l?.loadMoreRows?.(k)});const S=e.getCanExpand()&&!!e.originalSubRows&&(U(e.original.entityType)||!!e.original.group);return s.jsxRuntimeExports.jsxs(H.TableCellContent,{id:C,className:p("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:f}),style:{paddingLeft:`calc(${e.depth*1}rem + ${S||!e.getCanExpand()?0:32}px + 8px)`},tabIndex:0,children:[e.original.group?s.jsxRuntimeExports.jsx(re.GroupHeaderWidget,{id:e.id,label:e.original.group.label,name:e.original.name,icon:e.original.group.icon,img:e.original.group.img,color:e.original.group.color,count:e.original.group.count,percentage:e.original.group.percentage,isExpanded:e.getIsExpanded(),isEmpty:e.original.group.count===0,toggleExpanded:e.getToggleExpandedHandler()}):s.jsxRuntimeExports.jsx(ie.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:!f&&!v?"/"+e.original.parents?.join("/"):void 0,entityType:e.original.entityType,subType:e.original.subType,isExpandable:S,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>l?.toggleExpandAll?.([e.id]),toggleExpanded:e.getToggleExpandedHandler(),rowHeight:I,columnDisplayConfig:de.getColumnDisplayConfig(l?.columnsConfig,"name")}),d(C)&&s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("name",{loading:e.original.isLoading}),columnId:i.id,value:n,valueData:{name:e.original.name,label:e.original.label,meta:l,entityRowId:a,columnId:i.id,hasVersions:!!e.original.hasVersions},entityType:t,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:l?.readOnly?.includes(i.id)})]})}}),c("status")&&y.push({id:"status",accessorKey:"status",minSize:x,header:"Status",sortingFn:T(j((e,i,r)=>F(e,i,r,{enum:R.status,type:"string"}))),sortDescFirst:!0,enableSorting:E("status"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id),l=r.options.meta;return["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("status",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:l?.options?.status.filter(d=>d.scope?.includes(t)),isCollapsed:!!e.original.childOnlyMatch,onChange:d=>l?.updateEntities?.({field:i.id,value:d,type:t,rowId:a},{selection:l?.selection}),isReadOnly:l?.readOnly?.includes(i.id)||W.isEntityRestricted(t),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),c("entityType")&&y.push({id:"entityType",accessorKey:"entityType",header:"Entity Type",minSize:20,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.alphanumeric)),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType)return null;const l=_.getCellId(e.id,i.id);return s.jsxRuntimeExports.jsxs(H.TableCellContent,{id:l,className:p("entityType",W.READ_ONLY,t,{loading:e.original.isLoading}),tabIndex:0,children:[s.jsxRuntimeExports.jsx(K.Icon,{icon:V.getEntityTypeIcon(t)})," ",te.upperFirst(n)]})}}),c("subType")&&y.push({id:"subType",accessorKey:"subType",header:u.includes("product")||u.includes("version")?"Product type":"Type",minSize:x,enableSorting:E("subType"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j((e,i,r)=>F(e,i,r,{enum:[...R.folderType,...R.taskType],type:"string"}))),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType)return null;const l=t==="folder"?"folderType":"taskType",d=r.options.meta,I=t==="folder"&&e.original.hasVersions;return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("subType",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:t==="folder"?d?.options?.folderType:t==="task"?d?.options?.taskType:t==="product"||t==="version"?d?.options?.productType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:C=>d?.updateEntities?.({field:l,value:C,type:t,rowId:e.id},{selection:d?.selection}),isReadOnly:d?.readOnly?.includes(i.id)||d?.readOnly?.includes(l)||I,tooltip:I?"Folder type cannot be edited when versions exist within the folder":void 0,pt:{enum:{pt:{template:{iconOnlyColor:!0}}}}})}}),c("assignees")&&y.push({id:"assignees",accessorKey:"assignees",header:"Assignees",minSize:x,enableSorting:E("assignees"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j($)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:l}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:l==="folder"?s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("assignees",{loading:e.original.isLoading}),columnId:i.id,value:"",isPlaceholder:!0}):s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("assignees",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:d=>n?.updateEntities?.({field:i.id,value:d,type:l,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||W.isEntityRestricted(l),pt:{enum:{multiSelectClose:a?.length===0,search:!0,multipleOverride:!1}}})}}),c("folder")&&y.push({id:"folder",accessorKey:"folder",header:"Folder name",minSize:x,sortingFn:T(O),enableSorting:E("folderName"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:t}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(t)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:a,className:p("folder",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},isReadOnly:!0})}}),c("author")&&["version","product"].some(e=>u.includes(e))&&y.push({id:"author",accessorKey:"author",header:"Author",minSize:x,enableSorting:E("author"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:l}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("author",{loading:e.original.isLoading}),columnId:i.id,value:[a],attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isReadOnly:!0,isInherited:l==="product"})}}),c("version")&&["version","product"].some(e=>u.includes(e))&&y.push({id:"version",accessorKey:"version",header:"Version",minSize:x,enableSorting:E("version"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType)return null;let t=e.original.versionName||r;return e.original.entityType==="product"&&(t=`${e.original.versionName} (${e.original.versionsCount||0} versions)`),s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("version",{loading:e.original.isLoading}),columnId:i.id,value:t,attributeData:{type:"string"},isReadOnly:!0})}}),c("product")&&["version","product"].some(e=>u.includes(e))&&y.push({id:"product",accessorKey:"product",header:"Product name",minSize:x,enableSorting:E("product"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(O),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("product",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},isReadOnly:!0})}}),c("tags")&&y.push({id:"tags",accessorKey:"tags",header:"Tags",minSize:x,enableSorting:E("tags"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j($)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:l}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("tags",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:d=>n?.updateEntities?.({field:i.id,value:d,type:l,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||W.isEntityRestricted(l),enableCustomValues:!0})}}),c("createdAt")&&y.push({id:"createdAt",accessorKey:"createdAt",header:"Created at",minSize:x,enableSorting:E("createdAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("createdAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("updatedAt")&&y.push({id:"updatedAt",accessorKey:"updatedAt",header:"Updated at",minSize:x,enableSorting:E("updatedAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:T(j(A.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,i.id);return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("updatedAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),c("subtasks")&&u.includes("task")&&y.push({id:"subtasks",accessorKey:"subtasks",header:"Subtasks",minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:t,type:l}=m(e,i.id);if(["group",h.NEXT_PAGE_ID].includes(l)||e.original.metaType)return null;if(l!=="task")return s.jsxRuntimeExports.jsx("div",{className:"readonly"});const d={taskId:h.parseGroupId(e.id)||e.original.entityId||e.original.id,subtasks:a||[]};return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:t,className:p("subtasks",{loading:e.original.isLoading}),columnId:i.id,value:d.subtasks?.map(I=>I.label||I.name)||[],valueData:d,attributeData:{type:"subtasks"},isReadOnly:n?.readOnly?.includes(i.id)})}}),c("comments")&&u.some(e=>["task","version","product","folder"].includes(e))&&y.push({id:"comments",accessorKey:"latestComments",header:"Latest comments",minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=m(e,"latestComments");return["group",h.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:!e.original.isLoading&&!["task","version","product","folder"].includes(a)?s.jsxRuntimeExports.jsx("div",{className:"readonly"}):s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:n,className:p("comments",{loading:e.original.isLoading}),columnId:i.id,value:"",valueData:r||[],attributeData:{type:"comments"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const Q=o.filter(e=>{if(e.scope&&!e.scope.some(r=>u.includes(r)))return!1;const i="attrib_"+e.name;return!(!c(i)||e.builtin&&!c("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:x,filterFn:"fuzzy",sortingFn:T(j((r,n,a)=>F(r,n,a,e.data))),enableSorting:E(e.name)&&E("attrib"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:r,column:n,table:a})=>{const t=a.options.meta,l=n.id.replace("attrib_",""),{value:d,id:I,type:C}=m(r,l,"attrib"),S=!r.original.ownAttrib?.includes(l);return["group",h.NEXT_PAGE_ID].includes(C)||r.original.metaType||!e.scope?.includes(C)&&d==null?null:s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:I,className:p("attrib",{loading:r.original.isLoading}),columnId:n.id,value:d,attributeData:{type:e.data.type||"string",widget:e.data.widget},options:e.data.enum||[],midnightExclusiveFields:r.original.midnightExclusiveFields,isCollapsed:!!r.original.childOnlyMatch,isInherited:S,isReadOnly:e.readOnly||t?.readOnly?.some(N=>N===l||N==="attrib"&&e.builtin),onChange:N=>t?.updateEntities?.({field:l,value:N,type:C,isAttrib:!0,rowId:r.id},{selection:e.data.enum?.length?t?.selection:void 0})})}})),w=q?g.filter(e=>!(!c(e.linkType)||!c("link")||!u.includes(e.inputType)&&!u.includes(e.outputType))).flatMap(e=>{const i=r=>({id:Y(e,r),accessorKey:`links.${M(e,r)}`,header:()=>s.jsxRuntimeExports.jsxs(H.LinkColumnHeader,{children:[B(e,r)," ",s.jsxRuntimeExports.jsx(K.Icon,{icon:V.getEntityTypeIcon(r==="in"?e.inputType:e.outputType)})]}),minSize:x,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:n,column:a,table:t})=>{const l=a.id.replace("link_",""),{id:d,value:I}=m(n,l,"links"),C=I?.map(ee=>ee.label),S=n.original.entityId||n.original.id,k=!!t.options.meta?.loadingLinksEntityIds?.has(S),N={links:I,direction:r,entityId:S,entityType:n.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:r==="in"?e.inputType:e.outputType}};return s.jsxRuntimeExports.jsx(b.CellWidget,{rowId:d,className:p("links",{loading:n.original.isLoading}),columnId:a.id,value:C,valueData:N,folderId:n.original.folderId,attributeData:{type:"links"},isLinksLoading:k})}});return[i("in"),i("out")]}):[],P=[...y,...Q,...w];return G&&G.forEach(({column:e,position:i=-1})=>{i>=0&&i<P.length?P.splice(i,0,e):P.push(e)}),P},m=(u,o,g)=>({value:g?u.original[g]?.[o]:u.original[o],id:u.id,type:u.original.entityType});exports.COLUMN_MIN_SIZE=x;exports.default=ce;exports.getLinkColumnId=Y;exports.getLinkKey=M;exports.getLinkLabel=B;exports.getValueIdType=m;exports.isEntityExpandable=U;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("../../../../_virtual/jsx-runtime.cjs.js"),z=require("@tanstack/react-table");require("./widgets/CollapsedWidget.cjs.js");require("./widgets/DateWidget.cjs.js");require("./widgets/EnumWidget.cjs.js");require("./widgets/EnumCellValue.cjs.js");require("./widgets/TextWidget.cjs.js");require("./widgets/MarkdownWidget.cjs.js");require("./widgets/BooleanWidget.cjs.js");const C=require("./widgets/CellWidget.cjs.js"),le=require("./widgets/EntityNameWidget.cjs.js"),U=require("./widgets/EntityWidget.cjs.js"),ue=require("./widgets/GroupHeaderWidget.cjs.js"),oe=require("./widgets/ThumbnailWidget.cjs.js");require("./widgets/LinksWidget.cjs.js");require("../../components/AddonLoadingScreen/AddonLoadingScreen.cjs.js");require("react");require("../../../../node_modules/match-sorter/dist/match-sorter.esm.cjs.js");const $=require("@ynput/ayon-react-components");require("../../components/AccessSearchInput/AccessSearchInput.styled.cjs.js");require("../../components/AccessUser/AccessUser.cjs.js");const b=require("clsx");require("../../components/AttributeEditor/AttributeEditor.cjs.js");require("../../components/AttributeEditor/attributeTypeMap.cjs.js");require("../../components/Badge/Badge.cjs.js");require("../../components/Chips/Chips.cjs.js");require("react-dom");require("date-fns");require("../../components/DateRangePicker/DateRangePicker.styled.cjs.js");require("../../components/LinksManager/CellEditingDialog.cjs.js");require("../../components/DeleteEntitiesConfirm/DeleteConfirmContent.cjs.js");require("../../components/DeleteEntitiesConfirm/DeleteEntitiesConfirmDialog.styled.cjs.js");require("react-toastify");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/dataImport.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/projectFolders.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/updateReaction.cjs.js");require("../../api/queries/activities/getMentions.cjs.js");require("../../api/queries/activities/getCategories.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/bundles/getBundles.cjs.js");require("../../api/queries/bundles/updateBundles.cjs.js");require("../../api/queries/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.cjs.js");require("../../api/queries/columnStats/groupCounts.cjs.js");require("../../api/queries/config/getConfig.cjs.js");require("../../api/queries/config/updateConfig.cjs.js");require("../../api/queries/entities/getEntity.cjs.js");require("../../api/queries/entities/getEntityPanel.cjs.js");require("../../api/queries/overview/getOverview.cjs.js");require("../../api/queries/overview/updateOverview.cjs.js");require("../../api/queries/versions/getVersionsProducts.cjs.js");require("../../api/queries/links/getEntityLinks.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/listItemsColumnStats.cjs.js");require("../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../api/queries/entityLists/listFolders.cjs.js");require("../../api/queries/folders/getFolders.cjs.js");require("../../api/queries/folders/getFolderDeleteInfo.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/permissions/getPermissions.cjs.js");require("../../api/queries/products/createProduct.cjs.js");require("../../api/queries/products/getFolderProducts.cjs.js");require("../../api/queries/project/getProject.cjs.js");require("../../api/queries/project/updateProject.cjs.js");require("../../api/queries/projectFolders/projectFolders.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/tasks/getTasks.cjs.js");require("../../api/queries/tasks/updateTasks.cjs.js");require("../../api/queries/teams/getTeams.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/users/guests.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("../../api/queries/uris/getUris.cjs.js");require("../../../../_virtual/index.cjs.js");require("../../../../node_modules/refractor/lib/common.cjs.js");require("../../../../node_modules/refractor/lib/all.cjs.js");;/* empty css */const de=require("lodash"),B=require("../../util/getEntityTypeIcon.cjs.js");require("uuid");const Z=require("./constants.cjs.js");require("../../util/pubsub.cjs.js");require("../../components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js");require("../../components/DetailsPanelDetails/DetailsPanelDetails.cjs.js");require("react-quill-ayon");require("../../components/DetailsPanelDetails/BorderedSection.cjs.js");require("../../components/QuillListStyles/QuillListStyles.cjs.js");require("../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js");require("react-markdown");require("remark-gfm");require("rehype-raw");require("../Feed/components/CommentInput/quillToMarkdown.cjs.js");require("../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../Feed/components/CommentInput/modules/index.cjs.js");require("../../context/RemoteModulesContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../context/PowerpackContextInstance.cjs.js");require("../../context/UriContext.cjs.js");require("../../context/DetailsPanelContextInstance.cjs.js");require("../../context/SubtasksModulesContextInstance.cjs.js");require("../../context/ThumbnailUploaderContext.cjs.js");require("../../context/SettingsPanelContext.cjs.js");require("../../context/pip/PiPProvider.cjs.js");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContextInstance.cjs.js");require("../../context/EntityUpdatesContextInstance.cjs.js");require("../ContextMenu/ContextMenuContext.cjs.js");;/* empty css */require("../Feed/context/FeedContext.cjs.js");require("../Feed/components/Tooltips/UserTooltipItem.cjs.js");require("../Feed/components/Tooltips/UserTooltip/UserTooltip.styled.cjs.js");require("../Feed/components/Tooltips/TeamTooltip/TeamTooltip.styled.cjs.js");require("../Feed/components/Tooltips/EntityTooltip/EntityTooltip.styled.cjs.js");require("../Feed/components/FileUploadPreview/FileUploadPreview.styled.cjs.js");require("../Feed/components/FileUploadPreview/Mimes/TextMime.cjs.js");require("remark-emoji");require("remark-directive");require("remark-directive-rehype");require("../Feed/components/CommentInput/CommentInput.cjs.js");require("../Feed/components/ReactionContainer/Reactions.styled.cjs.js");require("../Feed/components/FilesGrid/FilesGrid.styled.cjs.js");require("../Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js");require("../Feed/components/ActivityComment/ActivityComment.styled.cjs.js");require("../Feed/components/ActivityCheckbox/ActivityCheckbox.styled.cjs.js");require("../Feed/components/ActivityReference/ActivityReference.styled.cjs.js");require("react-router-dom");require("../Feed/components/ActivityStatus/ActivityStatus.cjs.js");require("../Feed/components/ActivityHeader/ActivityHeader.styled.cjs.js");require("../Feed/components/ActivityDate.cjs.js");require("../Feed/components/ActivityVersionReview/ActivityVersionReview.styled.cjs.js");require("../Feed/components/ActivityCategorySelect/ActivityCategorySelect.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryDropdownItem.cjs.js");require("../Feed/components/ActivityCategorySelect/CategoryTag.cjs.js");require("../Feed/components/ActivityFieldChange/ActivityFieldChange.styled.cjs.js");require("../Feed/components/ActivityFieldChange/FieldValue.cjs.js");require("../Feed/components/ActivityAssigneeChange/ActivityAssigneeChange.styled.cjs.js");require("../Feed/components/ActivityVersions/ActivityVersions.styled.cjs.js");require("../Feed/components/ActivityGroup/ActivityGroup.styled.cjs.js");require("../Feed/Feed.styled.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholder.cjs.js");require("../../components/EmptyPlaceholder/EmptyPlaceholderFlex.styled.cjs.js");require("../Feed/components/FeedSearchFilter.cjs.js");require("@tanstack/react-virtual");const H=require("./ProjectTreeTable.styled.cjs.js");require("./components/HeaderActionButton.cjs.js");const ge=require("./components/RowSelectionHeader.cjs.js"),ce=require("./components/SelectionCell.cjs.js"),pe=require("./context/CellEditingContext.cjs.js");require("../../components/SearchFilter/filterDates.cjs.js");require("short-uuid");const y=require("./utils/columnIds.cjs.js"),O=require("./utils/cellUtils.cjs.js"),G=require("./utils/restrictedEntity.cjs.js");require("./context/SelectionCellsContext.cjs.js");require("./context/ProjectTableQueriesContext.cjs.js");const f=require("./hooks/useBuildGroupByTableData.cjs.js"),qe=require("./context/ColumnSettingsContext.cjs.js");require("./context/ProjectTableContextInstance.cjs.js");require("./context/ClipboardContext.cjs.js");require("./context/SelectedRowsContext.cjs.js");require("./context/DetailsPanelEntityContext.cjs.js");require("./context/ProjectDataContextInstance.cjs.js");require("../NewEntity/components/NewEntity.cjs.js");require("../Slicer/components/Slicer.cjs.js");require("../Slicer/context/SlicerContextInstance.cjs.js");require("../Slicer/components/SlicerDropdownFallback.cjs.js");require("../Slicer/hooks/useTableDataBySlice.cjs.js");require("react-redux");require("../NewEntity/context/NewEntityContextInstance.cjs.js");require("../NewEntity/components/NewEntityForm.cjs.js");require("@dnd-kit/core");require("@dnd-kit/sortable");require("./components/TableFooterRow.cjs.js");require("../DetailsPanel/DetailsPanel.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelTabs/DetailsPanelTabs.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.styled.cjs.js");require("../../components/PlayableIcon/PlayableIcon.cjs.js");require("../DetailsPanel/components/DetailsPanelFiles/DetailsPanelFiles.cjs.js");require("../DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js");require("../DetailsPanel/components/TabHeaderAndFilters/TabHeaderAndFilters.styled.cjs.js");require("../DetailsPanel/components/SubtasksSearchFilter/SubtasksSearchFilter.cjs.js");require("../DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.styled.cjs.js");require("../DetailsPanel/components/DetailsPanelFloating/DetailsPanelFloating.styled.cjs.js");require("../Actions/Actions.styled.cjs.js");require("../Actions/ActionsDropdown/ActionsDropdown.cjs.js");require("../Actions/ActionIcon.cjs.js");require("../Views/ViewsMenu/ViewsMenu.cjs.js");require("../Views/context/ViewsContextInstance.cjs.js");require("../Views/Views.styled.cjs.js");require("../Views/ViewsMenuContainer/ViewsMenuContainer.cjs.js");require("../EntityPickerDialog/EntityPickerDialog.cjs.js");require("../ListTable/ListTableRow.cjs.js");require("../ListTable/ListTable.styled.cjs.js");require("../../context/DeleteEntitiesContext.cjs.js");require("custom-protocol-check");require("./components/GroupSettingsFallback.cjs.js");require("../../components/DetailsPanelDetails/DetailsSection.cjs.js");require("../../components/DetailsPanelDetails/FieldLabel.cjs.js");require("../../components/DoneCheckbox/DoneCheckbox.cjs.js");require("../../components/EarlyPreview/EarlyPreview.cjs.js");require("../../components/InfoMessage/InfoMessage.cjs.js");require("../../components/EnumEditor/EnumEditor.styled.cjs.js");require("../../components/EntityPanelUploader/EntityPanelUploader.styled.cjs.js");require("axios");require("../../components/ReviewablesList/ReviewablesList.styled.cjs.js");require("../../components/ReviewablesList/ReviewablesUpload.styled.cjs.js");require("../../components/EntityPath/EntityPath.styled.cjs.js");require("../../components/EntityPath/SegmentProvider.cjs.js");require("../../components/FeaturedVersionOrder/FeaturedVersionOrder.cjs.js");require("../../components/Feedback/FeedbackContextInstance.cjs.js");require("../../components/Feedback/SupportBubble.cjs.js");require("../../components/FileThumbnail/FileThumbnail.cjs.js");require("../../components/LegacyBadge/LegacyBadge.cjs.js");require("../../components/LinksManager/LinksManager.styled.cjs.js");require("../../components/Powerpack/PowerpackButton.cjs.js");require("../../components/Powerpack/FreeTrialLink.cjs.js");require("../../components/Powerpack/PowerpackDialog.styled.cjs.js");require("../../components/Powerpack/CTAButton.cjs.js");require("../../components/Powerpack/RequiredAddonVersion.cjs.js");require("../../components/ProjectTableSettings/ProjectTableSettings.cjs.js");require("../../components/ProjectTableSettings/ColumnsSettings.cjs.js");require("../../components/SizeSlider/SizeSlider.cjs.js");require("../../components/ReviewableCard/ReviewableCard.cjs.js");require("../../components/ReviewableProgressCard/ReviewableProgressCard.styled.cjs.js");require("../../components/SearchFilter/CustomDateRangeDialog.cjs.js");require("../../components/SettingsPanel/SettingsPanel.cjs.js");require("../../components/SettingsPanel/SettingsPanelItemTemplate.cjs.js");require("../../components/ShareOptionIcon/ShareOptionIcon.cjs.js");require("../../components/SimpleFormDialog/SimpleFormDialog.cjs.js");require("../../components/StyledLink/StyledLink.cjs.js");require("../../components/SyncButton/SyncButton.cjs.js");require("../../components/TableGridSwitch/TableGridSwitch.cjs.js");require("../../components/Thumbnail/Thumbnail.styled.cjs.js");require("../../components/Thumbnail/StackedThumbnails.cjs.js");require("../../components/ThumbnailSimple/ThumbnailSimple.cjs.js");require("../../components/VersionUploader/components/UploadVersionDialog.cjs.js");require("../../components/VersionUploader/context/VersionUploadContextInstance.cjs.js");require("../../components/Watchers/Watchers.cjs.js");require("../../components/Menu/Menu.styled.cjs.js");require("../../components/Menu/MenuItem.cjs.js");require("../../components/ReviewablesSelector/ReviewablesSelector.cjs.js");require("../../components/ColumnHeaderMenuUI.cjs.js");require("./widgets/EmptyWidget.cjs.js");require("./widgets/ErrorWidget.cjs.js");const ye=require("./widgets/MetaWidget.cjs.js"),me=require("./widgets/LoadMoreWidget.cjs.js"),be=require("./types/columnConfig.cjs.js"),Q=t=>["folder","product"].includes(t),I=50,q={thumbnail:"Thumbnail",status:"Status",entityType:"Entity type",subType:"Type",assignees:"Assignees",folder_entity:"Folder",task_entity:"Task",author:"Author",version:"Version number",version_entity:"Version",product:"Product name",productBaseType:"Base type",taskType:"Task type",folderType:"Folder type",tags:"Tags",createdAt:"Created at",updatedAt:"Updated at",subtasks:"Subtasks",comments:"Latest comments"},h=(t,o=[])=>t==="subType"&&o.some(u=>["product","version"].includes(u))?"Product type":q[y.normalizeColumnId(t)]||t,j={thumbnail:{enabled:!1,label:q.thumbnail},name:{sortKey:"name",enabled:!0,label:"Name"},entityType:{enabled:!1,label:q.entityType},status:{sortKey:"status",sortDescFirst:!1,enabled:!0,label:q.status},subType:{sortKey:"taskType",sortDescFirst:!0,enabled:!0,label:q.subType},assignees:{sortKey:"assignees",enabled:!0,label:q.assignees,scopes:["task"]},folder_entity:{sortKey:"folderName",sortDescFirst:!1,enabled:!0,label:q.folder_entity},task_entity:{sortKey:"taskName",enabled:!1,label:q.task_entity,scopes:["version","product"]},author:{sortKey:"author",enabled:!0,label:q.author,scopes:["version","product"]},version:{sortKey:"version",sortDescFirst:!0,enabled:!0,label:q.version,scopes:["version","product"]},version_entity:{sortKey:"version",enabled:!0,label:q.version_entity,scopes:["version","product"]},product:{sortKey:"product",enabled:!0,label:q.product,scopes:["version","product"]},productBaseType:{sortKey:"productBaseType",enabled:!0,label:q.productBaseType,scopes:["version","product"]},taskType:{sortKey:"taskType",sortDescFirst:!0,enabled:!0,label:q.taskType,scopes:["version","product"]},folderType:{sortKey:"folderType",enabled:!0,label:q.folderType,scopes:["version","product"]},tags:{sortKey:"tags",enabled:!0,label:q.tags},createdAt:{sortKey:"createdAt",enabled:!0,label:q.createdAt},updatedAt:{sortKey:"updatedAt",enabled:!0,label:q.updatedAt},subtasks:{enabled:!1,label:q.subtasks},comments:{enabled:!1,label:q.comments}},Te=(t,o=[])=>Object.entries(j).filter(([,u])=>u.enabled&&(!u.scopes||!t||u.scopes.some(c=>t.includes(c)))).map(([u,c])=>({id:u,label:o.find(E=>y.normalizeColumnId(E.value)===u)?.label||h(u,t)})),w=t=>j[y.normalizeColumnId(t)]?.enabled??!t.startsWith("link_"),fe=(t,o=!0)=>{if(!t)return;const u=y.normalizeColumnId(t);return u==="name"&&!o?"path":j[u]?.sortKey??u},v=t=>(o,u,...c)=>o.original.isLoading!==u.original.isLoading?o.original.isLoading?1:-1:t(o,u,...c),ee=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}),R=t=>(o,u,...c)=>{const E=t(o,u,...c);if(E!==0)return E;const L=o.original.label||o.original.name||"",S=u.original.label||u.original.name||"";return ee.compare(L,S)},A=(t,o)=>{const u=t.original.label||t.original.path||t.original.name||"",c=o.original.label||o.original.path||o.original.name||"";return ee.compare(u,c)},J=(t,o,u)=>{const c=O.getCellValue(t.original,u),E=O.getCellValue(o.original,u),L=Array.isArray(c)?c.length:c?String(c).length:0,S=Array.isArray(E)?E.length:E?String(E).length:0;return L-S},V=(t,o,u,c)=>{const E=O.getCellValue(t.original,u),L=O.getCellValue(o.original,u);if(c&&c.enum){const S=c.enum.findIndex(P=>P.value===E),F=c.enum.findIndex(P=>P.value===L);return S-F}else return c?.type==="datetime"?z.sortingFns.datetime(t,o,u):c?.type==="boolean"?(E===!0?1:0)-(L===!0?1:0):z.sortingFns.alphanumeric(t,o,u)},ie=(t,o)=>`${t.linkType.charAt(0).toUpperCase()+t.linkType.slice(1)} (${o})`,X=(t,o)=>`${t.name.replaceAll("_","").replaceAll("-","").replaceAll("|","_")}_${o}`,re=(t,o)=>`link_${X(t,o)}`,Ie=({scopes:t,attribs:o,links:u=[],includeLinks:c=!0,showHierarchy:E,isFlatFolderView:L,options:S,excluded:F,excludedSorting:P,extraColumns:Y,groupBy:K,nameLabel:te="Entity"})=>{const m=[],p=e=>!F?.some(i=>y.normalizeColumnId(i)===y.normalizeColumnId(e)),x=e=>w(e)&&!P?.some(i=>y.normalizeColumnId(i)===y.normalizeColumnId(e));p(Z.ROW_SELECTION_COLUMN_ID)&&m.push({id:Z.ROW_SELECTION_COLUMN_ID,enableResizing:!1,enableSorting:!1,enablePinning:!1,enableHiding:!1,header:()=>d.jsxRuntimeExports.jsx(ge,{}),cell:({row:e})=>e.original.entityType==="group"||e.original.metaType?null:d.jsxRuntimeExports.jsx(ce.SelectionCell,{}),size:20}),p("thumbnail")&&m.push({id:"thumbnail",header:h("thumbnail"),size:63,minSize:24,enableResizing:!0,enableSorting:!1,cell:({row:e,column:i,table:r})=>{if(e.original.entityType==="group"||e.original.metaType)return null;const n=r.options.meta;if(!n)return null;const a=O.getCellId(e.id,i.id);let s={entityId:e.original.entityId||e.id,entityType:e.original.entityType,thumbnailHash:e.original.thumbnailHash};return e.original.thumbnail&&(s=e.original.thumbnail),d.jsxRuntimeExports.jsx(oe.ThumbnailWidget,{id:a,entityId:s.entityId,entityType:s.entityType,thumbnailHash:s.thumbnailHash,icon:e.original.icon,projectName:n?.projectName,className:b("thumbnail",{loading:e.original.isLoading}),isPlayable:e.original.hasReviewables})}}),p("name")&&m.push({id:"name",accessorKey:"name",header:te,minSize:I,sortingFn:v(A),enableSorting:K&&K.id!=="folder"?!1:x("name"),enableResizing:!0,enablePinning:!0,enableHiding:!(K&&K.id!=="folder"),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:s}=T(e,i.id),l=r.options.meta,{isEditing:g}=pe.useCellEditing(),{rowHeight:_=40}=qe.useColumnSettingsContext(),N=O.getCellId(e.id,i.id);if(e.original.metaType)return d.jsxRuntimeExports.jsx(H.TableCellContent,{id:N,className:b("large","readonly",e.original.entityType),style:{paddingLeft:`calc(${e.depth*1}rem + 8px)`,pointerEvents:"none"},tabIndex:0,children:d.jsxRuntimeExports.jsx(ye.MetaWidget,{metaType:e.original.metaType,label:e.original.label})});if(e.original.entityType===f.NEXT_PAGE_ID&&e.original.group)return d.jsxRuntimeExports.jsx(me,{id:e.original.group.value,onLoadMore:W=>l?.loadMoreRows?.(W)});const D=e.getCanExpand()&&!!e.originalSubRows&&(Q(e.original.entityType)||!!e.original.group);return d.jsxRuntimeExports.jsxs(H.TableCellContent,{id:N,className:b("large",e.original.entityType,{loading:e.original.isLoading,hierarchy:E}),style:{paddingLeft:`calc(${e.depth*1}rem + ${D||!e.getCanExpand()?0:32}px + 8px)`},tabIndex:0,children:[e.original.group?d.jsxRuntimeExports.jsx(ue.GroupHeaderWidget,{id:e.id,label:e.original.group.label,name:e.original.name,icon:e.original.group.icon,img:e.original.group.img,color:e.original.group.color,count:e.original.group.count,percentage:e.original.group.percentage,isExpanded:e.getIsExpanded(),isEmpty:e.original.group.count===0,toggleExpanded:e.getToggleExpandedHandler()}):d.jsxRuntimeExports.jsx(le.EntityNameWidget,{id:e.id,label:e.original.label,name:e.original.name,path:!E&&!L?"/"+e.original.parents?.join("/"):void 0,entityType:e.original.entityType,subType:e.original.subType,isExpandable:D,isExpanded:e.getIsExpanded(),toggleExpandAll:()=>l?.toggleExpandAll?.([e.id]),toggleExpanded:e.getToggleExpandedHandler(),rowHeight:_,columnDisplayConfig:be.getColumnDisplayConfig(l?.columnsConfig,"name")}),g(N)&&d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:b("name",{loading:e.original.isLoading}),columnId:i.id,value:n,valueData:{name:e.original.name,label:e.original.label,meta:l,entityRowId:a,columnId:i.id,hasVersions:!!e.original.hasVersions},entityType:s,attributeData:{type:"name"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:l?.readOnly?.includes(i.id)})]})}}),p("status")&&m.push({id:"status",accessorKey:"status",minSize:I,header:h("status"),sortingFn:v(R((e,i,r)=>V(e,i,r,{enum:S.status,type:"string"}))),sortDescFirst:j.status.sortDescFirst,enableSorting:x("status"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:s}=T(e,i.id),l=r.options.meta;return["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:b("status",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:l?.options?.status.filter(g=>g.scope?.includes(s)),isCollapsed:!!e.original.childOnlyMatch,onChange:g=>l?.updateEntities?.({field:i.id,value:g,type:s,rowId:a},{selection:l?.selection}),isReadOnly:l?.readOnly?.includes(i.id)||G.isEntityRestricted(s),pt:{enum:{pt:{template:{pt:{icon:{style:{fontVariationSettings:"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20"}}}}}}}})}}),p("entityType")&&m.push({id:"entityType",accessorKey:"entityType",header:h("entityType"),minSize:20,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.alphanumeric)),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:s}=T(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType)return null;const l=O.getCellId(e.id,i.id);return d.jsxRuntimeExports.jsxs(H.TableCellContent,{id:l,className:b("entityType",G.READ_ONLY,s,{loading:e.original.isLoading}),tabIndex:0,children:[d.jsxRuntimeExports.jsx($.Icon,{icon:B.getEntityTypeIcon(s)})," ",de.upperFirst(n)]})}}),p("subType")&&m.push({id:"subType",accessorKey:"subType",header:h("subType",t),minSize:I,enableSorting:x("subType"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortDescFirst:j.taskType.sortDescFirst,sortingFn:v(R((e,i,r)=>V(e,i,r,{enum:[...S.folderType,...S.taskType],type:"string"}))),cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:s}=T(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType)return null;const l=s==="folder"?"folderType":"taskType",g=r.options.meta,_=s==="folder"&&e.original.hasVersions;return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:a,className:b("subType",{loading:e.original.isLoading}),columnId:i.id,value:n,attributeData:{type:"string"},options:s==="folder"?g?.options?.folderType:s==="task"?g?.options?.taskType:s==="product"||s==="version"?g?.options?.productType:[],isCollapsed:!!e.original.childOnlyMatch,onChange:N=>g?.updateEntities?.({field:l,value:N,type:s,rowId:e.id},{selection:g?.selection}),isReadOnly:g?.readOnly?.includes(i.id)||g?.readOnly?.includes(l)||_,tooltip:_?"Folder type cannot be edited when versions exist within the folder":void 0,pt:{enum:{pt:{template:{iconOnlyColor:!0}}}}})}}),p("assignees")&&m.push({id:"assignees",accessorKey:"assignees",header:h("assignees"),minSize:I,enableSorting:x("assignees"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(J)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:s,type:l}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:l==="folder"?d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:b("assignees",{loading:e.original.isLoading}),columnId:i.id,value:"",isPlaceholder:!0}):d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:b("assignees",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isCollapsed:!!e.original.childOnlyMatch,onChange:g=>n?.updateEntities?.({field:i.id,value:g,type:l,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||G.isEntityRestricted(l),pt:{enum:{multiSelectClose:a?.length===0,search:!0,multipleOverride:!1}}})}}),p(y.ENTITY_COLUMN_IDS.folder)&&m.push({id:y.ENTITY_COLUMN_IDS.folder,accessorKey:"folder",header:h(y.ENTITY_COLUMN_IDS.folder),minSize:I,sortDescFirst:j.folder_entity.sortDescFirst,sortingFn:v(A),enableSorting:x(y.ENTITY_COLUMN_IDS.folder),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const{value:n,id:a,type:s}=T(e,"folder");return["group",f.NEXT_PAGE_ID].includes(s)||e.original.metaType?null:d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:a,className:"folder",columnId:i.id,value:n,entityId:e.original.folderId,entityType:"folder",subType:e.original.folderType,isLoading:e.original.isLoading})}}),p(y.ENTITY_COLUMN_IDS.task)&&["version","product"].some(e=>t.includes(e))&&m.push({id:y.ENTITY_COLUMN_IDS.task,accessorKey:"taskLabel",header:h(y.ENTITY_COLUMN_IDS.task),minSize:I,enableSorting:x(y.ENTITY_COLUMN_IDS.task),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=T(e,"taskLabel");return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:n,className:"task_entity",columnId:i.id,value:r,entityId:e.original.taskId,entityType:"task",subType:e.original.taskType,isLoading:e.original.isLoading})}}),p("author")&&["version","product"].some(e=>t.includes(e))&&m.push({id:"author",accessorKey:"author",header:h("author"),minSize:I,enableSorting:x("author"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:s,type:l}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:b("author",{loading:e.original.isLoading}),columnId:i.id,value:[a],attributeData:{type:"list_of_strings"},options:n?.options?.assignee,isReadOnly:!0,isInherited:l==="product"})}}),p(y.ENTITY_COLUMN_IDS.version)&&["version","product"].some(e=>t.includes(e))&&m.push({id:y.ENTITY_COLUMN_IDS.version,accessorKey:"versionName",header:h(y.ENTITY_COLUMN_IDS.version),minSize:I,enableSorting:x(y.ENTITY_COLUMN_IDS.version),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=T(e,"versionName");if(["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType)return null;let s=e.original.versionName||r;return e.original.entityType==="product"&&(s=`${e.original.versionName} (${e.original.versionsCount||0} versions)`),d.jsxRuntimeExports.jsx(U.EntityWidget,{rowId:n,className:"version-entity",columnId:i.id,value:s,entityId:e.original.versionEntityId||(a==="version"?e.original.entityId:null),entityType:"version",isLoading:e.original.isLoading})}}),p("version")&&["version","product"].some(e=>t.includes(e))&&m.push({id:"version",accessorKey:"version",header:h("version"),minSize:I,sortDescFirst:j.version.sortDescFirst,enableSorting:x("version"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.basic)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:n,className:b("version",{loading:e.original.isLoading}),columnId:i.id,value:r??"",attributeData:{type:"integer"},isReadOnly:!0})}}),p("product")&&["version","product"].some(e=>t.includes(e))&&m.push({id:"product",accessorKey:"product",header:h("product"),minSize:I,enableSorting:x("product"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(A),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:n,className:b("product",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"string"},isReadOnly:!0})}}),p("tags")&&m.push({id:"tags",accessorKey:"tags",header:h("tags"),minSize:I,enableSorting:x("tags"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(J)),cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:s,type:l}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:b("tags",{loading:e.original.isLoading}),columnId:i.id,value:a,attributeData:{type:"list_of_strings"},options:n?.options?.tag,isCollapsed:!!e.original.childOnlyMatch,onChange:g=>n?.updateEntities?.({field:i.id,value:g,type:l,rowId:e.id},{selection:n?.selection}),isReadOnly:n?.readOnly?.includes(i.id)||G.isEntityRestricted(l),enableCustomValues:!0})}}),p("createdAt")&&m.push({id:"createdAt",accessorKey:"createdAt",header:h("createdAt"),minSize:I,enableSorting:x("createdAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:n,className:b("createdAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),p("updatedAt")&&m.push({id:"updatedAt",accessorKey:"updatedAt",header:h("updatedAt"),minSize:I,enableSorting:x("updatedAt"),enableResizing:!0,enablePinning:!0,enableHiding:!0,sortingFn:v(R(z.sortingFns.datetime)),cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=T(e,i.id);return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:n,className:b("updatedAt",{loading:e.original.isLoading}),columnId:i.id,value:r,attributeData:{type:"datetime"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0,pt:{date:{showTime:!0}}})}}),p("subtasks")&&t.includes("task")&&m.push({id:"subtasks",accessorKey:"subtasks",header:h("subtasks"),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i,table:r})=>{const n=r.options.meta,{value:a,id:s,type:l}=T(e,i.id);if(["group",f.NEXT_PAGE_ID].includes(l)||e.original.metaType)return null;if(l!=="task")return d.jsxRuntimeExports.jsx("div",{className:"readonly"});const g={taskId:f.parseGroupId(e.id)||e.original.entityId||e.original.id,subtasks:a||[]};return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:s,className:b("subtasks",{loading:e.original.isLoading}),columnId:i.id,value:g.subtasks?.map(_=>_.label||_.name)||[],valueData:g,attributeData:{type:"subtasks"},isReadOnly:n?.readOnly?.includes(i.id)})}}),p("comments")&&t.some(e=>["task","version","product","folder"].includes(e))&&m.push({id:"comments",accessorKey:"latestComments",header:h("comments"),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:e,column:i})=>{const{value:r,id:n,type:a}=T(e,"latestComments");return["group",f.NEXT_PAGE_ID].includes(a)||e.original.metaType?null:!e.original.isLoading&&!["task","version","product","folder"].includes(a)?d.jsxRuntimeExports.jsx("div",{className:"readonly"}):d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:n,className:b("comments",{loading:e.original.isLoading}),columnId:i.id,value:"",valueData:r||[],attributeData:{type:"comments"},isCollapsed:!!e.original.childOnlyMatch,isReadOnly:!0})}});const ne=o.filter(e=>{if(e.scope&&!e.scope.some(r=>t.includes(r)))return!1;const i="attrib_"+e.name;return!(!p(i)||e.builtin&&!p("attrib"))}).map(e=>({id:"attrib_"+e.name,accessorKey:"attrib."+e.name,header:e.data.title||e.name,minSize:I,filterFn:"fuzzy",sortingFn:v(R((r,n,a)=>V(r,n,a,e.data))),enableSorting:x(e.name)&&x("attrib"),enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:r,column:n,table:a})=>{const s=a.options.meta,l=n.id.replace("attrib_",""),{value:g,id:_,type:N}=T(r,l,"attrib"),D=!r.original.ownAttrib?.includes(l);return["group",f.NEXT_PAGE_ID].includes(N)||r.original.metaType||!e.scope?.includes(N)&&g==null?null:d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:_,className:b("attrib",{loading:r.original.isLoading}),columnId:n.id,value:g,attributeData:{type:e.data.type||"string",widget:e.data.widget},options:e.data.enum||[],midnightExclusiveFields:r.original.midnightExclusiveFields,isCollapsed:!!r.original.childOnlyMatch,isInherited:D,isReadOnly:e.readOnly||s?.readOnly?.some(k=>k===l||k==="attrib"&&e.builtin),onChange:k=>s?.updateEntities?.({field:l,value:k,type:N,isAttrib:!0,rowId:r.id},{selection:e.data.enum?.length?s?.selection:void 0})})}})),ae=c?u.filter(e=>!(!p(e.linkType)||!p("link")||!t.includes(e.inputType)&&!t.includes(e.outputType))).flatMap(e=>{const i=r=>({id:re(e,r),accessorKey:`links.${X(e,r)}`,header:()=>d.jsxRuntimeExports.jsxs(H.LinkColumnHeader,{children:[ie(e,r)," ",d.jsxRuntimeExports.jsx($.Icon,{icon:B.getEntityTypeIcon(r==="in"?e.inputType:e.outputType)})]}),minSize:I,enableSorting:!1,enableResizing:!0,enablePinning:!0,enableHiding:!0,cell:({row:n,column:a,table:s})=>{const l=a.id.replace("link_",""),{id:g,value:_}=T(n,l,"links"),N=_?.map(se=>se.label),D=n.original.entityId||n.original.id,W=!!s.options.meta?.loadingLinksEntityIds?.has(D),k={links:_,direction:r,entityId:D,entityType:n.original.entityType,link:{label:e.linkType,linkType:e.name,targetEntityType:r==="in"?e.inputType:e.outputType}};return d.jsxRuntimeExports.jsx(C.CellWidget,{rowId:g,className:b("links",{loading:n.original.isLoading}),columnId:a.id,value:N,valueData:k,folderId:n.original.folderId,attributeData:{type:"links"},isLinksLoading:W})}});return[i("in"),i("out")]}):[],M=[...m,...ne,...ae];return Y&&Y.forEach(({column:e,position:i=-1})=>{i>=0&&i<M.length?M.splice(i,0,e):M.push(e)}),M},T=(t,o,u)=>({value:u?t.original[u]?.[o]:t.original[o],id:t.id,type:t.original.entityType});exports.COLUMN_LABELS=q;exports.COLUMN_MIN_SIZE=I;exports.COLUMN_SORT_CONFIG=j;exports.default=Ie;exports.getColumnLabel=h;exports.getColumnSortKey=fe;exports.getLinkColumnId=re;exports.getLinkKey=X;exports.getLinkLabel=ie;exports.getSortableColumnOptions=Te;exports.getValueIdType=T;exports.isColumnSortable=w;exports.isEntityExpandable=Q;
|
|
2
2
|
//# sourceMappingURL=buildTreeTableColumns.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildTreeTableColumns.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport {\n CellWidget,\n MetaWidget,\n EntityNameWidget,\n GroupHeaderWidget,\n ThumbnailWidget,\n} from './widgets'\nimport { getCellId, getCellValue, parseCellId } from './utils/cellUtils'\nimport { LinkColumnHeader, TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { TableGroupBy, useCellEditing, useColumnSettingsContext } from './context'\nimport { ROW_SELECTION_COLUMN_ID } from './constants'\nimport { NEXT_PAGE_ID, parseGroupId } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { AttributeData, LinkTypeModel } from '@shared/api'\nimport { LinkWidgetData } from './widgets/LinksWidget'\nimport { SubtasksWidgetData } from './widgets/SubtasksWidget'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { getEntityTypeIcon } from '@shared/util'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { isEntityRestricted, READ_ONLY } from './utils/restrictedEntity'\nimport { getColumnDisplayConfig } from './types/columnConfig'\nimport { upperFirst } from 'lodash'\n\nexport const isEntityExpandable = (entityType: string) => ['folder', 'product'].includes(entityType)\n\nexport const COLUMN_MIN_SIZE = 50\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst naturalSortCollator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' })\n\nconst withNameTieBreaker = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n const result = sortFn(rowA, rowB, ...args)\n if (result !== 0) return result\n const labelA = rowA.original.label || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n }\n}\n\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.path || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.path || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n}\n\nconst valueLengthSort: SortingFn<any> = (rowA, rowB, columnId) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n const lengthA = Array.isArray(valueA) ? valueA.length : valueA ? String(valueA).length : 0\n const lengthB = Array.isArray(valueB) ? valueB.length : valueB ? String(valueB).length : 0\n return lengthA - lengthB\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport const getLinkLabel = (\n link: Pick<LinkTypeModel, 'linkType'>,\n direction: 'in' | 'out' | string,\n) => `${link.linkType.charAt(0).toUpperCase() + link.linkType.slice(1)} (${direction})`\n\nexport const getLinkKey = (link: Pick<LinkTypeModel, 'name'>, direction: 'in' | 'out' | string) =>\n `${link.name.replaceAll('_', '').replaceAll('-', '').replaceAll('|', '_')}_${direction}`\n\nexport const getLinkColumnId = (\n link: Pick<LinkTypeModel, 'name'>,\n direction: 'in' | 'out' | string,\n) => `link_${getLinkKey(link, direction)}`\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'entityType'\n | 'folder'\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n | 'createdAt'\n | 'updatedAt'\n | 'comments'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n scopes: string[]\n attribs: ProjectTableAttribute[]\n links: LinkTypeModel[]\n includeLinks?: boolean\n showHierarchy: boolean\n isFlatFolderView?: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n excludedSorting?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n nameLabel?: string\n}\n\nconst buildTreeTableColumns = ({\n scopes,\n attribs,\n links = [],\n includeLinks = true,\n showHierarchy,\n isFlatFolderView,\n options,\n excluded,\n excludedSorting,\n extraColumns,\n groupBy,\n nameLabel = 'Entity',\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) => !excluded?.includes(id)\n const canSort = (id: DefaultColumns | string) => !excludedSorting?.includes(id)\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: 'Thumbnail',\n size: 63,\n minSize: 24,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, column, table }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n const meta = table.options.meta\n if (!meta) return null\n const cellId = getCellId(row.id, column.id)\n let thumbnail = {\n entityId: row.original.entityId || row.id,\n entityType: row.original.entityType,\n thumbnailHash: row.original.thumbnailHash,\n }\n // check for thumbnail override\n if (row.original.thumbnail) {\n thumbnail = row.original.thumbnail\n }\n return (\n <ThumbnailWidget\n id={cellId}\n entityId={thumbnail.entityId}\n entityType={thumbnail.entityType}\n thumbnailHash={thumbnail.thumbnailHash}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n isPlayable={row.original.hasReviewables}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: nameLabel,\n minSize: COLUMN_MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: groupBy && groupBy.id !== 'folder' ? false : canSort('name'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: !(groupBy && groupBy.id !== 'folder'),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n const { isEditing } = useCellEditing()\n const { rowHeight = 40 } = useColumnSettingsContext()\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.metaType) {\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', 'readonly', row.original.entityType)}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n pointerEvents: 'none',\n }}\n tabIndex={0}\n >\n <MetaWidget metaType={row.original.metaType} label={row.original.label} />\n </TableCellContent>\n )\n }\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreRows?.(id)}\n />\n )\n }\n\n const isExpandable =\n row.getCanExpand() &&\n !!row.originalSubRows &&\n (isEntityExpandable(row.original.entityType) || !!row.original.group)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + ${\n isExpandable || !row.getCanExpand() ? 0 : 32\n }px + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n percentage={row.original.group.percentage}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.original.group.count === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={\n !showHierarchy && !isFlatFolderView\n ? '/' + row.original.parents?.join('/')\n : undefined\n }\n entityType={row.original.entityType}\n subType={row.original.subType}\n isExpandable={isExpandable}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n rowHeight={rowHeight}\n columnDisplayConfig={getColumnDisplayConfig(meta?.columnsConfig, 'name')}\n />\n )}\n {isEditing(cellId) && (\n <CellWidget\n rowId={id}\n className={clsx('name', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n valueData={\n {\n name: row.original.name,\n label: row.original.label,\n meta,\n entityRowId: id,\n columnId: column.id,\n hasVersions: !!row.original.hasVersions,\n } as NameWidgetData\n }\n entityType={type}\n attributeData={{ type: 'name' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: COLUMN_MIN_SIZE,\n header: 'Status',\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n ),\n sortDescFirst: true,\n enableSorting: canSort('status'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n pt: {\n template: {\n pt: {\n icon: {\n style: {\n fontVariationSettings: \"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20\",\n },\n },\n },\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('entityType')) {\n staticColumns.push({\n id: 'entityType',\n accessorKey: 'entityType',\n header: 'Entity Type',\n minSize: 20,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.alphanumeric)),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const cellId = getCellId(row.id, column.id)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('entityType', READ_ONLY, type, { loading: row.original.isLoading })}\n tabIndex={0}\n >\n <Icon icon={getEntityTypeIcon(type)} /> {upperFirst(value)}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: scopes.includes('product') || scopes.includes('version') ? 'Product type' : 'Type',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('subType'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, {\n enum: [...options.folderType, ...options.taskType],\n type: 'string',\n }),\n ),\n ),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n const folderHasVersions = type === 'folder' && row.original.hasVersions\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : type === 'product' || type === 'version'\n ? meta?.options?.productType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: fieldId, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={\n meta?.readOnly?.includes(column.id) ||\n meta?.readOnly?.includes(fieldId) ||\n folderHasVersions\n }\n tooltip={\n folderHasVersions\n ? 'Folder type cannot be edited when versions exist within the folder'\n : undefined\n }\n pt={{\n enum: {\n pt: {\n template: {\n iconOnlyColor: true,\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: 'Assignees',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('assignees'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('folder')) {\n staticColumns.push({\n id: 'folder',\n accessorKey: 'folder',\n header: 'Folder name',\n minSize: COLUMN_MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: canSort('folderName'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('folder', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n // only show authors column for products\n if (isIncluded('author') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'author',\n accessorKey: 'author',\n header: 'Author',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('author'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('author', { loading: row.original.isLoading })}\n columnId={column.id}\n value={[value]}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isReadOnly={true}\n isInherited={type === 'product'} // products do not have authors, we just show the featured version's author\n />\n )\n },\n })\n }\n\n // version column for versions\n if (isIncluded('version') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'version',\n accessorKey: 'version',\n header: 'Version',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('version'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n let versionValue = row.original.versionName || value\n if (row.original.entityType === 'product') {\n // show summary of versions for products\n versionValue = `${row.original.versionName} (${row.original.versionsCount || 0} versions)`\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('version', { loading: row.original.isLoading })}\n columnId={column.id}\n value={versionValue}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n // product name column for versions and products\n if (isIncluded('product') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'product',\n accessorKey: 'product',\n header: 'Product name',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('product'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('product', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: 'Tags',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('tags'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n if (isIncluded('createdAt')) {\n staticColumns.push({\n id: 'createdAt',\n accessorKey: 'createdAt',\n header: 'Created at',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('createdAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('createdAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('updatedAt')) {\n staticColumns.push({\n id: 'updatedAt',\n accessorKey: 'updatedAt',\n header: 'Updated at',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('updatedAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('updatedAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('subtasks') && scopes.includes('task')) {\n staticColumns.push({\n id: 'subtasks',\n accessorKey: 'subtasks',\n header: 'Subtasks',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // only show for tasks\n if (type !== 'task') return <div className=\"readonly\"></div>\n\n const subtasksData: SubtasksWidgetData = {\n taskId: parseGroupId(row.id) || row.original.entityId || row.original.id,\n subtasks: value || [],\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('subtasks', { loading: row.original.isLoading })}\n columnId={column.id}\n value={subtasksData.subtasks?.map((s: any) => s.label || s.name) || []}\n valueData={subtasksData}\n attributeData={{ type: 'subtasks' }}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (\n isIncluded('comments') &&\n scopes.some((s) => ['task', 'version', 'product', 'folder'].includes(s))\n ) {\n staticColumns.push({\n id: 'comments',\n accessorKey: 'latestComments',\n header: 'Latest comments',\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, 'latestComments')\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // loading placeholder rows have no entityType yet — let them through so the skeleton shows\n // products borrow their featured version's comments; folders only have data on GQL-fed pages (Lists)\n if (!row.original.isLoading && !['task', 'version', 'product', 'folder'].includes(type))\n return <div className=\"readonly\"></div>\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('comments', { loading: row.original.isLoading })}\n columnId={column.id}\n value={''}\n valueData={value || []}\n attributeData={{ type: 'comments' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n // filter out attributes that are out of scope\n if (attrib.scope && !attrib.scope.some((s) => scopes.includes(s))) return false\n\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (!isIncluded(columnId)) return false\n if (attrib.builtin && !isIncluded('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: COLUMN_MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) => attribSort(a, b, c, attrib.data)),\n ),\n enableSorting: canSort(attrib.name) && canSort('attrib'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const outOfScopeAndNoValue =\n !attrib.scope?.includes(type as (typeof attrib.scope)[number]) &&\n (value === null || value === undefined)\n\n // if the attribute is not in scope, we should nothing\n if (outOfScopeAndNoValue) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string', widget: attrib.data.widget }}\n options={attrib.data.enum || []}\n midnightExclusiveFields={row.original.midnightExclusiveFields}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited}\n isReadOnly={\n // check attrib is not read only\n attrib.readOnly ||\n // check if there is any other reason the cell should be read only\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: columnIdParsed, value, type, isAttrib: true, rowId: row.id },\n { selection: !!attrib.data.enum?.length ? meta?.selection : undefined },\n )\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const linkColumns: ColumnDef<TableRow>[] = !includeLinks\n ? []\n : links\n .filter((link) => {\n // Check if the link type is excluded\n if (!isIncluded(link.linkType) || !isIncluded('link')) return false\n // Check if inputType and outputType are in scopes\n if (!scopes.includes(link.inputType) && !scopes.includes(link.outputType)) return false\n return true\n })\n .flatMap((link) => {\n const createLinkColumn = (direction: 'in' | 'out'): ColumnDef<TableRow> => {\n return {\n id: getLinkColumnId(link, direction),\n accessorKey: `links.${getLinkKey(link, direction)}`,\n header: () => (\n <LinkColumnHeader>\n {getLinkLabel(link, direction)}{' '}\n <Icon\n icon={getEntityTypeIcon(direction === 'in' ? link.inputType : link.outputType)}\n />\n </LinkColumnHeader>\n ),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const columnIdParsed = column.id.replace('link_', '')\n\n const { id, value } = getValueIdType(row, columnIdParsed, 'links')\n const cellValue = value?.map((v: any) => v.label)\n const entityId = row.original.entityId || row.original.id\n const isLinksLoading = !!table.options.meta?.loadingLinksEntityIds?.has(entityId)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: entityId,\n entityType: row.original.entityType,\n link: {\n label: link.linkType,\n linkType: link.name,\n targetEntityType: direction === 'in' ? link.inputType : link.outputType,\n },\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('links', { loading: row.original.isLoading })}\n columnId={column.id}\n value={cellValue}\n valueData={valueData}\n folderId={row.original.folderId}\n attributeData={{ type: 'links' }}\n isLinksLoading={isLinksLoading}\n />\n )\n },\n }\n }\n\n return [createLinkColumn('in'), createLinkColumn('out')]\n })\n\n const allColumns = [...staticColumns, ...attributeColumns, ...linkColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["isEntityExpandable","entityType","COLUMN_MIN_SIZE","withLoadingStateSort","sortFn","rowA","rowB","args","naturalSortCollator","withNameTieBreaker","result","labelA","labelB","pathSort","valueLengthSort","columnId","valueA","getCellValue","valueB","lengthA","lengthB","attribSort","attrib","indexA","o","indexB","sortingFns","getLinkLabel","link","direction","getLinkKey","getLinkColumnId","buildTreeTableColumns","scopes","attribs","links","includeLinks","showHierarchy","isFlatFolderView","options","excluded","excludedSorting","extraColumns","groupBy","nameLabel","staticColumns","isIncluded","id","canSort","ROW_SELECTION_COLUMN_ID","jsx","RowSelectionHeader","row","SelectionCell","column","table","meta","cellId","getCellId","thumbnail","ThumbnailWidget","clsx","value","type","getValueIdType","isEditing","useCellEditing","rowHeight","useColumnSettingsContext","TableCellContent","MetaWidget","NEXT_PAGE_ID","LoadMoreWidget","isExpandable","jsxs","GroupHeaderWidget","EntityNameWidget","getColumnDisplayConfig","CellWidget","a","b","c","s","isEntityRestricted","READ_ONLY","Icon","getEntityTypeIcon","upperFirst","fieldId","folderHasVersions","versionValue","subtasksData","parseGroupId","attributeColumns","columnIdParsed","isInherited","linkColumns","createLinkColumn","LinkColumnHeader","cellValue","v","entityId","isLinksLoading","valueData","allColumns","position","field","nestedField"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildTreeTableColumns.cjs.js","sources":["../../../../../src/containers/ProjectTreeTable/buildTreeTableColumns.tsx"],"sourcesContent":["import { ColumnDef, FilterFnOption, Row, SortingFn, sortingFns } from '@tanstack/react-table'\nimport { TableRow } from './types/table'\nimport { ProjectTableAttribute, BuiltInFieldOptions } from './types'\nimport {\n CellWidget,\n EntityWidget,\n MetaWidget,\n EntityNameWidget,\n GroupHeaderWidget,\n ThumbnailWidget,\n} from './widgets'\nimport { getCellId, getCellValue, parseCellId } from './utils/cellUtils'\nimport { LinkColumnHeader, TableCellContent } from './ProjectTreeTable.styled'\nimport clsx from 'clsx'\nimport { SelectionCell } from './components/SelectionCell'\nimport RowSelectionHeader from './components/RowSelectionHeader'\nimport { TableGroupBy, useCellEditing, useColumnSettingsContext } from './context'\nimport { ROW_SELECTION_COLUMN_ID } from './constants'\nimport { NEXT_PAGE_ID, parseGroupId } from './hooks/useBuildGroupByTableData'\nimport LoadMoreWidget from './widgets/LoadMoreWidget'\nimport { AttributeData, LinkTypeModel } from '@shared/api'\nimport { LinkWidgetData } from './widgets/LinksWidget'\nimport { SubtasksWidgetData } from './widgets/SubtasksWidget'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { getEntityTypeIcon } from '@shared/util'\nimport { NameWidgetData } from '@shared/components/RenameForm'\nimport { isEntityRestricted, READ_ONLY } from './utils/restrictedEntity'\nimport { getColumnDisplayConfig } from './types/columnConfig'\nimport { ENTITY_COLUMN_IDS, normalizeColumnId } from './utils/columnIds'\nimport { upperFirst } from 'lodash'\n\nexport const isEntityExpandable = (entityType: string) => ['folder', 'product'].includes(entityType)\n\nexport const COLUMN_MIN_SIZE = 50\n\nexport const COLUMN_LABELS: Record<string, string> = {\n thumbnail: 'Thumbnail',\n status: 'Status',\n entityType: 'Entity type',\n subType: 'Type',\n assignees: 'Assignees',\n folder_entity: 'Folder',\n task_entity: 'Task',\n author: 'Author',\n version: 'Version number',\n version_entity: 'Version',\n product: 'Product name',\n productBaseType: 'Base type',\n taskType: 'Task type',\n folderType: 'Folder type',\n tags: 'Tags',\n createdAt: 'Created at',\n updatedAt: 'Updated at',\n subtasks: 'Subtasks',\n comments: 'Latest comments',\n}\n\nexport const getColumnLabel = (columnId: string, scopes: string[] = []) => {\n if (columnId === 'subType' && scopes.some((scope) => ['product', 'version'].includes(scope))) {\n return 'Product type'\n }\n return COLUMN_LABELS[normalizeColumnId(columnId)] || columnId\n}\n\ntype ColumnSortConfig = {\n sortKey?: string\n sortDescFirst?: boolean\n enabled: boolean\n label: string\n scopes?: string[]\n}\n\n// TanStack column IDs are also used by the UI state. Keep API sort keys here\n// so a column can use a different identifier without leaking that detail into\n// the table state.\nexport const COLUMN_SORT_CONFIG: Record<string, ColumnSortConfig> = {\n thumbnail: { enabled: false, label: COLUMN_LABELS.thumbnail },\n name: { sortKey: 'name', enabled: true, label: 'Name' },\n entityType: { enabled: false, label: COLUMN_LABELS.entityType },\n status: { sortKey: 'status', sortDescFirst: false, enabled: true, label: COLUMN_LABELS.status },\n subType: {\n sortKey: 'taskType',\n sortDescFirst: true,\n enabled: true,\n label: COLUMN_LABELS.subType,\n },\n assignees: {\n sortKey: 'assignees',\n enabled: true,\n label: COLUMN_LABELS.assignees,\n scopes: ['task'],\n },\n folder_entity: {\n sortKey: 'folderName',\n sortDescFirst: false,\n enabled: true,\n label: COLUMN_LABELS.folder_entity,\n },\n task_entity: {\n sortKey: 'taskName',\n enabled: false,\n label: COLUMN_LABELS.task_entity,\n scopes: ['version', 'product'],\n },\n author: {\n sortKey: 'author',\n enabled: true,\n label: COLUMN_LABELS.author,\n scopes: ['version', 'product'],\n },\n version: {\n sortKey: 'version',\n sortDescFirst: true,\n enabled: true,\n label: COLUMN_LABELS.version,\n scopes: ['version', 'product'],\n },\n version_entity: {\n sortKey: 'version',\n enabled: true,\n label: COLUMN_LABELS.version_entity,\n scopes: ['version', 'product'],\n },\n product: {\n sortKey: 'product',\n enabled: true,\n label: COLUMN_LABELS.product,\n scopes: ['version', 'product'],\n },\n productBaseType: {\n sortKey: 'productBaseType',\n enabled: true,\n label: COLUMN_LABELS.productBaseType,\n scopes: ['version', 'product'],\n },\n taskType: {\n sortKey: 'taskType',\n sortDescFirst: true,\n enabled: true,\n label: COLUMN_LABELS.taskType,\n scopes: ['version', 'product'],\n },\n folderType: {\n sortKey: 'folderType',\n enabled: true,\n label: COLUMN_LABELS.folderType,\n scopes: ['version', 'product'],\n },\n tags: { sortKey: 'tags', enabled: true, label: COLUMN_LABELS.tags },\n createdAt: { sortKey: 'createdAt', enabled: true, label: COLUMN_LABELS.createdAt },\n updatedAt: { sortKey: 'updatedAt', enabled: true, label: COLUMN_LABELS.updatedAt },\n subtasks: { enabled: false, label: COLUMN_LABELS.subtasks },\n comments: { enabled: false, label: COLUMN_LABELS.comments },\n}\n\ntype SortColumnLabel = { value: string; label: string }\n\nexport const getSortableColumnOptions = (scopes?: string[], columns: SortColumnLabel[] = []) =>\n Object.entries(COLUMN_SORT_CONFIG)\n .filter(\n ([, config]) =>\n config.enabled &&\n (!config.scopes || !scopes || config.scopes.some((scope) => scopes.includes(scope))),\n )\n .map(([id, config]) => ({\n id,\n label:\n columns.find((column) => normalizeColumnId(column.value) === id)?.label ||\n getColumnLabel(id, scopes),\n }))\n\nexport const isColumnSortable = (columnId: string) =>\n COLUMN_SORT_CONFIG[normalizeColumnId(columnId)]?.enabled ?? !columnId.startsWith('link_')\n\nexport const getColumnSortKey = (columnId?: string, showHierarchy = true) => {\n if (!columnId) return undefined\n const normalizedColumnId = normalizeColumnId(columnId)\n if (normalizedColumnId === 'name' && !showHierarchy) return 'path'\n return COLUMN_SORT_CONFIG[normalizedColumnId]?.sortKey ?? normalizedColumnId\n}\n\n// Wrapper function for sorting that pushes isLoading rows to the bottom\nconst withLoadingStateSort = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n // If row loading states differ, prioritize non-loading rows\n if (rowA.original.isLoading !== rowB.original.isLoading) {\n return rowA.original.isLoading ? 1 : -1\n }\n // Otherwise, use the original sort function\n return sortFn(rowA, rowB, ...args)\n }\n}\n\nconst naturalSortCollator = new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' })\n\nconst withNameTieBreaker = (sortFn: SortingFn<any>): SortingFn<any> => {\n return (rowA, rowB, ...args) => {\n const result = sortFn(rowA, rowB, ...args)\n if (result !== 0) return result\n const labelA = rowA.original.label || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n }\n}\n\nconst pathSort: SortingFn<any> = (rowA, rowB) => {\n const labelA = rowA.original.label || rowA.original.path || rowA.original.name || ''\n const labelB = rowB.original.label || rowB.original.path || rowB.original.name || ''\n return naturalSortCollator.compare(labelA, labelB)\n}\n\nconst valueLengthSort: SortingFn<any> = (rowA, rowB, columnId) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n const lengthA = Array.isArray(valueA) ? valueA.length : valueA ? String(valueA).length : 0\n const lengthB = Array.isArray(valueB) ? valueB.length : valueB ? String(valueB).length : 0\n return lengthA - lengthB\n}\n\ntype AttribSortingFn = (rowA: any, rowB: any, columnId: string, attribute?: AttributeData) => number\n// sort by the order of the enum options\nconst attribSort: AttribSortingFn = (rowA, rowB, columnId, attrib) => {\n const valueA = getCellValue(rowA.original, columnId)\n const valueB = getCellValue(rowB.original, columnId)\n // if attrib is defined and has enum options, use them\n if (attrib && attrib.enum) {\n const indexA = attrib.enum.findIndex((o) => o.value === valueA)\n const indexB = attrib.enum.findIndex((o) => o.value === valueB)\n return indexA - indexB\n } else if (attrib?.type === 'datetime') {\n return sortingFns.datetime(rowA, rowB, columnId)\n } else if (attrib?.type === 'boolean') {\n const boolA = valueA === true ? 1 : 0\n const boolB = valueB === true ? 1 : 0\n return boolA - boolB\n } else {\n return sortingFns.alphanumeric(rowA, rowB, columnId)\n }\n}\n\nexport const getLinkLabel = (\n link: Pick<LinkTypeModel, 'linkType'>,\n direction: 'in' | 'out' | string,\n) => `${link.linkType.charAt(0).toUpperCase() + link.linkType.slice(1)} (${direction})`\n\nexport const getLinkKey = (link: Pick<LinkTypeModel, 'name'>, direction: 'in' | 'out' | string) =>\n `${link.name.replaceAll('_', '').replaceAll('-', '').replaceAll('|', '_')}_${direction}`\n\nexport const getLinkColumnId = (\n link: Pick<LinkTypeModel, 'name'>,\n direction: 'in' | 'out' | string,\n) => `link_${getLinkKey(link, direction)}`\n\nexport type DefaultColumns =\n | typeof ROW_SELECTION_COLUMN_ID\n | 'thumbnail'\n | 'name'\n | 'entityType'\n | typeof ENTITY_COLUMN_IDS.folder\n | 'status'\n | 'subType'\n | 'assignees'\n | 'tags'\n | 'createdAt'\n | 'updatedAt'\n | 'comments'\n\nexport type TreeTableExtraColumn = { column: ColumnDef<TableRow>; position?: number }\n\nexport type BuildTreeTableColumnsProps = {\n scopes: string[]\n attribs: ProjectTableAttribute[]\n links: LinkTypeModel[]\n includeLinks?: boolean\n showHierarchy: boolean\n isFlatFolderView?: boolean\n options: BuiltInFieldOptions\n excluded?: (DefaultColumns | string)[]\n excludedSorting?: (DefaultColumns | string)[]\n extraColumns?: TreeTableExtraColumn[]\n groupBy?: TableGroupBy\n nameLabel?: string\n}\n\nconst buildTreeTableColumns = ({\n scopes,\n attribs,\n links = [],\n includeLinks = true,\n showHierarchy,\n isFlatFolderView,\n options,\n excluded,\n excludedSorting,\n extraColumns,\n groupBy,\n nameLabel = 'Entity',\n}: BuildTreeTableColumnsProps) => {\n const staticColumns: ColumnDef<TableRow>[] = []\n\n // Helper to check if a column should be included\n const isIncluded = (id: DefaultColumns | string) =>\n !excluded?.some((excludedId) => normalizeColumnId(excludedId) === normalizeColumnId(id))\n const canSort = (id: DefaultColumns | string) =>\n isColumnSortable(id) &&\n !excludedSorting?.some((excludedId) => normalizeColumnId(excludedId) === normalizeColumnId(id))\n\n // Conditionally add static columns\n if (isIncluded(ROW_SELECTION_COLUMN_ID)) {\n staticColumns.push({\n id: ROW_SELECTION_COLUMN_ID,\n enableResizing: false,\n enableSorting: false,\n enablePinning: false,\n enableHiding: false,\n\n header: () => <RowSelectionHeader />,\n cell: ({ row }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n return <SelectionCell />\n },\n size: 20,\n })\n }\n\n if (isIncluded('thumbnail')) {\n staticColumns.push({\n id: 'thumbnail',\n header: getColumnLabel('thumbnail'),\n size: 63,\n minSize: 24,\n enableResizing: true,\n enableSorting: false,\n cell: ({ row, column, table }) => {\n if (row.original.entityType === 'group' || row.original.metaType) return null\n const meta = table.options.meta\n if (!meta) return null\n const cellId = getCellId(row.id, column.id)\n let thumbnail = {\n entityId: row.original.entityId || row.id,\n entityType: row.original.entityType,\n thumbnailHash: row.original.thumbnailHash,\n }\n // check for thumbnail override\n if (row.original.thumbnail) {\n // @ts-expect-error\n thumbnail = row.original.thumbnail\n }\n return (\n <ThumbnailWidget\n id={cellId}\n entityId={thumbnail.entityId}\n entityType={thumbnail.entityType}\n thumbnailHash={thumbnail.thumbnailHash}\n icon={row.original.icon}\n projectName={meta?.projectName as string}\n className={clsx('thumbnail', {\n loading: row.original.isLoading,\n })}\n isPlayable={row.original.hasReviewables}\n />\n )\n },\n })\n }\n\n if (isIncluded('name')) {\n staticColumns.push({\n id: 'name',\n accessorKey: 'name',\n header: nameLabel,\n minSize: COLUMN_MIN_SIZE,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: groupBy && groupBy.id !== 'folder' ? false : canSort('name'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: !(groupBy && groupBy.id !== 'folder'),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n const { isEditing } = useCellEditing()\n const { rowHeight = 40 } = useColumnSettingsContext()\n const cellId = getCellId(row.id, column.id)\n\n if (row.original.metaType) {\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', 'readonly', row.original.entityType)}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + 8px)`,\n pointerEvents: 'none',\n }}\n tabIndex={0}\n >\n <MetaWidget metaType={row.original.metaType} label={row.original.label} />\n </TableCellContent>\n )\n }\n\n if (row.original.entityType === NEXT_PAGE_ID && row.original.group) {\n return (\n <LoadMoreWidget\n id={row.original.group.value}\n onLoadMore={(id) => meta?.loadMoreRows?.(id)}\n />\n )\n }\n\n const isExpandable =\n row.getCanExpand() &&\n !!row.originalSubRows &&\n (isEntityExpandable(row.original.entityType) || !!row.original.group)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('large', row.original.entityType, {\n loading: row.original.isLoading,\n hierarchy: showHierarchy,\n })}\n style={{\n paddingLeft: `calc(${row.depth * 1}rem + ${\n isExpandable || !row.getCanExpand() ? 0 : 32\n }px + 8px)`,\n }}\n tabIndex={0}\n >\n {row.original.group ? (\n <GroupHeaderWidget\n id={row.id}\n label={row.original.group.label}\n name={row.original.name}\n icon={row.original.group.icon}\n img={row.original.group.img}\n color={row.original.group.color}\n count={row.original.group.count}\n percentage={row.original.group.percentage}\n isExpanded={row.getIsExpanded()}\n isEmpty={row.original.group.count === 0}\n toggleExpanded={row.getToggleExpandedHandler()}\n />\n ) : (\n <EntityNameWidget\n id={row.id}\n label={row.original.label}\n name={row.original.name}\n path={\n !showHierarchy && !isFlatFolderView\n ? '/' + row.original.parents?.join('/')\n : undefined\n }\n entityType={row.original.entityType}\n subType={row.original.subType}\n isExpandable={isExpandable}\n isExpanded={row.getIsExpanded()}\n toggleExpandAll={() => meta?.toggleExpandAll?.([row.id])}\n toggleExpanded={row.getToggleExpandedHandler()}\n rowHeight={rowHeight}\n columnDisplayConfig={getColumnDisplayConfig(meta?.columnsConfig, 'name')}\n />\n )}\n {isEditing(cellId) && (\n <CellWidget\n rowId={id}\n className={clsx('name', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n valueData={\n {\n name: row.original.name,\n label: row.original.label,\n meta,\n entityRowId: id,\n columnId: column.id,\n hasVersions: !!row.original.hasVersions,\n } as NameWidgetData\n }\n entityType={type}\n attributeData={{ type: 'name' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('status')) {\n staticColumns.push({\n id: 'status',\n accessorKey: 'status',\n minSize: COLUMN_MIN_SIZE,\n header: getColumnLabel('status'),\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, { enum: options.status, type: 'string' }),\n ),\n ),\n sortDescFirst: COLUMN_SORT_CONFIG.status.sortDescFirst,\n enableSorting: canSort('status'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n const meta = table.options.meta\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('status', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={meta?.options?.status.filter((s) => s.scope?.includes(type))}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n pt: {\n template: {\n pt: {\n icon: {\n style: {\n fontVariationSettings: \"'FILL' 1, 'wght' 200, 'GRAD' 200, 'opsz' 20\",\n },\n },\n },\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('entityType')) {\n staticColumns.push({\n id: 'entityType',\n accessorKey: 'entityType',\n header: getColumnLabel('entityType'),\n minSize: 20,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.alphanumeric)),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const cellId = getCellId(row.id, column.id)\n\n return (\n <TableCellContent\n id={cellId}\n className={clsx('entityType', READ_ONLY, type, { loading: row.original.isLoading })}\n tabIndex={0}\n >\n <Icon icon={getEntityTypeIcon(type)} /> {upperFirst(value)}\n </TableCellContent>\n )\n },\n })\n }\n\n if (isIncluded('subType')) {\n staticColumns.push({\n id: 'subType',\n accessorKey: 'subType',\n header: getColumnLabel('subType', scopes),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('subType'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortDescFirst: COLUMN_SORT_CONFIG.taskType.sortDescFirst,\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) =>\n attribSort(a, b, c, {\n enum: [...options.folderType, ...options.taskType],\n type: 'string',\n }),\n ),\n ),\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const fieldId = type === 'folder' ? 'folderType' : 'taskType'\n const meta = table.options.meta\n const folderHasVersions = type === 'folder' && row.original.hasVersions\n return (\n <CellWidget\n rowId={id}\n className={clsx('subType', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n options={\n type === 'folder'\n ? meta?.options?.folderType\n : type === 'task'\n ? meta?.options?.taskType\n : type === 'product' || type === 'version'\n ? meta?.options?.productType\n : []\n }\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: fieldId, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={\n meta?.readOnly?.includes(column.id) ||\n meta?.readOnly?.includes(fieldId) ||\n folderHasVersions\n }\n tooltip={\n folderHasVersions\n ? 'Folder type cannot be edited when versions exist within the folder'\n : undefined\n }\n pt={{\n enum: {\n pt: {\n template: {\n iconOnlyColor: true,\n },\n },\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded('assignees')) {\n staticColumns.push({\n id: 'assignees',\n accessorKey: 'assignees',\n header: getColumnLabel('assignees'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('assignees'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n if (type === 'folder')\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value=\"\"\n isPlaceholder\n />\n )\n return (\n <CellWidget\n rowId={id}\n className={clsx('assignees', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n pt={{\n enum: {\n multiSelectClose: value?.length === 0, // close the dropdown on first assignment\n search: true, // enable search at all times\n multipleOverride: false,\n },\n }}\n />\n )\n },\n })\n }\n\n if (isIncluded(ENTITY_COLUMN_IDS.folder)) {\n staticColumns.push({\n id: ENTITY_COLUMN_IDS.folder,\n accessorKey: 'folder',\n header: getColumnLabel(ENTITY_COLUMN_IDS.folder),\n minSize: COLUMN_MIN_SIZE,\n sortDescFirst: COLUMN_SORT_CONFIG.folder_entity.sortDescFirst,\n sortingFn: withLoadingStateSort(pathSort),\n enableSorting: canSort(ENTITY_COLUMN_IDS.folder),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const { value, id, type } = getValueIdType(row, 'folder')\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <EntityWidget\n rowId={id}\n className=\"folder\"\n columnId={column.id}\n value={value}\n entityId={row.original.folderId}\n entityType=\"folder\"\n subType={row.original.folderType}\n isLoading={row.original.isLoading}\n />\n )\n },\n })\n }\n\n // related task entity column for versions and products\n if (\n isIncluded(ENTITY_COLUMN_IDS.task) &&\n ['version', 'product'].some((s) => scopes.includes(s))\n ) {\n staticColumns.push({\n id: ENTITY_COLUMN_IDS.task,\n accessorKey: 'taskLabel',\n header: getColumnLabel(ENTITY_COLUMN_IDS.task),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort(ENTITY_COLUMN_IDS.task),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, 'taskLabel')\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <EntityWidget\n rowId={id}\n className=\"task_entity\"\n columnId={column.id}\n value={value}\n entityId={row.original.taskId}\n entityType=\"task\"\n subType={row.original.taskType}\n isLoading={row.original.isLoading}\n />\n )\n },\n })\n }\n\n // only show authors column for products\n if (isIncluded('author') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'author',\n accessorKey: 'author',\n header: getColumnLabel('author'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('author'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('author', { loading: row.original.isLoading })}\n columnId={column.id}\n value={[value]}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.assignee}\n isReadOnly={true}\n isInherited={type === 'product'} // products do not have authors, we just show the featured version's author\n />\n )\n },\n })\n }\n\n // version entity column for versions and products\n if (\n isIncluded(ENTITY_COLUMN_IDS.version) &&\n ['version', 'product'].some((s) => scopes.includes(s))\n ) {\n staticColumns.push({\n id: ENTITY_COLUMN_IDS.version,\n accessorKey: 'versionName',\n header: getColumnLabel(ENTITY_COLUMN_IDS.version),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort(ENTITY_COLUMN_IDS.version),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, 'versionName')\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n let versionValue = row.original.versionName || value\n if (row.original.entityType === 'product') {\n // show summary of versions for products\n versionValue = `${row.original.versionName} (${row.original.versionsCount || 0} versions)`\n }\n\n return (\n <EntityWidget\n rowId={id}\n className=\"version-entity\"\n columnId={column.id}\n value={versionValue}\n entityId={\n row.original.versionEntityId || (type === 'version' ? row.original.entityId : null)\n }\n entityType=\"version\"\n isLoading={row.original.isLoading}\n />\n )\n },\n })\n }\n\n // version number column for versions and products\n if (isIncluded('version') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'version',\n accessorKey: 'version',\n header: getColumnLabel('version'),\n minSize: COLUMN_MIN_SIZE,\n sortDescFirst: COLUMN_SORT_CONFIG.version.sortDescFirst,\n enableSorting: canSort('version'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.basic)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('version', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value ?? ''}\n attributeData={{ type: 'integer' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n // product name column for versions and products\n if (isIncluded('product') && ['version', 'product'].some((s) => scopes.includes(s))) {\n staticColumns.push({\n id: 'product',\n accessorKey: 'product',\n header: getColumnLabel('product'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('product'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(pathSort),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('product', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'string' }}\n isReadOnly={true}\n />\n )\n },\n })\n }\n\n if (isIncluded('tags')) {\n staticColumns.push({\n id: 'tags',\n accessorKey: 'tags',\n header: getColumnLabel('tags'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('tags'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(valueLengthSort)),\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('tags', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'list_of_strings' }}\n options={meta?.options?.tag}\n isCollapsed={!!row.original.childOnlyMatch}\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: column.id, value, type, rowId: row.id },\n { selection: meta?.selection },\n )\n }\n isReadOnly={meta?.readOnly?.includes(column.id) || isEntityRestricted(type)}\n enableCustomValues\n />\n )\n },\n })\n }\n\n if (isIncluded('createdAt')) {\n staticColumns.push({\n id: 'createdAt',\n accessorKey: 'createdAt',\n header: getColumnLabel('createdAt'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('createdAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('createdAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('updatedAt')) {\n staticColumns.push({\n id: 'updatedAt',\n accessorKey: 'updatedAt',\n header: getColumnLabel('updatedAt'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: canSort('updatedAt'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n sortingFn: withLoadingStateSort(withNameTieBreaker(sortingFns.datetime)),\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n return (\n <CellWidget\n rowId={id}\n className={clsx('updatedAt', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: 'datetime' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly={true}\n pt={{ date: { showTime: true } }}\n />\n )\n },\n })\n }\n\n if (isIncluded('subtasks') && scopes.includes('task')) {\n staticColumns.push({\n id: 'subtasks',\n accessorKey: 'subtasks',\n header: getColumnLabel('subtasks'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const { value, id, type } = getValueIdType(row, column.id)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // only show for tasks\n if (type !== 'task') return <div className=\"readonly\"></div>\n\n const subtasksData: SubtasksWidgetData = {\n taskId: parseGroupId(row.id) || row.original.entityId || row.original.id,\n subtasks: value || [],\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('subtasks', { loading: row.original.isLoading })}\n columnId={column.id}\n value={subtasksData.subtasks?.map((s: any) => s.label || s.name) || []}\n valueData={subtasksData}\n attributeData={{ type: 'subtasks' }}\n isReadOnly={meta?.readOnly?.includes(column.id)}\n />\n )\n },\n })\n }\n\n if (\n isIncluded('comments') &&\n scopes.some((s) => ['task', 'version', 'product', 'folder'].includes(s))\n ) {\n staticColumns.push({\n id: 'comments',\n accessorKey: 'latestComments',\n header: getColumnLabel('comments'),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column }) => {\n const { value, id, type } = getValueIdType(row, 'latestComments')\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n\n // loading placeholder rows have no entityType yet — let them through so the skeleton shows\n // products borrow their featured version's comments; folders only have data on GQL-fed pages (Lists)\n if (!row.original.isLoading && !['task', 'version', 'product', 'folder'].includes(type))\n return <div className=\"readonly\"></div>\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('comments', { loading: row.original.isLoading })}\n columnId={column.id}\n value={''}\n valueData={value || []}\n attributeData={{ type: 'comments' }}\n isCollapsed={!!row.original.childOnlyMatch}\n isReadOnly\n />\n )\n },\n })\n }\n\n const attributeColumns: ColumnDef<TableRow>[] = attribs\n .filter((attrib) => {\n // filter out attributes that are out of scope\n if (attrib.scope && !attrib.scope.some((s) => scopes.includes(s))) return false\n\n const columnId = 'attrib_' + attrib.name\n // Check if the specific attribute column is excluded\n // or if all built-in attributes are excluded and this is a built-in attribute\n if (!isIncluded(columnId)) return false\n if (attrib.builtin && !isIncluded('attrib')) return false\n return true\n })\n .map((attrib) => {\n const attribColumn: ColumnDef<TableRow> = {\n id: 'attrib_' + attrib.name,\n accessorKey: 'attrib.' + attrib.name,\n header: attrib.data.title || attrib.name,\n minSize: COLUMN_MIN_SIZE,\n filterFn: 'fuzzy' as FilterFnOption<TableRow>,\n sortingFn: withLoadingStateSort(\n withNameTieBreaker((a, b, c) => attribSort(a, b, c, attrib.data)),\n ),\n enableSorting: canSort(attrib.name) && canSort('attrib'),\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const meta = table.options.meta\n const columnIdParsed = column.id.replace('attrib_', '')\n const { value, id, type } = getValueIdType(row, columnIdParsed, 'attrib')\n const isInherited = !row.original.ownAttrib?.includes(columnIdParsed)\n if (['group', NEXT_PAGE_ID].includes(type) || row.original.metaType) return null\n const outOfScopeAndNoValue =\n !attrib.scope?.includes(type as (typeof attrib.scope)[number]) &&\n (value === null || value === undefined)\n\n // if the attribute is not in scope, we should nothing\n if (outOfScopeAndNoValue) return null\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('attrib', { loading: row.original.isLoading })}\n columnId={column.id}\n value={value}\n attributeData={{ type: attrib.data.type || 'string', widget: attrib.data.widget }}\n options={attrib.data.enum || []}\n midnightExclusiveFields={row.original.midnightExclusiveFields}\n isCollapsed={!!row.original.childOnlyMatch}\n isInherited={isInherited}\n isReadOnly={\n // check attrib is not read only\n attrib.readOnly ||\n // check if there is any other reason the cell should be read only\n meta?.readOnly?.some(\n (id) => id === columnIdParsed || (id === 'attrib' && attrib.builtin),\n )\n }\n onChange={(value) =>\n meta?.updateEntities?.(\n { field: columnIdParsed, value, type, isAttrib: true, rowId: row.id },\n { selection: !!attrib.data.enum?.length ? meta?.selection : undefined },\n )\n }\n />\n )\n },\n }\n return attribColumn\n })\n\n const linkColumns: ColumnDef<TableRow>[] = !includeLinks\n ? []\n : links\n .filter((link) => {\n // Check if the link type is excluded\n if (!isIncluded(link.linkType) || !isIncluded('link')) return false\n // Check if inputType and outputType are in scopes\n if (!scopes.includes(link.inputType) && !scopes.includes(link.outputType)) return false\n return true\n })\n .flatMap((link) => {\n const createLinkColumn = (direction: 'in' | 'out'): ColumnDef<TableRow> => {\n return {\n id: getLinkColumnId(link, direction),\n accessorKey: `links.${getLinkKey(link, direction)}`,\n header: () => (\n <LinkColumnHeader>\n {getLinkLabel(link, direction)}{' '}\n <Icon\n icon={getEntityTypeIcon(direction === 'in' ? link.inputType : link.outputType)}\n />\n </LinkColumnHeader>\n ),\n minSize: COLUMN_MIN_SIZE,\n enableSorting: false,\n enableResizing: true,\n enablePinning: true,\n enableHiding: true,\n cell: ({ row, column, table }) => {\n const columnIdParsed = column.id.replace('link_', '')\n\n const { id, value } = getValueIdType(row, columnIdParsed, 'links')\n const cellValue = value?.map((v: any) => v.label)\n const entityId = row.original.entityId || row.original.id\n const isLinksLoading = !!table.options.meta?.loadingLinksEntityIds?.has(entityId)\n const valueData: LinkWidgetData = {\n links: value,\n direction: direction,\n entityId: entityId,\n entityType: row.original.entityType,\n link: {\n label: link.linkType,\n linkType: link.name,\n targetEntityType: direction === 'in' ? link.inputType : link.outputType,\n },\n }\n\n return (\n <CellWidget\n rowId={id}\n className={clsx('links', { loading: row.original.isLoading })}\n columnId={column.id}\n value={cellValue}\n valueData={valueData}\n folderId={row.original.folderId}\n attributeData={{ type: 'links' }}\n isLinksLoading={isLinksLoading}\n />\n )\n },\n }\n }\n\n return [createLinkColumn('in'), createLinkColumn('out')]\n })\n\n const allColumns = [...staticColumns, ...attributeColumns, ...linkColumns]\n\n // Add extra columns if provided\n if (extraColumns) {\n extraColumns.forEach(({ column, position = -1 }) => {\n if (position >= 0 && position < allColumns.length) {\n allColumns.splice(position, 0, column)\n } else {\n allColumns.push(column)\n }\n })\n }\n\n return allColumns\n}\n\nexport default buildTreeTableColumns\n\nexport const getValueIdType = (\n row: Row<TableRow>,\n field: string,\n nestedField?: keyof TableRow,\n): {\n value: any\n id: string\n type: string\n} => ({\n value: nestedField\n ? (row.original[nestedField as keyof TableRow] as any)?.[field]\n : (row.original[field as keyof TableRow] as any),\n id: row.id,\n type: row.original.entityType,\n})\n"],"names":["isEntityExpandable","entityType","COLUMN_MIN_SIZE","COLUMN_LABELS","getColumnLabel","columnId","scopes","scope","normalizeColumnId","COLUMN_SORT_CONFIG","getSortableColumnOptions","columns","config","id","column","isColumnSortable","getColumnSortKey","showHierarchy","normalizedColumnId","withLoadingStateSort","sortFn","rowA","rowB","args","naturalSortCollator","withNameTieBreaker","result","labelA","labelB","pathSort","valueLengthSort","valueA","getCellValue","valueB","lengthA","lengthB","attribSort","attrib","indexA","o","indexB","sortingFns","getLinkLabel","link","direction","getLinkKey","getLinkColumnId","buildTreeTableColumns","attribs","links","includeLinks","isFlatFolderView","options","excluded","excludedSorting","extraColumns","groupBy","nameLabel","staticColumns","isIncluded","excludedId","canSort","ROW_SELECTION_COLUMN_ID","jsx","RowSelectionHeader","row","SelectionCell","table","meta","cellId","getCellId","thumbnail","ThumbnailWidget","clsx","value","type","getValueIdType","isEditing","useCellEditing","rowHeight","useColumnSettingsContext","TableCellContent","MetaWidget","NEXT_PAGE_ID","LoadMoreWidget","isExpandable","jsxs","GroupHeaderWidget","EntityNameWidget","getColumnDisplayConfig","CellWidget","a","b","c","s","isEntityRestricted","READ_ONLY","Icon","getEntityTypeIcon","upperFirst","fieldId","folderHasVersions","ENTITY_COLUMN_IDS","EntityWidget","versionValue","subtasksData","parseGroupId","attributeColumns","columnIdParsed","isInherited","linkColumns","createLinkColumn","LinkColumnHeader","cellValue","v","entityId","isLinksLoading","valueData","allColumns","position","field","nestedField"],"mappings":"ouiBA+BaA,EAAsBC,GAAuB,CAAC,SAAU,SAAS,EAAE,SAASA,CAAU,EAEtFC,EAAkB,GAElBC,EAAwC,CACnD,UAAW,YACX,OAAQ,SACR,WAAY,cACZ,QAAS,OACT,UAAW,YACX,cAAe,SACf,YAAa,OACb,OAAQ,SACR,QAAS,iBACT,eAAgB,UAChB,QAAS,eACT,gBAAiB,YACjB,SAAU,YACV,WAAY,cACZ,KAAM,OACN,UAAW,aACX,UAAW,aACX,SAAU,WACV,SAAU,iBACZ,EAEaC,EAAiB,CAACC,EAAkBC,EAAmB,KAC9DD,IAAa,WAAaC,EAAO,KAAMC,GAAU,CAAC,UAAW,SAAS,EAAE,SAASA,CAAK,CAAC,EAClF,eAEFJ,EAAcK,EAAAA,kBAAkBH,CAAQ,CAAC,GAAKA,EAc1CI,EAAuD,CAClE,UAAW,CAAE,QAAS,GAAO,MAAON,EAAc,SAAA,EAClD,KAAM,CAAE,QAAS,OAAQ,QAAS,GAAM,MAAO,MAAA,EAC/C,WAAY,CAAE,QAAS,GAAO,MAAOA,EAAc,UAAA,EACnD,OAAQ,CAAE,QAAS,SAAU,cAAe,GAAO,QAAS,GAAM,MAAOA,EAAc,MAAA,EACvF,QAAS,CACP,QAAS,WACT,cAAe,GACf,QAAS,GACT,MAAOA,EAAc,OAAA,EAEvB,UAAW,CACT,QAAS,YACT,QAAS,GACT,MAAOA,EAAc,UACrB,OAAQ,CAAC,MAAM,CAAA,EAEjB,cAAe,CACb,QAAS,aACT,cAAe,GACf,QAAS,GACT,MAAOA,EAAc,aAAA,EAEvB,YAAa,CACX,QAAS,WACT,QAAS,GACT,MAAOA,EAAc,YACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,OAAQ,CACN,QAAS,SACT,QAAS,GACT,MAAOA,EAAc,OACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,QAAS,CACP,QAAS,UACT,cAAe,GACf,QAAS,GACT,MAAOA,EAAc,QACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,eAAgB,CACd,QAAS,UACT,QAAS,GACT,MAAOA,EAAc,eACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,QAAS,CACP,QAAS,UACT,QAAS,GACT,MAAOA,EAAc,QACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,gBAAiB,CACf,QAAS,kBACT,QAAS,GACT,MAAOA,EAAc,gBACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,SAAU,CACR,QAAS,WACT,cAAe,GACf,QAAS,GACT,MAAOA,EAAc,SACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,WAAY,CACV,QAAS,aACT,QAAS,GACT,MAAOA,EAAc,WACrB,OAAQ,CAAC,UAAW,SAAS,CAAA,EAE/B,KAAM,CAAE,QAAS,OAAQ,QAAS,GAAM,MAAOA,EAAc,IAAA,EAC7D,UAAW,CAAE,QAAS,YAAa,QAAS,GAAM,MAAOA,EAAc,SAAA,EACvE,UAAW,CAAE,QAAS,YAAa,QAAS,GAAM,MAAOA,EAAc,SAAA,EACvE,SAAU,CAAE,QAAS,GAAO,MAAOA,EAAc,QAAA,EACjD,SAAU,CAAE,QAAS,GAAO,MAAOA,EAAc,QAAA,CACnD,EAIaO,GAA2B,CAACJ,EAAmBK,EAA6B,CAAA,IACvF,OAAO,QAAQF,CAAkB,EAC9B,OACC,CAAC,CAAA,CAAGG,CAAM,IACRA,EAAO,UACN,CAACA,EAAO,QAAU,CAACN,GAAUM,EAAO,OAAO,KAAML,GAAUD,EAAO,SAASC,CAAK,CAAC,EACtF,EACC,IAAI,CAAC,CAACM,EAAID,CAAM,KAAO,CACtB,GAAAC,EACA,MACEF,EAAQ,KAAMG,GAAWN,EAAAA,kBAAkBM,EAAO,KAAK,IAAMD,CAAE,GAAG,OAClET,EAAeS,EAAIP,CAAM,CAC7B,EAAE,EAEOS,EAAoBV,GAC/BI,EAAmBD,oBAAkBH,CAAQ,CAAC,GAAG,SAAW,CAACA,EAAS,WAAW,OAAO,EAE7EW,GAAmB,CAACX,EAAmBY,EAAgB,KAAS,CAC3E,GAAI,CAACZ,EAAU,OACf,MAAMa,EAAqBV,EAAAA,kBAAkBH,CAAQ,EACrD,OAAIa,IAAuB,QAAU,CAACD,EAAsB,OACrDR,EAAmBS,CAAkB,GAAG,SAAWA,CAC5D,EAGMC,EAAwBC,GACrB,CAACC,EAAMC,KAASC,IAEjBF,EAAK,SAAS,YAAcC,EAAK,SAAS,UACrCD,EAAK,SAAS,UAAY,EAAI,GAGhCD,EAAOC,EAAMC,EAAM,GAAGC,CAAI,EAI/BC,GAAsB,IAAI,KAAK,SAAS,OAAW,CAAE,QAAS,GAAM,YAAa,OAAQ,EAEzFC,EAAsBL,GACnB,CAACC,EAAMC,KAASC,IAAS,CAC9B,MAAMG,EAASN,EAAOC,EAAMC,EAAM,GAAGC,CAAI,EACzC,GAAIG,IAAW,EAAG,OAAOA,EACzB,MAAMC,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQ,GACtDO,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQ,GAC5D,OAAOE,GAAoB,QAAQG,EAAQC,CAAM,CACnD,EAGIC,EAA2B,CAACR,EAAMC,IAAS,CAC/C,MAAMK,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQA,EAAK,SAAS,MAAQ,GAC5EO,EAASN,EAAK,SAAS,OAASA,EAAK,SAAS,MAAQA,EAAK,SAAS,MAAQ,GAClF,OAAOE,GAAoB,QAAQG,EAAQC,CAAM,CACnD,EAEME,EAAkC,CAACT,EAAMC,EAAMjB,IAAa,CAChE,MAAM0B,EAASC,EAAAA,aAAaX,EAAK,SAAUhB,CAAQ,EAC7C4B,EAASD,EAAAA,aAAaV,EAAK,SAAUjB,CAAQ,EAC7C6B,EAAU,MAAM,QAAQH,CAAM,EAAIA,EAAO,OAASA,EAAS,OAAOA,CAAM,EAAE,OAAS,EACnFI,EAAU,MAAM,QAAQF,CAAM,EAAIA,EAAO,OAASA,EAAS,OAAOA,CAAM,EAAE,OAAS,EACzF,OAAOC,EAAUC,CACnB,EAIMC,EAA8B,CAACf,EAAMC,EAAMjB,EAAUgC,IAAW,CACpE,MAAMN,EAASC,EAAAA,aAAaX,EAAK,SAAUhB,CAAQ,EAC7C4B,EAASD,EAAAA,aAAaV,EAAK,SAAUjB,CAAQ,EAEnD,GAAIgC,GAAUA,EAAO,KAAM,CACzB,MAAMC,EAASD,EAAO,KAAK,UAAWE,GAAMA,EAAE,QAAUR,CAAM,EACxDS,EAASH,EAAO,KAAK,UAAWE,GAAMA,EAAE,QAAUN,CAAM,EAC9D,OAAOK,EAASE,CAClB,KAAA,QAAWH,GAAQ,OAAS,WACnBI,EAAAA,WAAW,SAASpB,EAAMC,EAAMjB,CAAQ,EACtCgC,GAAQ,OAAS,WACZN,IAAW,GAAO,EAAI,IACtBE,IAAW,GAAO,EAAI,GAG7BQ,EAAAA,WAAW,aAAapB,EAAMC,EAAMjB,CAAQ,CAEvD,EAEaqC,GAAe,CAC1BC,EACAC,IACG,GAAGD,EAAK,SAAS,OAAO,CAAC,EAAE,YAAA,EAAgBA,EAAK,SAAS,MAAM,CAAC,CAAC,KAAKC,CAAS,IAEvEC,EAAa,CAACF,EAAmCC,IAC5D,GAAGD,EAAK,KAAK,WAAW,IAAK,EAAE,EAAE,WAAW,IAAK,EAAE,EAAE,WAAW,IAAK,GAAG,CAAC,IAAIC,CAAS,GAE3EE,GAAkB,CAC7BH,EACAC,IACG,QAAQC,EAAWF,EAAMC,CAAS,CAAC,GAiClCG,GAAwB,CAAC,CAC7B,OAAAzC,EACA,QAAA0C,EACA,MAAAC,EAAQ,CAAA,EACR,aAAAC,EAAe,GACf,cAAAjC,EACA,iBAAAkC,EACA,QAAAC,EACA,SAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,QAAAC,EACA,UAAAC,GAAY,QACd,IAAkC,CAChC,MAAMC,EAAuC,CAAA,EAGvCC,EAAc9C,GAClB,CAACwC,GAAU,KAAMO,GAAepD,EAAAA,kBAAkBoD,CAAU,IAAMpD,EAAAA,kBAAkBK,CAAE,CAAC,EACnFgD,EAAWhD,GACfE,EAAiBF,CAAE,GACnB,CAACyC,GAAiB,KAAMM,GAAepD,EAAAA,kBAAkBoD,CAAU,IAAMpD,EAAAA,kBAAkBK,CAAE,CAAC,EAG5F8C,EAAWG,EAAAA,uBAAuB,GACpCJ,EAAc,KAAK,CACjB,GAAII,EAAAA,wBACJ,eAAgB,GAChB,cAAe,GACf,cAAe,GACf,aAAc,GAEd,OAAQ,IAAMC,EAAAA,kBAAAA,IAACC,GAAA,EAAmB,EAClC,KAAM,CAAC,CAAE,IAAAC,KACHA,EAAI,SAAS,aAAe,SAAWA,EAAI,SAAS,SAAiB,6BACjEC,GAAAA,cAAA,EAAc,EAExB,KAAM,EAAA,CACP,EAGCP,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,OAAQtD,EAAe,WAAW,EAClC,KAAM,GACN,QAAS,GACT,eAAgB,GAChB,cAAe,GACf,KAAM,CAAC,CAAE,IAAA6D,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,GAAIF,EAAI,SAAS,aAAe,SAAWA,EAAI,SAAS,SAAU,OAAO,KACzE,MAAMG,EAAOD,EAAM,QAAQ,KAC3B,GAAI,CAACC,EAAM,OAAO,KAClB,MAAMC,EAASC,EAAAA,UAAUL,EAAI,GAAInD,EAAO,EAAE,EAC1C,IAAIyD,EAAY,CACd,SAAUN,EAAI,SAAS,UAAYA,EAAI,GACvC,WAAYA,EAAI,SAAS,WACzB,cAAeA,EAAI,SAAS,aAAA,EAG9B,OAAIA,EAAI,SAAS,YAEfM,EAAYN,EAAI,SAAS,WAGzBF,EAAAA,kBAAAA,IAACS,GAAAA,gBAAA,CACC,GAAIH,EACJ,SAAUE,EAAU,SACpB,WAAYA,EAAU,WACtB,cAAeA,EAAU,cACzB,KAAMN,EAAI,SAAS,KACnB,YAAaG,GAAM,YACnB,UAAWK,EAAK,YAAa,CAC3B,QAASR,EAAI,SAAS,SAAA,CACvB,EACD,WAAYA,EAAI,SAAS,cAAA,CAAA,CAG/B,CAAA,CACD,EAGCN,EAAW,MAAM,GACnBD,EAAc,KAAK,CACjB,GAAI,OACJ,YAAa,OACb,OAAQD,GACR,QAASvD,EACT,UAAWiB,EAAqBU,CAAQ,EACxC,cAAe2B,GAAWA,EAAQ,KAAO,SAAW,GAAQK,EAAQ,MAAM,EAC1E,eAAgB,GAChB,cAAe,GACf,aAAc,EAAEL,GAAWA,EAAQ,KAAO,UAC1C,KAAM,CAAC,CAAE,IAAAS,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACnDsD,EAAOD,EAAM,QAAQ,KACrB,CAAE,UAAAU,CAAA,EAAcC,kBAAA,EAChB,CAAE,UAAAC,EAAY,EAAA,EAAOC,4BAAA,EACrBX,EAASC,EAAAA,UAAUL,EAAI,GAAInD,EAAO,EAAE,EAE1C,GAAImD,EAAI,SAAS,SACf,OACEF,EAAAA,kBAAAA,IAACkB,EAAAA,iBAAA,CACC,GAAIZ,EACJ,UAAWI,EAAK,QAAS,WAAYR,EAAI,SAAS,UAAU,EAC5D,MAAO,CACL,YAAa,QAAQA,EAAI,MAAQ,CAAC,aAClC,cAAe,MAAA,EAEjB,SAAU,EAEV,SAAAF,EAAAA,kBAAAA,IAACmB,eAAW,SAAUjB,EAAI,SAAS,SAAU,MAAOA,EAAI,SAAS,KAAA,CAAO,CAAA,CAAA,EAK9E,GAAIA,EAAI,SAAS,aAAekB,EAAAA,cAAgBlB,EAAI,SAAS,MAC3D,OACEF,EAAAA,kBAAAA,IAACqB,GAAA,CACC,GAAInB,EAAI,SAAS,MAAM,MACvB,WAAapD,GAAOuD,GAAM,eAAevD,CAAE,CAAA,CAAA,EAKjD,MAAMwE,EACJpB,EAAI,aAAA,GACJ,CAAC,CAACA,EAAI,kBACLjE,EAAmBiE,EAAI,SAAS,UAAU,GAAK,CAAC,CAACA,EAAI,SAAS,OAEjE,OACEqB,EAAAA,kBAAAA,KAACL,EAAAA,iBAAA,CACC,GAAIZ,EACJ,UAAWI,EAAK,QAASR,EAAI,SAAS,WAAY,CAChD,QAASA,EAAI,SAAS,UACtB,UAAWhD,CAAA,CACZ,EACD,MAAO,CACL,YAAa,QAAQgD,EAAI,MAAQ,CAAC,SAChCoB,GAAgB,CAACpB,EAAI,aAAA,EAAiB,EAAI,EAC5C,WAAA,EAEF,SAAU,EAET,SAAA,CAAAA,EAAI,SAAS,MACZF,EAAAA,kBAAAA,IAACwB,GAAAA,kBAAA,CACC,GAAItB,EAAI,GACR,MAAOA,EAAI,SAAS,MAAM,MAC1B,KAAMA,EAAI,SAAS,KACnB,KAAMA,EAAI,SAAS,MAAM,KACzB,IAAKA,EAAI,SAAS,MAAM,IACxB,MAAOA,EAAI,SAAS,MAAM,MAC1B,MAAOA,EAAI,SAAS,MAAM,MAC1B,WAAYA,EAAI,SAAS,MAAM,WAC/B,WAAYA,EAAI,cAAA,EAChB,QAASA,EAAI,SAAS,MAAM,QAAU,EACtC,eAAgBA,EAAI,yBAAA,CAAyB,CAAA,EAG/CF,EAAAA,kBAAAA,IAACyB,GAAAA,iBAAA,CACC,GAAIvB,EAAI,GACR,MAAOA,EAAI,SAAS,MACpB,KAAMA,EAAI,SAAS,KACnB,KACE,CAAChD,GAAiB,CAACkC,EACf,IAAMc,EAAI,SAAS,SAAS,KAAK,GAAG,EACpC,OAEN,WAAYA,EAAI,SAAS,WACzB,QAASA,EAAI,SAAS,QACtB,aAAAoB,EACA,WAAYpB,EAAI,cAAA,EAChB,gBAAiB,IAAMG,GAAM,kBAAkB,CAACH,EAAI,EAAE,CAAC,EACvD,eAAgBA,EAAI,yBAAA,EACpB,UAAAc,EACA,oBAAqBU,GAAAA,uBAAuBrB,GAAM,cAAe,MAAM,CAAA,CAAA,EAG1ES,EAAUR,CAAM,GACfN,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,OAAQ,CAAE,QAASR,EAAI,SAAS,UAAW,EAC3D,SAAUnD,EAAO,GACjB,MAAA4D,EACA,UACE,CACE,KAAMT,EAAI,SAAS,KACnB,MAAOA,EAAI,SAAS,MACpB,KAAAG,EACA,YAAavD,EACb,SAAUC,EAAO,GACjB,YAAa,CAAC,CAACmD,EAAI,SAAS,WAAA,EAGhC,WAAYU,EACZ,cAAe,CAAE,KAAM,MAAA,EACvB,YAAa,CAAC,CAACV,EAAI,SAAS,eAC5B,WAAYG,GAAM,UAAU,SAAStD,EAAO,EAAE,CAAA,CAAA,CAChD,CAAA,CAAA,CAIR,CAAA,CACD,EAGC6C,EAAW,QAAQ,GACrBD,EAAc,KAAK,CACjB,GAAI,SACJ,YAAa,SACb,QAASxD,EACT,OAAQE,EAAe,QAAQ,EAC/B,UAAWe,EACTM,EAAmB,CAACkE,EAAGC,EAAGC,IACxBzD,EAAWuD,EAAGC,EAAGC,EAAG,CAAE,KAAMzC,EAAQ,OAAQ,KAAM,SAAU,CAAA,CAC9D,EAEF,cAAe3C,EAAmB,OAAO,cACzC,cAAeoD,EAAQ,QAAQ,EAC/B,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAI,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACnDsD,EAAOD,EAAM,QAAQ,KAC3B,MAAI,CAAC,QAASgB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,SAAU,CAAE,QAASR,EAAI,SAAS,UAAW,EAC7D,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAM,QAAA,EACvB,QAASN,GAAM,SAAS,OAAO,OAAQ0B,GAAMA,EAAE,OAAO,SAASnB,CAAI,CAAC,EACpE,YAAa,CAAC,CAACV,EAAI,SAAS,eAC5B,SAAWS,GACTN,GAAM,iBACJ,CAAE,MAAOtD,EAAO,GAAI,MAAA4D,EAAO,KAAAC,EAAM,MAAO9D,CAAA,EACxC,CAAE,UAAWuD,GAAM,SAAA,CAAU,EAGjC,WAAYA,GAAM,UAAU,SAAStD,EAAO,EAAE,GAAKiF,EAAAA,mBAAmBpB,CAAI,EAC1E,GAAI,CACF,KAAM,CACJ,GAAI,CACF,SAAU,CACR,GAAI,CACF,KAAM,CACJ,MAAO,CACL,sBAAuB,6CAAA,CACzB,CACF,CACF,CACF,CACF,CACF,CACF,CAAA,CAGN,CAAA,CACD,EAGChB,EAAW,YAAY,GACzBD,EAAc,KAAK,CACjB,GAAI,aACJ,YAAa,aACb,OAAQtD,EAAe,YAAY,EACnC,QAAS,GACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAWe,EAAqBM,EAAmBgB,EAAAA,WAAW,YAAY,CAAC,EAC3E,KAAM,CAAC,CAAE,IAAAwB,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,GAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAU,OAAO,KAC5E,MAAMI,EAASC,EAAAA,UAAUL,EAAI,GAAInD,EAAO,EAAE,EAE1C,OACEwE,EAAAA,kBAAAA,KAACL,EAAAA,iBAAA,CACC,GAAIZ,EACJ,UAAWI,EAAK,aAAcuB,YAAWrB,EAAM,CAAE,QAASV,EAAI,SAAS,UAAW,EAClF,SAAU,EAEV,SAAA,CAAAF,EAAAA,kBAAAA,IAACkC,EAAAA,KAAA,CAAK,KAAMC,EAAAA,kBAAkBvB,CAAI,CAAA,CAAG,EAAE,IAAEwB,GAAAA,WAAWzB,CAAK,CAAA,CAAA,CAAA,CAG/D,CAAA,CACD,EAGCf,EAAW,SAAS,GACtBD,EAAc,KAAK,CACjB,GAAI,UACJ,YAAa,UACb,OAAQtD,EAAe,UAAWE,CAAM,EACxC,QAASJ,EACT,cAAe2D,EAAQ,SAAS,EAChC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,cAAepD,EAAmB,SAAS,cAC3C,UAAWU,EACTM,EAAmB,CAACkE,EAAGC,EAAGC,IACxBzD,EAAWuD,EAAGC,EAAGC,EAAG,CAClB,KAAM,CAAC,GAAGzC,EAAQ,WAAY,GAAGA,EAAQ,QAAQ,EACjD,KAAM,QAAA,CACP,CAAA,CACH,EAEF,KAAM,CAAC,CAAE,IAAAa,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,GAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAU,OAAO,KAC5E,MAAMmC,EAAUzB,IAAS,SAAW,aAAe,WAC7CP,EAAOD,EAAM,QAAQ,KACrBkC,EAAoB1B,IAAS,UAAYV,EAAI,SAAS,YAC5D,OACEF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,UAAW,CAAE,QAASR,EAAI,SAAS,UAAW,EAC9D,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAM,QAAA,EACvB,QACEC,IAAS,SACLP,GAAM,SAAS,WACfO,IAAS,OACTP,GAAM,SAAS,SACfO,IAAS,WAAaA,IAAS,UAC/BP,GAAM,SAAS,YACf,CAAA,EAEN,YAAa,CAAC,CAACH,EAAI,SAAS,eAC5B,SAAWS,GACTN,GAAM,iBACJ,CAAE,MAAOgC,EAAS,MAAA1B,EAAO,KAAAC,EAAM,MAAOV,EAAI,EAAA,EAC1C,CAAE,UAAWG,GAAM,SAAA,CAAU,EAGjC,WACEA,GAAM,UAAU,SAAStD,EAAO,EAAE,GAClCsD,GAAM,UAAU,SAASgC,CAAO,GAChCC,EAEF,QACEA,EACI,qEACA,OAEN,GAAI,CACF,KAAM,CACJ,GAAI,CACF,SAAU,CACR,cAAe,EAAA,CACjB,CACF,CACF,CACF,CAAA,CAGN,CAAA,CACD,EAGC1C,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,YAAa,YACb,OAAQtD,EAAe,WAAW,EAClC,QAASF,EACT,cAAe2D,EAAQ,WAAW,EAClC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBM,EAAmBK,CAAe,CAAC,EACnE,KAAM,CAAC,CAAE,IAAAmC,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,MAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAExEU,IAAS,SAETZ,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,YAAa,CAAE,QAASR,EAAI,SAAS,UAAW,EAChE,SAAUnD,EAAO,GACjB,MAAM,GACN,cAAa,EAAA,CAAA,EAIjBiD,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,YAAa,CAAE,QAASR,EAAI,SAAS,UAAW,EAChE,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAM,iBAAA,EACvB,QAASN,GAAM,SAAS,SACxB,YAAa,CAAC,CAACH,EAAI,SAAS,eAC5B,SAAWS,GACTN,GAAM,iBACJ,CAAE,MAAOtD,EAAO,GAAI,MAAA4D,EAAO,KAAAC,EAAM,MAAOV,EAAI,EAAA,EAC5C,CAAE,UAAWG,GAAM,SAAA,CAAU,EAGjC,WAAYA,GAAM,UAAU,SAAStD,EAAO,EAAE,GAAKiF,EAAAA,mBAAmBpB,CAAI,EAC1E,GAAI,CACF,KAAM,CACJ,iBAAkBD,GAAO,SAAW,EACpC,OAAQ,GACR,iBAAkB,EAAA,CACpB,CACF,CAAA,CAGN,CAAA,CACD,EAGCf,EAAW2C,oBAAkB,MAAM,GACrC5C,EAAc,KAAK,CACjB,GAAI4C,EAAAA,kBAAkB,OACtB,YAAa,SACb,OAAQlG,EAAekG,EAAAA,kBAAkB,MAAM,EAC/C,QAASpG,EACT,cAAeO,EAAmB,cAAc,cAChD,UAAWU,EAAqBU,CAAQ,EACxC,cAAegC,EAAQyC,EAAAA,kBAAkB,MAAM,EAC/C,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAArC,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,KAAM,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,GAASC,EAAeX,EAAK,QAAQ,EACxD,MAAI,CAAC,QAASkB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAACwC,EAAAA,aAAA,CACC,MAAO1F,EACP,UAAU,SACV,SAAUC,EAAO,GACjB,MAAA4D,EACA,SAAUT,EAAI,SAAS,SACvB,WAAW,SACX,QAASA,EAAI,SAAS,WACtB,UAAWA,EAAI,SAAS,SAAA,CAAA,CAG9B,CAAA,CACD,EAKDN,EAAW2C,EAAAA,kBAAkB,IAAI,GACjC,CAAC,UAAW,SAAS,EAAE,KAAMR,GAAMxF,EAAO,SAASwF,CAAC,CAAC,GAErDpC,EAAc,KAAK,CACjB,GAAI4C,EAAAA,kBAAkB,KACtB,YAAa,YACb,OAAQlG,EAAekG,EAAAA,kBAAkB,IAAI,EAC7C,QAASpG,EACT,cAAe2D,EAAQyC,EAAAA,kBAAkB,IAAI,EAC7C,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAWnF,EAAqBU,CAAQ,EACxC,KAAM,CAAC,CAAE,IAAAoC,EAAK,OAAAnD,KAAa,CACzB,KAAM,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,GAASC,EAAeX,EAAK,WAAW,EAC3D,MAAI,CAAC,QAASkB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAACwC,EAAAA,aAAA,CACC,MAAO1F,EACP,UAAU,cACV,SAAUC,EAAO,GACjB,MAAA4D,EACA,SAAUT,EAAI,SAAS,OACvB,WAAW,OACX,QAASA,EAAI,SAAS,SACtB,UAAWA,EAAI,SAAS,SAAA,CAAA,CAG9B,CAAA,CACD,EAICN,EAAW,QAAQ,GAAK,CAAC,UAAW,SAAS,EAAE,KAAMmC,GAAMxF,EAAO,SAASwF,CAAC,CAAC,GAC/EpC,EAAc,KAAK,CACjB,GAAI,SACJ,YAAa,SACb,OAAQtD,EAAe,QAAQ,EAC/B,QAASF,EACT,cAAe2D,EAAQ,QAAQ,EAC/B,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBU,CAAQ,EACxC,KAAM,CAAC,CAAE,IAAAoC,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,MAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,SAAU,CAAE,QAASR,EAAI,SAAS,UAAW,EAC7D,SAAUnD,EAAO,GACjB,MAAO,CAAC4D,CAAK,EACb,cAAe,CAAE,KAAM,iBAAA,EACvB,QAASN,GAAM,SAAS,SACxB,WAAY,GACZ,YAAaO,IAAS,SAAA,CAAA,CAG5B,CAAA,CACD,EAKDhB,EAAW2C,EAAAA,kBAAkB,OAAO,GACpC,CAAC,UAAW,SAAS,EAAE,KAAMR,GAAMxF,EAAO,SAASwF,CAAC,CAAC,GAErDpC,EAAc,KAAK,CACjB,GAAI4C,EAAAA,kBAAkB,QACtB,YAAa,cACb,OAAQlG,EAAekG,EAAAA,kBAAkB,OAAO,EAChD,QAASpG,EACT,cAAe2D,EAAQyC,EAAAA,kBAAkB,OAAO,EAChD,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAWnF,EAAqBU,CAAQ,EACxC,KAAM,CAAC,CAAE,IAAAoC,EAAK,OAAAnD,KAAa,CACzB,KAAM,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,GAASC,EAAeX,EAAK,aAAa,EAC7D,GAAI,CAAC,QAASkB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAU,OAAO,KAE5E,IAAIuC,EAAevC,EAAI,SAAS,aAAeS,EAC/C,OAAIT,EAAI,SAAS,aAAe,YAE9BuC,EAAe,GAAGvC,EAAI,SAAS,WAAW,KAAKA,EAAI,SAAS,eAAiB,CAAC,cAI9EF,EAAAA,kBAAAA,IAACwC,EAAAA,aAAA,CACC,MAAO1F,EACP,UAAU,iBACV,SAAUC,EAAO,GACjB,MAAO0F,EACP,SACEvC,EAAI,SAAS,kBAAoBU,IAAS,UAAYV,EAAI,SAAS,SAAW,MAEhF,WAAW,UACX,UAAWA,EAAI,SAAS,SAAA,CAAA,CAG9B,CAAA,CACD,EAICN,EAAW,SAAS,GAAK,CAAC,UAAW,SAAS,EAAE,KAAMmC,GAAMxF,EAAO,SAASwF,CAAC,CAAC,GAChFpC,EAAc,KAAK,CACjB,GAAI,UACJ,YAAa,UACb,OAAQtD,EAAe,SAAS,EAChC,QAASF,EACT,cAAeO,EAAmB,QAAQ,cAC1C,cAAeoD,EAAQ,SAAS,EAChC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBM,EAAmBgB,EAAAA,WAAW,KAAK,CAAC,EACpE,KAAM,CAAC,CAAE,IAAAwB,EAAK,OAAAnD,KAAa,CACzB,KAAM,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,MAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,UAAW,CAAE,QAASR,EAAI,SAAS,UAAW,EAC9D,SAAUnD,EAAO,GACjB,MAAO4D,GAAS,GAChB,cAAe,CAAE,KAAM,SAAA,EACvB,WAAY,EAAA,CAAA,CAGlB,CAAA,CACD,EAICf,EAAW,SAAS,GAAK,CAAC,UAAW,SAAS,EAAE,KAAMmC,GAAMxF,EAAO,SAASwF,CAAC,CAAC,GAChFpC,EAAc,KAAK,CACjB,GAAI,UACJ,YAAa,UACb,OAAQtD,EAAe,SAAS,EAChC,QAASF,EACT,cAAe2D,EAAQ,SAAS,EAChC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBU,CAAQ,EACxC,KAAM,CAAC,CAAE,IAAAoC,EAAK,OAAAnD,KAAa,CACzB,KAAM,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,MAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAG1EF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,UAAW,CAAE,QAASR,EAAI,SAAS,UAAW,EAC9D,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAM,QAAA,EACvB,WAAY,EAAA,CAAA,CAGlB,CAAA,CACD,EAGCf,EAAW,MAAM,GACnBD,EAAc,KAAK,CACjB,GAAI,OACJ,YAAa,OACb,OAAQtD,EAAe,MAAM,EAC7B,QAASF,EACT,cAAe2D,EAAQ,MAAM,EAC7B,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBM,EAAmBK,CAAe,CAAC,EACnE,KAAM,CAAC,CAAE,IAAAmC,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,MAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAE1EF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,OAAQ,CAAE,QAASR,EAAI,SAAS,UAAW,EAC3D,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAM,iBAAA,EACvB,QAASN,GAAM,SAAS,IACxB,YAAa,CAAC,CAACH,EAAI,SAAS,eAC5B,SAAWS,GACTN,GAAM,iBACJ,CAAE,MAAOtD,EAAO,GAAI,MAAA4D,EAAO,KAAAC,EAAM,MAAOV,EAAI,EAAA,EAC5C,CAAE,UAAWG,GAAM,SAAA,CAAU,EAGjC,WAAYA,GAAM,UAAU,SAAStD,EAAO,EAAE,GAAKiF,EAAAA,mBAAmBpB,CAAI,EAC1E,mBAAkB,EAAA,CAAA,CAGxB,CAAA,CACD,EAGChB,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,YAAa,YACb,OAAQtD,EAAe,WAAW,EAClC,QAASF,EACT,cAAe2D,EAAQ,WAAW,EAClC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBM,EAAmBgB,EAAAA,WAAW,QAAQ,CAAC,EACvE,KAAM,CAAC,CAAE,IAAAwB,EAAK,OAAAnD,KAAa,CACzB,KAAM,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,MAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAE1EF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,YAAa,CAAE,QAASR,EAAI,SAAS,UAAW,EAChE,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAM,UAAA,EACvB,YAAa,CAAC,CAACT,EAAI,SAAS,eAC5B,WAAY,GACZ,GAAI,CAAE,KAAM,CAAE,SAAU,GAAK,CAAE,CAAA,CAGrC,CAAA,CACD,EAGCN,EAAW,WAAW,GACxBD,EAAc,KAAK,CACjB,GAAI,YACJ,YAAa,YACb,OAAQtD,EAAe,WAAW,EAClC,QAASF,EACT,cAAe2D,EAAQ,WAAW,EAClC,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,UAAW1C,EAAqBM,EAAmBgB,EAAAA,WAAW,QAAQ,CAAC,EACvE,KAAM,CAAC,CAAE,IAAAwB,EAAK,OAAAnD,KAAa,CACzB,KAAM,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,MAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAE1EF,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,YAAa,CAAE,QAASR,EAAI,SAAS,UAAW,EAChE,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAM,UAAA,EACvB,YAAa,CAAC,CAACT,EAAI,SAAS,eAC5B,WAAY,GACZ,GAAI,CAAE,KAAM,CAAE,SAAU,GAAK,CAAE,CAAA,CAGrC,CAAA,CACD,EAGCN,EAAW,UAAU,GAAKrD,EAAO,SAAS,MAAM,GAClDoD,EAAc,KAAK,CACjB,GAAI,WACJ,YAAa,WACb,OAAQtD,EAAe,UAAU,EACjC,QAASF,EACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAA+D,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrB,CAAE,MAAAO,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAKnD,EAAO,EAAE,EACzD,GAAI,CAAC,QAASqE,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAU,OAAO,KAG5E,GAAIU,IAAS,OAAQ,OAAOZ,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,WAAW,EAEtD,MAAM0C,EAAmC,CACvC,OAAQC,EAAAA,aAAazC,EAAI,EAAE,GAAKA,EAAI,SAAS,UAAYA,EAAI,SAAS,GACtE,SAAUS,GAAS,CAAA,CAAC,EAGtB,OACEX,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,WAAY,CAAE,QAASR,EAAI,SAAS,UAAW,EAC/D,SAAUnD,EAAO,GACjB,MAAO2F,EAAa,UAAU,IAAKX,GAAWA,EAAE,OAASA,EAAE,IAAI,GAAK,CAAA,EACpE,UAAWW,EACX,cAAe,CAAE,KAAM,UAAA,EACvB,WAAYrC,GAAM,UAAU,SAAStD,EAAO,EAAE,CAAA,CAAA,CAGpD,CAAA,CACD,EAID6C,EAAW,UAAU,GACrBrD,EAAO,KAAMwF,GAAM,CAAC,OAAQ,UAAW,UAAW,QAAQ,EAAE,SAASA,CAAC,CAAC,GAEvEpC,EAAc,KAAK,CACjB,GAAI,WACJ,YAAa,iBACb,OAAQtD,EAAe,UAAU,EACjC,QAASF,EACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAA+D,EAAK,OAAAnD,KAAa,CACzB,KAAM,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,GAASC,EAAeX,EAAK,gBAAgB,EAChE,MAAI,CAAC,QAASkB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,SAAiB,KAIxE,CAACA,EAAI,SAAS,WAAa,CAAC,CAAC,OAAQ,UAAW,UAAW,QAAQ,EAAE,SAASU,CAAI,EAC7EZ,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,UAAA,CAAW,EAGjCA,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,WAAY,CAAE,QAASR,EAAI,SAAS,UAAW,EAC/D,SAAUnD,EAAO,GACjB,MAAO,GACP,UAAW4D,GAAS,CAAA,EACpB,cAAe,CAAE,KAAM,UAAA,EACvB,YAAa,CAAC,CAACT,EAAI,SAAS,eAC5B,WAAU,EAAA,CAAA,CAGhB,CAAA,CACD,EAGH,MAAM0C,GAA0C3D,EAC7C,OAAQX,GAAW,CAElB,GAAIA,EAAO,OAAS,CAACA,EAAO,MAAM,KAAMyD,GAAMxF,EAAO,SAASwF,CAAC,CAAC,EAAG,MAAO,GAE1E,MAAMzF,EAAW,UAAYgC,EAAO,KAIpC,MADI,GAACsB,EAAWtD,CAAQ,GACpBgC,EAAO,SAAW,CAACsB,EAAW,QAAQ,EAE5C,CAAC,EACA,IAAKtB,IACsC,CACxC,GAAI,UAAYA,EAAO,KACvB,YAAa,UAAYA,EAAO,KAChC,OAAQA,EAAO,KAAK,OAASA,EAAO,KACpC,QAASnC,EACT,SAAU,QACV,UAAWiB,EACTM,EAAmB,CAACkE,EAAGC,EAAGC,IAAMzD,EAAWuD,EAAGC,EAAGC,EAAGxD,EAAO,IAAI,CAAC,CAAA,EAElE,cAAewB,EAAQxB,EAAO,IAAI,GAAKwB,EAAQ,QAAQ,EACvD,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAAI,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,MAAMC,EAAOD,EAAM,QAAQ,KACrByC,EAAiB9F,EAAO,GAAG,QAAQ,UAAW,EAAE,EAChD,CAAE,MAAA4D,EAAO,GAAA7D,EAAI,KAAA8D,CAAA,EAASC,EAAeX,EAAK2C,EAAgB,QAAQ,EAClEC,EAAc,CAAC5C,EAAI,SAAS,WAAW,SAAS2C,CAAc,EAOpE,MANI,CAAC,QAASzB,EAAAA,YAAY,EAAE,SAASR,CAAI,GAAKV,EAAI,SAAS,UAEzD,CAAC5B,EAAO,OAAO,SAASsC,CAAqC,GAC5DD,GAAU,KAGoB,KAG/BX,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,SAAU,CAAE,QAASR,EAAI,SAAS,UAAW,EAC7D,SAAUnD,EAAO,GACjB,MAAA4D,EACA,cAAe,CAAE,KAAMrC,EAAO,KAAK,MAAQ,SAAU,OAAQA,EAAO,KAAK,MAAA,EACzE,QAASA,EAAO,KAAK,MAAQ,CAAA,EAC7B,wBAAyB4B,EAAI,SAAS,wBACtC,YAAa,CAAC,CAACA,EAAI,SAAS,eAC5B,YAAA4C,EACA,WAEExE,EAAO,UAEP+B,GAAM,UAAU,KACbvD,GAAOA,IAAO+F,GAAmB/F,IAAO,UAAYwB,EAAO,OAAA,EAGhE,SAAWqC,GACTN,GAAM,iBACJ,CAAE,MAAOwC,EAAgB,MAAAlC,EAAO,KAAAC,EAAM,SAAU,GAAM,MAAOV,EAAI,EAAA,EACjE,CAAE,UAAa5B,EAAO,KAAK,MAAM,OAAS+B,GAAM,UAAY,MAAA,CAAU,CACxE,CAAA,CAIR,CAAA,EAGH,EAEG0C,GAAsC5D,EAExCD,EACG,OAAQN,GAEH,GAACgB,EAAWhB,EAAK,QAAQ,GAAK,CAACgB,EAAW,MAAM,GAEhD,CAACrD,EAAO,SAASqC,EAAK,SAAS,GAAK,CAACrC,EAAO,SAASqC,EAAK,UAAU,EAEzE,EACA,QAASA,GAAS,CACjB,MAAMoE,EAAoBnE,IACjB,CACL,GAAIE,GAAgBH,EAAMC,CAAS,EACnC,YAAa,SAASC,EAAWF,EAAMC,CAAS,CAAC,GACjD,OAAQ,IACN0C,EAAAA,kBAAAA,KAAC0B,EAAAA,iBAAA,CACE,SAAA,CAAAtE,GAAaC,EAAMC,CAAS,EAAG,IAChCmB,EAAAA,kBAAAA,IAACkC,EAAAA,KAAA,CACC,KAAMC,EAAAA,kBAAkBtD,IAAc,KAAOD,EAAK,UAAYA,EAAK,UAAU,CAAA,CAAA,CAC/E,EACF,EAEF,QAASzC,EACT,cAAe,GACf,eAAgB,GAChB,cAAe,GACf,aAAc,GACd,KAAM,CAAC,CAAE,IAAA+D,EAAK,OAAAnD,EAAQ,MAAAqD,KAAY,CAChC,MAAMyC,EAAiB9F,EAAO,GAAG,QAAQ,QAAS,EAAE,EAE9C,CAAE,GAAAD,EAAI,MAAA6D,CAAA,EAAUE,EAAeX,EAAK2C,EAAgB,OAAO,EAC3DK,EAAYvC,GAAO,IAAKwC,IAAWA,GAAE,KAAK,EAC1CC,EAAWlD,EAAI,SAAS,UAAYA,EAAI,SAAS,GACjDmD,EAAiB,CAAC,CAACjD,EAAM,QAAQ,MAAM,uBAAuB,IAAIgD,CAAQ,EAC1EE,EAA4B,CAChC,MAAO3C,EACP,UAAA9B,EACA,SAAAuE,EACA,WAAYlD,EAAI,SAAS,WACzB,KAAM,CACJ,MAAOtB,EAAK,SACZ,SAAUA,EAAK,KACf,iBAAkBC,IAAc,KAAOD,EAAK,UAAYA,EAAK,UAAA,CAC/D,EAGF,OACEoB,EAAAA,kBAAAA,IAAC2B,EAAAA,WAAA,CACC,MAAO7E,EACP,UAAW4D,EAAK,QAAS,CAAE,QAASR,EAAI,SAAS,UAAW,EAC5D,SAAUnD,EAAO,GACjB,MAAOmG,EACP,UAAAI,EACA,SAAUpD,EAAI,SAAS,SACvB,cAAe,CAAE,KAAM,OAAA,EACvB,eAAAmD,CAAA,CAAA,CAGN,CAAA,GAIJ,MAAO,CAACL,EAAiB,IAAI,EAAGA,EAAiB,KAAK,CAAC,CACzD,CAAC,EA/DH,CAAA,EAiEEO,EAAa,CAAC,GAAG5D,EAAe,GAAGiD,GAAkB,GAAGG,EAAW,EAGzE,OAAIvD,GACFA,EAAa,QAAQ,CAAC,CAAE,OAAAzC,EAAQ,SAAAyG,EAAW,MAAS,CAC9CA,GAAY,GAAKA,EAAWD,EAAW,OACzCA,EAAW,OAAOC,EAAU,EAAGzG,CAAM,EAErCwG,EAAW,KAAKxG,CAAM,CAE1B,CAAC,EAGIwG,CACT,EAIa1C,EAAiB,CAC5BX,EACAuD,EACAC,KAKI,CACJ,MAAOA,EACFxD,EAAI,SAASwD,CAA6B,IAAYD,CAAK,EAC3DvD,EAAI,SAASuD,CAAuB,EACzC,GAAIvD,EAAI,GACR,KAAMA,EAAI,SAAS,UACrB"}
|