@ynput/ayon-frontend-shared 0.3.30 → 0.3.32
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 +28 -26
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +217 -201
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +23 -22
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs14.js +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs9.js +1 -1
- package/dist/_virtual/index.es10.js +2 -2
- package/dist/_virtual/index.es11.js +2 -2
- package/dist/_virtual/index.es13.js +2 -2
- package/dist/_virtual/index.es14.js +5 -2
- package/dist/_virtual/index.es14.js.map +1 -1
- package/dist/_virtual/index.es4.js +2 -5
- package/dist/_virtual/index.es4.js.map +1 -1
- package/dist/_virtual/index.es5.js +5 -2
- package/dist/_virtual/index.es5.js.map +1 -1
- package/dist/_virtual/index.es9.js +2 -5
- package/dist/_virtual/index.es9.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +453 -434
- package/dist/api.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +15 -13
- package/dist/index.es.js.map +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
- package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +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/@module-federation/runtime/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime/dist/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/module/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/type/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs.js.map +1 -1
- package/dist/shared/node_modules/@module-federation/runtime-core/dist/utils/semver/index.es.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/index.cjs.js +1 -1
- package/dist/shared/node_modules/@module-federation/sdk/dist/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/node_modules/react-transition-group/esm/CSSTransition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/CSSTransition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/Transition.es.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js.map +1 -1
- package/dist/shared/node_modules/react-transition-group/esm/utils/PropTypes.es.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js +1 -1
- package/dist/shared/src/api/base/client.cjs.js.map +1 -1
- package/dist/shared/src/api/base/client.es.js +21 -17
- package/dist/shared/src/api/base/client.es.js.map +1 -1
- package/dist/shared/src/api/generated/folders.cjs.js +1 -1
- package/dist/shared/src/api/generated/folders.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/folders.es.js +2 -14
- package/dist/shared/src/api/generated/folders.es.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +237 -55
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +361 -161
- 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/queries/activities/activityQueries.cjs.js +1 -0
- package/dist/shared/src/api/queries/activities/activityQueries.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/activityQueries.es.js +1 -0
- package/dist/shared/src/api/queries/activities/activityQueries.es.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.es.js +33 -21
- package/dist/shared/src/api/queries/activities/util/activitiesHelpers.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 +74 -60
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js +2 -0
- package/dist/shared/src/api/queries/columnStats/columnStats.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js +96 -0
- package/dist/shared/src/api/queries/columnStats/columnStats.es.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +2 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +88 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -0
- 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 +62 -48
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js +45 -97
- package/dist/shared/src/api/queries/entities/patchDetailsPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.es.js +89 -174
- package/dist/shared/src/api/queries/entities/transformDetailsPanelData.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 +94 -79
- 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 +104 -71
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/overview/filterRefetchUtils.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 +265 -216
- package/dist/shared/src/api/queries/overview/getOverview.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 +233 -261
- package/dist/shared/src/api/queries/overview/updateOverview.es.js.map +1 -1
- package/dist/shared/src/api/queries/tasks/updateTasks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/tasks/updateTasks.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 +138 -107
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +5 -5
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +58 -106
- 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 +332 -239
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js +1 -1
- package/dist/shared/src/api/queries/views/updateViews.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/views/updateViews.es.js +38 -38
- package/dist/shared/src/api/queries/views/updateViews.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 +7 -6
- package/dist/shared/src/components/ColumnHeaderMenuUI.es.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js +7 -6
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.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 +8 -6
- 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 +7 -6
- 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 +7 -6
- 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 +7 -6
- 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 +7 -6
- 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 +141 -162
- 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 +8 -6
- 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 +7 -6
- 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 +9 -8
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +7 -6
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/LinkManagerItem.es.js +3 -2
- package/dist/shared/src/components/LinksManager/LinkManagerItem.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 +7 -6
- 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 +8 -6
- 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 +7 -6
- 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 +7 -6
- 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 +7 -6
- 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 +5 -4
- 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 +7 -6
- 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 +7 -6
- 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 +7 -6
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js +7 -6
- package/dist/shared/src/components/Powerpack/useFreeTrialLink.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js +83 -81
- package/dist/shared/src/components/ProjectTableSettings/ColumnsSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +10 -8
- 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 +7 -6
- 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 +8 -6
- 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 +8 -6
- 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 +8 -6
- package/dist/shared/src/components/RenameForm/RenameForm.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.es.js +7 -6
- package/dist/shared/src/components/ReviewablesList/EditReviewableDialog.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 +8 -6
- 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 +9 -7
- 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 +8 -6
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.es.js +7 -6
- package/dist/shared/src/components/ReviewablesList/useReviewablesUpload.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 +8 -6
- package/dist/shared/src/components/ReviewablesSelector/Card.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 +11 -10
- 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 +7 -6
- package/dist/shared/src/components/SettingsPanel/SettingsPanel.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 +10 -8
- 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 +8 -6
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.cjs.js.map +1 -1
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js +7 -6
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +2 -2
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +15 -14
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js +49 -44
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +3 -3
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +32 -22
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.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 +8 -6
- 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 +12 -10
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js +1 -1
- package/dist/shared/src/components/Watchers/Watchers.cjs.js.map +1 -1
- package/dist/shared/src/components/Watchers/Watchers.es.js +7 -6
- package/dist/shared/src/components/Watchers/Watchers.es.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.cjs.js +1 -1
- package/dist/shared/src/config/powerpackFeatures.cjs.js.map +1 -1
- package/dist/shared/src/config/powerpackFeatures.es.js +7 -1
- package/dist/shared/src/config/powerpackFeatures.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 +8 -6
- 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 +7 -6
- 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 +8 -6
- 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 +4 -2
- 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 +8 -6
- 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 +45 -42
- 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 +8 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.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 +8 -6
- 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 +8 -6
- 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 +7 -6
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelSlideOut/DetailsPanelSlideOut.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 +22 -20
- 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 +8 -6
- 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 +8 -6
- 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 +17 -15
- package/dist/shared/src/containers/DetailsPanel/containers/FeedWrapper.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.es.js +14 -14
- package/dist/shared/src/containers/DetailsPanel/helpers/getThumbnails.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 +17 -13
- 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 +8 -6
- 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 +8 -6
- 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 +8 -6
- 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 +8 -6
- 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 +7 -6
- 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 +9 -8
- 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 +8 -6
- 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 +8 -6
- 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 +8 -6
- 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 +32 -31
- 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 +1 -1
- 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 +8 -6
- 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 +12 -10
- 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 +7 -6
- 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 +7 -6
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.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 +7 -6
- 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 +41 -48
- package/dist/shared/src/containers/Feed/components/Tooltips/EntityTooltip/EntityTooltip.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.es.js +7 -6
- package/dist/shared/src/containers/Feed/components/Tooltips/TeamTooltip/TeamTooltip.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 +10 -9
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js +14 -13
- package/dist/shared/src/containers/Feed/helpers/groupActivityVersions.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js +7 -6
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.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 +216 -208
- 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 +8 -6
- 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 +8 -6
- package/dist/shared/src/containers/ListTable/ListTableHeader.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 +733 -679
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +32 -10
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +42 -18
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.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 +21 -18
- 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 +61 -47
- 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 +8 -6
- 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 +8 -6
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +48 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +103 -0
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.es.js +6 -0
- package/dist/shared/src/containers/ProjectTreeTable/constants.es.js.map +1 -0
- 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 +8 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +11 -9
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsContext.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 +219 -185
- 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 +9 -8
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js +21 -17
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectedRowsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.es.js +1 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsContext.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 +21 -15
- 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 +7 -6
- 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 +87 -85
- 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 +120 -115
- 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 +10 -7
- 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 +8 -6
- 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 +8 -6
- 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 +8 -6
- 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 +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFolderRelationships.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 +8 -6
- 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 +8 -6
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.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 +8 -6
- 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 +8 -6
- 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 +8 -6
- 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 +84 -82
- 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 +8 -6
- 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 +49 -48
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js +16 -0
- package/dist/shared/src/containers/ProjectTreeTable/types/summaryTypes.es.js.map +1 -0
- 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 +19 -17
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js +29 -25
- package/dist/shared/src/containers/ProjectTreeTable/utils/checkColumnVisibility.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +17 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -0
- 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 +8 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +16 -14
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +10 -8
- 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 +7 -6
- 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 +8 -6
- 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 +8 -6
- 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 +7 -6
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +4 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +24 -19
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.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 +8 -6
- 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 +8 -6
- package/dist/shared/src/containers/SimpleTable/SimpleTable.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 +7 -6
- 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 +8 -6
- 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 +9 -8
- 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 +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useEntityListsSlice.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 +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useProjectAnatomySlices.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.es.js +8 -6
- package/dist/shared/src/containers/Slicer/hooks/useSelectedEntityIds.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 +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.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 +16 -15
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js +7 -6
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.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 +7 -6
- 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 +8 -6
- 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 +7 -6
- 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 +123 -122
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js +18 -16
- package/dist/shared/src/containers/Views/hooks/pages/useListsViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js +79 -51
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js +19 -17
- package/dist/shared/src/containers/Views/hooks/pages/useTaskProgressViewSettings.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.es.js +7 -6
- package/dist/shared/src/containers/Views/hooks/useBaseViewMutations.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 +10 -9
- package/dist/shared/src/containers/Views/hooks/useBuildViewMenuItems.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js +16 -15
- package/dist/shared/src/containers/Views/hooks/useSelectedView.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js +7 -6
- package/dist/shared/src/containers/Views/hooks/useViewsMutations.es.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js +82 -69
- package/dist/shared/src/containers/Views/utils/viewUpdateHelper.es.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/AddonProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/AddonProjectContext.es.js +9 -8
- package/dist/shared/src/context/AddonProjectContext.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 +9 -8
- package/dist/shared/src/context/DetailsPanelContext.es.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js +1 -1
- package/dist/shared/src/context/GlobalContext.cjs.js.map +1 -1
- package/dist/shared/src/context/GlobalContext.es.js +9 -8
- package/dist/shared/src/context/GlobalContext.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 +11 -10
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js +1 -1
- package/dist/shared/src/context/ProjectContext.cjs.js.map +1 -1
- package/dist/shared/src/context/ProjectContext.es.js +9 -8
- package/dist/shared/src/context/ProjectContext.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 +9 -8
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +9 -8
- package/dist/shared/src/context/RemoteModulesContext.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 +9 -8
- package/dist/shared/src/context/SubtasksModulesContext.es.js.map +1 -1
- package/dist/shared/src/context/UriContext.cjs.js +1 -1
- package/dist/shared/src/context/UriContext.cjs.js.map +1 -1
- package/dist/shared/src/context/UriContext.es.js +10 -9
- package/dist/shared/src/context/UriContext.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 +10 -8
- package/dist/shared/src/context/WebsocketContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js +1 -1
- package/dist/shared/src/hooks/useActionTriggers.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useActionTriggers.es.js +7 -6
- package/dist/shared/src/hooks/useActionTriggers.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 +7 -6
- package/dist/shared/src/hooks/useEntityUpdate.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetEntityGroups.es.js +7 -6
- package/dist/shared/src/hooks/useGetEntityGroups.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 +7 -6
- 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 +7 -6
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedStatuses.es.js +9 -8
- package/dist/shared/src/hooks/useScopedStatuses.es.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js +1 -1
- package/dist/shared/src/hooks/useScopedTypes.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useScopedTypes.es.js +7 -6
- package/dist/shared/src/hooks/useScopedTypes.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 +7 -6
- 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 +86 -65
- package/dist/shared/src/util/columnConfigConverter.es.js.map +1 -1
- package/dist/shared/src/util/getThumbnailUrl.cjs.js +2 -0
- package/dist/shared/src/util/getThumbnailUrl.cjs.js.map +1 -0
- package/dist/shared/src/util/getThumbnailUrl.es.js +23 -0
- package/dist/shared/src/util/getThumbnailUrl.es.js.map +1 -0
- package/dist/shared/src/util/thumbnailWebsocket.cjs.js +2 -0
- package/dist/shared/src/util/thumbnailWebsocket.cjs.js.map +1 -0
- package/dist/shared/src/util/thumbnailWebsocket.es.js +54 -0
- package/dist/shared/src/util/thumbnailWebsocket.es.js.map +1 -0
- package/dist/types/api/generated/folders.d.ts +1 -6
- package/dist/types/api/generated/graphql.d.ts +275 -6
- package/dist/types/api/generated/graphqlLinks.d.ts +7 -4
- package/dist/types/api/queries/activities/activityQueries.d.ts +1 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +47 -0
- package/dist/types/api/queries/activities/types.d.ts +1 -1
- package/dist/types/api/queries/activities/updateActivities.d.ts +94 -0
- package/dist/types/api/queries/activities/util/activitiesHelpers.d.ts +2 -1
- package/dist/types/api/queries/columnStats/columnStats.d.ts +28 -0
- package/dist/types/api/queries/columnStats/index.d.ts +2 -0
- package/dist/types/api/queries/columnStats/metricTargets.d.ts +31 -0
- package/dist/types/api/queries/entities/getEntity.d.ts +47 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +47 -0
- package/dist/types/api/queries/entities/transformDetailsPanelData.d.ts +1 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +47 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +47 -0
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/overview/filterRefetchUtils.d.ts +1 -1
- package/dist/types/api/queries/overview/getOverview.d.ts +733 -1
- package/dist/types/api/queries/overview/updateOverview.d.ts +1 -1
- package/dist/types/api/queries/project/getProject.d.ts +47 -0
- package/dist/types/api/queries/tasks/updateTasks.d.ts +1 -1
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +69 -0
- package/dist/types/api/queries/users/getUsers.d.ts +459 -413
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +828 -1
- package/dist/types/components/EntityPanelUploader/EntityPanelUploader.d.ts +1 -11
- package/dist/types/components/Thumbnail/StackedThumbnails.d.ts +2 -2
- package/dist/types/components/Thumbnail/Thumbnail.d.ts +2 -2
- package/dist/types/components/ThumbnailSimple/ThumbnailSimple.d.ts +1 -1
- package/dist/types/config/powerpackFeatures.d.ts +1 -1
- package/dist/types/containers/DetailsPanel/containers/FeedWrapper.d.ts +1 -0
- package/dist/types/containers/DetailsPanel/helpers/getThumbnails.d.ts +2 -2
- package/dist/types/containers/Feed/components/ActivityVersions/ActivityVersions.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +8 -3
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/buildTreeTableColumns.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +14 -0
- package/dist/types/containers/ProjectTreeTable/constants.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/context/ColumnSettingsContext.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/context/SelectionCellsContext.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +17 -1
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/types/summaryTypes.d.ts +50 -0
- package/dist/types/containers/ProjectTreeTable/types/table.d.ts +3 -0
- package/dist/types/containers/ProjectTreeTable/utils/checkColumnVisibility.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/widgets/ThumbnailWidget.d.ts +1 -1
- package/dist/types/containers/Views/hooks/useSelectedView.d.ts +2 -1
- package/dist/types/containers/Views/utils/viewUpdateHelper.d.ts +7 -3
- package/dist/types/util/getThumbnailUrl.d.ts +18 -0
- package/dist/types/util/index.d.ts +2 -0
- package/dist/types/util/thumbnailWebsocket.d.ts +21 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +35 -30
- package/dist/util.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../../../_virtual/jsx-runtime.cjs.js"),I=require("react"),ne=require("./MenuItem.cjs.js"),ue=require("@ynput/ayon-react-components"),O=require("./Menu.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const oe=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/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/updateActivities.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/cloud/cloud.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/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../../../../_virtual/jsx-runtime.cjs.js"),I=require("react"),ne=require("./MenuItem.cjs.js"),ue=require("@ynput/ayon-react-components"),O=require("./Menu.styled.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const oe=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/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/updateActivities.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/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.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/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("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.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("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const se=({items:V,handleClick:W,onSubMenu:H,onSubMenuLayout:T,subMenu:a,level:A,id:y="root-menu",parentRef:M,style:l,placement:k,onClose:K,onMenuClose:_,itemClassName:Y,itemStyle:z,setPowerpackDialog:G,...J})=>{const D=I.useRef({}),E=I.useRef(null),S=(r,p,d)=>{const g=D.current[p],h=E.current;if(!g||!h)return;const m=(h.offsetParent??document.body).getBoundingClientRect(),f=g.getBoundingClientRect(),t=(h.querySelector("menu")??h).getBoundingClientRect(),P=window.innerWidth,v=window.innerHeight,i=8,o=Math.max(240,t.width),L=Math.min(d.length*36+16,480),w=4,n=()=>Math.max(i,t.left-o-w),R=()=>t.right+w,x=R()+o<=P-i,e=n()>=i;let s,c;k==="left"&&e?(s="left",c=n()):x?(s="right",c=R()):e?(s="left",c=n()):(s="left",c=Math.max(i,P-o-i));let q=f.top-8;q+L>v-i&&(q=Math.max(i,v-L-i));const j=s==="left"?c-16:c;H?.(r,{id:p,style:{top:q-m.top,left:j-m.left},items:d,level:A,placement:s,parentEl:g})},Q=r=>{a&&H?.(r,{id:"parent",items:[]})};return I.useEffect(()=>{a&&E.current&&E.current.querySelectorAll("li, button")[0]?.focus()},[a]),I.useLayoutEffect(()=>{if(!a||!E.current||!M||!T||!y)return;const r=E.current,p=M,d=p.closest(".menu-list, .sub-menu");if(!d)return;const g=r.querySelector("menu")??r,h=d.querySelector("menu")??d,m=(r.offsetParent??document.body).getBoundingClientRect(),f=r.getBoundingClientRect(),u=g.getBoundingClientRect(),t=h.getBoundingClientRect(),P=p.getBoundingClientRect(),v=u.left-f.left,i=u.width,o=u.height,L=window.innerWidth,w=window.innerHeight,n=8,R=4,x=()=>Math.max(n,t.left-i-R),e=()=>t.right+R,s=e()+i<=L-n,c=x()>=n;let b,q;k==="left"&&c?(b="left",q=x()):s?(b="right",q=e()):c?(b="left",q=x()):(b="left",q=Math.max(n,L-i-n));const j=g.querySelector(":scope > li")?.getBoundingClientRect(),X=P.top,Z=j?j.top:f.top+8,ee=X-Z;let F=f.top+ee;F+o>w-n&&(F=Math.max(n,w-o-n));const re=b==="left"?q-v:q,$=F-m.top,N=re-m.left,te=typeof l?.top=="number"?l.top:parseFloat(String(l?.top)),ie=typeof l?.left=="number"?l.left:parseFloat(String(l?.left));(Math.abs($-te)>1||Math.abs(N-ie)>1)&&T(y,{top:$,left:N},b)},[a,V,M,y,k,l?.top,l?.left,T]),C.jsxRuntimeExports.jsx(O.MenuWrapper,{style:{paddingLeft:a?16:0,...l},className:a?"sub-menu":"menu-list",id:y,onMouseLeave:Q,...J,ref:E,children:C.jsxRuntimeExports.jsx(O.Menu,{children:V.filter(r=>!r.hidden).map((r,p)=>{if(r.node)return r.node;if(r?.id==="divider"||r?.separator)return C.jsxRuntimeExports.jsx("hr",{},p);const{label:d,icon:g,img:h,highlighted:B,onClick:m,link:f,items:u=[],id:t,disableClose:P,selected:v,disabled:i,powerFeature:o,active:L,...w}=r,{powerLicense:n}=oe.usePowerpack(),R=!n&&o,x=e=>{e.preventDefault(),e.stopPropagation(),o&&G?.(o),_?.()};return C.jsxRuntimeExports.jsx(ne,{tabIndex:0,label:d,icon:g,img:h,highlighted:B,items:u,selected:v,disabled:i,powerFeature:o,active:L,isLink:f,onClick:e=>R?x(e):u.length?S(e,t,u):W(e,m,f,P),onKeyDown:e=>{e.key==="Enter"&&(R?x(e):u.length?S(e,t,u):W(e,m,f));const s=!e.target.nextSibling;e.key==="Tab"&&s&&!e.shiftKey&&(e.preventDefault(),e.stopPropagation(),E.current?.querySelectorAll("li, button")[0]?.focus()),e.key==="Escape"&&a&&M&&(e.preventDefault(),e.stopPropagation(),M.focus(),K?.(t))},style:{paddingRight:u.length?"0":"16px",...z},ref:e=>D.current[t]=e,onMouseEnter:e=>S(e,t,u),onMouseLeave:e=>S(e,t,[]),className:`${Y} ${w.className||""}`,...w,children:!!u.length&&C.jsxRuntimeExports.jsx(ue.Icon,{icon:"arrow_right",style:{marginLeft:"auto"}})},`${t}-${p}`)})})})};exports.MenuList=se;
|
|
2
2
|
//# sourceMappingURL=MenuList.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.cjs.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MenuList.cjs.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":"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"}
|
|
@@ -60,10 +60,15 @@ import "../../api/queries/attributes/getAttributes.es.js";
|
|
|
60
60
|
import "../../api/queries/attributes/updateAttributes.es.js";
|
|
61
61
|
import "../../api/queries/authentication/getAuthentication.es.js";
|
|
62
62
|
import "../../api/queries/cloud/cloud.es.js";
|
|
63
|
+
import "../../api/queries/columnStats/metricTargets.es.js";
|
|
63
64
|
import "../../api/queries/config/getConfig.es.js";
|
|
64
65
|
import "../../api/queries/config/updateConfig.es.js";
|
|
65
66
|
import "../../api/queries/entities/getEntity.es.js";
|
|
66
67
|
import "../../api/queries/entities/getEntityPanel.es.js";
|
|
68
|
+
import "../../api/queries/overview/getOverview.es.js";
|
|
69
|
+
import "../../api/queries/overview/updateOverview.es.js";
|
|
70
|
+
import "../../api/queries/versions/getVersionsProducts.es.js";
|
|
71
|
+
import "../../api/queries/links/getEntityLinks.es.js";
|
|
67
72
|
import "../../api/queries/entities/updateEntity.es.js";
|
|
68
73
|
import "../../api/queries/entityLists/getLists.es.js";
|
|
69
74
|
import "../../api/queries/entityLists/updateLists.es.js";
|
|
@@ -75,10 +80,6 @@ import "../../api/queries/folders/getFolderDeleteInfo.es.js";
|
|
|
75
80
|
import "../../api/queries/grouping/getGrouping.es.js";
|
|
76
81
|
import "../../api/queries/links/updateLinks.es.js";
|
|
77
82
|
import "../../api/queries/links/getLinks.es.js";
|
|
78
|
-
import "../../api/queries/links/getEntityLinks.es.js";
|
|
79
|
-
import "../../api/queries/overview/getOverview.es.js";
|
|
80
|
-
import "../../api/queries/overview/updateOverview.es.js";
|
|
81
|
-
import "../../api/queries/versions/getVersionsProducts.es.js";
|
|
82
83
|
import "../../api/queries/permissions/getPermissions.es.js";
|
|
83
84
|
import "../../api/queries/products/createProduct.es.js";
|
|
84
85
|
import "../../api/queries/products/getFolderProducts.es.js";
|
|
@@ -123,7 +124,7 @@ import "../../context/WebsocketContext.es.js";
|
|
|
123
124
|
import "../../context/GlobalContext.es.js";
|
|
124
125
|
import "../../context/ProjectContext.es.js";
|
|
125
126
|
import "../../context/ProjectFoldersContext.es.js";
|
|
126
|
-
const
|
|
127
|
+
const Ie = ({
|
|
127
128
|
items: V,
|
|
128
129
|
handleClick: W,
|
|
129
130
|
onSubMenu: q,
|
|
@@ -246,6 +247,6 @@ const ye = ({
|
|
|
246
247
|
);
|
|
247
248
|
};
|
|
248
249
|
export {
|
|
249
|
-
|
|
250
|
+
Ie as MenuList
|
|
250
251
|
};
|
|
251
252
|
//# sourceMappingURL=MenuList.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.es.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCO,MAAMA,KAAoC,CAAC;AAAA,EAChD,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,IAAAC,IAAK;AAAA,EACL,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAWC,EAA8C,EAAE,GAC3DC,IAAUD,EAAuB,IAAI,GAErCE,IAAgB,CAACC,GAAqBd,GAAYN,MAA0B;AAChF,UAAMqB,IAASL,EAAS,QAAQV,CAAE,GAC5BgB,IAAeJ,EAAQ;AAC7B,QAAI,CAACG,KAAU,CAACC,EAAc;AAM9B,UAAMC,KADgBD,EAAa,gBAAuC,SAAS,MAC7C,sBAAA,GAChCE,IAAWH,EAAO,sBAAA,GAIlBI,KADmBH,EAAa,cAAc,MAAM,KAA4BA,GAC5C,sBAAA,GAEpCI,IAAgB,OAAO,YACvBC,IAAiB,OAAO,aACxBC,IAAU,GAGVC,IAAiB,KAAK,IAAI,KAAKJ,EAAkB,KAAK,GACtDK,IAAkB,KAAK,IAAI9B,EAAM,SAAS,KAAK,IAAI,GAAG,GAMtD+B,IAAM,GACNC,IAAkB,MAAM,KAAK,IAAIJ,GAASH,EAAkB,OAAOI,IAAiBE,CAAG,GACvFE,IAAmB,MAAMR,EAAkB,QAAQM,GACnDG,IAAYD,EAAA,IAAqBJ,KAAkBH,IAAgBE,GACnEO,IAAWH,OAAqBJ;AAEtC,QAAIQ,GACAC;AACJ,IAAI5B,MAAc,UAAU0B,KAC1BC,IAAgB,QAChBC,IAAeL,EAAA,KACNE,KACTE,IAAgB,SAChBC,IAAeJ,EAAA,KACNE,KACTC,IAAgB,QAChBC,IAAeL,EAAA,MAGfI,IAAgB,QAChBC,IAAe,KAAK,IAAIT,GAASF,IAAgBG,IAAiBD,CAAO;AAM3E,QAAIU,IAAcd,EAAS,MADJ;AAEvB,IAAIc,IAAcR,IAAkBH,IAAiBC,MACnDU,IAAc,KAAK,IAAIV,GAASD,IAAiBG,IAAkBF,CAAO;AAQ5E,UAAMW,IAAcH,MAAkB,SAASC,IADpB,KACwDA;AAEnF,IAAAnC,IAAYkB,GAAG;AAAA,MACb,IAAAd;AAAAA,MACA,OAAO;AAAA,QACL,KAAKgC,IAAcf,EAAiB;AAAA,QACpC,MAAMgB,IAAchB,EAAiB;AAAA,MAAA;AAAA,MAEvC,OAAAvB;AAAAA,MACA,OAAAK;AAAA,MACA,WAAW+B;AAAA;AAAA;AAAA,MAGX,UAAUf;AAAA,IAAA,CACX;AAAA,EACH,GAEMmB,IAAmB,CAACpB,MAAwB;AAChD,IAAIhB,KACFF,IAAYkB,GAAG,EAAE,IAAI,UAAU,OAAO,CAAA,GAAI;AAAA,EAE9C;AAGA,SAAAqB,GAAU,MAAM;AACd,IAAIrC,KAAWc,EAAQ,WACPA,EAAQ,QAAQ,iBAAiB,YAAY,EAAE,CAAC,GACvD,MAAA;AAAA,EAEX,GAAG,CAACd,CAAO,CAAC,GAIZsC,GAAgB,MAAM;AACpB,QAAI,CAACtC,KAAW,CAACc,EAAQ,WAAW,CAACX,KAAa,CAACJ,KAAmB,CAACG,EAAI;AAC3E,UAAMqC,IAAYzB,EAAQ,SACpB0B,IAAerC,GACfe,IAAesB,EAAa,QAAQ,uBAAuB;AACjE,QAAI,CAACtB,EAAc;AAInB,UAAMuB,IAAgBF,EAAU,cAAc,MAAM,KAA4BA,GAC1EG,IAAmBxB,EAAa,cAAc,MAAM,KAA4BA,GAGhFC,KADgBoB,EAAU,gBAAuC,SAAS,MAC1C,sBAAA,GAChCI,IAAcJ,EAAU,sBAAA,GACxBK,IAAiBH,EAAa,sBAAA,GAC9BpB,IAAoBqB,EAAgB,sBAAA,GACpCG,IAAiBL,EAAa,sBAAA,GAI9BM,IAAqBF,EAAe,OAAOD,EAAY,MACvDI,IAAeH,EAAe,OAC9BI,IAAgBJ,EAAe,QAE/BtB,IAAgB,OAAO,YACvBC,IAAiB,OAAO,aACxBC,IAAU,GAEVG,IAAM,GACNC,IAAkB,MAAM,KAAK,IAAIJ,GAASH,EAAkB,OAAO0B,IAAepB,CAAG,GACrFE,IAAmB,MAAMR,EAAkB,QAAQM,GACnDG,IAAYD,EAAA,IAAqBkB,KAAgBzB,IAAgBE,GACjEO,IAAWH,OAAqBJ;AAEtC,QAAIQ,GACAC;AACJ,IAAI5B,MAAc,UAAU0B,KAC1BC,IAAgB,QAChBC,IAAeL,EAAA,KACNE,KACTE,IAAgB,SAChBC,IAAeJ,EAAA,KACNE,KACTC,IAAgB,QAChBC,IAAeL,EAAA,MAEfI,IAAgB,QAChBC,IAAe,KAAK,IAAIT,GAASF,IAAgByB,IAAevB,CAAO;AAOzE,UAAMyB,IADcR,EAAa,cAAc,aAAa,GACzB,sBAAA,GAG7BS,IAAsBL,EAAe,KACrCM,IAAsBF,IAAgBA,EAAc,MAAMN,EAAY,MAAM,GAC5ES,IAASF,IAAsBC;AACrC,QAAIjB,IAAcS,EAAY,MAAMS;AACpC,IAAIlB,IAAcc,IAAgBzB,IAAiBC,MACjDU,IAAc,KAAK,IAAIV,GAASD,IAAiByB,IAAgBxB,CAAO;AAI1E,UAAMW,KACJH,MAAkB,SAASC,IAAea,IAAqBb,GAE3DoB,IAAYnB,IAAcf,EAAiB,KAC3CmC,IAAanB,KAAchB,EAAiB,MAC5CoC,KAAa,OAAOnD,GAAO,OAAQ,WAAWA,EAAM,MAAM,WAAW,OAAOA,GAAO,GAAG,CAAC,GACvFoD,KACJ,OAAOpD,GAAO,QAAS,WAAWA,EAAM,OAAO,WAAW,OAAOA,GAAO,IAAI,CAAC;AAO/E,KAAI,KAAK,IAAIiD,IAAYE,EAAU,IAAI,KAAK,KAAK,IAAID,IAAaE,EAAW,IAAI,MAC/EzD,EAAgBG,GAAI,EAAE,KAAKmD,GAAW,MAAMC,EAAA,GAActB,CAAa;AAAA,EAE3E,GAAG,CAAChC,GAASJ,GAAOO,GAAWD,GAAIG,GAAWD,GAAO,KAAKA,GAAO,MAAML,CAAe,CAAC,GAGrF0D,gBAAAA,EAAAA;AAAAA,IAACC;AAAAA,IAAA;AAAA,MACC,OAAO,EAAE,aAAa1D,IAAU,KAAK,GAAG,GAAGI,EAAA;AAAA,MAC3C,WAAWJ,IAAU,aAAa;AAAA,MAClC,IAAAE;AAAA,MACA,cAAckC;AAAA,MACb,GAAGzB;AAAA,MACJ,KAAKG;AAAA,MAEL,UAAA2C,gBAAAA,EAAAA,IAACE,IAAA,EACE,YACE,OAAO,CAACC,MAAS,CAACA,EAAK,MAAM,EAC7B,IAAI,CAACA,GAAMC,MAAM;AAEhB,YAAID,EAAK;AACP,iBAAOA,EAAK;AAGd,YAAIA,GAAM,OAAO,aAAaA,GAAM,UAAY,QAAOH,gBAAAA,MAAC,UAAQI,CAAG;AAEnE,cAAM;AAAA,UACJ,OAAAC;AAAA,UACA,MAAAC;AAAA,UACA,KAAAC;AAAA,UACA,aAAAC;AAAA,UACA,SAAAC;AAAA,UACA,MAAAC;AAAA,UACA,OAAAvE,IAAQ,CAAA;AAAA,UACR,IAAAM;AAAAA,UACA,cAAAkE;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,cAAAC;AAAA,UACA,QAAAC;AAAA,UACA,GAAG7D;AAAAA,QAAA,IACDiD,GAEE,EAAE,cAAAa,EAAA,IAAiBC,GAAA,GACnBC,IAAiB,CAACF,KAAgBF,GAElCK,IAA0B,CAAC5D,MAAwB;AACvD,UAAAA,EAAE,eAAA,GACFA,EAAE,gBAAA,GACEuD,KACF7D,IAAqB6D,CAAY,GAInChE,IAAA;AAAA,QACF;AAEA,eACEkD,gBAAAA,EAAAA;AAAAA,UAACoB;AAAA,UAAA;AAAA,YACC,UAAU;AAAA,YAGR,OAAAf;AAAA,YACA,MAAAC;AAAA,YACA,KAAAC;AAAA,YACA,aAAAC;AAAA,YACA,OAAArE;AAAAA,YACA,UAAAyE;AAAA,YACA,UAAAC;AAAA,YACA,cAAAC;AAAA,YACA,QAAAC;AAAA,YAEF,QAAQL;AAAA,YACR,SAAS,CAACnD,MACR2D,IACIC,EAAwB5D,CAAC,IACzBpB,EAAM,SACNmB,EAAcC,GAAGd,GAAIN,CAAK,IAC1BC,EAAYmB,GAAGkD,GAASC,GAAMC,CAAY;AAAA,YAEhD,WAAW,CAACpD,MAAwC;AAClD,cAAIA,EAAE,QAAQ,YACR2D,IACFC,EAAwB5D,CAAQ,IACvBpB,EAAM,SACfmB,EAAcC,GAAUd,GAAIN,CAAK,IAEjCC,EAAYmB,GAAUkD,GAASC,CAAI;AAGvC,oBAAMW,IAAc,CAAE9D,EAAE,OAAuB;AAC/C,cAAIA,EAAE,QAAQ,SAAS8D,KAAe,CAAC9D,EAAE,aACvCA,EAAE,eAAA,GACFA,EAAE,gBAAA,GAEYF,EAAQ,SAAS,iBAAiB,YAAY,EAAE,CAAC,GACxD,MAAA,IAGLE,EAAE,QAAQ,YAAYhB,KAAWG,MACnCa,EAAE,eAAA,GACFA,EAAE,gBAAA,GACFb,EAAU,MAAA,GACVG,IAAUJ,CAAE;AAAA,YAEhB;AAAA,YACA,OAAO,EAAE,cAAcN,EAAM,SAAS,MAAM,QAAQ,GAAGa,EAAA;AAAA,YACvD,KAAK,CAACO,MAAOJ,EAAS,QAAQV,CAAE,IAAIc;AAAA,YACpC,cAAc,CAACA,MAAMD,EAAcC,GAAGd,GAAIN,CAAK;AAAA,YAC/C,cAAc,CAACoB,MAAMD,EAAcC,GAAGd,GAAI,CAAA,CAAE;AAAA,YAC5C,WAAW,GAAGM,CAAa,IAAIG,EAAM,aAAa,EAAE;AAAA,YACnD,GAAGA;AAAAA,YAEH,UAAA,CAAC,CAACf,EAAM,UAAU6D,gBAAAA,EAAAA,IAACsB,IAAA,EAAK,MAAK,eAAc,OAAO,EAAE,YAAY,OAAA,EAAO,CAAG;AAAA,UAAA;AAAA,UArDtE,GAAG7E,CAAE,IAAI2D,CAAC;AAAA,QAAA;AAAA,MAwDrB,CAAC,EAAA,CACL;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
1
|
+
{"version":3,"file":"MenuList.es.js","sources":["../../../../../src/components/Menu/MenuList.tsx"],"sourcesContent":["import React, { useEffect, useLayoutEffect, useRef } from 'react'\nimport MenuItem from './MenuItem'\nimport { Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './Menu.styled'\nimport { PowerpackFeature, usePowerpack } from '@shared/context'\nimport type { MenuItemType } from './Menu'\n\ninterface MenuListProps {\n items: MenuItemType[]\n handleClick: (\n e: React.MouseEvent,\n onClick?: (e: React.MouseEvent) => void,\n url?: string,\n disableClose?: boolean,\n ) => void\n onSubMenu?: (e: React.MouseEvent, menu: any) => void\n /** Called by a sub-menu after it mounts, with its real measured style. Lets the parent\n * refit using actual width/height instead of the open-time estimate. */\n onSubMenuLayout?: (id: string, style: React.CSSProperties, placement: 'left' | 'right') => void\n subMenu?: boolean\n level: number\n id?: string\n parentRef?: HTMLElement | null\n style?: React.CSSProperties\n /** Placement of THIS menu relative to its parent. Inherited by descendants so once\n * a chain flips to one side it stays there. */\n placement?: 'left' | 'right'\n onClose?: (id?: string) => void\n onMenuClose?: () => void\n itemClassName?: string\n itemStyle?: React.CSSProperties\n setPowerpackDialog?: (feature: PowerpackFeature) => void\n [key: string]: any\n}\n\nexport const MenuList: React.FC<MenuListProps> = ({\n items,\n handleClick,\n onSubMenu,\n onSubMenuLayout,\n subMenu,\n level,\n id = 'root-menu',\n parentRef,\n style,\n placement,\n onClose,\n onMenuClose,\n itemClassName,\n itemStyle,\n setPowerpackDialog,\n ...props\n}) => {\n const itemRefs = useRef<{ [key: string]: HTMLElement | null }>({})\n const menuRef = useRef<HTMLDivElement>(null)\n\n const handleSubMenu = (e: React.MouseEvent, id: string, items: MenuItemType[]) => {\n const itemEl = itemRefs.current[id]\n const parentMenuEl = menuRef.current\n if (!itemEl || !parentMenuEl) return\n\n // Sub-menus render absolute inside DialogContent. Compute viewport-anchored coords\n // from this item's bounding rect, then translate into the offsetParent's coord space.\n // Each level computes independently — no inherited offsets that drift across depth.\n const offsetParent = (parentMenuEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const itemRect = itemEl.getBoundingClientRect()\n // Use the visible inner <menu> element if present — the wrapper has 16px paddingLeft\n // for sub-menus which would otherwise produce a phantom gap on flip-left chains.\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n // Use the parent's visible width as the initial estimate — sub-menus tend to be\n // similar size or smaller. Falls back to 240 if parent is unusually narrow.\n const estimatedWidth = Math.max(240, parentVisibleRect.width)\n const estimatedHeight = Math.min(items.length * 36 + 16, 480)\n\n // Choose horizontal placement. If an ancestor sub-menu has already flipped to the\n // left, every descendant sub-menu also goes left — DetailsPanel scenarios put the\n // root menu near the right edge of the screen, so flipping flip-flop on each level\n // would push deep menus back into the panel content.\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - estimatedWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + estimatedWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n // Neither side fits cleanly — clamp to viewport, prefer left.\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - estimatedWidth - padding)\n }\n\n // Align first sub-menu item with the hovered parent item. The visible <menu> has\n // 8px top padding, so the wrapper top sits 8px above the item top.\n const innerTopOffset = 8\n let viewportTop = itemRect.top - innerTopOffset\n if (viewportTop + estimatedHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - estimatedHeight - padding)\n }\n\n // Sub-menu wrappers carry 16px paddingLeft (so their wrapper rect is wider than\n // the visible menu). When we anchor on the LEFT side, the visible menu sits 16px\n // inside the wrapper — pull the wrapper left so the visible right edge lines up\n // with parentVisibleRect.left.\n const subMenuPaddingLeft = 16\n const wrapperLeft = nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n onSubMenu?.(e, {\n id,\n style: {\n top: viewportTop - offsetParentRect.top,\n left: wrapperLeft - offsetParentRect.left,\n },\n items,\n level: level,\n placement: nextPlacement,\n // Pass the actual menu-item element so sub-menu measurement uses the <li>\n // instead of whatever inner span the mouse event bubbled from.\n parentEl: itemEl,\n })\n }\n\n const handleMouseLeave = (e: React.MouseEvent) => {\n if (subMenu) {\n onSubMenu?.(e, { id: 'parent', items: [] })\n }\n }\n\n // when a subMenu open, set focus on the first item\n useEffect(() => {\n if (subMenu && menuRef.current) {\n const first = menuRef.current.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n }, [subMenu])\n\n // Sub-menus open with an estimated width — once mounted, measure for real and refit.\n // Reuses the same flip/clamp rules as handleSubMenu but with the actual rendered size.\n useLayoutEffect(() => {\n if (!subMenu || !menuRef.current || !parentRef || !onSubMenuLayout || !id) return\n const wrapperEl = menuRef.current\n const parentItemEl = parentRef\n const parentMenuEl = parentItemEl.closest('.menu-list, .sub-menu') as HTMLElement | null\n if (!parentMenuEl) return\n // Measure visible boxes (the inner <menu> tag), not wrappers. Sub-menu wrappers\n // carry 16px paddingLeft which inflates the rect on the left side and would\n // otherwise produce phantom gaps when flipping left.\n const ownVisibleEl = (wrapperEl.querySelector('menu') as HTMLElement | null) ?? wrapperEl\n const parentVisibleEl = (parentMenuEl.querySelector('menu') as HTMLElement | null) ?? parentMenuEl\n\n const offsetParent = (wrapperEl.offsetParent as HTMLElement | null) ?? document.body\n const offsetParentRect = offsetParent.getBoundingClientRect()\n const wrapperRect = wrapperEl.getBoundingClientRect()\n const ownVisibleRect = ownVisibleEl.getBoundingClientRect()\n const parentVisibleRect = parentVisibleEl.getBoundingClientRect()\n const parentItemRect = parentItemEl.getBoundingClientRect()\n\n // Some wrappers have 16px left padding (sub-menus). Track it so we can place the\n // wrapper such that the visible-menu edge — not the wrapper edge — lines up.\n const subMenuPaddingLeft = ownVisibleRect.left - wrapperRect.left\n const visibleWidth = ownVisibleRect.width\n const visibleHeight = ownVisibleRect.height\n\n const viewportWidth = window.innerWidth\n const viewportHeight = window.innerHeight\n const padding = 8\n\n const gap = 4\n const computeLeftSide = () => Math.max(padding, parentVisibleRect.left - visibleWidth - gap)\n const computeRightSide = () => parentVisibleRect.right + gap\n const fitsRight = computeRightSide() + visibleWidth <= viewportWidth - padding\n const fitsLeft = computeLeftSide() >= padding\n\n let nextPlacement: 'left' | 'right'\n let viewportLeft: number\n if (placement === 'left' && fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else if (fitsRight) {\n nextPlacement = 'right'\n viewportLeft = computeRightSide()\n } else if (fitsLeft) {\n nextPlacement = 'left'\n viewportLeft = computeLeftSide()\n } else {\n nextPlacement = 'left'\n viewportLeft = Math.max(padding, viewportWidth - visibleWidth - padding)\n }\n\n // Align this sub-menu's first <li> with the hovered parent item.\n // Direct DOM measurement is more robust than computed-style math across nested\n // levels — picks up any box-sizing / margin quirks that pure padding values miss.\n const firstItemEl = ownVisibleEl.querySelector(':scope > li') as HTMLElement | null\n const firstItemRect = firstItemEl?.getBoundingClientRect()\n // Move the wrapper by exactly the delta between where the first <li> currently is\n // and where we want it (parent item's top). Avoids any cascading offset arithmetic.\n const desiredFirstItemTop = parentItemRect.top\n const currentFirstItemTop = firstItemRect ? firstItemRect.top : wrapperRect.top + 8\n const deltaY = desiredFirstItemTop - currentFirstItemTop\n let viewportTop = wrapperRect.top + deltaY\n if (viewportTop + visibleHeight > viewportHeight - padding) {\n viewportTop = Math.max(padding, viewportHeight - visibleHeight - padding)\n }\n\n // Wrapper origin: visible target minus the wrapper's left padding when on the left.\n const wrapperLeft =\n nextPlacement === 'left' ? viewportLeft - subMenuPaddingLeft : viewportLeft\n\n const targetTop = viewportTop - offsetParentRect.top\n const targetLeft = wrapperLeft - offsetParentRect.left\n const currentTop = typeof style?.top === 'number' ? style.top : parseFloat(String(style?.top))\n const currentLeft =\n typeof style?.left === 'number' ? style.left : parseFloat(String(style?.left))\n\n // Idempotent guard: only emit a layout update when the target differs by >1px\n // from what's already applied. This makes the effect safe to re-run on every\n // dependency change — including `style`, which we update from inside this effect.\n // After a successful update, the new style flows back as props, the effect runs\n // once more, current ≈ target, and the guard is a no-op. No infinite loop.\n if (Math.abs(targetTop - currentTop) > 1 || Math.abs(targetLeft - currentLeft) > 1) {\n onSubMenuLayout(id, { top: targetTop, left: targetLeft }, nextPlacement)\n }\n }, [subMenu, items, parentRef, id, placement, style?.top, style?.left, onSubMenuLayout])\n\n return (\n <Styled.MenuWrapper\n style={{ paddingLeft: subMenu ? 16 : 0, ...style }}\n className={subMenu ? 'sub-menu' : 'menu-list'}\n id={id}\n onMouseLeave={handleMouseLeave}\n {...props}\n ref={menuRef}\n >\n <Styled.Menu>\n {items\n .filter((item) => !item.hidden)\n .map((item, i) => {\n // if item is a node, return it\n if (item.node) {\n return item.node\n }\n\n if (item?.id === 'divider' || item?.separator ) return <hr key={i} />\n\n const {\n label,\n icon,\n img,\n highlighted,\n onClick,\n link,\n items = [],\n id,\n disableClose,\n selected,\n disabled,\n powerFeature,\n active,\n ...props\n } = item\n\n const { powerLicense } = usePowerpack()\n const isPowerFeature = !powerLicense && powerFeature\n\n const handleClickPowerFeature = (e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n if (powerFeature) {\n setPowerpackDialog?.(powerFeature)\n }\n\n // close the menu\n onMenuClose?.()\n }\n\n return (\n <MenuItem\n tabIndex={0}\n key={`${id}-${i}`}\n {...{\n label,\n icon,\n img,\n highlighted,\n items,\n selected,\n disabled,\n powerFeature,\n active,\n }}\n isLink={link}\n onClick={(e) =>\n isPowerFeature\n ? handleClickPowerFeature(e)\n : items.length\n ? handleSubMenu(e, id, items)\n : handleClick(e, onClick, link, disableClose)\n }\n onKeyDown={(e: React.KeyboardEvent<HTMLElement>) => {\n if (e.key === 'Enter') {\n if (isPowerFeature) {\n handleClickPowerFeature(e as any)\n } else if (items.length) {\n handleSubMenu(e as any, id, items)\n } else {\n handleClick(e as any, onClick, link)\n }\n }\n const isLastChild = !(e.target as HTMLElement).nextSibling\n if (e.key === 'Tab' && isLastChild && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n // when at bottom of list, tab goes to top\n const first = menuRef.current?.querySelectorAll('li, button')[0] as HTMLElement\n first?.focus()\n }\n // when a submenu is open, esc closes it and sets focus on the parent\n if (e.key === 'Escape' && subMenu && parentRef) {\n e.preventDefault()\n e.stopPropagation()\n parentRef.focus()\n onClose?.(id)\n }\n }}\n style={{ paddingRight: items.length ? '0' : '16px', ...itemStyle }}\n ref={(e) => (itemRefs.current[id] = e)}\n onMouseEnter={(e) => handleSubMenu(e, id, items)}\n onMouseLeave={(e) => handleSubMenu(e, id, [])}\n className={`${itemClassName} ${props.className || ''}`}\n {...props}\n >\n {!!items.length && <Icon icon=\"arrow_right\" style={{ marginLeft: 'auto' }} />}\n </MenuItem>\n )\n })}\n </Styled.Menu>\n </Styled.MenuWrapper>\n )\n}\n"],"names":["MenuList","items","handleClick","onSubMenu","onSubMenuLayout","subMenu","level","id","parentRef","style","placement","onClose","onMenuClose","itemClassName","itemStyle","setPowerpackDialog","props","itemRefs","useRef","menuRef","handleSubMenu","e","itemEl","parentMenuEl","offsetParentRect","itemRect","parentVisibleRect","viewportWidth","viewportHeight","padding","estimatedWidth","estimatedHeight","gap","computeLeftSide","computeRightSide","fitsRight","fitsLeft","nextPlacement","viewportLeft","viewportTop","wrapperLeft","handleMouseLeave","useEffect","useLayoutEffect","wrapperEl","parentItemEl","ownVisibleEl","parentVisibleEl","wrapperRect","ownVisibleRect","parentItemRect","subMenuPaddingLeft","visibleWidth","visibleHeight","firstItemRect","desiredFirstItemTop","currentFirstItemTop","deltaY","targetTop","targetLeft","currentTop","currentLeft","jsx","Styled.MenuWrapper","Styled.Menu","item","i","label","icon","img","highlighted","onClick","link","disableClose","selected","disabled","powerFeature","active","powerLicense","usePowerpack","isPowerFeature","handleClickPowerFeature","MenuItem","isLastChild","Icon"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const n=require("react"),d=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/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/updateActivities.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/cloud/cloud.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/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const n=require("react"),d=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/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/updateActivities.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/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.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/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("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.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("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const i=require("@ynput/ayon-react-components"),y=require("clsx"),m=require("styled-components"),b=m(i.Button)`
|
|
2
2
|
transition: color 0.2s, background-color 0.2s, opacity 0.2s;
|
|
3
3
|
|
|
4
4
|
.bolt {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerpackButton.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","e","jsxs","clsx","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PowerpackButton.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","e","jsxs","clsx","Icon"],"mappings":"u0MAMMA,EAAeC,EAAOC,QAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0CrBC,EAAkBC,EAAAA,WAC7B,CAAC,CAAE,QAAAC,EAAS,QAAAC,EAAU,UAAW,QAAAC,EAAU,GAAM,KAAAC,EAAO,GAAO,GAAGC,CAAA,EAASC,IAAQ,CACjF,KAAM,CAAE,mBAAAC,CAAA,EAAuBC,eAAA,EAEzBC,EAAiBC,GAAqC,CAE1DH,EAAmBN,CAAO,EAE1BI,EAAM,UAAUK,CAAC,CACnB,EAEA,OACEC,EAAAA,kBAAAA,KAACf,EAAA,CACC,KAAMS,EAAM,MAAQ,OACnB,GAAGA,EACJ,IAAAC,EACA,QAASG,EACT,UAAW,CACT,OAAQP,IAAY,QAAA,EAEtB,UAAWU,EAAK,eAAgBP,EAAM,UAAW,CAAE,QAAAF,EAAS,EAC5D,eAAc,gBACd,qBAAoB,EAEnB,SAAA,CAAAE,EAAM,SACND,2BAASS,EAAAA,KAAA,CAAK,KAAK,OAAO,OAAM,GAAC,UAAU,MAAA,CAAO,CAAA,CAAA,CAAA,CAGzD,CACF"}
|
|
@@ -57,10 +57,15 @@ import "../../api/queries/attributes/getAttributes.es.js";
|
|
|
57
57
|
import "../../api/queries/attributes/updateAttributes.es.js";
|
|
58
58
|
import "../../api/queries/authentication/getAuthentication.es.js";
|
|
59
59
|
import "../../api/queries/cloud/cloud.es.js";
|
|
60
|
+
import "../../api/queries/columnStats/metricTargets.es.js";
|
|
60
61
|
import "../../api/queries/config/getConfig.es.js";
|
|
61
62
|
import "../../api/queries/config/updateConfig.es.js";
|
|
62
63
|
import "../../api/queries/entities/getEntity.es.js";
|
|
63
64
|
import "../../api/queries/entities/getEntityPanel.es.js";
|
|
65
|
+
import "../../api/queries/overview/getOverview.es.js";
|
|
66
|
+
import "../../api/queries/overview/updateOverview.es.js";
|
|
67
|
+
import "../../api/queries/versions/getVersionsProducts.es.js";
|
|
68
|
+
import "../../api/queries/links/getEntityLinks.es.js";
|
|
64
69
|
import "../../api/queries/entities/updateEntity.es.js";
|
|
65
70
|
import "../../api/queries/entityLists/getLists.es.js";
|
|
66
71
|
import "../../api/queries/entityLists/updateLists.es.js";
|
|
@@ -72,10 +77,6 @@ import "../../api/queries/folders/getFolderDeleteInfo.es.js";
|
|
|
72
77
|
import "../../api/queries/grouping/getGrouping.es.js";
|
|
73
78
|
import "../../api/queries/links/updateLinks.es.js";
|
|
74
79
|
import "../../api/queries/links/getLinks.es.js";
|
|
75
|
-
import "../../api/queries/links/getEntityLinks.es.js";
|
|
76
|
-
import "../../api/queries/overview/getOverview.es.js";
|
|
77
|
-
import "../../api/queries/overview/updateOverview.es.js";
|
|
78
|
-
import "../../api/queries/versions/getVersionsProducts.es.js";
|
|
79
80
|
import "../../api/queries/permissions/getPermissions.es.js";
|
|
80
81
|
import "../../api/queries/products/createProduct.es.js";
|
|
81
82
|
import "../../api/queries/products/getFolderProducts.es.js";
|
|
@@ -156,7 +157,7 @@ const b = f(d)`
|
|
|
156
157
|
&.rounded {
|
|
157
158
|
border-radius: var(--border-radius-xl);
|
|
158
159
|
}
|
|
159
|
-
`,
|
|
160
|
+
`, Ar = s(
|
|
160
161
|
({ feature: t, variant: i = "outline", rounded: m = !0, bolt: p = !1, ...o }, l) => {
|
|
161
162
|
const { setPowerpackDialog: a } = n(), c = (e) => {
|
|
162
163
|
a(t), o.onClick?.(e);
|
|
@@ -183,6 +184,6 @@ const b = f(d)`
|
|
|
183
184
|
}
|
|
184
185
|
);
|
|
185
186
|
export {
|
|
186
|
-
|
|
187
|
+
Ar as PowerpackButton
|
|
187
188
|
};
|
|
188
189
|
//# sourceMappingURL=PowerpackButton.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerpackButton.es.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","jsxs","clsx","Icon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PowerpackButton.es.js","sources":["../../../../../src/components/Powerpack/PowerpackButton.tsx"],"sourcesContent":["import { PowerpackFeature, usePowerpack } from '@shared/context'\nimport { Button, ButtonProps, Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { forwardRef, MouseEvent } from 'react'\nimport styled from 'styled-components'\n\nconst StyledButton = styled(Button)`\n transition: color 0.2s, background-color 0.2s, opacity 0.2s;\n\n .bolt {\n color: var(--md-sys-color-tertiary);\n }\n\n &.outline {\n color: var(--md-sys-color-tertiary);\n background-color: unset !important;\n border: 1px solid var(--md-sys-color-tertiary);\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.filled {\n color: var(--md-sys-color-tertiary);\n background-color: var(--md-sys-color-tertiary) !important;\n color: var(--md-sys-color-on-tertiary);\n\n .bolt {\n color: var(--md-sys-color-on-tertiary);\n }\n\n &:hover {\n color: var(--md-sys-color-on-tertiary);\n }\n }\n\n &.rounded {\n border-radius: var(--border-radius-xl);\n }\n`\n\nexport interface PowerpackButtonProps extends Omit<ButtonProps, 'variant'> {\n feature: PowerpackFeature\n variant?: 'filled' | 'surface' | 'outline'\n rounded?: boolean\n bolt?: boolean\n}\n\nexport const PowerpackButton = forwardRef<HTMLButtonElement, PowerpackButtonProps>(\n ({ feature, variant = 'outline', rounded = true, bolt = false, ...props }, ref) => {\n const { setPowerpackDialog } = usePowerpack()\n\n const handleOnClick = (e: MouseEvent<HTMLButtonElement>) => {\n // open a dialog to subscribe to Ynput Cloud\n setPowerpackDialog(feature)\n // Call the original onClick handler\n props.onClick?.(e)\n }\n\n return (\n <StyledButton\n icon={props.icon || 'bolt'}\n {...props}\n ref={ref}\n onClick={handleOnClick}\n iconProps={{\n filled: variant === 'filled',\n }}\n className={clsx('cloud-button', props.className, { rounded })}\n data-tooltip={`Power feature`}\n data-tooltip-delay={0}\n >\n {props.children}\n {bolt && <Icon icon=\"bolt\" filled className=\"bolt\" />}\n </StyledButton>\n )\n },\n)\n"],"names":["StyledButton","styled","Button","PowerpackButton","forwardRef","feature","variant","rounded","bolt","props","ref","setPowerpackDialog","usePowerpack","handleOnClick","jsxs","clsx","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,IAAeC,EAAOC,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0CrBC,KAAkBC;AAAA,EAC7B,CAAC,EAAE,SAAAC,GAAS,SAAAC,IAAU,WAAW,SAAAC,IAAU,IAAM,MAAAC,IAAO,IAAO,GAAGC,EAAA,GAASC,MAAQ;AACjF,UAAM,EAAE,oBAAAC,EAAA,IAAuBC,EAAA,GAEzBC,IAAgB,CAAC,MAAqC;AAE1D,MAAAF,EAAmBN,CAAO,GAE1BI,EAAM,UAAU,CAAC;AAAA,IACnB;AAEA,WACEK,gBAAAA,EAAAA;AAAAA,MAACd;AAAA,MAAA;AAAA,QACC,MAAMS,EAAM,QAAQ;AAAA,QACnB,GAAGA;AAAA,QACJ,KAAAC;AAAA,QACA,SAASG;AAAA,QACT,WAAW;AAAA,UACT,QAAQP,MAAY;AAAA,QAAA;AAAA,QAEtB,WAAWS,EAAK,gBAAgBN,EAAM,WAAW,EAAE,SAAAF,GAAS;AAAA,QAC5D,gBAAc;AAAA,QACd,sBAAoB;AAAA,QAEnB,UAAA;AAAA,UAAAE,EAAM;AAAA,UACND,2BAASQ,GAAA,EAAK,MAAK,QAAO,QAAM,IAAC,WAAU,OAAA,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGzD;AACF;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),s=require("./PowerpackDialog.styled.cjs.js"),O=require("react"),l=require("@ynput/ayon-react-components"),P=require("./FreeTrialLink.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const b=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/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/updateActivities.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/cloud/cloud.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/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../../_virtual/jsx-runtime.cjs.js"),s=require("./PowerpackDialog.styled.cjs.js"),O=require("react"),l=require("@ynput/ayon-react-components"),P=require("./FreeTrialLink.cjs.js");require("../../context/RemoteModulesContext.cjs.js");const b=require("../../context/PowerpackContext.cjs.js");require("../../context/UriContext.cjs.js");require("../../../../_virtual/runtime.cjs.js");require("../../../../_virtual/semver.cjs.js");require("../../api/base/client.cjs.js");require("../../api/generated/graphql.cjs.js");require("../../api/generated/graphqlLinks.cjs.js");require("../../api/generated/access.cjs.js");require("../../api/generated/actions.cjs.js");require("../../api/generated/activityFeed.cjs.js");require("../../api/generated/addons.cjs.js");require("../../api/generated/anatomy.cjs.js");require("../../api/generated/attributes.cjs.js");require("../../api/generated/authentication.cjs.js");require("../../api/generated/bundles.cjs.js");require("../../api/generated/configuration.cjs.js");require("../../api/generated/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/updateActivities.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/cloud/cloud.cjs.js");require("../../api/queries/columnStats/metricTargets.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/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("lodash");require("react-toastify");require("react-redux");require("custom-protocol-check");require("../../containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js");require("uuid");require("../../util/pubsub.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("react-dom");require("../../context/pip/PiPWrapper.cjs.js");require("../../context/AddonProjectContext.cjs.js");require("../../context/AddonContext.cjs.js");require("../../context/MoveEntityContext.cjs.js");require("../../context/MenuContext.cjs.js");require("../../context/WebsocketContext.cjs.js");require("../../context/GlobalContext.cjs.js");require("../../context/ProjectContext.cjs.js");require("../../context/ProjectFoldersContext.cjs.js");const A=require("./CTAButton.cjs.js"),a=require("../../config/powerpackFeatures.cjs.js"),v=({label:x,description:p,features:d,isCloseable:q=!0,addon:n})=>{const[j,h]=O.useState(!1),{setPowerpackDialog:R,selectedPowerPack:m,powerpackDialog:o,addonDialog:r}=b.usePowerpack(),w=!!n||!!r,E=x??o?.label??r?.label,k=p??o?.description??(r?r.features[r.selectedFeature??""]?.description??Object.values(r.features)[0]?.description:void 0),F=n?.icon??(r?r.icon:"bolt");if(!o&&!r&&(!x||!p))return null;const f=(()=>{if(d)return Object.entries(d);if(r){const u=r.featureOrder.filter(i=>i in r.features).map(i=>[i,r.features[i]]);if(r.selectedFeature){const i=u.findIndex(([t])=>t===r.selectedFeature);if(i>0){const[t]=u.splice(i,1);u.unshift(t)}}return u}return Object.entries(a.powerpackFeatures).sort(([u],[i])=>{if(u===m)return-1;if(i===m)return 1;const t=a.powerpackFeatureOrder.indexOf(u),c=a.powerpackFeatureOrder.indexOf(i);return t>-1&&c>-1?t-c:t>-1?-1:c>-1?1:0})})(),g=()=>{q&&(R(null),h(!1))};return e.jsxRuntimeExports.jsxs(s.PowerpackDialog,{isOpen:!0,onClose:g,size:"lg",hideCancelButton:!q,hideBackdrop:!q,children:[e.jsxRuntimeExports.jsxs(s.MainFeature,{children:[e.jsxRuntimeExports.jsxs("h1",{children:[e.jsxRuntimeExports.jsx(l.Icon,{icon:F}),E]}),e.jsxRuntimeExports.jsx("h2",{children:k})]}),e.jsxRuntimeExports.jsxs(s.FeaturesList,{children:[w?e.jsxRuntimeExports.jsxs("h3",{children:["Unlock all ",e.jsxRuntimeExports.jsx("span",{className:"green",children:"Premium Addons"})," with an AYON Studio subscription."]}):e.jsxRuntimeExports.jsxs("h3",{children:["Unlock all ",e.jsxRuntimeExports.jsx(l.Icon,{icon:"bolt"})," ",e.jsxRuntimeExports.jsx("span",{className:"green",children:"Power Features"})," with an AYON subscription."]}),e.jsxRuntimeExports.jsx("ul",{children:f.slice(0,j?void 0:5).map(([u,i])=>e.jsxRuntimeExports.jsxs("li",{children:[e.jsxRuntimeExports.jsx(l.Icon,{icon:i.icon??"check"}),e.jsxRuntimeExports.jsx("span",{children:i.bullet})]},u))}),!j&&f.length>5&&e.jsxRuntimeExports.jsx(s.ShowAll,{onClick:()=>h(!0),children:"Show all"})]}),e.jsxRuntimeExports.jsx(P.FreeTrialLink,{addon:n?.name,children:e.jsxRuntimeExports.jsx(A.CTAButton,{})})]})};exports.PowerpackDialog=v;
|
|
2
2
|
//# sourceMappingURL=PowerpackDialog.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PowerpackDialog.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackDialog.tsx"],"sourcesContent":["import * as Styled from './PowerpackDialog.styled'\nimport { FC, useState } from 'react'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FreeTrialLink } from './FreeTrialLink'\nimport { powerpackFeatureOrder, powerpackFeatures, usePowerpack } from '@shared/context'\nimport type { PowerpackDialogType } from '@shared/context/PowerpackContext'\nimport { CTAButton } from './CTAButton'\n\nexport interface PowerpackDialogProps {\n label?: string\n description?: string\n features?: Record<string, Pick<PowerpackDialogType, 'bullet' | 'icon'>>\n isCloseable?: boolean\n addon?: {\n name: string\n icon: string\n }\n}\n\nexport const PowerpackDialog: FC<PowerpackDialogProps> = ({\n label,\n description,\n features,\n isCloseable = true,\n addon,\n}) => {\n const [showAll, setShowAll] = useState(false)\n const { setPowerpackDialog, selectedPowerPack, powerpackDialog, addonDialog } = usePowerpack()\n\n // Determine if we're showing an addon dialog (from context or props)\n const isAddon = !!addon || !!addonDialog\n\n // Resolve the active dialog values: props override context, addon context provides its own data\n const activeLabel = label ?? powerpackDialog?.label ?? addonDialog?.label\n const activeDescription =\n description ??\n powerpackDialog?.description ??\n (addonDialog\n ? addonDialog.features[addonDialog.selectedFeature ?? '']?.description ??\n Object.values(addonDialog.features)[0]?.description\n : undefined)\n const activeIcon = addon?.icon ?? (addonDialog ? addonDialog.icon : 'bolt')\n\n if (!powerpackDialog && !addonDialog && (!label || !description)) return null\n\n // Resolve the features list and sort it\n const resolveFeatures = (): [string, Pick<PowerpackDialogType, 'bullet' | 'icon'>][] => {\n // Explicit features prop takes highest priority\n if (features) {\n return Object.entries(features)\n }\n\n // Addon dialog from context\n if (addonDialog) {\n const ordered = addonDialog.featureOrder\n .filter((key) => key in addonDialog.features)\n .map(\n (key) =>\n [key, addonDialog.features[key]] as [\n string,\n Pick<PowerpackDialogType, 'bullet' | 'icon'>,\n ],\n )\n\n // Move selected feature to top\n if (addonDialog.selectedFeature) {\n const idx = ordered.findIndex(([key]) => key === addonDialog.selectedFeature)\n if (idx > 0) {\n const [item] = ordered.splice(idx, 1)\n ordered.unshift(item)\n }\n }\n\n return ordered\n }\n\n // Default: powerpack features\n return Object.entries(powerpackFeatures).sort(([keyA], [keyB]) => {\n if (keyA === selectedPowerPack) return -1\n if (keyB === selectedPowerPack) return 1\n\n const indexA = powerpackFeatureOrder.indexOf(keyA as any)\n const indexB = powerpackFeatureOrder.indexOf(keyB as any)\n\n if (indexA > -1 && indexB > -1) {\n return indexA - indexB\n }\n if (indexA > -1) return -1\n if (indexB > -1) return 1\n return 0\n })\n }\n\n const sortedFeatures = resolveFeatures()\n\n const handleClose = () => {\n if (!isCloseable) return\n setPowerpackDialog(null)\n setShowAll(false)\n }\n\n return (\n <Styled.PowerpackDialog\n isOpen\n onClose={handleClose}\n size=\"lg\"\n hideCancelButton={!isCloseable}\n hideBackdrop={!isCloseable}\n >\n <Styled.MainFeature>\n <h1>\n <Icon icon={activeIcon} />\n {activeLabel}\n </h1>\n <h2>{activeDescription}</h2>\n </Styled.MainFeature>\n\n <Styled.FeaturesList>\n {isAddon ? (\n <h3>\n Unlock all <span className=\"green\">Premium Addons</span> with an AYON Studio\n subscription.\n </h3>\n ) : (\n <h3>\n Unlock all <Icon icon=\"bolt\" /> <span className=\"green\">Power Features</span> with an\n AYON subscription.\n </h3>\n )}\n <ul>\n {sortedFeatures.slice(0, showAll ? undefined : 5).map(([key, value]) => (\n <li key={key}>\n <Icon icon={value.icon ?? 'check'} />\n <span>{value.bullet}</span>\n </li>\n ))}\n </ul>\n {!showAll && sortedFeatures.length > 5 && (\n <Styled.ShowAll onClick={() => setShowAll(true)}>Show all</Styled.ShowAll>\n )}\n </Styled.FeaturesList>\n <FreeTrialLink addon={addon?.name}>\n <CTAButton />\n </FreeTrialLink>\n </Styled.PowerpackDialog>\n )\n}\n"],"names":["PowerpackDialog","label","description","features","isCloseable","addon","showAll","setShowAll","useState","setPowerpackDialog","selectedPowerPack","powerpackDialog","addonDialog","usePowerpack","isAddon","activeLabel","activeDescription","activeIcon","sortedFeatures","ordered","key","idx","item","powerpackFeatures","keyA","keyB","indexA","powerpackFeatureOrder","indexB","handleClose","jsxs","Styled.PowerpackDialog","Styled.MainFeature","jsx","Icon","Styled.FeaturesList","value","Styled.ShowAll","FreeTrialLink","CTAButton"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PowerpackDialog.cjs.js","sources":["../../../../../src/components/Powerpack/PowerpackDialog.tsx"],"sourcesContent":["import * as Styled from './PowerpackDialog.styled'\nimport { FC, useState } from 'react'\nimport { Icon } from '@ynput/ayon-react-components'\nimport { FreeTrialLink } from './FreeTrialLink'\nimport { powerpackFeatureOrder, powerpackFeatures, usePowerpack } from '@shared/context'\nimport type { PowerpackDialogType } from '@shared/context/PowerpackContext'\nimport { CTAButton } from './CTAButton'\n\nexport interface PowerpackDialogProps {\n label?: string\n description?: string\n features?: Record<string, Pick<PowerpackDialogType, 'bullet' | 'icon'>>\n isCloseable?: boolean\n addon?: {\n name: string\n icon: string\n }\n}\n\nexport const PowerpackDialog: FC<PowerpackDialogProps> = ({\n label,\n description,\n features,\n isCloseable = true,\n addon,\n}) => {\n const [showAll, setShowAll] = useState(false)\n const { setPowerpackDialog, selectedPowerPack, powerpackDialog, addonDialog } = usePowerpack()\n\n // Determine if we're showing an addon dialog (from context or props)\n const isAddon = !!addon || !!addonDialog\n\n // Resolve the active dialog values: props override context, addon context provides its own data\n const activeLabel = label ?? powerpackDialog?.label ?? addonDialog?.label\n const activeDescription =\n description ??\n powerpackDialog?.description ??\n (addonDialog\n ? addonDialog.features[addonDialog.selectedFeature ?? '']?.description ??\n Object.values(addonDialog.features)[0]?.description\n : undefined)\n const activeIcon = addon?.icon ?? (addonDialog ? addonDialog.icon : 'bolt')\n\n if (!powerpackDialog && !addonDialog && (!label || !description)) return null\n\n // Resolve the features list and sort it\n const resolveFeatures = (): [string, Pick<PowerpackDialogType, 'bullet' | 'icon'>][] => {\n // Explicit features prop takes highest priority\n if (features) {\n return Object.entries(features)\n }\n\n // Addon dialog from context\n if (addonDialog) {\n const ordered = addonDialog.featureOrder\n .filter((key) => key in addonDialog.features)\n .map(\n (key) =>\n [key, addonDialog.features[key]] as [\n string,\n Pick<PowerpackDialogType, 'bullet' | 'icon'>,\n ],\n )\n\n // Move selected feature to top\n if (addonDialog.selectedFeature) {\n const idx = ordered.findIndex(([key]) => key === addonDialog.selectedFeature)\n if (idx > 0) {\n const [item] = ordered.splice(idx, 1)\n ordered.unshift(item)\n }\n }\n\n return ordered\n }\n\n // Default: powerpack features\n return Object.entries(powerpackFeatures).sort(([keyA], [keyB]) => {\n if (keyA === selectedPowerPack) return -1\n if (keyB === selectedPowerPack) return 1\n\n const indexA = powerpackFeatureOrder.indexOf(keyA as any)\n const indexB = powerpackFeatureOrder.indexOf(keyB as any)\n\n if (indexA > -1 && indexB > -1) {\n return indexA - indexB\n }\n if (indexA > -1) return -1\n if (indexB > -1) return 1\n return 0\n })\n }\n\n const sortedFeatures = resolveFeatures()\n\n const handleClose = () => {\n if (!isCloseable) return\n setPowerpackDialog(null)\n setShowAll(false)\n }\n\n return (\n <Styled.PowerpackDialog\n isOpen\n onClose={handleClose}\n size=\"lg\"\n hideCancelButton={!isCloseable}\n hideBackdrop={!isCloseable}\n >\n <Styled.MainFeature>\n <h1>\n <Icon icon={activeIcon} />\n {activeLabel}\n </h1>\n <h2>{activeDescription}</h2>\n </Styled.MainFeature>\n\n <Styled.FeaturesList>\n {isAddon ? (\n <h3>\n Unlock all <span className=\"green\">Premium Addons</span> with an AYON Studio\n subscription.\n </h3>\n ) : (\n <h3>\n Unlock all <Icon icon=\"bolt\" /> <span className=\"green\">Power Features</span> with an\n AYON subscription.\n </h3>\n )}\n <ul>\n {sortedFeatures.slice(0, showAll ? undefined : 5).map(([key, value]) => (\n <li key={key}>\n <Icon icon={value.icon ?? 'check'} />\n <span>{value.bullet}</span>\n </li>\n ))}\n </ul>\n {!showAll && sortedFeatures.length > 5 && (\n <Styled.ShowAll onClick={() => setShowAll(true)}>Show all</Styled.ShowAll>\n )}\n </Styled.FeaturesList>\n <FreeTrialLink addon={addon?.name}>\n <CTAButton />\n </FreeTrialLink>\n </Styled.PowerpackDialog>\n )\n}\n"],"names":["PowerpackDialog","label","description","features","isCloseable","addon","showAll","setShowAll","useState","setPowerpackDialog","selectedPowerPack","powerpackDialog","addonDialog","usePowerpack","isAddon","activeLabel","activeDescription","activeIcon","sortedFeatures","ordered","key","idx","item","powerpackFeatures","keyA","keyB","indexA","powerpackFeatureOrder","indexB","handleClose","jsxs","Styled.PowerpackDialog","Styled.MainFeature","jsx","Icon","Styled.FeaturesList","value","Styled.ShowAll","FreeTrialLink","CTAButton"],"mappings":"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"}
|