@ynput/ayon-frontend-shared 0.3.43 → 0.3.45
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 +38 -34
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/ProjectTreeTable.cjs.js +1 -1
- package/dist/ProjectTreeTable.es.js +236 -223
- package/dist/ProjectTreeTable.es.js.map +1 -1
- package/dist/Slicer.cjs.js +1 -1
- package/dist/Slicer.es.js +29 -26
- package/dist/Slicer.es.js.map +1 -1
- package/dist/_virtual/index.cjs4.js +1 -1
- package/dist/_virtual/index.cjs5.js +1 -1
- package/dist/_virtual/index.cjs8.js +1 -1
- package/dist/_virtual/index.cjs9.js +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.es8.js +5 -2
- package/dist/_virtual/index.es8.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 +349 -330
- package/dist/api.es.js.map +1 -1
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +149 -144
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +25 -21
- 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/remove-accents/index.cjs.js +1 -1
- package/dist/node_modules/remove-accents/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/react-transition-group/esm/CSSTransition.cjs.js +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.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.es.js +1 -1
- package/dist/shared/src/api/generated/graphql.cjs.js +21 -5
- package/dist/shared/src/api/generated/graphql.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/graphql.es.js +18 -2
- 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/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 +13 -10
- package/dist/shared/src/api/queries/activities/util/activityRealtimeHandler.es.js.map +1 -1
- package/dist/shared/src/api/queries/bundles/getBundles.cjs.js +2 -0
- package/dist/shared/src/api/queries/bundles/getBundles.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/bundles/getBundles.es.js +65 -0
- package/dist/shared/src/api/queries/bundles/getBundles.es.js.map +1 -0
- package/dist/shared/src/api/queries/bundles/updateBundles.cjs.js +2 -0
- package/dist/shared/src/api/queries/bundles/updateBundles.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/bundles/updateBundles.es.js +159 -0
- package/dist/shared/src/api/queries/bundles/updateBundles.es.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js +2 -0
- package/dist/shared/src/api/queries/columnStats/groupCounts.cjs.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/groupCounts.es.js +83 -0
- package/dist/shared/src/api/queries/columnStats/groupCounts.es.js.map +1 -0
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js +60 -41
- package/dist/shared/src/api/queries/columnStats/metricTargets.es.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js +6 -3
- package/dist/shared/src/api/queries/entities/getEntityPanel.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +45 -42
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js +11 -8
- package/dist/shared/src/api/queries/entityLists/listFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.es.js +5 -4
- package/dist/shared/src/api/queries/entityLists/listItemsColumnStats.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 +6 -3
- package/dist/shared/src/api/queries/folders/getFolders.es.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/links/getEntityLinks.es.js +5 -2
- package/dist/shared/src/api/queries/links/getEntityLinks.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 +280 -247
- package/dist/shared/src/api/queries/overview/getOverview.es.js.map +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.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/projectFolders/projectFolders.es.js +15 -12
- package/dist/shared/src/api/queries/projectFolders/projectFolders.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 +8 -5
- package/dist/shared/src/api/queries/userDashboard/getUserDashboard.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 +17 -14
- package/dist/shared/src/api/queries/versions/getVersionsProducts.es.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.cjs.js.map +1 -1
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.es.js +11 -8
- package/dist/shared/src/components/AttributeEditor/attributeTypeMap.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 +6 -3
- 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 +5 -2
- package/dist/shared/src/components/DetailsDialog/DetailsDialog.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +5 -5
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +5 -2
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.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 +15 -11
- 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 +6 -3
- 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 +6 -3
- package/dist/shared/src/components/DetailsPanelDetails/DetailsPanelDetails.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js +4 -4
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js +5 -2
- package/dist/shared/src/components/DetailsPanelDetails/DetailsSection.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.es.js +5 -2
- package/dist/shared/src/components/DetailsPanelDetails/FieldLabel.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 +6 -3
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityEditing.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js +5 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useEntityFormData.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.es.js +5 -2
- package/dist/shared/src/components/DetailsPanelDetails/hooks/useMentionSystem.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 +6 -3
- 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 +16 -12
- 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 +18 -14
- 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 +6 -3
- 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 +44 -40
- package/dist/shared/src/components/Feedback/FeedbackContext.es.js.map +1 -1
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js +4 -0
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.cjs.js.map +1 -0
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js +133 -0
- package/dist/shared/src/components/FilterErrorActions/FilterErrorActions.es.js.map +1 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js +2 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.cjs.js.map +1 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.es.js +48 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.es.js.map +1 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.styled.cjs.js +77 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.styled.es.js +81 -0
- package/dist/shared/src/components/InfoMessage/InfoMessage.styled.es.js.map +1 -0
- 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 +6 -3
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/CellEditingDialog.es.js +20 -20
- package/dist/shared/src/components/LinksManager/CellEditingDialog.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 +5 -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 +6 -3
- 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 +17 -13
- 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 +6 -3
- 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 +6 -3
- 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 +6 -3
- 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 +4 -1
- 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 +24 -21
- 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 +6 -3
- 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 +6 -3
- 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 +5 -2
- 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 +14 -10
- 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 +15 -11
- 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 +6 -3
- 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 +13 -9
- 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 +18 -14
- 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 +17 -13
- 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 +5 -2
- 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 +18 -14
- 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 +19 -15
- 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 +18 -14
- 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 +87 -69
- 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 +18 -14
- 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 +112 -109
- 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 +6 -3
- 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 +20 -16
- package/dist/shared/src/components/SimpleFormDialog/FormFile.es.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +36 -24
- 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 +5 -2
- package/dist/shared/src/components/SubtasksManager/SubtasksManagerWrapper.es.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.cjs.js.map +1 -1
- package/dist/shared/src/components/Thumbnail/StackedThumbnails.es.js +6 -3
- 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 +5 -2
- package/dist/shared/src/components/Thumbnail/Thumbnail.es.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.cjs.js.map +1 -1
- package/dist/shared/src/components/ThumbnailSimple/ThumbnailSimple.es.js +5 -2
- 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 +17 -13
- 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 +46 -41
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContext.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.cjs.js +2 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.cjs.js.map +1 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.es.js +6 -0
- package/dist/shared/src/components/VersionUploader/context/VersionUploadContextInstance.es.js.map +1 -0
- 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 +5 -2
- package/dist/shared/src/components/Watchers/Watchers.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 +18 -14
- 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 +117 -102
- package/dist/shared/src/containers/Actions/Actions.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js +2 -2
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.es.js +47 -46
- package/dist/shared/src/containers/Actions/ActionsDropdown/ActionsDropdown.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 +18 -14
- 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 +18 -14
- 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 +18 -14
- 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 +18 -14
- 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 +18 -14
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelHeader/LinkedTaskRow.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js +18 -14
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/DetailsPanelMoreMenu.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js +2 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/components/DetailsPanelMoreMenu/components/ShareDialog.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 +17 -13
- 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 +6 -3
- 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 +29 -25
- 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 +18 -14
- 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 +18 -14
- 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 +6 -3
- 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 +5 -2
- 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 +6 -3
- package/dist/shared/src/containers/DetailsPanel/hooks/useGetEntityPath.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +2 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +75 -69
- 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 +18 -14
- 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 +18 -14
- 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 +18 -14
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useExpandedWithInitialFolders.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 +6 -3
- package/dist/shared/src/containers/EntityPickerDialog/hooks/useGetEntityPickerData.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.es.js +7 -4
- package/dist/shared/src/containers/EntityPickerDialog/util/buildEntityPickerTableData.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 +24 -21
- 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 +18 -14
- 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 +18 -14
- 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 +18 -14
- package/dist/shared/src/containers/Feed/components/ActivityComment/ActivityCommentMenu.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js +5 -2
- package/dist/shared/src/containers/Feed/components/ActivityReference/ActivityReference.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.es.js +20 -16
- package/dist/shared/src/containers/Feed/components/ActivityVersionReview/ActivityVersionReview.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 +6 -3
- 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 +19 -14
- 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 +22 -18
- 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 +6 -3
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useAnnotationsSync.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.es.js +5 -2
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useBlendedCategoryColor.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 +6 -3
- package/dist/shared/src/containers/Feed/components/CommentInput/hooks/useMentionLink.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js +6 -3
- package/dist/shared/src/containers/Feed/components/FeedSearchFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +6 -3
- 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 +18 -14
- 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 +5 -2
- 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 +9 -6
- package/dist/shared/src/containers/Feed/context/FeedContext.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js +5 -2
- package/dist/shared/src/containers/Feed/helpers/buildBackendFilter.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.es.js +5 -2
- package/dist/shared/src/containers/Feed/hooks/useCommentMutations.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 +5 -2
- package/dist/shared/src/containers/Feed/hooks/useGetFeedActivitiesData.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js +5 -2
- package/dist/shared/src/containers/Feed/hooks/useLastVersionReview.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js +5 -2
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionTasks.es.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.cjs.js.map +1 -1
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.es.js +5 -2
- package/dist/shared/src/containers/Feed/mentionHelpers/getMentionVersions.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 +188 -175
- 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 +15 -11
- 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 +23 -19
- 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 +801 -761
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +15 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +16 -0
- 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 +81 -76
- 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 +17 -13
- 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 +19 -15
- 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 +18 -14
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js +13 -6
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js +58 -44
- package/dist/shared/src/containers/ProjectTreeTable/components/TableFooterRow.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +13 -9
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +5 -5
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +94 -88
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ColumnSettingsProvider.es.js +14 -10
- 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 +17 -13
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js +6 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContextInstance.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js +338 -7
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js +6 -0
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableContextInstance.es.js.map +1 -0
- 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 +124 -120
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.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 +6 -3
- 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 +162 -134
- 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 +15 -11
- 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 +12 -8
- 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 +13 -9
- 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 +13 -9
- 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 +13 -9
- 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 +454 -237
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useFetchOverviewData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +13 -9
- 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 +13 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupBySettings.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js +141 -0
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGroupCounts.es.js.map +1 -0
- 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 +12 -8
- 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 +12 -8
- 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 +14 -10
- 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 +15 -11
- 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 +13 -9
- 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 +6 -3
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useUpdateTableData.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +25 -22
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.es.js +30 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/filterError.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js +32 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.cjs.js +2 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.cjs.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.es.js +36 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/getGroupQueries.es.js.map +1 -0
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js +4 -5
- package/dist/shared/src/containers/ProjectTreeTable/utils/pinningUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +18 -14
- 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 -12
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js +18 -14
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CommentsWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js +10 -10
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js +36 -32
- package/dist/shared/src/containers/ProjectTreeTable/widgets/GroupHeaderWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +26 -22
- 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 +6 -3
- 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 +16 -12
- 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 +13 -9
- 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 +6 -3
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextContentWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/TextWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/ThumbnailWidget.es.js +5 -2
- 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 +75 -49
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.es.js +11 -10
- package/dist/shared/src/containers/RepresentationsList/versionsToRepresentations.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 +277 -211
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +83 -5
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +89 -11
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +149 -97
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.es.js +15 -11
- package/dist/shared/src/containers/SimpleTable/hooks/useRowKeydown.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 +6 -3
- 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 +18 -14
- 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 +62 -58
- 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 +6 -3
- 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 +6 -3
- 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 +13 -9
- 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 +6 -3
- package/dist/shared/src/containers/Slicer/hooks/useSlicerAttributesData.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js +6 -3
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRemotes.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js +6 -3
- package/dist/shared/src/containers/Slicer/hooks/useSlicerRowSelection.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js +6 -3
- package/dist/shared/src/containers/Slicer/hooks/useSlicerSplitter.es.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.cjs.js.map +1 -1
- package/dist/shared/src/containers/Slicer/hooks/useTableDataBySlice.es.js +6 -3
- 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 +5 -2
- package/dist/shared/src/containers/Slicer/hooks/useUsersTable.es.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.es.js +5 -2
- package/dist/shared/src/containers/Views/ViewItem/ViewItem.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 +6 -3
- 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 +16 -12
- 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 +6 -3
- 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 +23 -20
- 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 +5 -2
- 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 +5 -2
- package/dist/shared/src/containers/Views/hooks/pages/useOverviewViewSettings.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 +5 -2
- 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 +9 -6
- 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 +5 -2
- 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 +5 -2
- 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 +5 -2
- 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 +7 -4
- 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 +20 -17
- 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 +7 -4
- 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 +10 -7
- 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 +16 -13
- 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 +36 -32
- package/dist/shared/src/context/ProjectFoldersContext.es.js.map +1 -1
- package/dist/shared/src/context/ProjectFoldersContextInstance.cjs.js +2 -0
- package/dist/shared/src/context/ProjectFoldersContextInstance.cjs.js.map +1 -0
- package/dist/shared/src/context/ProjectFoldersContextInstance.es.js +8 -0
- package/dist/shared/src/context/ProjectFoldersContextInstance.es.js.map +1 -0
- 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 +7 -4
- 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 +8 -5
- 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 +8 -5
- 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 +20 -16
- 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 +5 -2
- 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 +6 -3
- 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 +5 -2
- package/dist/shared/src/hooks/useGetEntityGroups.es.js.map +1 -1
- package/dist/shared/src/hooks/useGetProductionAddon.cjs.js +1 -1
- package/dist/shared/src/hooks/useGetProductionAddon.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useGetProductionAddon.es.js +5 -2
- package/dist/shared/src/hooks/useGetProductionAddon.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 +15 -21
- 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 +5 -2
- package/dist/shared/src/hooks/useHierarchyTable.es.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.es.js +5 -2
- package/dist/shared/src/hooks/useReviewablesKeyboardNavigation.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 +7 -4
- 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 +5 -2
- 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 +6 -3
- package/dist/shared/src/hooks/useUserProjectConfig.es.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js +1 -1
- package/dist/shared/src/util/getBundleMode.cjs.js.map +1 -1
- package/dist/shared/src/util/getBundleMode.es.js +6 -3
- package/dist/shared/src/util/getBundleMode.es.js.map +1 -1
- package/dist/shared/src/util/replaceRoot.cjs.js +2 -0
- package/dist/shared/src/util/replaceRoot.cjs.js.map +1 -0
- package/dist/shared/src/util/replaceRoot.es.js +11 -0
- package/dist/shared/src/util/replaceRoot.es.js.map +1 -0
- package/dist/types/api/generated/graphql.d.ts +20 -0
- package/dist/types/api/generated/graphqlLinks.d.ts +1 -0
- package/dist/types/api/queries/activities/getActivities.d.ts +6 -0
- package/dist/types/api/queries/bundles/getBundles.d.ts +951 -0
- package/dist/types/api/queries/bundles/index.d.ts +2 -0
- package/dist/types/api/queries/bundles/updateBundles.d.ts +1027 -0
- package/dist/types/api/queries/columnStats/groupCounts.d.ts +17 -0
- package/dist/types/api/queries/columnStats/index.d.ts +1 -0
- package/dist/types/api/queries/columnStats/metricTargets.d.ts +8 -1
- package/dist/types/api/queries/entities/getEntity.d.ts +3 -0
- package/dist/types/api/queries/entities/getEntityPanel.d.ts +3 -0
- package/dist/types/api/queries/entities/updateEntity.d.ts +3 -0
- package/dist/types/api/queries/entityLists/getLists.d.ts +3 -0
- package/dist/types/api/queries/index.d.ts +1 -0
- package/dist/types/api/queries/overview/getOverview.d.ts +95 -38
- package/dist/types/api/queries/project/getProject.d.ts +3 -0
- package/dist/types/api/queries/userDashboard/getUserDashboard.d.ts +3 -0
- package/dist/types/api/queries/users/getUsers.d.ts +3 -0
- package/dist/types/api/queries/versions/getVersionsProducts.d.ts +6 -0
- package/dist/types/components/Feedback/FeedbackContext.d.ts +1 -0
- package/dist/types/components/FilterErrorActions/FilterErrorActions.d.ts +5 -0
- package/dist/types/components/FilterErrorActions/index.d.ts +2 -0
- package/dist/types/components/InfoMessage/InfoMessage.d.ts +14 -0
- package/dist/types/components/InfoMessage/InfoMessage.styled.d.ts +1 -0
- package/dist/types/components/InfoMessage/index.d.ts +3 -0
- package/dist/types/components/VersionUploader/context/VersionUploadContext.d.ts +1 -1
- package/dist/types/components/VersionUploader/context/VersionUploadContextInstance.d.ts +2 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/containers/Actions/ActionsDropdown/ActionsDropdown.d.ts +2 -1
- package/dist/types/containers/EntityPickerDialog/EntityPickerDialog.d.ts +1 -0
- package/dist/types/containers/ListTable/ListTable.d.ts +1 -1
- package/dist/types/containers/ListTable/ListTable.types.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.d.ts +2 -1
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/components/TableFooterRow.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContextInstance.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContext.d.ts +88 -6
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableContextInstance.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/context/index.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/hooks/index.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/hooks/useBuildGroupByTableData.d.ts +5 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useFetchOverviewData.d.ts +7 -2
- package/dist/types/containers/ProjectTreeTable/hooks/useGroupCounts.d.ts +39 -0
- package/dist/types/containers/ProjectTreeTable/types/index.d.ts +6 -0
- package/dist/types/containers/ProjectTreeTable/types/overviewContext.d.ts +7 -2
- package/dist/types/containers/ProjectTreeTable/utils/filterError.d.ts +11 -0
- package/dist/types/containers/ProjectTreeTable/utils/getFolderIdsToQueryFromExpanded.d.ts +10 -0
- package/dist/types/containers/ProjectTreeTable/utils/getGroupQueries.d.ts +17 -0
- package/dist/types/containers/ProjectTreeTable/utils/index.d.ts +2 -0
- package/dist/types/containers/ProjectTreeTable/utils/pinningUtils.d.ts +0 -1
- package/dist/types/containers/ProjectTreeTable/widgets/GroupHeaderWidget.d.ts +2 -1
- package/dist/types/containers/RepresentationsList/versionsToRepresentations.d.ts +1 -0
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +1 -64
- package/dist/types/containers/SimpleTable/SimpleTable.types.d.ts +79 -0
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +13 -1
- package/dist/types/containers/SimpleTable/hooks/useRowKeydown.d.ts +2 -1
- package/dist/types/containers/SimpleTable/index.d.ts +1 -0
- package/dist/types/containers/Slicer/context/SlicerContext.d.ts +6 -1
- package/dist/types/context/ProjectFoldersContextInstance.d.ts +2 -0
- package/dist/types/hooks/useGroupByRemoteModules.d.ts +0 -17
- package/dist/types/util/index.d.ts +1 -0
- package/dist/types/util/replaceRoot.d.ts +1 -0
- package/dist/util.cjs.js +1 -1
- package/dist/util.es.js +21 -19
- package/dist/util.es.js.map +1 -1
- package/package.json +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js +0 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.cjs.js.map +0 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js +0 -326
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectTableProvider.es.js.map +0 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectTableProvider.d.ts +0 -81
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubtasksWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/SubtasksWidget.tsx"],"sourcesContent":["import { Chips, ChipValue, DoneCheckbox, SubtasksManagerWrapper } from '@shared/components'\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport { FC, useState } from 'react'\nimport { EDIT_TRIGGER_CLASS, WidgetBaseProps } from './CellWidget'\nimport { Container } from '@shared/components/LinksManager/LinksManager.styled'\nimport { type SubTaskNode } from '@shared/api'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\n\nexport type SubtasksWidgetData = {\n taskId: string\n subtasks: SubTaskNode[]\n}\n\nexport interface SubtasksWidgetProps extends WidgetBaseProps {\n value?: SubtasksWidgetData\n projectName: string\n cellId: string\n disabled?: boolean\n}\n\nexport const SubtasksWidget: FC<SubtasksWidgetProps> = ({\n value,\n isEditing,\n cellId,\n projectName,\n disabled,\n onChange: _onChange,\n onCancelEdit,\n}) => {\n const { SubtasksManager, useNavigate } = useProjectTableContext()\n const [selectedSubtaskIds, setSelectedSubtaskIds] = useState<string[]>([])\n\n const subtasks = value?.subtasks || []\n\n // Create chip values from subtasks\n const chipValues: ChipValue[] = subtasks.map((subtask) => ({\n label: subtask.label || subtask.name,\n tooltip: subtask.description || subtask.label || subtask.name,\n prefix: <DoneCheckbox checked={subtask.isDone} isReadOnly style={{ fontSize: 20 }} />,\n }))\n\n return (\n <>\n <Chips\n values={chipValues}\n pt={{ chip: { className: EDIT_TRIGGER_CLASS } }}\n disabled={disabled}\n />\n {isEditing && value && SubtasksManager && (\n <CellEditingDialog isEditing={isEditing} anchorId={cellId} onClose={onCancelEdit}>\n {disabled ? (\n <Container style={{ color: 'var(--md-sys-color-outline)' }}>\n Subtasks are disabled for this task\n </Container>\n ) : (\n <SubtasksManagerWrapper\n projectName={projectName}\n taskId={value.taskId}\n subtasks={subtasks}\n selectedSubtaskIds={selectedSubtaskIds}\n onSelectSubtasks={setSelectedSubtaskIds}\n onClose={onCancelEdit}\n SubtasksManager={SubtasksManager}\n useNavigate={useNavigate!}\n style={{\n padding: 'var(--padding-m)',\n backgroundColor: 'var(--md-sys-color-surface-container-high)',\n borderRadius: 'var(--border-radius-l)',\n }}\n />\n )}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["SubtasksWidget","value","isEditing","cellId","projectName","disabled","_onChange","onCancelEdit","SubtasksManager","useNavigate","useProjectTableContext","selectedSubtaskIds","setSelectedSubtaskIds","useState","subtasks","chipValues","subtask","jsx","DoneCheckbox","jsxs","Fragment","Chips","EDIT_TRIGGER_CLASS","CellEditingDialog","Container","SubtasksManagerWrapper"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SubtasksWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/SubtasksWidget.tsx"],"sourcesContent":["import { Chips, ChipValue, DoneCheckbox, SubtasksManagerWrapper } from '@shared/components'\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport { FC, useState } from 'react'\nimport { EDIT_TRIGGER_CLASS, WidgetBaseProps } from './CellWidget'\nimport { Container } from '@shared/components/LinksManager/LinksManager.styled'\nimport { type SubTaskNode } from '@shared/api'\nimport { useProjectTableContext } from '../context/ProjectTableContext'\n\nexport type SubtasksWidgetData = {\n taskId: string\n subtasks: SubTaskNode[]\n}\n\nexport interface SubtasksWidgetProps extends WidgetBaseProps {\n value?: SubtasksWidgetData\n projectName: string\n cellId: string\n disabled?: boolean\n}\n\nexport const SubtasksWidget: FC<SubtasksWidgetProps> = ({\n value,\n isEditing,\n cellId,\n projectName,\n disabled,\n onChange: _onChange,\n onCancelEdit,\n}) => {\n const { SubtasksManager, useNavigate } = useProjectTableContext()\n const [selectedSubtaskIds, setSelectedSubtaskIds] = useState<string[]>([])\n\n const subtasks = value?.subtasks || []\n\n // Create chip values from subtasks\n const chipValues: ChipValue[] = subtasks.map((subtask) => ({\n label: subtask.label || subtask.name,\n tooltip: subtask.description || subtask.label || subtask.name,\n prefix: <DoneCheckbox checked={subtask.isDone} isReadOnly style={{ fontSize: 20 }} />,\n }))\n\n return (\n <>\n <Chips\n values={chipValues}\n pt={{ chip: { className: EDIT_TRIGGER_CLASS } }}\n disabled={disabled}\n />\n {isEditing && value && SubtasksManager && (\n <CellEditingDialog isEditing={isEditing} anchorId={cellId} onClose={onCancelEdit}>\n {disabled ? (\n <Container style={{ color: 'var(--md-sys-color-outline)' }}>\n Subtasks are disabled for this task\n </Container>\n ) : (\n <SubtasksManagerWrapper\n projectName={projectName}\n taskId={value.taskId}\n subtasks={subtasks}\n selectedSubtaskIds={selectedSubtaskIds}\n onSelectSubtasks={setSelectedSubtaskIds}\n onClose={onCancelEdit}\n SubtasksManager={SubtasksManager}\n useNavigate={useNavigate!}\n style={{\n padding: 'var(--padding-m)',\n backgroundColor: 'var(--md-sys-color-surface-container-high)',\n borderRadius: 'var(--border-radius-l)',\n }}\n />\n )}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["SubtasksWidget","value","isEditing","cellId","projectName","disabled","_onChange","onCancelEdit","SubtasksManager","useNavigate","useProjectTableContext","selectedSubtaskIds","setSelectedSubtaskIds","useState","subtasks","chipValues","subtask","jsx","DoneCheckbox","jsxs","Fragment","Chips","EDIT_TRIGGER_CLASS","CellEditingDialog","Container","SubtasksManagerWrapper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,MAAMA,KAA0C,CAAC;AAAA,EACtD,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAUC;AAAA,EACV,cAAAC;AACF,MAAM;AACJ,QAAM,EAAE,iBAAAC,GAAiB,aAAAC,EAAA,IAAgBC,EAAA,GACnC,CAACC,GAAoBC,CAAqB,IAAIC,EAAmB,CAAA,CAAE,GAEnEC,IAAWb,GAAO,YAAY,CAAA,GAG9Bc,IAA0BD,EAAS,IAAI,CAACE,OAAa;AAAA,IACzD,OAAOA,EAAQ,SAASA,EAAQ;AAAA,IAChC,SAASA,EAAQ,eAAeA,EAAQ,SAASA,EAAQ;AAAA,IACzD,QAAQC,gBAAAA,EAAAA,IAACC,GAAA,EAAa,SAASF,EAAQ,QAAQ,YAAU,IAAC,OAAO,EAAE,UAAU,GAAA,EAAG,CAAG;AAAA,EAAA,EACnF;AAEF,SACEG,gBAAAA,EAAAA,KAAAC,YAAA,EACE,UAAA;AAAA,IAAAH,gBAAAA,EAAAA;AAAAA,MAACI;AAAA,MAAA;AAAA,QACC,QAAQN;AAAA,QACR,IAAI,EAAE,MAAM,EAAE,WAAWO,IAAmB;AAAA,QAC5C,UAAAjB;AAAA,MAAA;AAAA,IAAA;AAAA,IAEDH,KAAaD,KAASO,2BACpBe,GAAA,EAAkB,WAAArB,GAAsB,UAAUC,GAAQ,SAASI,GACjE,UAAAF,IACCY,gBAAAA,MAACO,KAAU,OAAO,EAAE,OAAO,8BAAA,GAAiC,iDAE5D,IAEAP,gBAAAA,EAAAA;AAAAA,MAACQ;AAAA,MAAA;AAAA,QACC,aAAArB;AAAA,QACA,QAAQH,EAAM;AAAA,QACd,UAAAa;AAAA,QACA,oBAAAH;AAAA,QACA,kBAAkBC;AAAA,QAClB,SAASL;AAAA,QACT,iBAAAC;AAAA,QACA,aAAAC;AAAA,QACA,OAAO;AAAA,UACL,SAAS;AAAA,UACT,iBAAiB;AAAA,UACjB,cAAc;AAAA,QAAA;AAAA,MAChB;AAAA,IAAA,EACF,CAEJ;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),y=require("styled-components"),Q=require("../../../components/LinksManager/CellEditingDialog.cjs.js"),z=require("react-quill-ayon"),$=require("../../Feed/components/CommentInput/InputMarkdownConvert.cjs.js"),B=require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js"),_=require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("lodash");const G=require("react-toastify");require("uuid");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("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/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),y=require("styled-components"),Q=require("../../../components/LinksManager/CellEditingDialog.cjs.js"),z=require("react-quill-ayon"),$=require("../../Feed/components/CommentInput/InputMarkdownConvert.cjs.js"),B=require("../../Feed/components/CommentInput/quillToMarkdown.cjs.js"),_=require("../../../components/DetailsPanelDetails/hooks/useMentionSystem.cjs.js");require("../../Feed/components/CommentInput/modules/index.cjs.js");require("lodash");const G=require("react-toastify");require("uuid");require("../../../api/base/client.cjs.js");require("../../../api/generated/graphql.cjs.js");require("../../../api/generated/graphqlLinks.cjs.js");require("../../../api/generated/access.cjs.js");require("../../../api/generated/actions.cjs.js");require("../../../api/generated/activityFeed.cjs.js");require("../../../api/generated/addons.cjs.js");require("../../../api/generated/anatomy.cjs.js");require("../../../api/generated/attributes.cjs.js");require("../../../api/generated/authentication.cjs.js");require("../../../api/generated/bundles.cjs.js");require("../../../api/generated/configuration.cjs.js");require("../../../api/generated/dataImport.cjs.js");require("../../../api/generated/desktop.cjs.js");require("../../../api/generated/entityLists.cjs.js");require("../../../api/generated/events.cjs.js");require("../../../api/generated/files.cjs.js");require("../../../api/generated/folders.cjs.js");require("../../../api/generated/inbox.cjs.js");require("../../../api/generated/links.cjs.js");require("../../../api/generated/market.cjs.js");require("../../../api/generated/onboarding.cjs.js");require("../../../api/generated/operations.cjs.js");require("../../../api/generated/products.cjs.js");require("../../../api/generated/projectDashboard.cjs.js");require("../../../api/generated/projects.cjs.js");require("../../../api/generated/projectFolders.cjs.js");require("../../../api/generated/reviewables.cjs.js");require("../../../api/generated/services.cjs.js");require("../../../api/generated/system.cjs.js");require("../../../api/generated/tasks.cjs.js");require("../../../api/generated/teams.cjs.js");require("../../../api/generated/thumbnails.cjs.js");require("../../../api/generated/uRIs.cjs.js");require("../../../api/generated/users.cjs.js");require("../../../api/generated/versions.cjs.js");require("../../../api/generated/workfiles.cjs.js");require("../../../api/generated/ynputCloud.cjs.js");require("../../../api/generated/grouping.cjs.js");require("../../../api/generated/views.cjs.js");require("../../../api/queries/actions/getActions.cjs.js");require("../../../api/queries/activities/getActivities.cjs.js");require("../../../api/queries/activities/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");require("../../../context/RemoteModulesContext.cjs.js");require("../../../../../_virtual/runtime.cjs.js");require("../../../../../_virtual/semver.cjs.js");require("../../../context/PowerpackContextInstance.cjs.js");require("../../../context/UriContext.cjs.js");require("../../../context/DetailsPanelContextInstance.cjs.js");require("../../../context/SubtasksModulesContextInstance.cjs.js");require("../../../context/ThumbnailUploaderContext.cjs.js");require("../../../context/SettingsPanelContext.cjs.js");require("../../../context/pip/PiPProvider.cjs.js");require("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/ProjectFoldersContextInstance.cjs.js");require("react-redux");require("custom-protocol-check");require("../components/GroupSettingsFallback.cjs.js");const J=require("../../../components/DetailsPanelDetails/DescriptionSection.styles.cjs.js"),U=require("../../../components/QuillListStyles/QuillListStyles.cjs.js"),X=y.div`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
background: var(--md-sys-color-surface-container-lowest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextContentWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextContentWidget.tsx"],"sourcesContent":["import { FC, useRef, useEffect, useCallback, useState, Suspense, type ChangeEvent } from 'react'\nimport styled from 'styled-components'\n\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport type { WidgetBaseProps } from './CellWidget'\nimport ReactQuill from 'react-quill-ayon'\nimport InputMarkdownConvert from '@shared/containers/Feed/components/CommentInput/InputMarkdownConvert'\nimport { convertToMarkdown } from '@shared/containers/Feed/components/CommentInput/quillToMarkdown'\nimport { mentionTypeOptions } from '@shared/components/DetailsPanelDetails/hooks'\nimport { StyledEditor } from '@shared/components/DetailsPanelDetails/DescriptionSection.styles'\nimport { QuillListStyles } from '@shared/components/QuillListStyles'\nimport { toast } from 'react-toastify'\n\nconst StyledDialog = styled.div`\n display: flex;\n flex-direction: column;\n background: var(--md-sys-color-surface-container-lowest);\n border-radius: 8px;\n min-width: 350px;\n width: 100%;\n max-width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n flex: 1;\n overflow: auto;\n border: 2px solid transparent;\n\n &.editing {\n border: 2px solid var(--md-sys-color-primary);\n }\n`\n\nconst PlainTextarea = styled.textarea`\n width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n border: none;\n outline: none;\n resize: vertical;\n background: transparent;\n color: inherit;\n font: inherit;\n padding: 12px;\n`\n\nconst PlainPreview = styled.div`\n width: 100%;\n white-space: pre-wrap;\n word-break: break-word;\n padding: 12px;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n overflow: auto;\n`\n\nconst StyledHiddenMarkdown = styled.div`\n display: none;\n`\n\nexport interface TextContentWidgetProps extends WidgetBaseProps {\n value?: string | number | null\n cellId: string\n placeholder?: string\n // When variant is 'preview', render the same UI read-only for hover preview\n variant?: 'edit' | 'preview'\n // When in preview, a click on the preview should enter edit mode\n onPreviewClick?: () => void\n // Enable or disable markdown editing features\n allowMarkdown?: boolean\n valueType?: 'string' | 'integer' | 'float'\n draftValue?: string | null\n onEditingDraftChange?: (value: string | null) => void\n onDismissWithoutSave?: () => void\n onPreviewMouseEnter?: () => void\n onPreviewMouseLeave?: () => void\n}\n\nexport const TextContentWidget: FC<TextContentWidgetProps> = ({\n value,\n isEditing,\n cellId,\n onChange,\n onCancelEdit,\n variant = 'edit',\n onPreviewClick,\n allowMarkdown = true,\n valueType = 'string',\n draftValue,\n onEditingDraftChange,\n onDismissWithoutSave,\n onPreviewMouseEnter,\n onPreviewMouseLeave,\n}) => {\n const hasDraftRef = useRef(draftValue != null)\n const [editingValue, setEditingValue] = useState(draftValue ?? '')\n const [descriptionHtml, setDescriptionHtml] = useState(draftValue ?? '')\n const quillRef = useRef<any>(null)\n const markdownRef = useRef<HTMLDivElement>(null)\n const isPreview = variant === 'preview'\n const isRichText = allowMarkdown\n const plainTextAreaRef = useRef<HTMLTextAreaElement>(null)\n const hasAutoFocusedRef = useRef(false)\n const dialogRef = useRef<HTMLDivElement>(null)\n const normalizedValue = typeof value === 'string' ? value : value == null ? '' : String(value)\n const originalValueRef = useRef(normalizedValue)\n useEffect(() => {\n originalValueRef.current = normalizedValue\n }, [normalizedValue])\n\n const updateEditingValue = useCallback(\n (newValue: string) => {\n setEditingValue(newValue)\n onEditingDraftChange?.(newValue)\n },\n [onEditingDraftChange],\n )\n\n // Parse markdown to HTML to initialize the editor content for edit and preview\n useEffect(() => {\n if (hasDraftRef.current) {\n hasDraftRef.current = false\n return\n }\n if (!isEditing && !isPreview) return\n if (!isRichText) {\n setEditingValue(normalizedValue)\n return\n }\n if (!normalizedValue.trim()) {\n setDescriptionHtml('')\n setEditingValue('')\n return\n }\n if (!markdownRef.current) return\n const html = markdownRef.current.innerHTML\n setDescriptionHtml(html)\n setEditingValue(html)\n }, [isEditing, isPreview, normalizedValue, isRichText])\n\n // Autofocus editor when dialog opens\n useEffect(() => {\n if (isPreview || !isEditing) {\n hasAutoFocusedRef.current = false\n return\n }\n\n if (isRichText) {\n if (hasAutoFocusedRef.current) return\n const quillInstance = quillRef.current?.getEditor()\n if (!quillInstance) return\n\n requestAnimationFrame(() => {\n const len = quillInstance.getLength()\n const index = Math.max(len - 1, 0)\n quillInstance.focus()\n quillInstance.setSelection(index, 0)\n })\n return\n }\n\n if (hasAutoFocusedRef.current) return\n\n requestAnimationFrame(() => {\n const textarea = plainTextAreaRef.current\n if (!textarea) return\n textarea.focus()\n const len = textarea.value.length\n // Position cursor at the end of the content\n textarea.setSelectionRange(len, len)\n hasAutoFocusedRef.current = true\n })\n }, [isEditing, isPreview, descriptionHtml, isRichText])\n\n const convertPlainValue = useCallback(\n (input: string): { value: string | number | null; error?: string } => {\n const trimmed = input.trim()\n\n if (valueType === 'string') {\n return { value: input }\n }\n\n if (trimmed === '') {\n return { value: null }\n }\n\n if (valueType === 'integer') {\n const intValue = parseInt(trimmed, 10)\n if (Number.isNaN(intValue)) {\n return { value: null, error: 'Invalid integer value. Please enter a valid integer.' }\n }\n return { value: intValue }\n }\n\n if (valueType === 'float') {\n const floatValue = parseFloat(trimmed)\n if (Number.isNaN(floatValue)) {\n return { value: null, error: 'Invalid number value. Please enter a valid number.' }\n }\n return { value: floatValue }\n }\n\n return { value: input }\n },\n [valueType],\n )\n\n // Save content function\n const handleSave = useCallback(\n (trigger: 'Click' | 'Enter' = 'Click') => {\n if (!isRichText) {\n const { value: convertedValue, error } = convertPlainValue(editingValue)\n if (error) {\n toast.error(error)\n return\n }\n // Avoid sending unchanged values unless triggered via Enter\n if (\n trigger !== 'Enter' &&\n (convertedValue === originalValueRef.current ||\n String(convertedValue ?? '') === originalValueRef.current)\n ) {\n onCancelEdit?.()\n return\n }\n onChange?.(convertedValue as string, trigger)\n return\n }\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n const html = quill.root.innerHTML\n const [markdown] = convertToMarkdown(html)\n\n // Guard against saving unchanged content (e.g. click-outside before Quill initializes)\n if (trigger !== 'Enter' && markdown.trim() === originalValueRef.current.trim()) {\n onCancelEdit?.()\n return\n }\n\n onChange?.(markdown, trigger)\n },\n [convertPlainValue, editingValue, isRichText, onChange, onCancelEdit, onEditingDraftChange],\n )\n\n // Refs for capture-phase keyboard handler (avoids stale closures)\n const handleSaveRef = useRef(handleSave)\n handleSaveRef.current = handleSave\n const onCancelEditRef = useRef(onCancelEdit)\n onCancelEditRef.current = onCancelEdit\n\n // Capture-phase listener to intercept Enter/Escape before Quill processes them\n useEffect(() => {\n if (isPreview || !isRichText) return\n const el = dialogRef.current\n if (!el) return\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n onCancelEditRef.current?.()\n return\n }\n // Enter (without Shift) saves; Shift+Enter falls through for newline\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n handleSaveRef.current('Enter')\n return\n }\n }\n\n el.addEventListener('keydown', handler, true)\n return () => el.removeEventListener('keydown', handler, true)\n }, [isPreview, isRichText])\n\n // Handle Ctrl+key formatting shortcuts (bubble phase is fine for these)\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isPreview || !isRichText) return\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n // Handle Ctrl/Cmd + key combinations\n if (e.ctrlKey || e.metaKey) {\n const key = e.key.toLowerCase()\n const format = quill.getFormat()\n // b, i, u are handled natively by Quill's built-in keyboard bindings,\n // so we only intercept the non-standard shortcuts here to avoid double-toggling.\n const handledKeys = new Set(['d', 'o', 'l', 'h'])\n\n if (!handledKeys.has(key)) return\n\n e.preventDefault()\n\n switch (key) {\n case 'd':\n quill.format('code-block', !quill.getFormat()['code-block'])\n return\n case 'o':\n quill.format('list', format.list === 'ordered' ? false : 'ordered')\n return\n case 'l':\n quill.format('list', format.list === 'bullet' ? false : 'bullet')\n return\n case 'h':\n const isH2 = format.header === 2\n quill.format('header', isH2 ? false : 2)\n break\n }\n }\n },\n [isPreview, isRichText],\n )\n\n const dialogContent = (\n <StyledDialog\n ref={dialogRef}\n className={isPreview ? 'preview' : 'editing'}\n onKeyDown={handleKeyDown}\n onMouseDown={(e) => {\n e.stopPropagation()\n }}\n onMouseEnter={() => {\n if (isPreview) onPreviewMouseEnter?.()\n }}\n onMouseLeave={() => {\n if (isPreview) onPreviewMouseLeave?.()\n }}\n >\n <StyledEditor\n onMouseDown={(e) => {\n // Always prevent selection issues with table beneath\n e.stopPropagation()\n }}\n onClick={(e) => {\n // Prevent bubbling to underlying cell in both modes\n e.stopPropagation()\n // In preview, allow clicking links; open editor only when clicking outside links\n if (isPreview) {\n const target = e.target as HTMLElement\n const isLink = !!target.closest('a')\n if (!isLink) onPreviewClick?.()\n return\n }\n }}\n >\n <QuillListStyles>\n {isRichText ? (\n <ReactQuill\n key={`text-editor-${variant}-${isEditing}`}\n ref={quillRef}\n theme=\"snow\"\n value={editingValue}\n modules={{\n toolbar: false,\n }}\n readOnly={isPreview}\n onChange={updateEditingValue}\n className=\"block-shortcuts\"\n />\n ) : isPreview ? (\n <PlainPreview>{normalizedValue}</PlainPreview>\n ) : (\n <PlainTextarea\n ref={plainTextAreaRef}\n value={editingValue}\n onChange={(e) => updateEditingValue(e.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n onCancelEdit?.()\n return\n }\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n handleSave('Enter')\n return\n }\n }}\n spellCheck={false}\n />\n )}\n </QuillListStyles>\n </StyledEditor>\n </StyledDialog>\n )\n\n return (\n <>\n {/* Always render the hidden markdown component so markdownRef is available */}\n {isRichText && (\n <StyledHiddenMarkdown\n className=\"markdown-content\"\n data-cell-id={cellId}\n ref={markdownRef}\n style={{ display: 'none' }}\n >\n <Suspense fallback={null}>\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={normalizedValue} />\n </Suspense>\n </StyledHiddenMarkdown>\n )}\n\n {(isEditing || isPreview) && (\n <CellEditingDialog\n isEditing={Boolean(isEditing || isPreview)}\n anchorId={cellId}\n onClose={onCancelEdit}\n matchAnchorWidth\n >\n {dialogContent}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["StyledDialog","styled","PlainTextarea","PlainPreview","StyledHiddenMarkdown","TextContentWidget","value","isEditing","cellId","onChange","onCancelEdit","variant","onPreviewClick","allowMarkdown","valueType","draftValue","onEditingDraftChange","onDismissWithoutSave","onPreviewMouseEnter","onPreviewMouseLeave","hasDraftRef","useRef","editingValue","setEditingValue","useState","descriptionHtml","setDescriptionHtml","quillRef","markdownRef","isPreview","isRichText","plainTextAreaRef","hasAutoFocusedRef","dialogRef","normalizedValue","originalValueRef","useEffect","updateEditingValue","useCallback","newValue","html","quillInstance","len","index","textarea","convertPlainValue","input","trimmed","intValue","floatValue","handleSave","trigger","convertedValue","error","toast","markdown","convertToMarkdown","handleSaveRef","onCancelEditRef","el","handler","e","handleKeyDown","quill","key","format","isH2","dialogContent","jsx","StyledEditor","QuillListStyles","ReactQuill","event","jsxs","Fragment","Suspense","InputMarkdownConvert","mentionTypeOptions","CellEditingDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextContentWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextContentWidget.tsx"],"sourcesContent":["import { FC, useRef, useEffect, useCallback, useState, Suspense, type ChangeEvent } from 'react'\nimport styled from 'styled-components'\n\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport type { WidgetBaseProps } from './CellWidget'\nimport ReactQuill from 'react-quill-ayon'\nimport InputMarkdownConvert from '@shared/containers/Feed/components/CommentInput/InputMarkdownConvert'\nimport { convertToMarkdown } from '@shared/containers/Feed/components/CommentInput/quillToMarkdown'\nimport { mentionTypeOptions } from '@shared/components/DetailsPanelDetails/hooks'\nimport { StyledEditor } from '@shared/components/DetailsPanelDetails/DescriptionSection.styles'\nimport { QuillListStyles } from '@shared/components/QuillListStyles'\nimport { toast } from 'react-toastify'\n\nconst StyledDialog = styled.div`\n display: flex;\n flex-direction: column;\n background: var(--md-sys-color-surface-container-lowest);\n border-radius: 8px;\n min-width: 350px;\n width: 100%;\n max-width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n flex: 1;\n overflow: auto;\n border: 2px solid transparent;\n\n &.editing {\n border: 2px solid var(--md-sys-color-primary);\n }\n`\n\nconst PlainTextarea = styled.textarea`\n width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n border: none;\n outline: none;\n resize: vertical;\n background: transparent;\n color: inherit;\n font: inherit;\n padding: 12px;\n`\n\nconst PlainPreview = styled.div`\n width: 100%;\n white-space: pre-wrap;\n word-break: break-word;\n padding: 12px;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n overflow: auto;\n`\n\nconst StyledHiddenMarkdown = styled.div`\n display: none;\n`\n\nexport interface TextContentWidgetProps extends WidgetBaseProps {\n value?: string | number | null\n cellId: string\n placeholder?: string\n // When variant is 'preview', render the same UI read-only for hover preview\n variant?: 'edit' | 'preview'\n // When in preview, a click on the preview should enter edit mode\n onPreviewClick?: () => void\n // Enable or disable markdown editing features\n allowMarkdown?: boolean\n valueType?: 'string' | 'integer' | 'float'\n draftValue?: string | null\n onEditingDraftChange?: (value: string | null) => void\n onDismissWithoutSave?: () => void\n onPreviewMouseEnter?: () => void\n onPreviewMouseLeave?: () => void\n}\n\nexport const TextContentWidget: FC<TextContentWidgetProps> = ({\n value,\n isEditing,\n cellId,\n onChange,\n onCancelEdit,\n variant = 'edit',\n onPreviewClick,\n allowMarkdown = true,\n valueType = 'string',\n draftValue,\n onEditingDraftChange,\n onDismissWithoutSave,\n onPreviewMouseEnter,\n onPreviewMouseLeave,\n}) => {\n const hasDraftRef = useRef(draftValue != null)\n const [editingValue, setEditingValue] = useState(draftValue ?? '')\n const [descriptionHtml, setDescriptionHtml] = useState(draftValue ?? '')\n const quillRef = useRef<any>(null)\n const markdownRef = useRef<HTMLDivElement>(null)\n const isPreview = variant === 'preview'\n const isRichText = allowMarkdown\n const plainTextAreaRef = useRef<HTMLTextAreaElement>(null)\n const hasAutoFocusedRef = useRef(false)\n const dialogRef = useRef<HTMLDivElement>(null)\n const normalizedValue = typeof value === 'string' ? value : value == null ? '' : String(value)\n const originalValueRef = useRef(normalizedValue)\n useEffect(() => {\n originalValueRef.current = normalizedValue\n }, [normalizedValue])\n\n const updateEditingValue = useCallback(\n (newValue: string) => {\n setEditingValue(newValue)\n onEditingDraftChange?.(newValue)\n },\n [onEditingDraftChange],\n )\n\n // Parse markdown to HTML to initialize the editor content for edit and preview\n useEffect(() => {\n if (hasDraftRef.current) {\n hasDraftRef.current = false\n return\n }\n if (!isEditing && !isPreview) return\n if (!isRichText) {\n setEditingValue(normalizedValue)\n return\n }\n if (!normalizedValue.trim()) {\n setDescriptionHtml('')\n setEditingValue('')\n return\n }\n if (!markdownRef.current) return\n const html = markdownRef.current.innerHTML\n setDescriptionHtml(html)\n setEditingValue(html)\n }, [isEditing, isPreview, normalizedValue, isRichText])\n\n // Autofocus editor when dialog opens\n useEffect(() => {\n if (isPreview || !isEditing) {\n hasAutoFocusedRef.current = false\n return\n }\n\n if (isRichText) {\n if (hasAutoFocusedRef.current) return\n const quillInstance = quillRef.current?.getEditor()\n if (!quillInstance) return\n\n requestAnimationFrame(() => {\n const len = quillInstance.getLength()\n const index = Math.max(len - 1, 0)\n quillInstance.focus()\n quillInstance.setSelection(index, 0)\n })\n return\n }\n\n if (hasAutoFocusedRef.current) return\n\n requestAnimationFrame(() => {\n const textarea = plainTextAreaRef.current\n if (!textarea) return\n textarea.focus()\n const len = textarea.value.length\n // Position cursor at the end of the content\n textarea.setSelectionRange(len, len)\n hasAutoFocusedRef.current = true\n })\n }, [isEditing, isPreview, descriptionHtml, isRichText])\n\n const convertPlainValue = useCallback(\n (input: string): { value: string | number | null; error?: string } => {\n const trimmed = input.trim()\n\n if (valueType === 'string') {\n return { value: input }\n }\n\n if (trimmed === '') {\n return { value: null }\n }\n\n if (valueType === 'integer') {\n const intValue = parseInt(trimmed, 10)\n if (Number.isNaN(intValue)) {\n return { value: null, error: 'Invalid integer value. Please enter a valid integer.' }\n }\n return { value: intValue }\n }\n\n if (valueType === 'float') {\n const floatValue = parseFloat(trimmed)\n if (Number.isNaN(floatValue)) {\n return { value: null, error: 'Invalid number value. Please enter a valid number.' }\n }\n return { value: floatValue }\n }\n\n return { value: input }\n },\n [valueType],\n )\n\n // Save content function\n const handleSave = useCallback(\n (trigger: 'Click' | 'Enter' = 'Click') => {\n if (!isRichText) {\n const { value: convertedValue, error } = convertPlainValue(editingValue)\n if (error) {\n toast.error(error)\n return\n }\n // Avoid sending unchanged values unless triggered via Enter\n if (\n trigger !== 'Enter' &&\n (convertedValue === originalValueRef.current ||\n String(convertedValue ?? '') === originalValueRef.current)\n ) {\n onCancelEdit?.()\n return\n }\n onChange?.(convertedValue as string, trigger)\n return\n }\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n const html = quill.root.innerHTML\n const [markdown] = convertToMarkdown(html)\n\n // Guard against saving unchanged content (e.g. click-outside before Quill initializes)\n if (trigger !== 'Enter' && markdown.trim() === originalValueRef.current.trim()) {\n onCancelEdit?.()\n return\n }\n\n onChange?.(markdown, trigger)\n },\n [convertPlainValue, editingValue, isRichText, onChange, onCancelEdit, onEditingDraftChange],\n )\n\n // Refs for capture-phase keyboard handler (avoids stale closures)\n const handleSaveRef = useRef(handleSave)\n handleSaveRef.current = handleSave\n const onCancelEditRef = useRef(onCancelEdit)\n onCancelEditRef.current = onCancelEdit\n\n // Capture-phase listener to intercept Enter/Escape before Quill processes them\n useEffect(() => {\n if (isPreview || !isRichText) return\n const el = dialogRef.current\n if (!el) return\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n onCancelEditRef.current?.()\n return\n }\n // Enter (without Shift) saves; Shift+Enter falls through for newline\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n handleSaveRef.current('Enter')\n return\n }\n }\n\n el.addEventListener('keydown', handler, true)\n return () => el.removeEventListener('keydown', handler, true)\n }, [isPreview, isRichText])\n\n // Handle Ctrl+key formatting shortcuts (bubble phase is fine for these)\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isPreview || !isRichText) return\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n // Handle Ctrl/Cmd + key combinations\n if (e.ctrlKey || e.metaKey) {\n const key = e.key.toLowerCase()\n const format = quill.getFormat()\n // b, i, u are handled natively by Quill's built-in keyboard bindings,\n // so we only intercept the non-standard shortcuts here to avoid double-toggling.\n const handledKeys = new Set(['d', 'o', 'l', 'h'])\n\n if (!handledKeys.has(key)) return\n\n e.preventDefault()\n\n switch (key) {\n case 'd':\n quill.format('code-block', !quill.getFormat()['code-block'])\n return\n case 'o':\n quill.format('list', format.list === 'ordered' ? false : 'ordered')\n return\n case 'l':\n quill.format('list', format.list === 'bullet' ? false : 'bullet')\n return\n case 'h':\n const isH2 = format.header === 2\n quill.format('header', isH2 ? false : 2)\n break\n }\n }\n },\n [isPreview, isRichText],\n )\n\n const dialogContent = (\n <StyledDialog\n ref={dialogRef}\n className={isPreview ? 'preview' : 'editing'}\n onKeyDown={handleKeyDown}\n onMouseDown={(e) => {\n e.stopPropagation()\n }}\n onMouseEnter={() => {\n if (isPreview) onPreviewMouseEnter?.()\n }}\n onMouseLeave={() => {\n if (isPreview) onPreviewMouseLeave?.()\n }}\n >\n <StyledEditor\n onMouseDown={(e) => {\n // Always prevent selection issues with table beneath\n e.stopPropagation()\n }}\n onClick={(e) => {\n // Prevent bubbling to underlying cell in both modes\n e.stopPropagation()\n // In preview, allow clicking links; open editor only when clicking outside links\n if (isPreview) {\n const target = e.target as HTMLElement\n const isLink = !!target.closest('a')\n if (!isLink) onPreviewClick?.()\n return\n }\n }}\n >\n <QuillListStyles>\n {isRichText ? (\n <ReactQuill\n key={`text-editor-${variant}-${isEditing}`}\n ref={quillRef}\n theme=\"snow\"\n value={editingValue}\n modules={{\n toolbar: false,\n }}\n readOnly={isPreview}\n onChange={updateEditingValue}\n className=\"block-shortcuts\"\n />\n ) : isPreview ? (\n <PlainPreview>{normalizedValue}</PlainPreview>\n ) : (\n <PlainTextarea\n ref={plainTextAreaRef}\n value={editingValue}\n onChange={(e) => updateEditingValue(e.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n onCancelEdit?.()\n return\n }\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n handleSave('Enter')\n return\n }\n }}\n spellCheck={false}\n />\n )}\n </QuillListStyles>\n </StyledEditor>\n </StyledDialog>\n )\n\n return (\n <>\n {/* Always render the hidden markdown component so markdownRef is available */}\n {isRichText && (\n <StyledHiddenMarkdown\n className=\"markdown-content\"\n data-cell-id={cellId}\n ref={markdownRef}\n style={{ display: 'none' }}\n >\n <Suspense fallback={null}>\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={normalizedValue} />\n </Suspense>\n </StyledHiddenMarkdown>\n )}\n\n {(isEditing || isPreview) && (\n <CellEditingDialog\n isEditing={Boolean(isEditing || isPreview)}\n anchorId={cellId}\n onClose={onCancelEdit}\n matchAnchorWidth\n >\n {dialogContent}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["StyledDialog","styled","PlainTextarea","PlainPreview","StyledHiddenMarkdown","TextContentWidget","value","isEditing","cellId","onChange","onCancelEdit","variant","onPreviewClick","allowMarkdown","valueType","draftValue","onEditingDraftChange","onDismissWithoutSave","onPreviewMouseEnter","onPreviewMouseLeave","hasDraftRef","useRef","editingValue","setEditingValue","useState","descriptionHtml","setDescriptionHtml","quillRef","markdownRef","isPreview","isRichText","plainTextAreaRef","hasAutoFocusedRef","dialogRef","normalizedValue","originalValueRef","useEffect","updateEditingValue","useCallback","newValue","html","quillInstance","len","index","textarea","convertPlainValue","input","trimmed","intValue","floatValue","handleSave","trigger","convertedValue","error","toast","markdown","convertToMarkdown","handleSaveRef","onCancelEditRef","el","handler","e","handleKeyDown","quill","key","format","isH2","dialogContent","jsx","StyledEditor","QuillListStyles","ReactQuill","event","jsxs","Fragment","Suspense","InputMarkdownConvert","mentionTypeOptions","CellEditingDialog"],"mappings":"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"}
|
|
@@ -60,8 +60,11 @@ import "../../../api/queries/addons/updateAddons.es.js";
|
|
|
60
60
|
import "../../../api/queries/attributes/getAttributes.es.js";
|
|
61
61
|
import "../../../api/queries/attributes/updateAttributes.es.js";
|
|
62
62
|
import "../../../api/queries/authentication/getAuthentication.es.js";
|
|
63
|
+
import "../../../api/queries/bundles/getBundles.es.js";
|
|
64
|
+
import "../../../api/queries/bundles/updateBundles.es.js";
|
|
63
65
|
import "../../../api/queries/cloud/cloud.es.js";
|
|
64
66
|
import "../../../api/queries/columnStats/metricTargets.es.js";
|
|
67
|
+
import "../../../api/queries/columnStats/groupCounts.es.js";
|
|
65
68
|
import "../../../api/queries/config/getConfig.es.js";
|
|
66
69
|
import "../../../api/queries/config/updateConfig.es.js";
|
|
67
70
|
import "../../../api/queries/entities/getEntity.es.js";
|
|
@@ -124,7 +127,7 @@ import "../../../context/MenuContext.es.js";
|
|
|
124
127
|
import "../../../context/WebsocketContext.es.js";
|
|
125
128
|
import "../../../context/GlobalContext.es.js";
|
|
126
129
|
import "../../../context/ProjectContext.es.js";
|
|
127
|
-
import "../../../context/
|
|
130
|
+
import "../../../context/ProjectFoldersContextInstance.es.js";
|
|
128
131
|
import "react-redux";
|
|
129
132
|
import "custom-protocol-check";
|
|
130
133
|
import "../components/GroupSettingsFallback.es.js";
|
|
@@ -171,7 +174,7 @@ const rt = b.div`
|
|
|
171
174
|
overflow: auto;
|
|
172
175
|
`, it = b.div`
|
|
173
176
|
display: none;
|
|
174
|
-
`,
|
|
177
|
+
`, qe = ({
|
|
175
178
|
value: c,
|
|
176
179
|
isEditing: s,
|
|
177
180
|
cellId: L,
|
|
@@ -411,6 +414,6 @@ const rt = b.div`
|
|
|
411
414
|
] });
|
|
412
415
|
};
|
|
413
416
|
export {
|
|
414
|
-
|
|
417
|
+
qe as TextContentWidget
|
|
415
418
|
};
|
|
416
419
|
//# sourceMappingURL=TextContentWidget.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextContentWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextContentWidget.tsx"],"sourcesContent":["import { FC, useRef, useEffect, useCallback, useState, Suspense, type ChangeEvent } from 'react'\nimport styled from 'styled-components'\n\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport type { WidgetBaseProps } from './CellWidget'\nimport ReactQuill from 'react-quill-ayon'\nimport InputMarkdownConvert from '@shared/containers/Feed/components/CommentInput/InputMarkdownConvert'\nimport { convertToMarkdown } from '@shared/containers/Feed/components/CommentInput/quillToMarkdown'\nimport { mentionTypeOptions } from '@shared/components/DetailsPanelDetails/hooks'\nimport { StyledEditor } from '@shared/components/DetailsPanelDetails/DescriptionSection.styles'\nimport { QuillListStyles } from '@shared/components/QuillListStyles'\nimport { toast } from 'react-toastify'\n\nconst StyledDialog = styled.div`\n display: flex;\n flex-direction: column;\n background: var(--md-sys-color-surface-container-lowest);\n border-radius: 8px;\n min-width: 350px;\n width: 100%;\n max-width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n flex: 1;\n overflow: auto;\n border: 2px solid transparent;\n\n &.editing {\n border: 2px solid var(--md-sys-color-primary);\n }\n`\n\nconst PlainTextarea = styled.textarea`\n width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n border: none;\n outline: none;\n resize: vertical;\n background: transparent;\n color: inherit;\n font: inherit;\n padding: 12px;\n`\n\nconst PlainPreview = styled.div`\n width: 100%;\n white-space: pre-wrap;\n word-break: break-word;\n padding: 12px;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n overflow: auto;\n`\n\nconst StyledHiddenMarkdown = styled.div`\n display: none;\n`\n\nexport interface TextContentWidgetProps extends WidgetBaseProps {\n value?: string | number | null\n cellId: string\n placeholder?: string\n // When variant is 'preview', render the same UI read-only for hover preview\n variant?: 'edit' | 'preview'\n // When in preview, a click on the preview should enter edit mode\n onPreviewClick?: () => void\n // Enable or disable markdown editing features\n allowMarkdown?: boolean\n valueType?: 'string' | 'integer' | 'float'\n draftValue?: string | null\n onEditingDraftChange?: (value: string | null) => void\n onDismissWithoutSave?: () => void\n onPreviewMouseEnter?: () => void\n onPreviewMouseLeave?: () => void\n}\n\nexport const TextContentWidget: FC<TextContentWidgetProps> = ({\n value,\n isEditing,\n cellId,\n onChange,\n onCancelEdit,\n variant = 'edit',\n onPreviewClick,\n allowMarkdown = true,\n valueType = 'string',\n draftValue,\n onEditingDraftChange,\n onDismissWithoutSave,\n onPreviewMouseEnter,\n onPreviewMouseLeave,\n}) => {\n const hasDraftRef = useRef(draftValue != null)\n const [editingValue, setEditingValue] = useState(draftValue ?? '')\n const [descriptionHtml, setDescriptionHtml] = useState(draftValue ?? '')\n const quillRef = useRef<any>(null)\n const markdownRef = useRef<HTMLDivElement>(null)\n const isPreview = variant === 'preview'\n const isRichText = allowMarkdown\n const plainTextAreaRef = useRef<HTMLTextAreaElement>(null)\n const hasAutoFocusedRef = useRef(false)\n const dialogRef = useRef<HTMLDivElement>(null)\n const normalizedValue = typeof value === 'string' ? value : value == null ? '' : String(value)\n const originalValueRef = useRef(normalizedValue)\n useEffect(() => {\n originalValueRef.current = normalizedValue\n }, [normalizedValue])\n\n const updateEditingValue = useCallback(\n (newValue: string) => {\n setEditingValue(newValue)\n onEditingDraftChange?.(newValue)\n },\n [onEditingDraftChange],\n )\n\n // Parse markdown to HTML to initialize the editor content for edit and preview\n useEffect(() => {\n if (hasDraftRef.current) {\n hasDraftRef.current = false\n return\n }\n if (!isEditing && !isPreview) return\n if (!isRichText) {\n setEditingValue(normalizedValue)\n return\n }\n if (!normalizedValue.trim()) {\n setDescriptionHtml('')\n setEditingValue('')\n return\n }\n if (!markdownRef.current) return\n const html = markdownRef.current.innerHTML\n setDescriptionHtml(html)\n setEditingValue(html)\n }, [isEditing, isPreview, normalizedValue, isRichText])\n\n // Autofocus editor when dialog opens\n useEffect(() => {\n if (isPreview || !isEditing) {\n hasAutoFocusedRef.current = false\n return\n }\n\n if (isRichText) {\n if (hasAutoFocusedRef.current) return\n const quillInstance = quillRef.current?.getEditor()\n if (!quillInstance) return\n\n requestAnimationFrame(() => {\n const len = quillInstance.getLength()\n const index = Math.max(len - 1, 0)\n quillInstance.focus()\n quillInstance.setSelection(index, 0)\n })\n return\n }\n\n if (hasAutoFocusedRef.current) return\n\n requestAnimationFrame(() => {\n const textarea = plainTextAreaRef.current\n if (!textarea) return\n textarea.focus()\n const len = textarea.value.length\n // Position cursor at the end of the content\n textarea.setSelectionRange(len, len)\n hasAutoFocusedRef.current = true\n })\n }, [isEditing, isPreview, descriptionHtml, isRichText])\n\n const convertPlainValue = useCallback(\n (input: string): { value: string | number | null; error?: string } => {\n const trimmed = input.trim()\n\n if (valueType === 'string') {\n return { value: input }\n }\n\n if (trimmed === '') {\n return { value: null }\n }\n\n if (valueType === 'integer') {\n const intValue = parseInt(trimmed, 10)\n if (Number.isNaN(intValue)) {\n return { value: null, error: 'Invalid integer value. Please enter a valid integer.' }\n }\n return { value: intValue }\n }\n\n if (valueType === 'float') {\n const floatValue = parseFloat(trimmed)\n if (Number.isNaN(floatValue)) {\n return { value: null, error: 'Invalid number value. Please enter a valid number.' }\n }\n return { value: floatValue }\n }\n\n return { value: input }\n },\n [valueType],\n )\n\n // Save content function\n const handleSave = useCallback(\n (trigger: 'Click' | 'Enter' = 'Click') => {\n if (!isRichText) {\n const { value: convertedValue, error } = convertPlainValue(editingValue)\n if (error) {\n toast.error(error)\n return\n }\n // Avoid sending unchanged values unless triggered via Enter\n if (\n trigger !== 'Enter' &&\n (convertedValue === originalValueRef.current ||\n String(convertedValue ?? '') === originalValueRef.current)\n ) {\n onCancelEdit?.()\n return\n }\n onChange?.(convertedValue as string, trigger)\n return\n }\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n const html = quill.root.innerHTML\n const [markdown] = convertToMarkdown(html)\n\n // Guard against saving unchanged content (e.g. click-outside before Quill initializes)\n if (trigger !== 'Enter' && markdown.trim() === originalValueRef.current.trim()) {\n onCancelEdit?.()\n return\n }\n\n onChange?.(markdown, trigger)\n },\n [convertPlainValue, editingValue, isRichText, onChange, onCancelEdit, onEditingDraftChange],\n )\n\n // Refs for capture-phase keyboard handler (avoids stale closures)\n const handleSaveRef = useRef(handleSave)\n handleSaveRef.current = handleSave\n const onCancelEditRef = useRef(onCancelEdit)\n onCancelEditRef.current = onCancelEdit\n\n // Capture-phase listener to intercept Enter/Escape before Quill processes them\n useEffect(() => {\n if (isPreview || !isRichText) return\n const el = dialogRef.current\n if (!el) return\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n onCancelEditRef.current?.()\n return\n }\n // Enter (without Shift) saves; Shift+Enter falls through for newline\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n handleSaveRef.current('Enter')\n return\n }\n }\n\n el.addEventListener('keydown', handler, true)\n return () => el.removeEventListener('keydown', handler, true)\n }, [isPreview, isRichText])\n\n // Handle Ctrl+key formatting shortcuts (bubble phase is fine for these)\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isPreview || !isRichText) return\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n // Handle Ctrl/Cmd + key combinations\n if (e.ctrlKey || e.metaKey) {\n const key = e.key.toLowerCase()\n const format = quill.getFormat()\n // b, i, u are handled natively by Quill's built-in keyboard bindings,\n // so we only intercept the non-standard shortcuts here to avoid double-toggling.\n const handledKeys = new Set(['d', 'o', 'l', 'h'])\n\n if (!handledKeys.has(key)) return\n\n e.preventDefault()\n\n switch (key) {\n case 'd':\n quill.format('code-block', !quill.getFormat()['code-block'])\n return\n case 'o':\n quill.format('list', format.list === 'ordered' ? false : 'ordered')\n return\n case 'l':\n quill.format('list', format.list === 'bullet' ? false : 'bullet')\n return\n case 'h':\n const isH2 = format.header === 2\n quill.format('header', isH2 ? false : 2)\n break\n }\n }\n },\n [isPreview, isRichText],\n )\n\n const dialogContent = (\n <StyledDialog\n ref={dialogRef}\n className={isPreview ? 'preview' : 'editing'}\n onKeyDown={handleKeyDown}\n onMouseDown={(e) => {\n e.stopPropagation()\n }}\n onMouseEnter={() => {\n if (isPreview) onPreviewMouseEnter?.()\n }}\n onMouseLeave={() => {\n if (isPreview) onPreviewMouseLeave?.()\n }}\n >\n <StyledEditor\n onMouseDown={(e) => {\n // Always prevent selection issues with table beneath\n e.stopPropagation()\n }}\n onClick={(e) => {\n // Prevent bubbling to underlying cell in both modes\n e.stopPropagation()\n // In preview, allow clicking links; open editor only when clicking outside links\n if (isPreview) {\n const target = e.target as HTMLElement\n const isLink = !!target.closest('a')\n if (!isLink) onPreviewClick?.()\n return\n }\n }}\n >\n <QuillListStyles>\n {isRichText ? (\n <ReactQuill\n key={`text-editor-${variant}-${isEditing}`}\n ref={quillRef}\n theme=\"snow\"\n value={editingValue}\n modules={{\n toolbar: false,\n }}\n readOnly={isPreview}\n onChange={updateEditingValue}\n className=\"block-shortcuts\"\n />\n ) : isPreview ? (\n <PlainPreview>{normalizedValue}</PlainPreview>\n ) : (\n <PlainTextarea\n ref={plainTextAreaRef}\n value={editingValue}\n onChange={(e) => updateEditingValue(e.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n onCancelEdit?.()\n return\n }\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n handleSave('Enter')\n return\n }\n }}\n spellCheck={false}\n />\n )}\n </QuillListStyles>\n </StyledEditor>\n </StyledDialog>\n )\n\n return (\n <>\n {/* Always render the hidden markdown component so markdownRef is available */}\n {isRichText && (\n <StyledHiddenMarkdown\n className=\"markdown-content\"\n data-cell-id={cellId}\n ref={markdownRef}\n style={{ display: 'none' }}\n >\n <Suspense fallback={null}>\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={normalizedValue} />\n </Suspense>\n </StyledHiddenMarkdown>\n )}\n\n {(isEditing || isPreview) && (\n <CellEditingDialog\n isEditing={Boolean(isEditing || isPreview)}\n anchorId={cellId}\n onClose={onCancelEdit}\n matchAnchorWidth\n >\n {dialogContent}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["StyledDialog","styled","PlainTextarea","PlainPreview","StyledHiddenMarkdown","TextContentWidget","value","isEditing","cellId","onChange","onCancelEdit","variant","onPreviewClick","allowMarkdown","valueType","draftValue","onEditingDraftChange","onDismissWithoutSave","onPreviewMouseEnter","onPreviewMouseLeave","hasDraftRef","useRef","editingValue","setEditingValue","useState","descriptionHtml","setDescriptionHtml","quillRef","markdownRef","isPreview","isRichText","plainTextAreaRef","hasAutoFocusedRef","dialogRef","normalizedValue","originalValueRef","useEffect","updateEditingValue","useCallback","newValue","html","quillInstance","len","index","textarea","convertPlainValue","input","trimmed","intValue","floatValue","handleSave","trigger","convertedValue","error","toast","markdown","convertToMarkdown","handleSaveRef","onCancelEditRef","el","handler","e","handleKeyDown","quill","key","format","isH2","dialogContent","jsx","StyledEditor","QuillListStyles","ReactQuill","event","jsxs","Fragment","Suspense","InputMarkdownConvert","mentionTypeOptions","CellEditingDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextContentWidget.es.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextContentWidget.tsx"],"sourcesContent":["import { FC, useRef, useEffect, useCallback, useState, Suspense, type ChangeEvent } from 'react'\nimport styled from 'styled-components'\n\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport type { WidgetBaseProps } from './CellWidget'\nimport ReactQuill from 'react-quill-ayon'\nimport InputMarkdownConvert from '@shared/containers/Feed/components/CommentInput/InputMarkdownConvert'\nimport { convertToMarkdown } from '@shared/containers/Feed/components/CommentInput/quillToMarkdown'\nimport { mentionTypeOptions } from '@shared/components/DetailsPanelDetails/hooks'\nimport { StyledEditor } from '@shared/components/DetailsPanelDetails/DescriptionSection.styles'\nimport { QuillListStyles } from '@shared/components/QuillListStyles'\nimport { toast } from 'react-toastify'\n\nconst StyledDialog = styled.div`\n display: flex;\n flex-direction: column;\n background: var(--md-sys-color-surface-container-lowest);\n border-radius: 8px;\n min-width: 350px;\n width: 100%;\n max-width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n flex: 1;\n overflow: auto;\n border: 2px solid transparent;\n\n &.editing {\n border: 2px solid var(--md-sys-color-primary);\n }\n`\n\nconst PlainTextarea = styled.textarea`\n width: 100%;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n border: none;\n outline: none;\n resize: vertical;\n background: transparent;\n color: inherit;\n font: inherit;\n padding: 12px;\n`\n\nconst PlainPreview = styled.div`\n width: 100%;\n white-space: pre-wrap;\n word-break: break-word;\n padding: 12px;\n height: auto;\n min-height: 88px;\n max-height: inherit;\n overflow: auto;\n`\n\nconst StyledHiddenMarkdown = styled.div`\n display: none;\n`\n\nexport interface TextContentWidgetProps extends WidgetBaseProps {\n value?: string | number | null\n cellId: string\n placeholder?: string\n // When variant is 'preview', render the same UI read-only for hover preview\n variant?: 'edit' | 'preview'\n // When in preview, a click on the preview should enter edit mode\n onPreviewClick?: () => void\n // Enable or disable markdown editing features\n allowMarkdown?: boolean\n valueType?: 'string' | 'integer' | 'float'\n draftValue?: string | null\n onEditingDraftChange?: (value: string | null) => void\n onDismissWithoutSave?: () => void\n onPreviewMouseEnter?: () => void\n onPreviewMouseLeave?: () => void\n}\n\nexport const TextContentWidget: FC<TextContentWidgetProps> = ({\n value,\n isEditing,\n cellId,\n onChange,\n onCancelEdit,\n variant = 'edit',\n onPreviewClick,\n allowMarkdown = true,\n valueType = 'string',\n draftValue,\n onEditingDraftChange,\n onDismissWithoutSave,\n onPreviewMouseEnter,\n onPreviewMouseLeave,\n}) => {\n const hasDraftRef = useRef(draftValue != null)\n const [editingValue, setEditingValue] = useState(draftValue ?? '')\n const [descriptionHtml, setDescriptionHtml] = useState(draftValue ?? '')\n const quillRef = useRef<any>(null)\n const markdownRef = useRef<HTMLDivElement>(null)\n const isPreview = variant === 'preview'\n const isRichText = allowMarkdown\n const plainTextAreaRef = useRef<HTMLTextAreaElement>(null)\n const hasAutoFocusedRef = useRef(false)\n const dialogRef = useRef<HTMLDivElement>(null)\n const normalizedValue = typeof value === 'string' ? value : value == null ? '' : String(value)\n const originalValueRef = useRef(normalizedValue)\n useEffect(() => {\n originalValueRef.current = normalizedValue\n }, [normalizedValue])\n\n const updateEditingValue = useCallback(\n (newValue: string) => {\n setEditingValue(newValue)\n onEditingDraftChange?.(newValue)\n },\n [onEditingDraftChange],\n )\n\n // Parse markdown to HTML to initialize the editor content for edit and preview\n useEffect(() => {\n if (hasDraftRef.current) {\n hasDraftRef.current = false\n return\n }\n if (!isEditing && !isPreview) return\n if (!isRichText) {\n setEditingValue(normalizedValue)\n return\n }\n if (!normalizedValue.trim()) {\n setDescriptionHtml('')\n setEditingValue('')\n return\n }\n if (!markdownRef.current) return\n const html = markdownRef.current.innerHTML\n setDescriptionHtml(html)\n setEditingValue(html)\n }, [isEditing, isPreview, normalizedValue, isRichText])\n\n // Autofocus editor when dialog opens\n useEffect(() => {\n if (isPreview || !isEditing) {\n hasAutoFocusedRef.current = false\n return\n }\n\n if (isRichText) {\n if (hasAutoFocusedRef.current) return\n const quillInstance = quillRef.current?.getEditor()\n if (!quillInstance) return\n\n requestAnimationFrame(() => {\n const len = quillInstance.getLength()\n const index = Math.max(len - 1, 0)\n quillInstance.focus()\n quillInstance.setSelection(index, 0)\n })\n return\n }\n\n if (hasAutoFocusedRef.current) return\n\n requestAnimationFrame(() => {\n const textarea = plainTextAreaRef.current\n if (!textarea) return\n textarea.focus()\n const len = textarea.value.length\n // Position cursor at the end of the content\n textarea.setSelectionRange(len, len)\n hasAutoFocusedRef.current = true\n })\n }, [isEditing, isPreview, descriptionHtml, isRichText])\n\n const convertPlainValue = useCallback(\n (input: string): { value: string | number | null; error?: string } => {\n const trimmed = input.trim()\n\n if (valueType === 'string') {\n return { value: input }\n }\n\n if (trimmed === '') {\n return { value: null }\n }\n\n if (valueType === 'integer') {\n const intValue = parseInt(trimmed, 10)\n if (Number.isNaN(intValue)) {\n return { value: null, error: 'Invalid integer value. Please enter a valid integer.' }\n }\n return { value: intValue }\n }\n\n if (valueType === 'float') {\n const floatValue = parseFloat(trimmed)\n if (Number.isNaN(floatValue)) {\n return { value: null, error: 'Invalid number value. Please enter a valid number.' }\n }\n return { value: floatValue }\n }\n\n return { value: input }\n },\n [valueType],\n )\n\n // Save content function\n const handleSave = useCallback(\n (trigger: 'Click' | 'Enter' = 'Click') => {\n if (!isRichText) {\n const { value: convertedValue, error } = convertPlainValue(editingValue)\n if (error) {\n toast.error(error)\n return\n }\n // Avoid sending unchanged values unless triggered via Enter\n if (\n trigger !== 'Enter' &&\n (convertedValue === originalValueRef.current ||\n String(convertedValue ?? '') === originalValueRef.current)\n ) {\n onCancelEdit?.()\n return\n }\n onChange?.(convertedValue as string, trigger)\n return\n }\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n const html = quill.root.innerHTML\n const [markdown] = convertToMarkdown(html)\n\n // Guard against saving unchanged content (e.g. click-outside before Quill initializes)\n if (trigger !== 'Enter' && markdown.trim() === originalValueRef.current.trim()) {\n onCancelEdit?.()\n return\n }\n\n onChange?.(markdown, trigger)\n },\n [convertPlainValue, editingValue, isRichText, onChange, onCancelEdit, onEditingDraftChange],\n )\n\n // Refs for capture-phase keyboard handler (avoids stale closures)\n const handleSaveRef = useRef(handleSave)\n handleSaveRef.current = handleSave\n const onCancelEditRef = useRef(onCancelEdit)\n onCancelEditRef.current = onCancelEdit\n\n // Capture-phase listener to intercept Enter/Escape before Quill processes them\n useEffect(() => {\n if (isPreview || !isRichText) return\n const el = dialogRef.current\n if (!el) return\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault()\n e.stopPropagation()\n onCancelEditRef.current?.()\n return\n }\n // Enter (without Shift) saves; Shift+Enter falls through for newline\n if (e.key === 'Enter' && !e.shiftKey) {\n e.preventDefault()\n e.stopPropagation()\n handleSaveRef.current('Enter')\n return\n }\n }\n\n el.addEventListener('keydown', handler, true)\n return () => el.removeEventListener('keydown', handler, true)\n }, [isPreview, isRichText])\n\n // Handle Ctrl+key formatting shortcuts (bubble phase is fine for these)\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isPreview || !isRichText) return\n if (!quillRef.current) return\n\n const quill = quillRef.current.getEditor()\n // Handle Ctrl/Cmd + key combinations\n if (e.ctrlKey || e.metaKey) {\n const key = e.key.toLowerCase()\n const format = quill.getFormat()\n // b, i, u are handled natively by Quill's built-in keyboard bindings,\n // so we only intercept the non-standard shortcuts here to avoid double-toggling.\n const handledKeys = new Set(['d', 'o', 'l', 'h'])\n\n if (!handledKeys.has(key)) return\n\n e.preventDefault()\n\n switch (key) {\n case 'd':\n quill.format('code-block', !quill.getFormat()['code-block'])\n return\n case 'o':\n quill.format('list', format.list === 'ordered' ? false : 'ordered')\n return\n case 'l':\n quill.format('list', format.list === 'bullet' ? false : 'bullet')\n return\n case 'h':\n const isH2 = format.header === 2\n quill.format('header', isH2 ? false : 2)\n break\n }\n }\n },\n [isPreview, isRichText],\n )\n\n const dialogContent = (\n <StyledDialog\n ref={dialogRef}\n className={isPreview ? 'preview' : 'editing'}\n onKeyDown={handleKeyDown}\n onMouseDown={(e) => {\n e.stopPropagation()\n }}\n onMouseEnter={() => {\n if (isPreview) onPreviewMouseEnter?.()\n }}\n onMouseLeave={() => {\n if (isPreview) onPreviewMouseLeave?.()\n }}\n >\n <StyledEditor\n onMouseDown={(e) => {\n // Always prevent selection issues with table beneath\n e.stopPropagation()\n }}\n onClick={(e) => {\n // Prevent bubbling to underlying cell in both modes\n e.stopPropagation()\n // In preview, allow clicking links; open editor only when clicking outside links\n if (isPreview) {\n const target = e.target as HTMLElement\n const isLink = !!target.closest('a')\n if (!isLink) onPreviewClick?.()\n return\n }\n }}\n >\n <QuillListStyles>\n {isRichText ? (\n <ReactQuill\n key={`text-editor-${variant}-${isEditing}`}\n ref={quillRef}\n theme=\"snow\"\n value={editingValue}\n modules={{\n toolbar: false,\n }}\n readOnly={isPreview}\n onChange={updateEditingValue}\n className=\"block-shortcuts\"\n />\n ) : isPreview ? (\n <PlainPreview>{normalizedValue}</PlainPreview>\n ) : (\n <PlainTextarea\n ref={plainTextAreaRef}\n value={editingValue}\n onChange={(e) => updateEditingValue(e.target.value)}\n onKeyDown={(event) => {\n if (event.key === 'Escape') {\n event.preventDefault()\n onCancelEdit?.()\n return\n }\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault()\n handleSave('Enter')\n return\n }\n }}\n spellCheck={false}\n />\n )}\n </QuillListStyles>\n </StyledEditor>\n </StyledDialog>\n )\n\n return (\n <>\n {/* Always render the hidden markdown component so markdownRef is available */}\n {isRichText && (\n <StyledHiddenMarkdown\n className=\"markdown-content\"\n data-cell-id={cellId}\n ref={markdownRef}\n style={{ display: 'none' }}\n >\n <Suspense fallback={null}>\n <InputMarkdownConvert typeOptions={mentionTypeOptions} initValue={normalizedValue} />\n </Suspense>\n </StyledHiddenMarkdown>\n )}\n\n {(isEditing || isPreview) && (\n <CellEditingDialog\n isEditing={Boolean(isEditing || isPreview)}\n anchorId={cellId}\n onClose={onCancelEdit}\n matchAnchorWidth\n >\n {dialogContent}\n </CellEditingDialog>\n )}\n </>\n )\n}\n"],"names":["StyledDialog","styled","PlainTextarea","PlainPreview","StyledHiddenMarkdown","TextContentWidget","value","isEditing","cellId","onChange","onCancelEdit","variant","onPreviewClick","allowMarkdown","valueType","draftValue","onEditingDraftChange","onDismissWithoutSave","onPreviewMouseEnter","onPreviewMouseLeave","hasDraftRef","useRef","editingValue","setEditingValue","useState","descriptionHtml","setDescriptionHtml","quillRef","markdownRef","isPreview","isRichText","plainTextAreaRef","hasAutoFocusedRef","dialogRef","normalizedValue","originalValueRef","useEffect","updateEditingValue","useCallback","newValue","html","quillInstance","len","index","textarea","convertPlainValue","input","trimmed","intValue","floatValue","handleSave","trigger","convertedValue","error","toast","markdown","convertToMarkdown","handleSaveRef","onCancelEditRef","el","handler","e","handleKeyDown","quill","key","format","isH2","dialogContent","jsx","StyledEditor","QuillListStyles","ReactQuill","event","jsxs","Fragment","Suspense","InputMarkdownConvert","mentionTypeOptions","CellEditingDialog"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),I=require("react-markdown"),ee=require("remark-gfm"),re=require("rehype-raw"),te=require("./TextWidgetInput.cjs.js"),j=require("styled-components"),ie=require("@ynput/ayon-react-components"),ne=require("clsx");require("lodash");require("react-toastify");require("uuid");const oe=require("../../../util/parseHtmlToPlainTextWithLinks.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/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/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");const H=require("./TextContentWidget.cjs.js"),se=require("../../../components/LinksManager/CellEditingDialog.cjs.js"),V=j.span`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../../../../_virtual/jsx-runtime.cjs.js"),i=require("react"),I=require("react-markdown"),ee=require("remark-gfm"),re=require("rehype-raw"),te=require("./TextWidgetInput.cjs.js"),j=require("styled-components"),ie=require("@ynput/ayon-react-components"),ne=require("clsx");require("lodash");require("react-toastify");require("uuid");const oe=require("../../../util/parseHtmlToPlainTextWithLinks.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/updateReaction.cjs.js");require("../../../api/queries/activities/getMentions.cjs.js");require("../../../api/queries/activities/getCategories.cjs.js");require("../../../api/queries/addons/getAddons.cjs.js");require("../../../api/queries/addons/updateAddons.cjs.js");require("../../../api/queries/attributes/getAttributes.cjs.js");require("../../../api/queries/attributes/updateAttributes.cjs.js");require("../../../api/queries/authentication/getAuthentication.cjs.js");require("../../../api/queries/bundles/getBundles.cjs.js");require("../../../api/queries/bundles/updateBundles.cjs.js");require("../../../api/queries/cloud/cloud.cjs.js");require("../../../api/queries/columnStats/metricTargets.cjs.js");require("../../../api/queries/columnStats/groupCounts.cjs.js");require("../../../api/queries/config/getConfig.cjs.js");require("../../../api/queries/config/updateConfig.cjs.js");require("../../../api/queries/entities/getEntity.cjs.js");require("../../../api/queries/entities/getEntityPanel.cjs.js");require("../../../api/queries/overview/getOverview.cjs.js");require("../../../api/queries/overview/updateOverview.cjs.js");require("../../../api/queries/versions/getVersionsProducts.cjs.js");require("../../../api/queries/links/getEntityLinks.cjs.js");require("../../../api/queries/entities/updateEntity.cjs.js");require("../../../api/queries/entityLists/getLists.cjs.js");require("../../../api/queries/entityLists/updateLists.cjs.js");require("../../../api/queries/entityLists/getListsAttributes.cjs.js");require("../../../api/queries/entityLists/listItemsColumnStats.cjs.js");require("../../../api/queries/entityLists/updateListsAttributes.cjs.js");require("../../../api/queries/entityLists/listFolders.cjs.js");require("../../../api/queries/folders/getFolders.cjs.js");require("../../../api/queries/folders/getFolderDeleteInfo.cjs.js");require("../../../api/queries/grouping/getGrouping.cjs.js");require("../../../api/queries/links/updateLinks.cjs.js");require("../../../api/queries/links/getLinks.cjs.js");require("../../../api/queries/permissions/getPermissions.cjs.js");require("../../../api/queries/products/createProduct.cjs.js");require("../../../api/queries/products/getFolderProducts.cjs.js");require("../../../api/queries/project/getProject.cjs.js");require("../../../api/queries/project/updateProject.cjs.js");require("../../../api/queries/projectFolders/projectFolders.cjs.js");require("../../../api/queries/review/getReview.cjs.js");require("../../../api/queries/review/updateReview.cjs.js");require("../../../api/queries/share/share.cjs.js");require("../../../api/queries/system/getSystem.cjs.js");require("../../../api/queries/tasks/getTasks.cjs.js");require("../../../api/queries/tasks/updateTasks.cjs.js");require("../../../api/queries/teams/getTeams.cjs.js");require("../../../api/queries/userDashboard/getUserDashboard.cjs.js");require("../../../api/queries/users/getUsers.cjs.js");require("../../../api/queries/users/updateUsers.cjs.js");require("../../../api/queries/users/guests.cjs.js");require("../../../api/queries/versions/updateVersions.cjs.js");require("../../../api/queries/views/getViews.cjs.js");require("../../../api/queries/views/updateViews.cjs.js");require("../../../api/queries/watchers/getWatchers.cjs.js");require("../../../api/queries/uris/getUris.cjs.js");require("../../../util/pubsub.cjs.js");const H=require("./TextContentWidget.cjs.js"),se=require("../../../components/LinksManager/CellEditingDialog.cjs.js"),V=j.span`
|
|
2
2
|
overflow: hidden;
|
|
3
3
|
text-overflow: ellipsis;
|
|
4
4
|
white-space: nowrap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextWidget.tsx"],"sourcesContent":["import { forwardRef, useState, useEffect, useRef, useCallback } from 'react'\nimport Markdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport rehypeRaw from 'rehype-raw'\nimport { TextWidgetInput } from './TextWidgetInput'\nimport { WidgetBaseProps } from './CellWidget'\nimport styled from 'styled-components'\nimport { EnumItem, AttributeData } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { parseHtmlToPlainTextWithLinks } from '@shared/util'\nimport { TextContentWidget } from './TextContentWidget'\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport { CellId } from '../utils/cellUtils'\n\n// ── Styled components ──────────────────────────────────────────────\n\nexport const StyledBaseTextWidget = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n user-select: none;\n\n display: flex;\n gap: 4px;\n\n &.markdown {\n white-space: normal;\n word-break: break-word;\n display: block;\n overflow: hidden;\n width: 100%;\n }\n\n &.regular {\n display: block;\n }\n`\n\nconst StyledLink = styled.a`\n color: var(--md-sys-color-primary, #0066cc);\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n text-decoration: underline;\n }\n`\n\nconst StyledPreviewContent = styled.div`\n background: var(--md-sys-color-surface-container-lowest);\n border-radius: 8px;\n padding: 12px;\n white-space: pre-wrap;\n word-break: break-word;\n min-height: 40px;\n max-height: none;\n flex: 1;\n overflow: auto;\n border: 2px solid transparent;\n cursor: pointer;\n\n a {\n color: var(--md-sys-color-primary, #0066cc);\n text-decoration: none;\n white-space: normal;\n word-break: break-all;\n overflow-wrap: break-word;\n overflow: visible;\n text-overflow: unset;\n\n &:hover {\n text-decoration: underline;\n }\n }\n`\n\n// ── Preview delay controller (module singleton) ────────────────────\n\nclass PreviewDelayController {\n private lastShownTime = 0\n private warmTimeout = 500 // ms idle before resetting to cold mode\n private coldDelay = 600 // ms delay before first preview\n\n getDelay(): number {\n const elapsed = Date.now() - this.lastShownTime\n return elapsed < this.warmTimeout ? 0 : this.coldDelay\n }\n\n markShown(): void {\n this.lastShownTime = Date.now()\n }\n}\n\nconst previewDelayController = new PreviewDelayController()\n\n// Custom event dispatched when a preview opens (ensures single preview at a time)\nconst PREVIEW_OPEN_EVENT = 'projectTreeTextPreviewOpen'\n\n// ── Helpers ────────────────────────────────────────────────────────\n\n// Function to check if a string is a valid URL\nconst isValidUrl = (text: string): boolean => {\n try {\n const url = new URL(text.trim())\n return url.protocol === 'http:' || url.protocol === 'https:'\n } catch {\n return false\n }\n}\n\n// Function to parse text and extract URLs\nconst parseTextWithUrls = (text: string) => {\n // Regex to match HTTP/HTTPS URLs\n const urlRegex = /(https?:\\/\\/[^\\s<>\"]+[^\\s.,!?;:<>\\\")\\]])/gi\n const parts = text.split(urlRegex)\n\n return parts.map((part, index) => {\n if (isValidUrl(part)) {\n return { type: 'url', content: part, key: index }\n }\n return { type: 'text', content: part, key: index }\n })\n}\n\n// Function to check if content contains HTML tags\nconst containsHtml = (text: string): boolean => {\n return /<[^>]*>/.test(text)\n}\n\ntype AttributeType = AttributeData['type']\nexport type TextWidgetType = Extract<AttributeType, 'string' | 'integer' | 'float'>\n\nexport interface TextWidgetProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'onChange'>,\n WidgetBaseProps {\n value: string\n isMarkdown?: boolean\n option?: EnumItem\n isInherited?: boolean\n type?: TextWidgetType\n columnId?: string\n cellId?: string\n onRequestEdit?: (id: CellId | null) => void\n getDraftValue?: () => string | null\n setDraftValue?: (value: string | null) => void\n}\n\nexport const TextWidget = forwardRef<HTMLSpanElement, TextWidgetProps>(\n (\n {\n value,\n option,\n isMarkdown,\n isEditing,\n isInherited,\n onChange,\n onCancelEdit,\n style,\n type,\n columnId,\n cellId,\n onRequestEdit,\n getDraftValue,\n setDraftValue,\n className,\n ...props\n },\n ref,\n ) => {\n const requestEdit = onRequestEdit || (() => undefined)\n const getCurrentDraft = getDraftValue || (() => null)\n const setCurrentDraft = setDraftValue || (() => undefined)\n\n const [isHoveredOnCell, setIsHoveredOnCell] = useState(false)\n const [isHoveredOnPreview, setIsHoveredOnPreview] = useState(false)\n const [showPreview, setShowPreview] = useState(false)\n const [isOverflowing, setIsOverflowing] = useState(false)\n\n const textRef = useRef<HTMLSpanElement>(null)\n const showTimerRef = useRef<ReturnType<typeof setTimeout>>()\n const closeTimerRef = useRef<ReturnType<typeof setTimeout>>()\n const showPreviewRef = useRef(false)\n const isAnythingHovered = isHoveredOnCell || isHoveredOnPreview\n\n const displayText = option?.label || value\n const textValue = typeof displayText === 'string' ? displayText : String(displayText ?? '')\n // does the content contain only regular text?\n const isRegularText =\n !isMarkdown && !containsHtml(textValue) && !textValue.match(/(https?:\\/\\/\\S+)/gi)\n\n useEffect(() => {\n const el = textRef.current\n if (!el) return\n\n let rafId: number | null = null\n const checkOverflow = () => {\n // Debounce via rAF so rapid resize events don't toggle state every frame\n if (rafId !== null) cancelAnimationFrame(rafId)\n rafId = requestAnimationFrame(() => {\n rafId = null\n if (isMarkdown) {\n // Vertical overflow (text wraps but exceeds cell height)\n setIsOverflowing(el.scrollHeight > el.clientHeight + 1)\n } else {\n // Horizontal overflow (text is truncated with ellipsis)\n setIsOverflowing(el.scrollWidth > el.clientWidth + 1)\n }\n })\n }\n\n const observer = new ResizeObserver(checkOverflow)\n observer.observe(el)\n checkOverflow()\n\n return () => {\n if (rafId !== null) cancelAnimationFrame(rafId)\n observer.disconnect()\n }\n }, [textValue, isMarkdown])\n\n // ── Hover tracking on parent <td>\n useEffect(() => {\n const el = textRef.current\n if (!el) return\n\n const td = el.closest('td')\n if (!td) return\n\n const handleMouseEnter = () => setIsHoveredOnCell(true)\n const handleMouseLeave = () => setIsHoveredOnCell(false)\n\n td.addEventListener('mouseenter', handleMouseEnter)\n td.addEventListener('mouseleave', handleMouseLeave)\n\n return () => {\n td.removeEventListener('mouseenter', handleMouseEnter)\n td.removeEventListener('mouseleave', handleMouseLeave)\n }\n }, [])\n\n // ── Preview show/hide logic\n // Keep ref in sync so timers can check current visibility without re-triggering the effect\n const updatePreview = useCallback((value: boolean) => {\n showPreviewRef.current = value\n setShowPreview(value)\n }, [])\n\n useEffect(() => {\n clearTimeout(showTimerRef.current)\n clearTimeout(closeTimerRef.current)\n\n if (isEditing) {\n updatePreview(false)\n } else if (!isAnythingHovered) {\n // Grace period before closing (handles cell→popup mouse transition)\n closeTimerRef.current = setTimeout(() => updatePreview(false), 300)\n } else if (showPreviewRef.current) {\n // Preview already visible — keep it open regardless of overflow changes\n // (overflow can toggle during column resize; don't flicker)\n } else if (isOverflowing && cellId) {\n // Start delay timer to show preview\n showTimerRef.current = setTimeout(() => {\n if (showPreviewRef.current) return // double-check, already visible\n updatePreview(true)\n previewDelayController.markShown()\n window.dispatchEvent(new CustomEvent(PREVIEW_OPEN_EVENT, { detail: { cellId } }))\n }, previewDelayController.getDelay())\n }\n\n return () => {\n clearTimeout(showTimerRef.current)\n clearTimeout(closeTimerRef.current)\n }\n }, [isAnythingHovered, isOverflowing, isEditing, cellId, updatePreview])\n\n // ── Listen for other previews opening → close this one ───────\n useEffect(() => {\n const handler = (e: Event) => {\n const detail = (e as CustomEvent).detail\n if (detail?.cellId !== cellId) {\n updatePreview(false)\n }\n }\n\n window.addEventListener(PREVIEW_OPEN_EVENT, handler)\n return () => window.removeEventListener(PREVIEW_OPEN_EVENT, handler)\n }, [cellId, updatePreview])\n\n // ── Preview click → start editing\n const handlePreviewClick = useCallback(() => {\n updatePreview(false)\n if (cellId) requestEdit(cellId)\n }, [cellId, requestEdit, updatePreview])\n\n // For description columns, Ctrl+Enter should save and close — not jump to next row.\n // Remap 'Enter' → 'Click' so CellWidget doesn't call moveToNextRow.\n const handleDescriptionChange: WidgetBaseProps['onChange'] = useCallback(\n (val, key) => {\n onChange(val, key === 'Enter' ? 'Click' : key)\n },\n [onChange],\n )\n\n // ── Render content\n const renderContent = () => {\n // For description columns, keep markdown rendering\n if (isMarkdown) {\n return (\n <Markdown\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n components={{\n p: ({ children }) => <span>{children}</span>,\n a: ({ href, children }) => (\n <StyledLink\n href={href || '#'}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {children}\n </StyledLink>\n ),\n }}\n >\n {textValue}\n </Markdown>\n )\n }\n\n // Check if content contains HTML\n if (containsHtml(textValue)) {\n // Parse HTML to plain text with preserved links\n const parts = parseHtmlToPlainTextWithLinks(textValue)\n return parts.map((part) => {\n if (part.type === 'url' && part.href) {\n return (\n <StyledLink\n key={part.key}\n href={part.href}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return (\n <span key={part.key} style={{ whiteSpace: 'pre-line' }}>\n {part.content}\n </span>\n )\n })\n }\n\n // Check for URLs in plain text\n const hasUrls = textValue.match(/(https?:\\/\\/\\S+)/gi)\n if (hasUrls) {\n // Text with URLs (handles both single URL and mixed content)\n const parts = parseTextWithUrls(textValue)\n return parts.map((part) => {\n if (part.type === 'url') {\n return (\n <StyledLink\n key={part.key}\n href={part.content}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return part.content\n })\n }\n\n // Regular text\n return textValue\n }\n\n // ── Non-description editing: inline TextWidgetInput\n if (isEditing && !isMarkdown) {\n return (\n <TextWidgetInput\n value={value}\n onChange={onChange}\n onCancel={onCancelEdit}\n type={type || 'string'}\n />\n )\n }\n\n // ── Render: display content + any overlays ───────────────────\n const combinedClassName = clsx(className, {\n markdown: isMarkdown,\n regular: isRegularText,\n })\n\n return (\n <>\n <StyledBaseTextWidget\n className={combinedClassName}\n style={{ color: option?.color, ...style }}\n {...props}\n ref={(node) => {\n // Merge external ref with internal ref\n ;(textRef as React.MutableRefObject<HTMLSpanElement | null>).current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as React.MutableRefObject<HTMLSpanElement | null>).current = node\n }}\n >\n {option?.icon && (\n <Icon\n icon={option.icon as string}\n style={{\n color: option.color,\n }}\n />\n )}\n {renderContent()}\n </StyledBaseTextWidget>\n\n {/* Description column editing (Quill editor in popup) */}\n {isEditing && isMarkdown && cellId && (\n <TextContentWidget\n value={value}\n cellId={cellId}\n isEditing={true}\n variant=\"edit\"\n allowMarkdown={true}\n valueType={type || 'string'}\n onChange={handleDescriptionChange}\n onCancelEdit={onCancelEdit}\n onDismissWithoutSave={onCancelEdit}\n draftValue={getCurrentDraft()}\n onEditingDraftChange={setCurrentDraft}\n />\n )}\n\n {/* Description column hover preview (markdown in popup) */}\n {showPreview && !isEditing && isMarkdown && cellId && (\n <TextContentWidget\n value={value}\n cellId={cellId}\n isEditing={true}\n variant=\"preview\"\n allowMarkdown={true}\n onChange={onChange}\n onCancelEdit={() => updatePreview(false)}\n onPreviewClick={handlePreviewClick}\n onPreviewMouseEnter={() => setIsHoveredOnPreview(true)}\n onPreviewMouseLeave={() => setIsHoveredOnPreview(false)}\n />\n )}\n\n {/* Non-description column hover preview (plain text in popup) */}\n {showPreview && !isEditing && !isMarkdown && cellId && (\n <CellEditingDialog\n isEditing={true}\n anchorId={cellId}\n onClose={() => updatePreview(false)}\n >\n <StyledPreviewContent\n onClick={handlePreviewClick}\n onMouseEnter={() => setIsHoveredOnPreview(true)}\n onMouseLeave={() => setIsHoveredOnPreview(false)}\n onMouseDown={(e) => e.stopPropagation()}\n >\n {renderContent()}\n </StyledPreviewContent>\n </CellEditingDialog>\n )}\n </>\n )\n },\n)\n"],"names":["StyledBaseTextWidget","styled","StyledLink","StyledPreviewContent","PreviewDelayController","previewDelayController","PREVIEW_OPEN_EVENT","isValidUrl","text","url","parseTextWithUrls","urlRegex","part","index","containsHtml","TextWidget","forwardRef","value","option","isMarkdown","isEditing","isInherited","onChange","onCancelEdit","style","type","columnId","cellId","onRequestEdit","getDraftValue","setDraftValue","className","props","ref","requestEdit","getCurrentDraft","setCurrentDraft","isHoveredOnCell","setIsHoveredOnCell","useState","isHoveredOnPreview","setIsHoveredOnPreview","showPreview","setShowPreview","isOverflowing","setIsOverflowing","textRef","useRef","showTimerRef","closeTimerRef","showPreviewRef","isAnythingHovered","displayText","textValue","isRegularText","useEffect","el","rafId","checkOverflow","observer","td","handleMouseEnter","handleMouseLeave","updatePreview","useCallback","handler","e","handlePreviewClick","handleDescriptionChange","val","key","renderContent","jsx","Markdown","remarkGfm","rehypeRaw","children","href","parseHtmlToPlainTextWithLinks","TextWidgetInput","combinedClassName","clsx","jsxs","Fragment","node","Icon","TextContentWidget","CellEditingDialog"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextWidget.cjs.js","sources":["../../../../../../src/containers/ProjectTreeTable/widgets/TextWidget.tsx"],"sourcesContent":["import { forwardRef, useState, useEffect, useRef, useCallback } from 'react'\nimport Markdown from 'react-markdown'\nimport remarkGfm from 'remark-gfm'\nimport rehypeRaw from 'rehype-raw'\nimport { TextWidgetInput } from './TextWidgetInput'\nimport { WidgetBaseProps } from './CellWidget'\nimport styled from 'styled-components'\nimport { EnumItem, AttributeData } from '@shared/api'\nimport { Icon } from '@ynput/ayon-react-components'\nimport clsx from 'clsx'\nimport { parseHtmlToPlainTextWithLinks } from '@shared/util'\nimport { TextContentWidget } from './TextContentWidget'\nimport { CellEditingDialog } from '@shared/components/LinksManager/CellEditingDialog'\nimport { CellId } from '../utils/cellUtils'\n\n// ── Styled components ──────────────────────────────────────────────\n\nexport const StyledBaseTextWidget = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n user-select: none;\n\n display: flex;\n gap: 4px;\n\n &.markdown {\n white-space: normal;\n word-break: break-word;\n display: block;\n overflow: hidden;\n width: 100%;\n }\n\n &.regular {\n display: block;\n }\n`\n\nconst StyledLink = styled.a`\n color: var(--md-sys-color-primary, #0066cc);\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n text-decoration: underline;\n }\n`\n\nconst StyledPreviewContent = styled.div`\n background: var(--md-sys-color-surface-container-lowest);\n border-radius: 8px;\n padding: 12px;\n white-space: pre-wrap;\n word-break: break-word;\n min-height: 40px;\n max-height: none;\n flex: 1;\n overflow: auto;\n border: 2px solid transparent;\n cursor: pointer;\n\n a {\n color: var(--md-sys-color-primary, #0066cc);\n text-decoration: none;\n white-space: normal;\n word-break: break-all;\n overflow-wrap: break-word;\n overflow: visible;\n text-overflow: unset;\n\n &:hover {\n text-decoration: underline;\n }\n }\n`\n\n// ── Preview delay controller (module singleton) ────────────────────\n\nclass PreviewDelayController {\n private lastShownTime = 0\n private warmTimeout = 500 // ms idle before resetting to cold mode\n private coldDelay = 600 // ms delay before first preview\n\n getDelay(): number {\n const elapsed = Date.now() - this.lastShownTime\n return elapsed < this.warmTimeout ? 0 : this.coldDelay\n }\n\n markShown(): void {\n this.lastShownTime = Date.now()\n }\n}\n\nconst previewDelayController = new PreviewDelayController()\n\n// Custom event dispatched when a preview opens (ensures single preview at a time)\nconst PREVIEW_OPEN_EVENT = 'projectTreeTextPreviewOpen'\n\n// ── Helpers ────────────────────────────────────────────────────────\n\n// Function to check if a string is a valid URL\nconst isValidUrl = (text: string): boolean => {\n try {\n const url = new URL(text.trim())\n return url.protocol === 'http:' || url.protocol === 'https:'\n } catch {\n return false\n }\n}\n\n// Function to parse text and extract URLs\nconst parseTextWithUrls = (text: string) => {\n // Regex to match HTTP/HTTPS URLs\n const urlRegex = /(https?:\\/\\/[^\\s<>\"]+[^\\s.,!?;:<>\\\")\\]])/gi\n const parts = text.split(urlRegex)\n\n return parts.map((part, index) => {\n if (isValidUrl(part)) {\n return { type: 'url', content: part, key: index }\n }\n return { type: 'text', content: part, key: index }\n })\n}\n\n// Function to check if content contains HTML tags\nconst containsHtml = (text: string): boolean => {\n return /<[^>]*>/.test(text)\n}\n\ntype AttributeType = AttributeData['type']\nexport type TextWidgetType = Extract<AttributeType, 'string' | 'integer' | 'float'>\n\nexport interface TextWidgetProps\n extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'onChange'>,\n WidgetBaseProps {\n value: string\n isMarkdown?: boolean\n option?: EnumItem\n isInherited?: boolean\n type?: TextWidgetType\n columnId?: string\n cellId?: string\n onRequestEdit?: (id: CellId | null) => void\n getDraftValue?: () => string | null\n setDraftValue?: (value: string | null) => void\n}\n\nexport const TextWidget = forwardRef<HTMLSpanElement, TextWidgetProps>(\n (\n {\n value,\n option,\n isMarkdown,\n isEditing,\n isInherited,\n onChange,\n onCancelEdit,\n style,\n type,\n columnId,\n cellId,\n onRequestEdit,\n getDraftValue,\n setDraftValue,\n className,\n ...props\n },\n ref,\n ) => {\n const requestEdit = onRequestEdit || (() => undefined)\n const getCurrentDraft = getDraftValue || (() => null)\n const setCurrentDraft = setDraftValue || (() => undefined)\n\n const [isHoveredOnCell, setIsHoveredOnCell] = useState(false)\n const [isHoveredOnPreview, setIsHoveredOnPreview] = useState(false)\n const [showPreview, setShowPreview] = useState(false)\n const [isOverflowing, setIsOverflowing] = useState(false)\n\n const textRef = useRef<HTMLSpanElement>(null)\n const showTimerRef = useRef<ReturnType<typeof setTimeout>>()\n const closeTimerRef = useRef<ReturnType<typeof setTimeout>>()\n const showPreviewRef = useRef(false)\n const isAnythingHovered = isHoveredOnCell || isHoveredOnPreview\n\n const displayText = option?.label || value\n const textValue = typeof displayText === 'string' ? displayText : String(displayText ?? '')\n // does the content contain only regular text?\n const isRegularText =\n !isMarkdown && !containsHtml(textValue) && !textValue.match(/(https?:\\/\\/\\S+)/gi)\n\n useEffect(() => {\n const el = textRef.current\n if (!el) return\n\n let rafId: number | null = null\n const checkOverflow = () => {\n // Debounce via rAF so rapid resize events don't toggle state every frame\n if (rafId !== null) cancelAnimationFrame(rafId)\n rafId = requestAnimationFrame(() => {\n rafId = null\n if (isMarkdown) {\n // Vertical overflow (text wraps but exceeds cell height)\n setIsOverflowing(el.scrollHeight > el.clientHeight + 1)\n } else {\n // Horizontal overflow (text is truncated with ellipsis)\n setIsOverflowing(el.scrollWidth > el.clientWidth + 1)\n }\n })\n }\n\n const observer = new ResizeObserver(checkOverflow)\n observer.observe(el)\n checkOverflow()\n\n return () => {\n if (rafId !== null) cancelAnimationFrame(rafId)\n observer.disconnect()\n }\n }, [textValue, isMarkdown])\n\n // ── Hover tracking on parent <td>\n useEffect(() => {\n const el = textRef.current\n if (!el) return\n\n const td = el.closest('td')\n if (!td) return\n\n const handleMouseEnter = () => setIsHoveredOnCell(true)\n const handleMouseLeave = () => setIsHoveredOnCell(false)\n\n td.addEventListener('mouseenter', handleMouseEnter)\n td.addEventListener('mouseleave', handleMouseLeave)\n\n return () => {\n td.removeEventListener('mouseenter', handleMouseEnter)\n td.removeEventListener('mouseleave', handleMouseLeave)\n }\n }, [])\n\n // ── Preview show/hide logic\n // Keep ref in sync so timers can check current visibility without re-triggering the effect\n const updatePreview = useCallback((value: boolean) => {\n showPreviewRef.current = value\n setShowPreview(value)\n }, [])\n\n useEffect(() => {\n clearTimeout(showTimerRef.current)\n clearTimeout(closeTimerRef.current)\n\n if (isEditing) {\n updatePreview(false)\n } else if (!isAnythingHovered) {\n // Grace period before closing (handles cell→popup mouse transition)\n closeTimerRef.current = setTimeout(() => updatePreview(false), 300)\n } else if (showPreviewRef.current) {\n // Preview already visible — keep it open regardless of overflow changes\n // (overflow can toggle during column resize; don't flicker)\n } else if (isOverflowing && cellId) {\n // Start delay timer to show preview\n showTimerRef.current = setTimeout(() => {\n if (showPreviewRef.current) return // double-check, already visible\n updatePreview(true)\n previewDelayController.markShown()\n window.dispatchEvent(new CustomEvent(PREVIEW_OPEN_EVENT, { detail: { cellId } }))\n }, previewDelayController.getDelay())\n }\n\n return () => {\n clearTimeout(showTimerRef.current)\n clearTimeout(closeTimerRef.current)\n }\n }, [isAnythingHovered, isOverflowing, isEditing, cellId, updatePreview])\n\n // ── Listen for other previews opening → close this one ───────\n useEffect(() => {\n const handler = (e: Event) => {\n const detail = (e as CustomEvent).detail\n if (detail?.cellId !== cellId) {\n updatePreview(false)\n }\n }\n\n window.addEventListener(PREVIEW_OPEN_EVENT, handler)\n return () => window.removeEventListener(PREVIEW_OPEN_EVENT, handler)\n }, [cellId, updatePreview])\n\n // ── Preview click → start editing\n const handlePreviewClick = useCallback(() => {\n updatePreview(false)\n if (cellId) requestEdit(cellId)\n }, [cellId, requestEdit, updatePreview])\n\n // For description columns, Ctrl+Enter should save and close — not jump to next row.\n // Remap 'Enter' → 'Click' so CellWidget doesn't call moveToNextRow.\n const handleDescriptionChange: WidgetBaseProps['onChange'] = useCallback(\n (val, key) => {\n onChange(val, key === 'Enter' ? 'Click' : key)\n },\n [onChange],\n )\n\n // ── Render content\n const renderContent = () => {\n // For description columns, keep markdown rendering\n if (isMarkdown) {\n return (\n <Markdown\n remarkPlugins={[remarkGfm]}\n rehypePlugins={[rehypeRaw]}\n components={{\n p: ({ children }) => <span>{children}</span>,\n a: ({ href, children }) => (\n <StyledLink\n href={href || '#'}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {children}\n </StyledLink>\n ),\n }}\n >\n {textValue}\n </Markdown>\n )\n }\n\n // Check if content contains HTML\n if (containsHtml(textValue)) {\n // Parse HTML to plain text with preserved links\n const parts = parseHtmlToPlainTextWithLinks(textValue)\n return parts.map((part) => {\n if (part.type === 'url' && part.href) {\n return (\n <StyledLink\n key={part.key}\n href={part.href}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return (\n <span key={part.key} style={{ whiteSpace: 'pre-line' }}>\n {part.content}\n </span>\n )\n })\n }\n\n // Check for URLs in plain text\n const hasUrls = textValue.match(/(https?:\\/\\/\\S+)/gi)\n if (hasUrls) {\n // Text with URLs (handles both single URL and mixed content)\n const parts = parseTextWithUrls(textValue)\n return parts.map((part) => {\n if (part.type === 'url') {\n return (\n <StyledLink\n key={part.key}\n href={part.content}\n onMouseDown={(e) => e.stopPropagation()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {part.content}\n </StyledLink>\n )\n }\n return part.content\n })\n }\n\n // Regular text\n return textValue\n }\n\n // ── Non-description editing: inline TextWidgetInput\n if (isEditing && !isMarkdown) {\n return (\n <TextWidgetInput\n value={value}\n onChange={onChange}\n onCancel={onCancelEdit}\n type={type || 'string'}\n />\n )\n }\n\n // ── Render: display content + any overlays ───────────────────\n const combinedClassName = clsx(className, {\n markdown: isMarkdown,\n regular: isRegularText,\n })\n\n return (\n <>\n <StyledBaseTextWidget\n className={combinedClassName}\n style={{ color: option?.color, ...style }}\n {...props}\n ref={(node) => {\n // Merge external ref with internal ref\n ;(textRef as React.MutableRefObject<HTMLSpanElement | null>).current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as React.MutableRefObject<HTMLSpanElement | null>).current = node\n }}\n >\n {option?.icon && (\n <Icon\n icon={option.icon as string}\n style={{\n color: option.color,\n }}\n />\n )}\n {renderContent()}\n </StyledBaseTextWidget>\n\n {/* Description column editing (Quill editor in popup) */}\n {isEditing && isMarkdown && cellId && (\n <TextContentWidget\n value={value}\n cellId={cellId}\n isEditing={true}\n variant=\"edit\"\n allowMarkdown={true}\n valueType={type || 'string'}\n onChange={handleDescriptionChange}\n onCancelEdit={onCancelEdit}\n onDismissWithoutSave={onCancelEdit}\n draftValue={getCurrentDraft()}\n onEditingDraftChange={setCurrentDraft}\n />\n )}\n\n {/* Description column hover preview (markdown in popup) */}\n {showPreview && !isEditing && isMarkdown && cellId && (\n <TextContentWidget\n value={value}\n cellId={cellId}\n isEditing={true}\n variant=\"preview\"\n allowMarkdown={true}\n onChange={onChange}\n onCancelEdit={() => updatePreview(false)}\n onPreviewClick={handlePreviewClick}\n onPreviewMouseEnter={() => setIsHoveredOnPreview(true)}\n onPreviewMouseLeave={() => setIsHoveredOnPreview(false)}\n />\n )}\n\n {/* Non-description column hover preview (plain text in popup) */}\n {showPreview && !isEditing && !isMarkdown && cellId && (\n <CellEditingDialog\n isEditing={true}\n anchorId={cellId}\n onClose={() => updatePreview(false)}\n >\n <StyledPreviewContent\n onClick={handlePreviewClick}\n onMouseEnter={() => setIsHoveredOnPreview(true)}\n onMouseLeave={() => setIsHoveredOnPreview(false)}\n onMouseDown={(e) => e.stopPropagation()}\n >\n {renderContent()}\n </StyledPreviewContent>\n </CellEditingDialog>\n )}\n </>\n )\n },\n)\n"],"names":["StyledBaseTextWidget","styled","StyledLink","StyledPreviewContent","PreviewDelayController","previewDelayController","PREVIEW_OPEN_EVENT","isValidUrl","text","url","parseTextWithUrls","urlRegex","part","index","containsHtml","TextWidget","forwardRef","value","option","isMarkdown","isEditing","isInherited","onChange","onCancelEdit","style","type","columnId","cellId","onRequestEdit","getDraftValue","setDraftValue","className","props","ref","requestEdit","getCurrentDraft","setCurrentDraft","isHoveredOnCell","setIsHoveredOnCell","useState","isHoveredOnPreview","setIsHoveredOnPreview","showPreview","setShowPreview","isOverflowing","setIsOverflowing","textRef","useRef","showTimerRef","closeTimerRef","showPreviewRef","isAnythingHovered","displayText","textValue","isRegularText","useEffect","el","rafId","checkOverflow","observer","td","handleMouseEnter","handleMouseLeave","updatePreview","useCallback","handler","e","handlePreviewClick","handleDescriptionChange","val","key","renderContent","jsx","Markdown","remarkGfm","rehypeRaw","children","href","parseHtmlToPlainTextWithLinks","TextWidgetInput","combinedClassName","clsx","jsxs","Fragment","node","Icon","TextContentWidget","CellEditingDialog"],"mappings":"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"}
|
|
@@ -61,8 +61,11 @@ import "../../../api/queries/addons/updateAddons.es.js";
|
|
|
61
61
|
import "../../../api/queries/attributes/getAttributes.es.js";
|
|
62
62
|
import "../../../api/queries/attributes/updateAttributes.es.js";
|
|
63
63
|
import "../../../api/queries/authentication/getAuthentication.es.js";
|
|
64
|
+
import "../../../api/queries/bundles/getBundles.es.js";
|
|
65
|
+
import "../../../api/queries/bundles/updateBundles.es.js";
|
|
64
66
|
import "../../../api/queries/cloud/cloud.es.js";
|
|
65
67
|
import "../../../api/queries/columnStats/metricTargets.es.js";
|
|
68
|
+
import "../../../api/queries/columnStats/groupCounts.es.js";
|
|
66
69
|
import "../../../api/queries/config/getConfig.es.js";
|
|
67
70
|
import "../../../api/queries/config/updateConfig.es.js";
|
|
68
71
|
import "../../../api/queries/entities/getEntity.es.js";
|
|
@@ -189,7 +192,7 @@ const A = new ue(), D = "projectTreeTextPreviewOpen", fe = (n) => {
|
|
|
189
192
|
}, de = (n) => {
|
|
190
193
|
const s = /(https?:\/\/[^\s<>"]+[^\s.,!?;:<>\")\]])/gi;
|
|
191
194
|
return n.split(s).map((a, x) => fe(a) ? { type: "url", content: a, key: x } : { type: "text", content: a, key: x });
|
|
192
|
-
}, F = (n) => /<[^>]*>/.test(n),
|
|
195
|
+
}, F = (n) => /<[^>]*>/.test(n), kt = re(
|
|
193
196
|
({
|
|
194
197
|
value: n,
|
|
195
198
|
option: s,
|
|
@@ -386,6 +389,6 @@ const A = new ue(), D = "projectTreeTextPreviewOpen", fe = (n) => {
|
|
|
386
389
|
);
|
|
387
390
|
export {
|
|
388
391
|
le as StyledBaseTextWidget,
|
|
389
|
-
|
|
392
|
+
kt as TextWidget
|
|
390
393
|
};
|
|
391
394
|
//# sourceMappingURL=TextWidget.es.js.map
|