box-ui-elements 23.4.0-beta.14 → 23.4.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/explorer.js +1 -1
  2. package/dist/picker.js +1 -1
  3. package/dist/preview.js +1 -1
  4. package/dist/preview.js.LICENSE.txt +10 -0
  5. package/dist/sharing.js +1 -1
  6. package/dist/sidebar.js +1 -1
  7. package/dist/sidebar.js.LICENSE.txt +10 -0
  8. package/dist/uploader.js +1 -1
  9. package/es/api/Metadata.js +0 -1
  10. package/es/api/Metadata.js.flow +1 -1
  11. package/es/api/Metadata.js.map +1 -1
  12. package/es/elements/common/annotator-context/types.js.flow +2 -2
  13. package/es/elements/common/annotator-context/types.js.map +1 -1
  14. package/es/elements/common/annotator-context/withAnnotations.js +29 -10
  15. package/es/elements/common/annotator-context/withAnnotations.js.flow +10 -3
  16. package/es/elements/common/annotator-context/withAnnotations.js.map +1 -1
  17. package/es/elements/common/annotator-context/withAnnotatorContext.js +47 -23
  18. package/es/elements/common/annotator-context/withAnnotatorContext.js.flow +1 -0
  19. package/es/elements/common/annotator-context/withAnnotatorContext.js.map +1 -1
  20. package/es/elements/common/types/SidebarNavigation.flow.js +14 -0
  21. package/es/elements/common/types/SidebarNavigation.flow.js.flow +52 -0
  22. package/es/elements/common/types/SidebarNavigation.flow.js.map +1 -0
  23. package/es/elements/common/types/SidebarNavigation.js +16 -0
  24. package/es/elements/common/types/SidebarNavigation.js.map +1 -0
  25. package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js +4 -13
  26. package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js.map +1 -1
  27. package/es/src/elements/common/annotator-context/types.d.ts +2 -2
  28. package/es/src/elements/common/annotator-context/withAnnotations.d.ts +5 -0
  29. package/es/src/elements/common/annotator-context/withAnnotatorContext.d.ts +4 -1
  30. package/es/src/elements/common/types/SidebarNavigation.d.ts +37 -0
  31. package/package.json +35 -37
  32. package/src/api/Metadata.js +1 -1
  33. package/src/elements/common/annotator-context/__tests__/withAnnotations.test.tsx +46 -0
  34. package/src/elements/common/annotator-context/__tests__/withAnnotatorContext.test.tsx +116 -20
  35. package/src/elements/common/annotator-context/types.js.flow +2 -2
  36. package/src/elements/common/annotator-context/types.ts +2 -2
  37. package/src/elements/common/annotator-context/withAnnotations.js.flow +10 -3
  38. package/src/elements/common/annotator-context/withAnnotations.tsx +35 -6
  39. package/src/elements/common/annotator-context/withAnnotatorContext.js.flow +1 -0
  40. package/src/elements/common/annotator-context/withAnnotatorContext.tsx +61 -29
  41. package/src/elements/common/types/SidebarNavigation.flow.js +52 -0
  42. package/src/elements/common/types/SidebarNavigation.ts +47 -0
  43. package/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx +5 -13
  44. package/i18n.config.js +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataSidebarRedesign-visual.stories.js","names":["act","http","HttpResponse","expect","userEvent","waitFor","within","fn","screen","ContentSidebar","aiSuggestionForDateField","aiSuggestionsForMyAttribute","fileIdWithMetadata","fileIdWithoutMetadata","mockEmptyMetadataInstances","mockEnterpriseMetadataTemplates","mockErrorDeleteMyTemplateMetadataRequest","mockFileRequest","mockFileRequestWithoutMetadata","mockGlobalMetadataTemplates","mockMetadataInstances","mockUserRequest","mockMetadataTemplatesWithMultilevelTaxonomy","mockMetadataTemplatesWithSinglelevelTaxonomy","taxonomyMockHandlers","token","global","TOKEN","defaultMetadataArgs","fileId","isFeatureEnabled","onError","onSuccess","defaultMetadataSidebarProps","mockFeatures","mockLogger","onReadyMetric","endMarkName","console","log","AddTemplateDropdownMenuOn","play","canvasElement","canvas","addTemplateButton","findByRole","name","timeout","toBeInTheDocument","click","customMetadataOption","getByRole","toHaveAttribute","AddTemplateDropdownMenuOnEmpty","args","metadataSidebarProps","isBoxAiSuggestionsEnabled","isBetaLanguageEnabled","options","getAllByRole","toHaveLength","forEach","option","not","FilterInstancesDropdown","filterInstancesButton","firstOption","secondOption","thirdOption","headlines","findAllByRole","level","textContent","toEqual","defaultMockHandlers","get","url","json","response","AddingNewMetadataTemplate","templateHeader","UnsavedChangesModalWhenChoosingDifferentTemplate","myTemplateOption","unsavedChangesModal","EmptyStateWithBoxAiEnabled","_objectSpread","features","EmptyStateWithBoxAiDisabled","MetadataInstanceEditorWithDefinedTemplate","MetadataInstanceEditorWithCustomTemplate","MetadataInstanceEditorCancelChanges","editButton","map","heading","arrayContaining","cancelButton","DeleteButtonIsDisabledWhenAddingNewMetadataTemplate","deleteButton","toBeDisabled","DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance","editMetadataInstanceButton","toBeEnabled","MetadataInstanceEditorAddTemplateAgainAfterCancel","templateMetadataOption","templateMetadataOptionDisabled","templateMetadataOptionEnabled","SwitchEditingTemplateInstances","input","type","templateMetadataOptionA","templateMetadataOptionB","unsavedChangesModalDiscardButton","newTemplateHeader","templateMetadataOptionAAfterSwitch","templateMetadataOptionBAfterSwitch","MetadataInstanceEditorAIEnabled","autofillWithBoxAI","autofillButton","MetadataInstanceEditorAIEnabledAdvancedExtractAgent","splitButton","toBeVisible","hover","dropdownButton","ShowErrorWhenAIAPIIsUnavailable","parameters","msw","handlers","post","status","test","dangerouslyIgnoreUnhandledErrors","errorAlert","findByText","SuggestionsWhenAIAPIResponses","suggestion","replaceButton","getByLabelText","toHaveValue","SuggestionForNewlyCreatedTemplateInstance","ShowErrorOnDelete","delete","confirmModal","confirmInput","confirmButton","ViewMultilevelTaxonomy","multilevelOptionButton","multilevelDialog","ViewSinglelevelTaxonomy","singlelevelOptionButton","singlelevelDialog","EditMultilevelTaxonomy","multilevelInput","optionChip","listbox","expandButtons","hokkaidoOption","getByText","sapporoOption","sapporoSelection","EditSinglelevelTaxonomy","singlelevelInput","blueSelection","blueOption","redOption","greenOption","redSelection","meta","title","component","hasMetadata","logger"],"sources":["../../../../../src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx"],"sourcesContent":["import { act, type ComponentProps } from 'react';\nimport { http, HttpResponse } from 'msw';\nimport { expect, userEvent, waitFor, within, fn, screen } from '@storybook/test';\nimport { type StoryObj, Meta } from '@storybook/react';\nimport type { HttpHandler } from 'msw';\nimport ContentSidebar from '../../ContentSidebar';\nimport MetadataSidebarRedesign from '../../MetadataSidebarRedesign';\nimport {\n aiSuggestionForDateField,\n aiSuggestionsForMyAttribute,\n fileIdWithMetadata,\n fileIdWithoutMetadata,\n mockEmptyMetadataInstances,\n mockEnterpriseMetadataTemplates,\n mockErrorDeleteMyTemplateMetadataRequest,\n mockFileRequest,\n mockFileRequestWithoutMetadata,\n mockGlobalMetadataTemplates,\n mockMetadataInstances,\n} from '../__mocks__/MetadataSidebarRedesignedMocks';\nimport { mockUserRequest } from '../../../common/__mocks__/mockRequests';\nimport {\n mockMetadataTemplatesWithMultilevelTaxonomy,\n mockMetadataTemplatesWithSinglelevelTaxonomy,\n taxonomyMockHandlers,\n} from '../__mocks__/TaxonomyMocks';\n\nconst token = global.TOKEN;\n\nconst defaultMetadataArgs = {\n fileId: fileIdWithMetadata,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst defaultMetadataSidebarProps: ComponentProps<typeof MetadataSidebarRedesign> = {\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst mockFeatures = {\n 'metadata.redesign.enabled': true,\n};\nconst mockLogger = {\n onReadyMetric: ({ endMarkName }) => {\n // eslint-disable-next-line no-console\n console.log(`Logger: onReadyMetric called with endMarkName: ${endMarkName}`);\n },\n};\n\nexport const AddTemplateDropdownMenuOn = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(customMetadataOption).toBeInTheDocument();\n expect(customMetadataOption).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const AddTemplateDropdownMenuOnEmpty = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n isBoxAiSuggestionsEnabled: true,\n isBetaLanguageEnabled: false,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const options = canvas.getAllByRole('option');\n expect(options).toHaveLength(5);\n options.forEach(option => {\n expect(option).not.toHaveAttribute('disabled');\n });\n },\n};\n\nexport const FilterInstancesDropdown = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(\n async () => {\n const filterInstancesButton = await canvas.findByRole('combobox');\n\n expect(filterInstancesButton).toBeInTheDocument();\n await userEvent.click(filterInstancesButton);\n\n const firstOption = canvas.getByRole('option', { name: 'My Template' });\n expect(firstOption).toBeInTheDocument();\n const secondOption = canvas.getByRole('option', { name: 'Select Dropdowns' });\n expect(secondOption).toBeInTheDocument();\n const thirdOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(thirdOption).toBeInTheDocument();\n\n await userEvent.click(firstOption);\n\n const headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines[0].textContent).toEqual('My Template');\n },\n { timeout: 2000 },\n );\n },\n};\n\nconst defaultMockHandlers = [\n http.get(mockUserRequest.url, () => {\n return HttpResponse.json(mockUserRequest.response);\n }),\n http.get(mockFileRequest.url, () => {\n return HttpResponse.json(mockFileRequest.response);\n }),\n http.get(mockFileRequestWithoutMetadata.url, () => {\n return HttpResponse.json(mockFileRequestWithoutMetadata.response);\n }),\n http.get(mockMetadataInstances.url, () => {\n return HttpResponse.json(mockMetadataInstances.response);\n }),\n http.get(mockGlobalMetadataTemplates.url, () => {\n return HttpResponse.json(mockGlobalMetadataTemplates.response);\n }),\n http.get(mockEmptyMetadataInstances.url, () => {\n return HttpResponse.json(mockEmptyMetadataInstances.response);\n }),\n http.get(mockEnterpriseMetadataTemplates.url, () => {\n return HttpResponse.json(mockEnterpriseMetadataTemplates.response);\n }),\n];\n\nexport const AddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const templateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(templateHeader).toBeInTheDocument();\n },\n};\n\nexport const UnsavedChangesModalWhenChoosingDifferentTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n await userEvent.click(addTemplateButton);\n const myTemplateOption = canvas.getByRole('option', { name: 'My Template' });\n expect(myTemplateOption).toBeInTheDocument();\n await userEvent.click(myTemplateOption);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n },\n};\n\nexport const EmptyStateWithBoxAiEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n },\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n};\n\nexport const EmptyStateWithBoxAiDisabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n isBoxAiSuggestionsEnabled: false,\n isBetaLanguageEnabled: false,\n },\n },\n};\n\nexport const MetadataInstanceEditorWithDefinedTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n await userEvent.click(customMetadataOption);\n },\n};\n\nexport const MetadataInstanceEditorWithCustomTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n await act(async () => {\n await userEvent.click(addTemplateButton);\n });\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n await act(async () => {\n await userEvent.click(customMetadataOption);\n });\n },\n};\n\nexport const MetadataInstanceEditorCancelChanges: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n // Edit buttons contains also template name\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editButton).toBeInTheDocument();\n\n let headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n\n // go to edit mode - only edited template is visible\n await userEvent.click(editButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines.map(heading => heading.textContent)).toEqual(expect.arrayContaining(['My Template']));\n\n // cancel editing - back to list view\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n },\n};\n\nexport const DeleteButtonIsDisabledWhenAddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await act(async () => {\n await userEvent.click(addTemplateButton);\n });\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await act(async () => {\n await userEvent.click(customMetadataOption);\n });\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeDisabled();\n },\n};\n\nexport const DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editMetadataInstanceButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editMetadataInstanceButton).toBeInTheDocument();\n await userEvent.click(editMetadataInstanceButton);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeEnabled();\n },\n};\n\nexport const MetadataInstanceEditorAddTemplateAgainAfterCancel: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOption).not.toHaveAttribute('aria-disabled');\n await userEvent.click(templateMetadataOption);\n\n // Check if currently open template is disabled in dropdown\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionDisabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionDisabled).toHaveAttribute('aria-disabled');\n\n // Check if template available again after cancelling\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionEnabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionEnabled).not.toHaveAttribute('aria-disabled');\n },\n};\n\nexport const SwitchEditingTemplateInstances: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: '416047501580',\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // open and edit a new template\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n\n await userEvent.click(templateMetadataOption);\n\n const input = await canvas.findByRole('textbox');\n\n await userEvent.type(input, 'Lorem ipsum dolor.');\n\n // open another template while editing the first one (with discarding changes)\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionA = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionB = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionA).toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionB).not.toHaveAttribute('aria-disabled');\n\n await userEvent.click(templateMetadataOptionB);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n\n const unsavedChangesModalDiscardButton = await screen.findByRole('button', { name: 'Discard Changes' });\n\n await userEvent.click(unsavedChangesModalDiscardButton);\n\n const newTemplateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(newTemplateHeader).toBeInTheDocument();\n\n // check if template buttons disabled correctly after switching editors\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionAAfterSwitch = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionBAfterSwitch = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionAAfterSwitch).not.toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionBAfterSwitch).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const MetadataInstanceEditorAIEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillWithBoxAI = await canvas.findAllByRole('button', { name: /Autofill .+ with Box AI/ });\n expect(autofillWithBoxAI).toHaveLength(2);\n\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n await userEvent.click(editButton);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill' });\n expect(autofillButton).toBeInTheDocument();\n },\n};\n\nexport const MetadataInstanceEditorAIEnabledAdvancedExtractAgent: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.extractAdvancedAgents.enabled': true,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // Edit one instance\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n await userEvent.click(editButton);\n\n // Find the SplitButton\n const splitButton = await canvas.findByRole('button', { name: /Autofill/ });\n expect(splitButton).toBeVisible();\n\n await userEvent.hover(splitButton);\n const dropdownButton = await canvas.findByRole('button', { name: 'See agent options.' });\n expect(dropdownButton).toBeVisible();\n },\n};\n\nexport const ShowErrorWhenAIAPIIsUnavailable: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () => {\n return new HttpResponse('Not Found', { status: 404 });\n }),\n ],\n },\n test: {\n dangerouslyIgnoreUnhandledErrors: true,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill My Template with Box AI' });\n await userEvent.click(autofillButton);\n\n const errorAlert = await canvas.findByText('We’re sorry, something went wrong.');\n expect(errorAlert).toBeInTheDocument();\n },\n};\n\nexport const SuggestionsWhenAIAPIResponses: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () =>\n HttpResponse.json(aiSuggestionsForMyAttribute.response),\n ),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill My Template with Box AI' });\n userEvent.click(autofillButton);\n\n const suggestion = await canvas.findByText('it works fine');\n expect(suggestion).toBeInTheDocument();\n\n const replaceButton = await canvas.findByRole('button', { name: 'Clear and Replace' });\n expect(replaceButton).toBeInTheDocument();\n\n await userEvent.click(replaceButton);\n\n const input = canvas.getByLabelText('My Attribute');\n expect(input).toHaveValue('it works fine');\n },\n};\n\nexport const SuggestionForNewlyCreatedTemplateInstance: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () => HttpResponse.json(aiSuggestionForDateField.response)),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Date Template' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const templateHeader = await canvas.findByRole('heading', { name: 'Date Template' });\n expect(templateHeader).toBeInTheDocument();\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill' });\n userEvent.click(autofillButton);\n\n const suggestion = await canvas.findByText('4/1/2024');\n expect(suggestion).toBeInTheDocument();\n },\n};\n\nexport const ShowErrorOnDelete: StoryObj<typeof MetadataSidebarRedesign> = {\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.delete(mockErrorDeleteMyTemplateMetadataRequest.url, () => {\n return HttpResponse.json(mockErrorDeleteMyTemplateMetadataRequest.response, { status: 404 });\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' }, { timeout: 2000 });\n await userEvent.click(editButton);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n await userEvent.click(deleteButton);\n\n const confirmModal = await screen.findByRole('dialog', { name: /delete.+/i }, { timeout: 2000 });\n\n const confirmInput = within(confirmModal).getByRole('textbox');\n await userEvent.type(confirmInput, 'My Template');\n\n const confirmButton = within(confirmModal).getByRole('button', { name: 'Confirm' });\n await userEvent.click(confirmButton);\n\n const errorAlert = await canvas.findByText(\n 'An error has occurred while updating metadata. Please refresh the page and try again.',\n );\n expect(errorAlert).toBeInTheDocument();\n },\n};\n\nexport const ViewMultilevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.multilevelTaxonomy.enabled': true,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...taxonomyMockHandlers,\n http.get(mockMetadataTemplatesWithMultilevelTaxonomy.url, () => {\n return HttpResponse.json(mockMetadataTemplatesWithMultilevelTaxonomy.response);\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(async () => {\n const multilevelOptionButton = canvas.getByRole('button', { name: 'London' });\n\n expect(multilevelOptionButton).toBeInTheDocument();\n\n await userEvent.click(multilevelOptionButton);\n\n const multilevelDialog = screen.getByRole('dialog');\n\n expect(multilevelDialog).toBeInTheDocument();\n });\n },\n};\n\nexport const ViewSinglelevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n parameters: {\n msw: {\n handlers: [\n ...taxonomyMockHandlers,\n http.get(mockMetadataTemplatesWithSinglelevelTaxonomy.url, () => {\n return HttpResponse.json(mockMetadataTemplatesWithSinglelevelTaxonomy.response);\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(async () => {\n const singlelevelOptionButton = canvas.getByRole('button', { name: 'Blue' });\n\n expect(singlelevelOptionButton).toBeInTheDocument();\n\n await userEvent.click(singlelevelOptionButton);\n\n const singlelevelDialog = screen.getByRole('dialog');\n\n expect(singlelevelDialog).toBeInTheDocument();\n });\n },\n};\n\nexport const EditMultilevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n ...ViewMultilevelTaxonomy,\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await waitFor(() => canvas.getByRole('button', { name: 'Edit My Taxonomy' }));\n\n await userEvent.click(editButton);\n\n const multilevelInput = canvas.getByRole('combobox');\n const optionChip = canvas.getByRole('button', { name: 'London' });\n\n expect(multilevelInput).toBeInTheDocument();\n expect(optionChip).toBeInTheDocument();\n\n await userEvent.click(multilevelInput);\n\n const listbox = await waitFor(() => canvas.getByRole('listbox'));\n expect(listbox).toBeInTheDocument();\n\n let expandButtons = await waitFor(() => canvas.getAllByRole('button', { name: 'Expand branch' }));\n\n await userEvent.click(expandButtons[1]);\n\n const hokkaidoOption = await waitFor(() => canvas.getByText('Hokkaido'));\n expect(hokkaidoOption).toBeInTheDocument();\n\n expandButtons = await waitFor(() => screen.getAllByRole('button', { name: 'Expand branch' }));\n\n await userEvent.click(expandButtons[2]);\n\n const sapporoOption = await waitFor(() => canvas.getByRole('treeitem', { name: 'Sapporo' }));\n\n expect(sapporoOption).toBeInTheDocument();\n expect(sapporoOption).toHaveAttribute('aria-selected', 'false');\n\n await userEvent.click(sapporoOption);\n\n const sapporoSelection = await waitFor(() => canvas.getByRole('gridcell', { name: 'Sapporo' }));\n\n expect(sapporoOption).toBeInTheDocument();\n expect(sapporoOption).toHaveAttribute('aria-selected', 'true');\n expect(sapporoSelection).toBeInTheDocument();\n },\n};\n\nexport const EditSinglelevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n ...ViewSinglelevelTaxonomy,\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await waitFor(() => canvas.getByRole('button', { name: 'Edit My Taxonomy' }));\n\n await userEvent.click(editButton);\n\n const singlelevelInput = canvas.getByRole('combobox');\n const blueSelection = canvas.getByRole('gridcell', { name: 'Blue' });\n\n expect(singlelevelInput).toBeInTheDocument();\n expect(blueSelection).toBeInTheDocument();\n\n await userEvent.click(singlelevelInput);\n\n const listbox = await waitFor(() => canvas.getByRole('listbox'));\n expect(listbox).toBeInTheDocument();\n\n const blueOption = await waitFor(() => canvas.getByRole('option', { name: 'Blue' }));\n const redOption = await waitFor(() => canvas.getByRole('option', { name: 'Red' }));\n const greenOption = await waitFor(() => canvas.getByRole('option', { name: 'Green' }));\n\n expect(blueOption).toBeInTheDocument();\n expect(redOption).toBeInTheDocument();\n expect(greenOption).toBeInTheDocument();\n expect(blueOption).toHaveAttribute('aria-selected', 'true');\n expect(redOption).toHaveAttribute('aria-selected', 'false');\n expect(greenOption).toHaveAttribute('aria-selected', 'false');\n\n await userEvent.click(redOption);\n\n const redSelection = await waitFor(() => canvas.getByRole('gridcell', { name: 'Red' }));\n\n expect(redSelection).toBeInTheDocument();\n expect(blueSelection).toBeInTheDocument();\n expect(blueOption).toBeInTheDocument();\n expect(redOption).toBeInTheDocument();\n expect(greenOption).toBeInTheDocument();\n expect(blueOption).toHaveAttribute('aria-selected', 'true');\n expect(redOption).toHaveAttribute('aria-selected', 'true');\n expect(greenOption).toHaveAttribute('aria-selected', 'false');\n },\n};\n\nconst meta: Meta<typeof ContentSidebar> & { parameters: { msw: { handlers: HttpHandler[] } } } = {\n title: 'Elements/ContentSidebar/MetadataSidebarRedesign/tests/visual-regression-tests',\n component: ContentSidebar,\n args: {\n token,\n metadataSidebarProps: {\n ...defaultMetadataArgs,\n },\n hasMetadata: true,\n features: mockFeatures,\n fileId: fileIdWithMetadata,\n logger: mockLogger,\n },\n parameters: {\n msw: {\n handlers: defaultMockHandlers,\n },\n },\n};\n\nexport default meta;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MetadataSidebarRedesign-visual.stories.js","names":["http","HttpResponse","expect","userEvent","waitFor","within","fn","screen","ContentSidebar","aiSuggestionForDateField","aiSuggestionsForMyAttribute","fileIdWithMetadata","fileIdWithoutMetadata","mockEmptyMetadataInstances","mockEnterpriseMetadataTemplates","mockErrorDeleteMyTemplateMetadataRequest","mockFileRequest","mockFileRequestWithoutMetadata","mockGlobalMetadataTemplates","mockMetadataInstances","mockUserRequest","mockMetadataTemplatesWithMultilevelTaxonomy","mockMetadataTemplatesWithSinglelevelTaxonomy","taxonomyMockHandlers","token","global","TOKEN","defaultMetadataArgs","fileId","isFeatureEnabled","onError","onSuccess","defaultMetadataSidebarProps","mockFeatures","mockLogger","onReadyMetric","endMarkName","console","log","AddTemplateDropdownMenuOn","play","canvasElement","canvas","addTemplateButton","findByRole","name","timeout","toBeInTheDocument","click","customMetadataOption","getByRole","toHaveAttribute","AddTemplateDropdownMenuOnEmpty","args","metadataSidebarProps","isBoxAiSuggestionsEnabled","isBetaLanguageEnabled","options","getAllByRole","toHaveLength","forEach","option","not","FilterInstancesDropdown","filterInstancesButton","firstOption","secondOption","thirdOption","headlines","findAllByRole","level","textContent","toEqual","defaultMockHandlers","get","url","json","response","AddingNewMetadataTemplate","templateHeader","UnsavedChangesModalWhenChoosingDifferentTemplate","myTemplateOption","unsavedChangesModal","EmptyStateWithBoxAiEnabled","_objectSpread","features","EmptyStateWithBoxAiDisabled","MetadataInstanceEditorWithDefinedTemplate","MetadataInstanceEditorWithCustomTemplate","MetadataInstanceEditorCancelChanges","editButton","map","heading","arrayContaining","cancelButton","DeleteButtonIsDisabledWhenAddingNewMetadataTemplate","deleteButton","toBeDisabled","DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance","editMetadataInstanceButton","toBeEnabled","MetadataInstanceEditorAddTemplateAgainAfterCancel","templateMetadataOption","templateMetadataOptionDisabled","templateMetadataOptionEnabled","SwitchEditingTemplateInstances","input","type","templateMetadataOptionA","templateMetadataOptionB","unsavedChangesModalDiscardButton","newTemplateHeader","templateMetadataOptionAAfterSwitch","templateMetadataOptionBAfterSwitch","MetadataInstanceEditorAIEnabled","autofillWithBoxAI","autofillButton","MetadataInstanceEditorAIEnabledAdvancedExtractAgent","splitButton","toBeVisible","hover","dropdownButton","ShowErrorWhenAIAPIIsUnavailable","parameters","msw","handlers","post","status","test","dangerouslyIgnoreUnhandledErrors","errorAlert","findByText","SuggestionsWhenAIAPIResponses","suggestion","replaceButton","getByLabelText","toHaveValue","SuggestionForNewlyCreatedTemplateInstance","ShowErrorOnDelete","delete","confirmModal","confirmInput","confirmButton","ViewMultilevelTaxonomy","multilevelOptionButton","multilevelDialog","ViewSinglelevelTaxonomy","singlelevelOptionButton","singlelevelDialog","EditMultilevelTaxonomy","multilevelInput","optionChip","listbox","expandButtons","hokkaidoOption","getByText","sapporoOption","sapporoSelection","EditSinglelevelTaxonomy","singlelevelInput","blueSelection","blueOption","redOption","greenOption","redSelection","meta","title","component","hasMetadata","logger"],"sources":["../../../../../src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx"],"sourcesContent":["import { type ComponentProps } from 'react';\nimport { http, HttpResponse } from 'msw';\nimport { expect, userEvent, waitFor, within, fn, screen } from '@storybook/test';\nimport { type StoryObj, Meta } from '@storybook/react';\nimport type { HttpHandler } from 'msw';\nimport ContentSidebar from '../../ContentSidebar';\nimport MetadataSidebarRedesign from '../../MetadataSidebarRedesign';\nimport {\n aiSuggestionForDateField,\n aiSuggestionsForMyAttribute,\n fileIdWithMetadata,\n fileIdWithoutMetadata,\n mockEmptyMetadataInstances,\n mockEnterpriseMetadataTemplates,\n mockErrorDeleteMyTemplateMetadataRequest,\n mockFileRequest,\n mockFileRequestWithoutMetadata,\n mockGlobalMetadataTemplates,\n mockMetadataInstances,\n} from '../__mocks__/MetadataSidebarRedesignedMocks';\nimport { mockUserRequest } from '../../../common/__mocks__/mockRequests';\nimport {\n mockMetadataTemplatesWithMultilevelTaxonomy,\n mockMetadataTemplatesWithSinglelevelTaxonomy,\n taxonomyMockHandlers,\n} from '../__mocks__/TaxonomyMocks';\n\nconst token = global.TOKEN;\n\nconst defaultMetadataArgs = {\n fileId: fileIdWithMetadata,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst defaultMetadataSidebarProps: ComponentProps<typeof MetadataSidebarRedesign> = {\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst mockFeatures = {\n 'metadata.redesign.enabled': true,\n};\nconst mockLogger = {\n onReadyMetric: ({ endMarkName }) => {\n // eslint-disable-next-line no-console\n console.log(`Logger: onReadyMetric called with endMarkName: ${endMarkName}`);\n },\n};\n\nexport const AddTemplateDropdownMenuOn = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(customMetadataOption).toBeInTheDocument();\n expect(customMetadataOption).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const AddTemplateDropdownMenuOnEmpty = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n isBoxAiSuggestionsEnabled: true,\n isBetaLanguageEnabled: false,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const options = canvas.getAllByRole('option');\n expect(options).toHaveLength(5);\n options.forEach(option => {\n expect(option).not.toHaveAttribute('disabled');\n });\n },\n};\n\nexport const FilterInstancesDropdown = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(\n async () => {\n const filterInstancesButton = await canvas.findByRole('combobox');\n\n expect(filterInstancesButton).toBeInTheDocument();\n await userEvent.click(filterInstancesButton);\n\n const firstOption = canvas.getByRole('option', { name: 'My Template' });\n expect(firstOption).toBeInTheDocument();\n const secondOption = canvas.getByRole('option', { name: 'Select Dropdowns' });\n expect(secondOption).toBeInTheDocument();\n const thirdOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(thirdOption).toBeInTheDocument();\n\n await userEvent.click(firstOption);\n\n const headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines[0].textContent).toEqual('My Template');\n },\n { timeout: 2000 },\n );\n },\n};\n\nconst defaultMockHandlers = [\n http.get(mockUserRequest.url, () => {\n return HttpResponse.json(mockUserRequest.response);\n }),\n http.get(mockFileRequest.url, () => {\n return HttpResponse.json(mockFileRequest.response);\n }),\n http.get(mockFileRequestWithoutMetadata.url, () => {\n return HttpResponse.json(mockFileRequestWithoutMetadata.response);\n }),\n http.get(mockMetadataInstances.url, () => {\n return HttpResponse.json(mockMetadataInstances.response);\n }),\n http.get(mockGlobalMetadataTemplates.url, () => {\n return HttpResponse.json(mockGlobalMetadataTemplates.response);\n }),\n http.get(mockEmptyMetadataInstances.url, () => {\n return HttpResponse.json(mockEmptyMetadataInstances.response);\n }),\n http.get(mockEnterpriseMetadataTemplates.url, () => {\n return HttpResponse.json(mockEnterpriseMetadataTemplates.response);\n }),\n];\n\nexport const AddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const templateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(templateHeader).toBeInTheDocument();\n },\n};\n\nexport const UnsavedChangesModalWhenChoosingDifferentTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n await userEvent.click(addTemplateButton);\n const myTemplateOption = canvas.getByRole('option', { name: 'My Template' });\n expect(myTemplateOption).toBeInTheDocument();\n await userEvent.click(myTemplateOption);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n },\n};\n\nexport const EmptyStateWithBoxAiEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n },\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n};\n\nexport const EmptyStateWithBoxAiDisabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n isBoxAiSuggestionsEnabled: false,\n isBetaLanguageEnabled: false,\n },\n },\n};\n\nexport const MetadataInstanceEditorWithDefinedTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n await userEvent.click(customMetadataOption);\n },\n};\n\nexport const MetadataInstanceEditorWithCustomTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n await userEvent.click(customMetadataOption);\n },\n};\n\nexport const MetadataInstanceEditorCancelChanges: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n // Edit buttons contains also template name\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editButton).toBeInTheDocument();\n\n let headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n\n // go to edit mode - only edited template is visible\n await userEvent.click(editButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines.map(heading => heading.textContent)).toEqual(expect.arrayContaining(['My Template']));\n\n // cancel editing - back to list view\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n },\n};\n\nexport const DeleteButtonIsDisabledWhenAddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeDisabled();\n },\n};\n\nexport const DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editMetadataInstanceButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editMetadataInstanceButton).toBeInTheDocument();\n await userEvent.click(editMetadataInstanceButton);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeEnabled();\n },\n};\n\nexport const MetadataInstanceEditorAddTemplateAgainAfterCancel: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOption).not.toHaveAttribute('aria-disabled');\n await userEvent.click(templateMetadataOption);\n\n // Check if currently open template is disabled in dropdown\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionDisabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionDisabled).toHaveAttribute('aria-disabled');\n\n // Check if template available again after cancelling\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionEnabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionEnabled).not.toHaveAttribute('aria-disabled');\n },\n};\n\nexport const SwitchEditingTemplateInstances: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: '416047501580',\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // open and edit a new template\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n\n await userEvent.click(templateMetadataOption);\n\n const input = await canvas.findByRole('textbox');\n\n await userEvent.type(input, 'Lorem ipsum dolor.');\n\n // open another template while editing the first one (with discarding changes)\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionA = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionB = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionA).toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionB).not.toHaveAttribute('aria-disabled');\n\n await userEvent.click(templateMetadataOptionB);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n\n const unsavedChangesModalDiscardButton = await screen.findByRole('button', { name: 'Discard Changes' });\n\n await userEvent.click(unsavedChangesModalDiscardButton);\n\n const newTemplateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(newTemplateHeader).toBeInTheDocument();\n\n // check if template buttons disabled correctly after switching editors\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionAAfterSwitch = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionBAfterSwitch = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionAAfterSwitch).not.toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionBAfterSwitch).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const MetadataInstanceEditorAIEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillWithBoxAI = await canvas.findAllByRole('button', { name: /Autofill .+ with Box AI/ });\n expect(autofillWithBoxAI).toHaveLength(2);\n\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n await userEvent.click(editButton);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill' });\n expect(autofillButton).toBeInTheDocument();\n },\n};\n\nexport const MetadataInstanceEditorAIEnabledAdvancedExtractAgent: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.extractAdvancedAgents.enabled': true,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // Edit one instance\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n await userEvent.click(editButton);\n\n // Find the SplitButton\n const splitButton = await canvas.findByRole('button', { name: /Autofill/ });\n expect(splitButton).toBeVisible();\n\n await userEvent.hover(splitButton);\n const dropdownButton = await canvas.findByRole('button', { name: 'See agent options.' });\n expect(dropdownButton).toBeVisible();\n },\n};\n\nexport const ShowErrorWhenAIAPIIsUnavailable: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () => {\n return new HttpResponse('Not Found', { status: 404 });\n }),\n ],\n },\n test: {\n dangerouslyIgnoreUnhandledErrors: true,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill My Template with Box AI' });\n await userEvent.click(autofillButton);\n\n const errorAlert = await canvas.findByText('We’re sorry, something went wrong.');\n expect(errorAlert).toBeInTheDocument();\n },\n};\n\nexport const SuggestionsWhenAIAPIResponses: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () =>\n HttpResponse.json(aiSuggestionsForMyAttribute.response),\n ),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill My Template with Box AI' });\n userEvent.click(autofillButton);\n\n const suggestion = await canvas.findByText('it works fine');\n expect(suggestion).toBeInTheDocument();\n\n const replaceButton = await canvas.findByRole('button', { name: 'Clear and Replace' });\n expect(replaceButton).toBeInTheDocument();\n\n await userEvent.click(replaceButton);\n\n const input = canvas.getByLabelText('My Attribute');\n expect(input).toHaveValue('it works fine');\n },\n};\n\nexport const SuggestionForNewlyCreatedTemplateInstance: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () => HttpResponse.json(aiSuggestionForDateField.response)),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Date Template' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const templateHeader = await canvas.findByRole('heading', { name: 'Date Template' });\n expect(templateHeader).toBeInTheDocument();\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill' });\n userEvent.click(autofillButton);\n\n const suggestion = await canvas.findByText('4/1/2024');\n expect(suggestion).toBeInTheDocument();\n },\n};\n\nexport const ShowErrorOnDelete: StoryObj<typeof MetadataSidebarRedesign> = {\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.delete(mockErrorDeleteMyTemplateMetadataRequest.url, () => {\n return HttpResponse.json(mockErrorDeleteMyTemplateMetadataRequest.response, { status: 404 });\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' }, { timeout: 2000 });\n await userEvent.click(editButton);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n await userEvent.click(deleteButton);\n\n const confirmModal = await screen.findByRole('dialog', { name: /delete.+/i }, { timeout: 2000 });\n\n const confirmInput = within(confirmModal).getByRole('textbox');\n await userEvent.type(confirmInput, 'My Template');\n\n const confirmButton = within(confirmModal).getByRole('button', { name: 'Confirm' });\n await userEvent.click(confirmButton);\n\n const errorAlert = await canvas.findByText(\n 'An error has occurred while updating metadata. Please refresh the page and try again.',\n );\n expect(errorAlert).toBeInTheDocument();\n },\n};\n\nexport const ViewMultilevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.multilevelTaxonomy.enabled': true,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...taxonomyMockHandlers,\n http.get(mockMetadataTemplatesWithMultilevelTaxonomy.url, () => {\n return HttpResponse.json(mockMetadataTemplatesWithMultilevelTaxonomy.response);\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(async () => {\n const multilevelOptionButton = canvas.getByRole('button', { name: 'London' });\n\n expect(multilevelOptionButton).toBeInTheDocument();\n\n await userEvent.click(multilevelOptionButton);\n\n const multilevelDialog = screen.getByRole('dialog');\n\n expect(multilevelDialog).toBeInTheDocument();\n });\n },\n};\n\nexport const ViewSinglelevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n parameters: {\n msw: {\n handlers: [\n ...taxonomyMockHandlers,\n http.get(mockMetadataTemplatesWithSinglelevelTaxonomy.url, () => {\n return HttpResponse.json(mockMetadataTemplatesWithSinglelevelTaxonomy.response);\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(async () => {\n const singlelevelOptionButton = canvas.getByRole('button', { name: 'Blue' });\n\n expect(singlelevelOptionButton).toBeInTheDocument();\n\n await userEvent.click(singlelevelOptionButton);\n\n const singlelevelDialog = screen.getByRole('dialog');\n\n expect(singlelevelDialog).toBeInTheDocument();\n });\n },\n};\n\nexport const EditMultilevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n ...ViewMultilevelTaxonomy,\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await waitFor(() => canvas.getByRole('button', { name: 'Edit My Taxonomy' }));\n\n await userEvent.click(editButton);\n\n const multilevelInput = canvas.getByRole('combobox');\n const optionChip = canvas.getByRole('button', { name: 'London' });\n\n expect(multilevelInput).toBeInTheDocument();\n expect(optionChip).toBeInTheDocument();\n\n await userEvent.click(multilevelInput);\n\n const listbox = await waitFor(() => canvas.getByRole('listbox'));\n expect(listbox).toBeInTheDocument();\n\n let expandButtons = await waitFor(() => canvas.getAllByRole('button', { name: 'Expand branch' }));\n\n await userEvent.click(expandButtons[1]);\n\n const hokkaidoOption = await waitFor(() => canvas.getByText('Hokkaido'));\n expect(hokkaidoOption).toBeInTheDocument();\n\n expandButtons = await waitFor(() => screen.getAllByRole('button', { name: 'Expand branch' }));\n\n await userEvent.click(expandButtons[2]);\n\n const sapporoOption = await waitFor(() => canvas.getByRole('treeitem', { name: 'Sapporo' }));\n\n expect(sapporoOption).toBeInTheDocument();\n expect(sapporoOption).toHaveAttribute('aria-selected', 'false');\n\n await userEvent.click(sapporoOption);\n\n const sapporoSelection = await waitFor(() => canvas.getByRole('gridcell', { name: 'Sapporo' }));\n\n expect(sapporoOption).toBeInTheDocument();\n expect(sapporoOption).toHaveAttribute('aria-selected', 'true');\n expect(sapporoSelection).toBeInTheDocument();\n },\n};\n\nexport const EditSinglelevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n ...ViewSinglelevelTaxonomy,\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await waitFor(() => canvas.getByRole('button', { name: 'Edit My Taxonomy' }));\n\n await userEvent.click(editButton);\n\n const singlelevelInput = canvas.getByRole('combobox');\n const blueSelection = canvas.getByRole('gridcell', { name: 'Blue' });\n\n expect(singlelevelInput).toBeInTheDocument();\n expect(blueSelection).toBeInTheDocument();\n\n await userEvent.click(singlelevelInput);\n\n const listbox = await waitFor(() => canvas.getByRole('listbox'));\n expect(listbox).toBeInTheDocument();\n\n const blueOption = await waitFor(() => canvas.getByRole('option', { name: 'Blue' }));\n const redOption = await waitFor(() => canvas.getByRole('option', { name: 'Red' }));\n const greenOption = await waitFor(() => canvas.getByRole('option', { name: 'Green' }));\n\n expect(blueOption).toBeInTheDocument();\n expect(redOption).toBeInTheDocument();\n expect(greenOption).toBeInTheDocument();\n expect(blueOption).toHaveAttribute('aria-selected', 'true');\n expect(redOption).toHaveAttribute('aria-selected', 'false');\n expect(greenOption).toHaveAttribute('aria-selected', 'false');\n\n await userEvent.click(redOption);\n\n const redSelection = await waitFor(() => canvas.getByRole('gridcell', { name: 'Red' }));\n\n expect(redSelection).toBeInTheDocument();\n expect(blueSelection).toBeInTheDocument();\n expect(blueOption).toBeInTheDocument();\n expect(redOption).toBeInTheDocument();\n expect(greenOption).toBeInTheDocument();\n expect(blueOption).toHaveAttribute('aria-selected', 'true');\n expect(redOption).toHaveAttribute('aria-selected', 'true');\n expect(greenOption).toHaveAttribute('aria-selected', 'false');\n },\n};\n\nconst meta: Meta<typeof ContentSidebar> & { parameters: { msw: { handlers: HttpHandler[] } } } = {\n title: 'Elements/ContentSidebar/MetadataSidebarRedesign/tests/visual-regression-tests',\n component: ContentSidebar,\n args: {\n token,\n metadataSidebarProps: {\n ...defaultMetadataArgs,\n },\n hasMetadata: true,\n features: mockFeatures,\n fileId: fileIdWithMetadata,\n logger: mockLogger,\n },\n parameters: {\n msw: {\n handlers: defaultMockHandlers,\n },\n },\n};\n\nexport default meta;\n"],"mappings":"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","ignoreList":[]}
@@ -44,8 +44,8 @@ export interface AnnotatorContext {
44
44
  emitAnnotationReplyDeleteEvent?: (id: string, annotationId: string, isStartEvent?: boolean) => void;
45
45
  emitAnnotationReplyUpdateEvent?: (reply: Object, annotationId: string, isStartEvent?: boolean) => void;
46
46
  emitAnnotationUpdateEvent?: (annotation: Object, isStartEvent?: boolean) => void;
47
- getAnnotationsMatchPath: GetMatchPath;
48
- getAnnotationsPath: (fileVersionId?: string, annotationId?: string) => string;
47
+ getAnnotationsMatchPath?: GetMatchPath;
48
+ getAnnotationsPath?: (fileVersionId?: string, annotationId?: string) => string;
49
49
  state: AnnotatorState;
50
50
  }
51
51
  export declare enum Status {
@@ -1,6 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { Location } from 'history';
3
+ import { type FeatureConfig } from '../feature-checking';
3
4
  import { Action, Annotator, AnnotationActionEvent, GetMatchPath } from './types';
5
+ import { SidebarNavigation } from '../types/SidebarNavigation';
4
6
  export type ActiveChangeEvent = {
5
7
  annotationId: string | null;
6
8
  fileVersionId: string;
@@ -31,10 +33,13 @@ export type ComponentWithAnnotations = {
31
33
  handlePreviewDestroy: (shouldReset?: boolean) => void;
32
34
  };
33
35
  export type WithAnnotationsProps = {
36
+ features?: FeatureConfig;
34
37
  location?: Location;
35
38
  onAnnotator: (annotator: Annotator) => void;
36
39
  onError?: (error: Error, code: string, contextInfo?: Record<string, unknown>) => void;
37
40
  onPreviewDestroy: (shouldReset?: boolean) => void;
41
+ routerDisabled?: boolean;
42
+ sidebarNavigation?: SidebarNavigation;
38
43
  };
39
44
  export type WithAnnotationsComponent<P> = React.ComponentClass<P & WithAnnotationsProps>;
40
45
  export default function withAnnotations<P extends object>(WrappedComponent: React.ComponentType<P>): WithAnnotationsComponent<P>;
@@ -11,4 +11,7 @@ export interface WithAnnotatorContextProps {
11
11
  getAnnotationsMatchPath?: GetMatchPath;
12
12
  getAnnotationsPath?: (fileVersionId?: string, annotationId?: string) => string;
13
13
  }
14
- export default function withAnnotatorContext<P extends {}>(WrappedComponent: React.ComponentType<P>): React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<React.ComponentType<P>>>;
14
+ export default function withAnnotatorContext<P extends {}>(WrappedComponent: React.ComponentType<P>): React.ForwardRefExoticComponent<React.PropsWithoutRef<P & {
15
+ routerDisabled?: boolean;
16
+ features?: FeatureConfig;
17
+ }> & React.RefAttributes<React.ComponentType<P>>>;
@@ -0,0 +1,37 @@
1
+ export declare enum ViewType {
2
+ BOXAI = "boxai",
3
+ SKILLS = "skills",
4
+ ACTIVITY = "activity",
5
+ DETAILS = "details",
6
+ METADATA = "metadata",
7
+ DOCGEN = "docgen"
8
+ }
9
+ export declare enum FeedEntryType {
10
+ ANNOTATIONS = "annotations",
11
+ COMMENTS = "comments",
12
+ TASKS = "tasks"
13
+ }
14
+ type VersionSidebarView = {
15
+ sidebar: ViewType.ACTIVITY | ViewType.DETAILS;
16
+ versionId: string;
17
+ };
18
+ export type ActivityAnnotationsSidebarView = {
19
+ sidebar: ViewType.ACTIVITY;
20
+ activeFeedEntryType: FeedEntryType.ANNOTATIONS;
21
+ fileVersionId: string;
22
+ activeFeedEntryId: string;
23
+ };
24
+ type ActivityCommentsSidebarView = {
25
+ sidebar: ViewType.ACTIVITY;
26
+ activeFeedEntryType: FeedEntryType.COMMENTS | FeedEntryType.TASKS;
27
+ activeFeedEntryId: string;
28
+ };
29
+ export type SidebarNavigation = {
30
+ sidebar: ViewType;
31
+ } | VersionSidebarView | ActivityCommentsSidebarView | ActivityAnnotationsSidebarView;
32
+ export type InternalSidebarNavigation = SidebarNavigation & {
33
+ open: boolean;
34
+ };
35
+ export type SidebarNavigationHandler = (sidebar: SidebarNavigation, replace?: boolean) => void;
36
+ export type InternalSidebarNavigationHandler = (sidebar: InternalSidebarNavigation, replace?: boolean) => void;
37
+ export {};
package/package.json CHANGED
@@ -1,35 +1,41 @@
1
1
  {
2
2
  "name": "box-ui-elements",
3
- "version": "23.4.0-beta.14",
3
+ "version": "23.4.0-beta.16",
4
4
  "description": "Box UI Elements",
5
5
  "author": "Box (https://www.box.com/)",
6
6
  "license": "SEE LICENSE IN LICENSE",
7
+ "publishConfig": {
8
+ "registry": "https://registry.npmjs.org/"
9
+ },
7
10
  "homepage": "https://developer.box.com/docs/box-ui-elements",
8
11
  "main": "es/index.js",
9
12
  "module": "es/index.js",
10
13
  "jsnext:main": "es/index.js",
11
14
  "types": "es/types.d.ts",
12
- "publishConfig": {
13
- "registry": "https://registry.npmjs.org/"
14
- },
15
15
  "keywords": [
16
16
  "box",
17
17
  "box platform",
18
18
  "box-platform",
19
19
  "box content",
20
20
  "box-content",
21
+ "box ui elements",
22
+ "box-ui-elements",
21
23
  "ui elements",
24
+ "ui-elements",
25
+ "explorer",
26
+ "picker",
22
27
  "preview",
28
+ "sharing",
29
+ "sidebar",
23
30
  "uploader",
24
- "picker",
25
- "explorer",
26
31
  "box-content-ui-elements",
27
- "box-content-preview",
28
- "box-content-uploader",
29
- "box-content-picker",
30
32
  "box-content-explorer",
33
+ "box-content-picker",
34
+ "box-content-preview",
31
35
  "box-content-openwith",
32
- "box-content-sidebar"
36
+ "box-content-sharing",
37
+ "box-content-sidebar",
38
+ "box-content-uploader"
33
39
  ],
34
40
  "repository": {
35
41
  "type": "git",
@@ -38,23 +44,26 @@
38
44
  "bugs": {
39
45
  "url": "https://github.com/box/box-ui-elements/issues"
40
46
  },
47
+ "engines": {
48
+ "node": ">=18.x",
49
+ "yarn": ">=1.10.0"
50
+ },
41
51
  "scripts": {
42
52
  "build": "yarn build:dev:dist",
43
- "build:ci:es": "yarn build:prod:es",
44
53
  "build:ci:dist": "LANGUAGE=en-US ENTRY=explorer REACT=true yarn build:prod:dist",
45
- "build:dev:dist": "LANGUAGE=en-US BABEL_ENV=development NODE_ENV=development webpack --config scripts/webpack.config.js --mode development --progress",
46
- "build:dev:es": "BABEL_ENV=development NODE_ENV=development yarn build:es --copy-files --source-maps inline --watch --ignore \"**/*.d.ts,**/__tests__/**,**/__mocks__/**\"",
54
+ "build:ci:es": "yarn build:prod:es",
55
+ "build:dev:dist": "NODE_ENV=development BABEL_ENV=development LANGUAGE=en-US webpack --config scripts/webpack.config.js --mode development --progress",
56
+ "build:dev:es": "NODE_ENV=development BABEL_ENV=development yarn build:es --copy-files --source-maps inline --watch --ignore \"**/*.d.ts,**/__tests__/**,**/__mocks__/**\"",
47
57
  "build:es": "babel src --extensions '.js,.tsx,.ts' --out-dir es",
48
- "build:i18n": "props2es",
58
+ "build:i18n": "node scripts/buildTranslations.js",
49
59
  "build:npm": "npm-run-all clean build:i18n build:prod:npm build:prod:es",
50
60
  "build:prod:analyze": "BUNDLE_ANALYSIS=true npm-run-all setup build:prod:npm",
51
- "build:prod:es": "BABEL_ENV=npm NODE_ENV=production yarn build:es --source-maps --ignore \"**/*.d.ts,**/__tests__/**,**/__mocks__/**\"",
52
61
  "build:prod:dist": "NODE_ENV=production webpack --config scripts/webpack.config.js --mode production",
62
+ "build:prod:es": "NODE_ENV=production BABEL_ENV=npm yarn build:es --source-maps --ignore \"**/*.d.ts,**/__tests__/**,**/__mocks__/**\"",
53
63
  "build:prod:npm": "BABEL_ENV=production OUTPUT=dist LANGUAGE=en-US REACT=true yarn build:prod:dist",
54
- "build:prod:storybook": "LANGUAGE=en-US REACT=true BROWSERSLIST_ENV=production BABEL_ENV=development NODE_ENV=development storybook build -c .storybook -o storybook",
55
- "build:sync": "LANGUAGE=en-US BABEL_ENV=development NODE_ENV=development RSYNC=true webpack --config scripts/webpack.config.js --mode development",
64
+ "build:prod:storybook": "NODE_ENV=production BABEL_ENV=production BROWSERSLIST_ENV=production LANGUAGE=en-US REACT=true storybook build -o storybook",
56
65
  "chromatic": "chromatic",
57
- "clean": "rm -rf dist es i18n/json i18n/*.js reports storybook",
66
+ "clean": "rm -rf dist es i18n/bundles i18n/json i18n/*.js reports storybook",
58
67
  "copy:flow": "flow-copy-source --ignore \"**/__tests__/**\" --ignore \"**/__mocks__/**\" --ignore \"**/*.ts\" ./src ./es && copyfiles './src/**/*.js.flow' es --up 1",
59
68
  "copy:styles": "copyfiles './src/**/*.scss' es --up 1",
60
69
  "cy:open": "yarn cy:wait; yarn cypress open",
@@ -66,17 +75,17 @@
66
75
  "lint:css": "stylelint \"src/**/*.scss\"",
67
76
  "prebuild:es": "npm-run-all copy:styles ts:defs copy:flow",
68
77
  "release": "yarn release:beta",
69
- "release:beta": "DIST=beta BRANCH=master ./scripts/release.sh",
70
- "release:hotfix": "DIST=latest HOTFIX=true ./scripts/release.sh",
71
- "release:latest": "DIST=latest BRANCH=master ./scripts/release.sh",
72
- "release:next": "DIST=next BRANCH=next ./scripts/release.sh",
73
- "release:cdn": "yarn setup; node ./scripts/prod.js",
78
+ "release:beta": "DIST=beta BRANCH=master scripts/release.sh",
79
+ "release:hotfix": "DIST=latest HOTFIX=true scripts/release.sh",
80
+ "release:latest": "DIST=latest BRANCH=master scripts/release.sh",
81
+ "release:next": "DIST=next BRANCH=next scripts/release.sh",
82
+ "release:cdn": "yarn setup; node scripts/buildLocaleBundles.js",
74
83
  "setup": "yarn install --frozen-lockfile; npm-run-all clean build:i18n",
75
84
  "start": "npm-run-all setup start:storybook",
76
85
  "start:npm": "yarn setup; yarn build:dev:es",
77
- "start:storybook": "LANGUAGE=en-US REACT=true BABEL_ENV=development NODE_ENV=development storybook dev -p 6060",
86
+ "start:storybook": "NODE_ENV=development BABEL_ENV=development LANGUAGE=en-US storybook dev -p 6060",
78
87
  "start:storybook:ci": "yarn start:storybook --ci",
79
- "test": "BABEL_ENV=test NODE_ENV=test yarn jest -c scripts/jest/jest.config.js",
88
+ "test": "NODE_ENV=test BABEL_ENV=test yarn jest -c scripts/jest/jest.config.js",
80
89
  "test:e2e": "BROWSERSLIST_ENV=test npm-run-all -p -r start cy:run",
81
90
  "test:e2e:open": "BROWSERSLIST_ENV=test npm-run-all -p -r start cy:open",
82
91
  "ts:defs": "tsc --declaration --emitDeclarationOnly --declarationDir es --noEmit false"
@@ -102,10 +111,6 @@
102
111
  "commit-msg": "commitlint -e"
103
112
  }
104
113
  },
105
- "engines": {
106
- "node": ">=18.x",
107
- "yarn": ">=1.10.0"
108
- },
109
114
  "devDependencies": {
110
115
  "@babel/cli": "^7.24.7",
111
116
  "@babel/core": "^7.24.7",
@@ -291,8 +296,7 @@
291
296
  "webpack": "^5.92.0",
292
297
  "webpack-bundle-analyzer": "^4.10.2",
293
298
  "webpack-cli": "^5.1.4",
294
- "webpack-dev-server": "^5.2.1",
295
- "worker-farm": "^1.7.0"
299
+ "webpack-dev-server": "^5.2.1"
296
300
  },
297
301
  "peerDependencies": {
298
302
  "@box/blueprint-web": "^12.7.1",
@@ -352,12 +356,6 @@
352
356
  "react-tether": "Version 2.x has too many breaking changes and requires forwardRef on all components"
353
357
  }
354
358
  },
355
- "overrides": {
356
- "react-tether": {
357
- "react": "$react",
358
- "react-dom": "$react-dom"
359
- }
360
- },
361
359
  "msw": {
362
360
  "workerDirectory": [
363
361
  ".storybook/public"
@@ -4,7 +4,7 @@
4
4
  * @author Box
5
5
  */
6
6
 
7
- import { TreeQueryInput } from '@box/combobox-with-api';
7
+ import type { TreeQueryInput } from '@box/combobox-with-api';
8
8
  import cloneDeep from 'lodash/cloneDeep';
9
9
  import lodashFilter from 'lodash/filter';
10
10
  import flatMap from 'lodash/flatMap';
@@ -3,6 +3,7 @@ import { shallow, ShallowWrapper } from 'enzyme';
3
3
  import { createMemoryHistory, History, Location } from 'history';
4
4
  import { Action, Annotator, AnnotatorContext, withAnnotations, Status } from '../index';
5
5
  import { WithAnnotationsProps, ComponentWithAnnotations } from '../withAnnotations';
6
+ import { FeedEntryType, ViewType } from '../../types/SidebarNavigation';
6
7
 
7
8
  type ComponentProps = {
8
9
  className?: string;
@@ -49,6 +50,37 @@ describe('elements/common/annotator-context/withAnnotations', () => {
49
50
  const wrapper = getWrapper({ history, location: history.location });
50
51
  expect(wrapper.state('activeAnnotationId')).toBe(null);
51
52
  });
53
+
54
+ test('should use sidebarNavigation prop to initialize state with activeAnnotationId if routerDisabled is true', () => {
55
+ const wrapper = getWrapper({
56
+ routerDisabled: true,
57
+ sidebarNavigation: {
58
+ activeFeedEntryType: FeedEntryType.ANNOTATIONS,
59
+ activeFeedEntryId: '456',
60
+ sidebar: ViewType.ACTIVITY,
61
+ fileVersionId: '123',
62
+ },
63
+ });
64
+ expect(wrapper.state('activeAnnotationId')).toBe('456');
65
+ });
66
+
67
+ test('should use sidebarNavigation prop to initialize state with activeAnnotationId if routerDisabled is true in feature flags', () => {
68
+ const wrapper = getWrapper({
69
+ features: { routerDisabled: { value: true } },
70
+ sidebarNavigation: {
71
+ activeFeedEntryType: FeedEntryType.ANNOTATIONS,
72
+ activeFeedEntryId: '456',
73
+ sidebar: ViewType.ACTIVITY,
74
+ fileVersionId: '123',
75
+ },
76
+ });
77
+ expect(wrapper.state('activeAnnotationId')).toBe('456');
78
+ });
79
+
80
+ test('should not initialize state with activeAnnotationId if routerDisabled is true and sidebarNavigation is not provided', () => {
81
+ const wrapper = getWrapper({ routerDisabled: true });
82
+ expect(wrapper.state('activeAnnotationId')).toBe(null);
83
+ });
52
84
  });
53
85
 
54
86
  test('should pass onAnnotator and onPreviewDestroy as props on the wrapped component', () => {
@@ -93,6 +125,20 @@ describe('elements/common/annotator-context/withAnnotations', () => {
93
125
  });
94
126
  });
95
127
 
128
+ test('should not pass annotations router props if routerDisabled is true', () => {
129
+ const wrapper = getWrapper({ routerDisabled: true });
130
+ const contextProvider = getContextProvider(wrapper);
131
+ expect(contextProvider.prop('value').getAnnotationsMatchPath).toBeUndefined();
132
+ expect(contextProvider.prop('value').getAnnotationsPath).toBeUndefined();
133
+ });
134
+
135
+ test('should not pass annotations router props if routerDisabled is true in feature flags', () => {
136
+ const wrapper = getWrapper({ features: { routerDisabled: { value: true } } });
137
+ const contextProvider = getContextProvider(wrapper);
138
+ expect(contextProvider.prop('value').getAnnotationsMatchPath).toBeUndefined();
139
+ expect(contextProvider.prop('value').getAnnotationsPath).toBeUndefined();
140
+ });
141
+
96
142
  describe('emitActiveAnnotationChangeEvent', () => {
97
143
  test('should call annotator emit on action', () => {
98
144
  const wrapper = getWrapper();