From f47f4de7459eb24e0fe71679fa8e4567ae62506a Mon Sep 17 00:00:00 2001 From: Denis Marusevich Date: Wed, 11 Feb 2026 21:36:34 +0100 Subject: [PATCH] feat(content-sidebar): FF integration for HITL --- package.json | 4 ++-- src/elements/content-sidebar/MetadataInstanceEditor.tsx | 3 +++ src/elements/content-sidebar/MetadataSidebarRedesign.tsx | 3 +++ .../__tests__/MetadataInstanceEditor.test.tsx | 8 ++++++++ .../__tests__/MetadataSidebarRedesign.test.tsx | 5 +++++ yarn.lock | 8 ++++---- 6 files changed, 25 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a15de8b00d..581cbdbf61 100644 --- a/package.json +++ b/package.json @@ -135,7 +135,7 @@ "@box/frontend": "^11.0.1", "@box/item-icon": "^0.27.1", "@box/languages": "^1.0.0", - "@box/metadata-editor": "^1.18.0", + "@box/metadata-editor": "^1.32.0", "@box/metadata-filter": "^1.41.3", "@box/metadata-view": "^1.10.0", "@box/react-virtualized": "^9.22.3-rc-box.10", @@ -305,7 +305,7 @@ "@box/combobox-with-api": "^1.18.0", "@box/copy-input": "^1.27.4", "@box/item-icon": "^0.27.1", - "@box/metadata-editor": "^1.18.0", + "@box/metadata-editor": "^1.32.0", "@box/metadata-filter": "^1.41.3", "@box/metadata-view": "^1.10.0", "@box/react-virtualized": "^9.22.3-rc-box.10", diff --git a/src/elements/content-sidebar/MetadataInstanceEditor.tsx b/src/elements/content-sidebar/MetadataInstanceEditor.tsx index 36fc99df72..18ce06b8a1 100644 --- a/src/elements/content-sidebar/MetadataInstanceEditor.tsx +++ b/src/elements/content-sidebar/MetadataInstanceEditor.tsx @@ -31,6 +31,7 @@ export interface MetadataInstanceEditorProps { taxonomyOptionsFetcher: TaxonomyOptionsFetcher; template: MetadataTemplateInstance; isAdvancedExtractAgentEnabled?: boolean; + isConfidenceScoreReviewEnabled?: boolean; } const MetadataInstanceEditor: React.FC = ({ @@ -51,6 +52,7 @@ const MetadataInstanceEditor: React.FC = ({ taxonomyOptionsFetcher, template, isAdvancedExtractAgentEnabled = false, + isConfidenceScoreReviewEnabled = false, }) => { const previewContext: PreviewContextType | null = useContext(PreviewContext); const customRef = previewContext?.previewBodyRef?.current; @@ -75,6 +77,7 @@ const MetadataInstanceEditor: React.FC = ({ setIsUnsavedChangesModalOpen={setIsUnsavedChangesModalOpen} taxonomyOptionsFetcher={taxonomyOptionsFetcher} isAdvancedExtractAgentEnabled={isAdvancedExtractAgentEnabled} + isConfidenceScoreReviewEnabled={isConfidenceScoreReviewEnabled} customRef={customRef} /> ); diff --git a/src/elements/content-sidebar/MetadataSidebarRedesign.tsx b/src/elements/content-sidebar/MetadataSidebarRedesign.tsx index 9cec43b677..3d0fe742b7 100644 --- a/src/elements/content-sidebar/MetadataSidebarRedesign.tsx +++ b/src/elements/content-sidebar/MetadataSidebarRedesign.tsx @@ -118,6 +118,7 @@ function MetadataSidebarRedesign({ const isDeleteConfirmationModalCheckboxEnabled: boolean = useFeatureEnabled( 'metadata.deleteConfirmationModalCheckbox.enabled', ); + const isConfidenceScoreReviewEnabled: boolean = useFeatureEnabled('metadata.confidenceScore.enabled'); const isSessionInitiated = useRef(false); const [isLargeFile, setIsLargeFile] = useState(false); @@ -326,6 +327,7 @@ function MetadataSidebarRedesign({ taxonomyOptionsFetcher={taxonomyOptionsFetcher} template={editingTemplate} isAdvancedExtractAgentEnabled={isAdvancedExtractAgentEnabled} + isConfidenceScoreReviewEnabled={isConfidenceScoreReviewEnabled} /> )} {showList && ( @@ -340,6 +342,7 @@ function MetadataSidebarRedesign({ }} templateInstances={templateInstancesList} taxonomyNodeFetcher={taxonomyNodeFetcher} + isConfidenceScoreReviewEnabled={isConfidenceScoreReviewEnabled} /> )} diff --git a/src/elements/content-sidebar/__tests__/MetadataInstanceEditor.test.tsx b/src/elements/content-sidebar/__tests__/MetadataInstanceEditor.test.tsx index 5b6fa8d4dd..9d3c266b14 100644 --- a/src/elements/content-sidebar/__tests__/MetadataInstanceEditor.test.tsx +++ b/src/elements/content-sidebar/__tests__/MetadataInstanceEditor.test.tsx @@ -163,6 +163,14 @@ describe('MetadataInstanceEditor', () => { expect(mockOnDiscardUnsavedChanges).toHaveBeenCalled(); }); + test('should render MetadataInstanceForm with isConfidenceScoreReviewEnabled prop', () => { + const props = { ...defaultProps, isConfidenceScoreReviewEnabled: true }; + renderWithAutofill(); + + const templateHeader = screen.getByText(mockMetadataTemplateInstance.displayName); + expect(templateHeader).toBeInTheDocument(); + }); + test('should call taxonomyOptionsFetcher on metadata taxonomy field search', async () => { const taxonomyField: MetadataTemplateField = { type: 'taxonomy', diff --git a/src/elements/content-sidebar/__tests__/MetadataSidebarRedesign.test.tsx b/src/elements/content-sidebar/__tests__/MetadataSidebarRedesign.test.tsx index 8804807c26..613905330f 100644 --- a/src/elements/content-sidebar/__tests__/MetadataSidebarRedesign.test.tsx +++ b/src/elements/content-sidebar/__tests__/MetadataSidebarRedesign.test.tsx @@ -274,6 +274,11 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => { ).toBeInTheDocument(); }); + test.each([true, false])('should render with confidence score feature %s', isFFEnabled => { + renderComponent({}, { 'metadata.confidenceScore.enabled': isFFEnabled }); + expect(screen.getByRole('heading', { level: 2, name: 'Add Metadata Templates' })).toBeInTheDocument(); + }); + test('should render empty state when no visible template instances are present', () => { mockUseSidebarMetadataFetcher.mockReturnValue({ clearExtractError: jest.fn(), diff --git a/yarn.lock b/yarn.lock index 314240bc03..389d1d49b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1512,10 +1512,10 @@ resolved "https://registry.yarnpkg.com/@box/languages/-/languages-1.1.2.tgz#cd4266b3da62da18560d881e10b429653186be29" integrity sha512-d64TGosx+KRmrLZj4CIyLp42LUiEbgBJ8n8cviMQwTJmfU0g+UwZqLjmQZR1j+Q9D64yV4xHzY9K1t5nInWWeQ== -"@box/metadata-editor@^1.18.0": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@box/metadata-editor/-/metadata-editor-1.19.0.tgz#832b63be022dc3ef0482776378fbfdaaaa7e3a87" - integrity sha512-JtI+2PbRYxX8YW2PN+E9sMeJaAX25v24PTk5upbNN/vohTjpEuy8TWeZMziLT1UBwPtJ83NXqLY3F+6P2EC4aw== +"@box/metadata-editor@^1.32.0": + version "1.32.0" + resolved "https://registry.yarnpkg.com/@box/metadata-editor/-/metadata-editor-1.32.0.tgz#b4b7a9b43957eeee04bbaa1a2d6c6f63b20cbafb" + integrity sha512-5yK3Sp28FbnDYs6llYhdaW1sJJm0V6WgomoU2eS4j/+4MFXuoOW2u1a54Z73EjcIRYsSgvoZpC3gZwAJVQf05g== "@box/metadata-filter@^1.41.3": version "1.41.3"