box-ui-elements 23.4.0-beta.21 → 23.4.0-beta.23
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/explorer.js +1 -1
- package/dist/preview.js +1 -1
- package/dist/sidebar.js +1 -1
- package/es/components/flyout/OverlayHeader.js +6 -3
- package/es/components/flyout/OverlayHeader.js.map +1 -1
- package/es/elements/common/nav-router/NavRouter.js +7 -3
- package/es/elements/common/nav-router/NavRouter.js.flow +10 -1
- package/es/elements/common/nav-router/NavRouter.js.map +1 -1
- package/es/elements/common/nav-router/types.js.map +1 -1
- package/es/elements/common/nav-router/withNavRouter.js +10 -1
- package/es/elements/common/nav-router/withNavRouter.js.flow +5 -0
- package/es/elements/common/nav-router/withNavRouter.js.map +1 -1
- package/es/elements/common/routing/withRouterAndRef.js +17 -3
- package/es/elements/common/routing/withRouterAndRef.js.flow +11 -3
- package/es/elements/common/routing/withRouterAndRef.js.map +1 -1
- package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js +22 -13
- package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js.flow +30 -17
- package/es/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js.map +1 -1
- package/es/elements/content-sidebar/ContentSidebar.js +3 -1
- package/es/elements/content-sidebar/ContentSidebar.js.flow +2 -1
- package/es/elements/content-sidebar/ContentSidebar.js.map +1 -1
- package/es/elements/content-sidebar/SidebarNavButton.js +49 -1
- package/es/elements/content-sidebar/SidebarNavButton.js.flow +65 -3
- package/es/elements/content-sidebar/SidebarNavButton.js.map +1 -1
- package/es/elements/content-sidebar/SidebarToggle.js +27 -9
- package/es/elements/content-sidebar/SidebarToggle.js.flow +29 -6
- package/es/elements/content-sidebar/SidebarToggle.js.map +1 -1
- package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js +12 -1
- package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js.map +1 -1
- package/es/features/header-flyout/HeaderFlyout.js +6 -3
- package/es/features/header-flyout/HeaderFlyout.js.flow +15 -2
- package/es/features/header-flyout/HeaderFlyout.js.map +1 -1
- package/es/features/header-flyout/styles/HeaderFlyout.scss +2 -0
- package/es/src/components/flyout/OverlayHeader.d.ts +3 -1
- package/es/src/elements/common/nav-router/NavRouter.d.ts +3 -1
- package/es/src/elements/common/nav-router/types.d.ts +2 -0
- package/package.json +1 -1
- package/src/components/flyout/OverlayHeader.tsx +7 -3
- package/src/components/flyout/__tests__/OverlayHeader.test.js +25 -0
- package/src/elements/common/nav-router/NavRouter.js.flow +10 -1
- package/src/elements/common/nav-router/NavRouter.tsx +9 -3
- package/src/elements/common/nav-router/__tests__/withNavRouter.test.tsx +34 -20
- package/src/elements/common/nav-router/types.ts +2 -0
- package/src/elements/common/nav-router/withNavRouter.js.flow +5 -0
- package/src/elements/common/nav-router/withNavRouter.tsx +9 -1
- package/src/elements/common/routing/__tests__/withRouterAndRef.test.js +64 -12
- package/src/elements/common/routing/withRouterAndRef.js +11 -3
- package/src/elements/content-explorer/stories/tests/ContentExplorer-visual.stories.js +30 -17
- package/src/elements/content-sidebar/ContentSidebar.js +2 -1
- package/src/elements/content-sidebar/SidebarNavButton.js +65 -3
- package/src/elements/content-sidebar/SidebarToggle.js +29 -6
- package/src/elements/content-sidebar/__tests__/SidebarNavButton.test.js +155 -3
- package/src/elements/content-sidebar/__tests__/SidebarToggle.test.js +74 -10
- package/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx +14 -1
- package/src/features/header-flyout/HeaderFlyout.js +15 -2
- package/src/features/header-flyout/__tests__/__snapshots__/HeaderFlyout.test.js.snap +9 -3
- package/src/features/header-flyout/styles/HeaderFlyout.scss +2 -0
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarToggle.test.js.snap +0 -19
package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":[]}
|
|
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","parameters","msw","handlers","input","type","templateMetadataOptionA","templateMetadataOptionB","unsavedChangesModalDiscardButton","newTemplateHeader","templateMetadataOptionAAfterSwitch","templateMetadataOptionBAfterSwitch","MetadataInstanceEditorAIEnabled","autofillWithBoxAI","autofillButton","MetadataInstanceEditorAIEnabledAdvancedExtractAgent","splitButton","toBeVisible","hover","dropdownButton","ShowErrorWhenAIAPIIsUnavailable","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 parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.get(`/2.0/files/416047501580`, () => {\n return HttpResponse.json(mockFileRequest.response);\n }),\n http.get(`/2.0/files/416047501580/metadata`, () => {\n return HttpResponse.json(mockMetadataInstances.response);\n }),\n ],\n },\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', {}, { timeout: 5000 });\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":";;;;;AACA,SAASA,IAAI,EAAEC,YAAY,QAAQ,KAAK;AACxC,SAASC,MAAM,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,EAAE,EAAEC,MAAM,QAAQ,iBAAiB;AAGhF,OAAOC,cAAc,MAAM,sBAAsB;AAEjD,SACIC,wBAAwB,EACxBC,2BAA2B,EAC3BC,kBAAkB,EAClBC,qBAAqB,EACrBC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,wCAAwC,EACxCC,eAAe,EACfC,8BAA8B,EAC9BC,2BAA2B,EAC3BC,qBAAqB,QAClB,6CAA6C;AACpD,SAASC,eAAe,QAAQ,wCAAwC;AACxE,SACIC,2CAA2C,EAC3CC,4CAA4C,EAC5CC,oBAAoB,QACjB,4BAA4B;AAEnC,MAAMC,KAAK,GAAGC,MAAM,CAACC,KAAK;AAE1B,MAAMC,mBAAmB,GAAG;EACxBC,MAAM,EAAEjB,kBAAkB;EAC1BkB,gBAAgB,EAAE,IAAI;EACtBC,OAAO,EAAExB,EAAE,CAAC,CAAC;EACbyB,SAAS,EAAEzB,EAAE,CAAC;AAClB,CAAC;AACD,MAAM0B,2BAA2E,GAAG;EAChFH,gBAAgB,EAAE,IAAI;EACtBC,OAAO,EAAExB,EAAE,CAAC,CAAC;EACbyB,SAAS,EAAEzB,EAAE,CAAC;AAClB,CAAC;AACD,MAAM2B,YAAY,GAAG;EACjB,2BAA2B,EAAE;AACjC,CAAC;AACD,MAAMC,UAAU,GAAG;EACfC,aAAa,EAAEA,CAAC;IAAEC;EAAY,CAAC,KAAK;IAChC;IACAC,OAAO,CAACC,GAAG,CAAC,kDAAkDF,WAAW,EAAE,CAAC;EAChF;AACJ,CAAC;AAED,OAAO,MAAMG,yBAAyB,GAAG;EACrCC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAC,CAAC;IAExG5C,MAAM,CAACyC,iBAAiB,CAAC,CAACI,iBAAiB,CAAC,CAAC;IAC7C,MAAM5C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMM,oBAAoB,GAAGP,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAkB,CAAC,CAAC;IACpF3C,MAAM,CAAC+C,oBAAoB,CAAC,CAACF,iBAAiB,CAAC,CAAC;IAChD7C,MAAM,CAAC+C,oBAAoB,CAAC,CAACE,eAAe,CAAC,eAAe,CAAC;EACjE;AACJ,CAAC;AAED,OAAO,MAAMC,8BAA8B,GAAG;EAC1CC,IAAI,EAAE;IACFzB,MAAM,EAAEhB,qBAAqB;IAC7B0C,oBAAoB,EAAE;MAClBC,yBAAyB,EAAE,IAAI;MAC/BC,qBAAqB,EAAE,KAAK;MAC5B3B,gBAAgB,EAAE,IAAI;MACtBC,OAAO,EAAExB,EAAE,CAAC,CAAC;MACbyB,SAAS,EAAEzB,EAAE,CAAC;IAClB;EACJ,CAAC;EACDkC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IACpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAC,CAAC;IAExG5C,MAAM,CAACyC,iBAAiB,CAAC,CAACI,iBAAiB,CAAC,CAAC;IAC7C,MAAM5C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMc,OAAO,GAAGf,MAAM,CAACgB,YAAY,CAAC,QAAQ,CAAC;IAC7CxD,MAAM,CAACuD,OAAO,CAAC,CAACE,YAAY,CAAC,CAAC,CAAC;IAC/BF,OAAO,CAACG,OAAO,CAACC,MAAM,IAAI;MACtB3D,MAAM,CAAC2D,MAAM,CAAC,CAACC,GAAG,CAACX,eAAe,CAAC,UAAU,CAAC;IAClD,CAAC,CAAC;EACN;AACJ,CAAC;AAED,OAAO,MAAMY,uBAAuB,GAAG;EACnCvB,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAMrC,OAAO,CACT,YAAY;MACR,MAAM4D,qBAAqB,GAAG,MAAMtB,MAAM,CAACE,UAAU,CAAC,UAAU,CAAC;MAEjE1C,MAAM,CAAC8D,qBAAqB,CAAC,CAACjB,iBAAiB,CAAC,CAAC;MACjD,MAAM5C,SAAS,CAAC6C,KAAK,CAACgB,qBAAqB,CAAC;MAE5C,MAAMC,WAAW,GAAGvB,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;QAAEL,IAAI,EAAE;MAAc,CAAC,CAAC;MACvE3C,MAAM,CAAC+D,WAAW,CAAC,CAAClB,iBAAiB,CAAC,CAAC;MACvC,MAAMmB,YAAY,GAAGxB,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;QAAEL,IAAI,EAAE;MAAmB,CAAC,CAAC;MAC7E3C,MAAM,CAACgE,YAAY,CAAC,CAACnB,iBAAiB,CAAC,CAAC;MACxC,MAAMoB,WAAW,GAAGzB,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;QAAEL,IAAI,EAAE;MAAkB,CAAC,CAAC;MAC3E3C,MAAM,CAACiE,WAAW,CAAC,CAACpB,iBAAiB,CAAC,CAAC;MAEvC,MAAM5C,SAAS,CAAC6C,KAAK,CAACiB,WAAW,CAAC;MAElC,MAAMG,SAAS,GAAG,MAAM1B,MAAM,CAAC2B,aAAa,CAAC,SAAS,EAAE;QAAEC,KAAK,EAAE;MAAE,CAAC,CAAC;MACrEpE,MAAM,CAACkE,SAAS,CAAC,CAACT,YAAY,CAAC,CAAC,CAAC;MACjCzD,MAAM,CAACkE,SAAS,CAAC,CAAC,CAAC,CAACG,WAAW,CAAC,CAACC,OAAO,CAAC,aAAa,CAAC;IAC3D,CAAC,EACD;MAAE1B,OAAO,EAAE;IAAK,CACpB,CAAC;EACL;AACJ,CAAC;AAED,MAAM2B,mBAAmB,GAAG,CACxBzE,IAAI,CAAC0E,GAAG,CAACtD,eAAe,CAACuD,GAAG,EAAE,MAAM;EAChC,OAAO1E,YAAY,CAAC2E,IAAI,CAACxD,eAAe,CAACyD,QAAQ,CAAC;AACtD,CAAC,CAAC,EACF7E,IAAI,CAAC0E,GAAG,CAAC1D,eAAe,CAAC2D,GAAG,EAAE,MAAM;EAChC,OAAO1E,YAAY,CAAC2E,IAAI,CAAC5D,eAAe,CAAC6D,QAAQ,CAAC;AACtD,CAAC,CAAC,EACF7E,IAAI,CAAC0E,GAAG,CAACzD,8BAA8B,CAAC0D,GAAG,EAAE,MAAM;EAC/C,OAAO1E,YAAY,CAAC2E,IAAI,CAAC3D,8BAA8B,CAAC4D,QAAQ,CAAC;AACrE,CAAC,CAAC,EACF7E,IAAI,CAAC0E,GAAG,CAACvD,qBAAqB,CAACwD,GAAG,EAAE,MAAM;EACtC,OAAO1E,YAAY,CAAC2E,IAAI,CAACzD,qBAAqB,CAAC0D,QAAQ,CAAC;AAC5D,CAAC,CAAC,EACF7E,IAAI,CAAC0E,GAAG,CAACxD,2BAA2B,CAACyD,GAAG,EAAE,MAAM;EAC5C,OAAO1E,YAAY,CAAC2E,IAAI,CAAC1D,2BAA2B,CAAC2D,QAAQ,CAAC;AAClE,CAAC,CAAC,EACF7E,IAAI,CAAC0E,GAAG,CAAC7D,0BAA0B,CAAC8D,GAAG,EAAE,MAAM;EAC3C,OAAO1E,YAAY,CAAC2E,IAAI,CAAC/D,0BAA0B,CAACgE,QAAQ,CAAC;AACjE,CAAC,CAAC,EACF7E,IAAI,CAAC0E,GAAG,CAAC5D,+BAA+B,CAAC6D,GAAG,EAAE,MAAM;EAChD,OAAO1E,YAAY,CAAC2E,IAAI,CAAC9D,+BAA+B,CAAC+D,QAAQ,CAAC;AACtE,CAAC,CAAC,CACL;AAED,OAAO,MAAMC,yBAAmE,GAAG;EAC/EtC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,CAAC;IACrF3C,MAAM,CAACyC,iBAAiB,CAAC,CAACI,iBAAiB,CAAC,CAAC;IAC7C,MAAM5C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMM,oBAAoB,GAAGP,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAa,CAAC,CAAC;IAC/E3C,MAAM,CAAC+C,oBAAoB,CAAC,CAACF,iBAAiB,CAAC,CAAC;IAChD,MAAM5C,SAAS,CAAC6C,KAAK,CAACC,oBAAoB,CAAC;IAE3C,MAAM8B,cAAc,GAAG,MAAMrC,MAAM,CAACE,UAAU,CAAC,SAAS,EAAE;MAAEC,IAAI,EAAE;IAAa,CAAC,CAAC;IACjF3C,MAAM,CAAC6E,cAAc,CAAC,CAAChC,iBAAiB,CAAC,CAAC;EAC9C;AACJ,CAAC;AAED,OAAO,MAAMiC,gDAA0F,GAAG;EACtG3B,IAAI,EAAE;IACFzB,MAAM,EAAEhB,qBAAqB;IAC7B0C,oBAAoB,EAAEtB;EAC1B,CAAC;EACDQ,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,CAAC;IACrF3C,MAAM,CAACyC,iBAAiB,CAAC,CAACI,iBAAiB,CAAC,CAAC;IAC7C,MAAM5C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMM,oBAAoB,GAAGP,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAa,CAAC,CAAC;IAC/E3C,MAAM,CAAC+C,oBAAoB,CAAC,CAACF,iBAAiB,CAAC,CAAC;IAChD,MAAM5C,SAAS,CAAC6C,KAAK,CAACC,oBAAoB,CAAC;IAE3C,MAAM9C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IACxC,MAAMsC,gBAAgB,GAAGvC,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IAC5E3C,MAAM,CAAC+E,gBAAgB,CAAC,CAAClC,iBAAiB,CAAC,CAAC;IAC5C,MAAM5C,SAAS,CAAC6C,KAAK,CAACiC,gBAAgB,CAAC;IAEvC,MAAMC,mBAAmB,GAAG,MAAM3E,MAAM,CAACqC,UAAU,CAC/C,SAAS,EACT;MAAE0B,KAAK,EAAE,CAAC;MAAEzB,IAAI,EAAE;IAAkB,CAAC,EACrC;MAAEC,OAAO,EAAE;IAAK,CACpB,CAAC;IACD5C,MAAM,CAACgF,mBAAmB,CAAC,CAACnC,iBAAiB,CAAC,CAAC;EACnD;AACJ,CAAC;AAED,OAAO,MAAMoC,0BAAoE,GAAG;EAChF9B,IAAI,EAAE;IACFzB,MAAM,EAAEhB,qBAAqB;IAC7B0C,oBAAoB,EAAA8B,aAAA,KACbpD,2BAA2B,CACjC;IACDqD,QAAQ,EAAAD,aAAA,CAAAA,aAAA,KACDnD,YAAY;MACf,gCAAgC,EAAE,IAAI;MACtC,+BAA+B,EAAE;IAAK;EAE9C;AACJ,CAAC;AAED,OAAO,MAAMqD,2BAAqE,GAAG;EACjFjC,IAAI,EAAE;IACFzB,MAAM,EAAEhB,qBAAqB;IAC7B0C,oBAAoB,EAAA8B,aAAA,CAAAA,aAAA,KACbpD,2BAA2B;MAC9BuB,yBAAyB,EAAE,KAAK;MAChCC,qBAAqB,EAAE;IAAK;EAEpC;AACJ,CAAC;AAED,OAAO,MAAM+B,yCAAmF,GAAG;EAC/FlC,IAAI,EAAE;IACFzB,MAAM,EAAEhB,qBAAqB;IAC7B0C,oBAAoB,EAAEtB;EAC1B,CAAC;EACDQ,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,CAAC;IACrF,MAAM1C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMM,oBAAoB,GAAGP,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IAChF,MAAM1C,SAAS,CAAC6C,KAAK,CAACC,oBAAoB,CAAC;EAC/C;AACJ,CAAC;AAED,OAAO,MAAMuC,wCAAkF,GAAG;EAC9FnC,IAAI,EAAE;IACFzB,MAAM,EAAEhB,qBAAqB;IAC7B0C,oBAAoB,EAAEtB;EAC1B,CAAC;EACDQ,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAC,CAAC;IACxG,MAAM3C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMM,oBAAoB,GAAGP,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAkB,CAAC,CAAC;IACpF,MAAM1C,SAAS,CAAC6C,KAAK,CAACC,oBAAoB,CAAC;EAC/C;AACJ,CAAC;AAED,OAAO,MAAMwC,mCAA6E,GAAG;EACzFjD,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;;IAEpC;IACA,MAAMiD,UAAU,GAAG,MAAMhD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAmB,CAAC,CAAC;IAClF3C,MAAM,CAACwF,UAAU,CAAC,CAAC3C,iBAAiB,CAAC,CAAC;IAEtC,IAAIqB,SAAS,GAAG,MAAM1B,MAAM,CAAC2B,aAAa,CAAC,SAAS,EAAE;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC;IACnEpE,MAAM,CAACkE,SAAS,CAAC,CAACT,YAAY,CAAC,CAAC,CAAC;IACjCzD,MAAM,CAACkE,SAAS,CAACuB,GAAG,CAACC,OAAO,IAAIA,OAAO,CAACrB,WAAW,CAAC,CAAC,CAACC,OAAO,CACzDtE,MAAM,CAAC2F,eAAe,CAAC,CAAC,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CACjF,CAAC;;IAED;IACA,MAAM1F,SAAS,CAAC6C,KAAK,CAAC0C,UAAU,CAAC;IAEjCtB,SAAS,GAAG,MAAM1B,MAAM,CAAC2B,aAAa,CAAC,SAAS,EAAE;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC;IAC/DpE,MAAM,CAACkE,SAAS,CAAC,CAACT,YAAY,CAAC,CAAC,CAAC;IACjCzD,MAAM,CAACkE,SAAS,CAACuB,GAAG,CAACC,OAAO,IAAIA,OAAO,CAACrB,WAAW,CAAC,CAAC,CAACC,OAAO,CAACtE,MAAM,CAAC2F,eAAe,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;;IAEtG;IACA,MAAMC,YAAY,GAAG,MAAMpD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;IAC1E,MAAM1C,SAAS,CAAC6C,KAAK,CAAC8C,YAAY,CAAC;IAEnC1B,SAAS,GAAG,MAAM1B,MAAM,CAAC2B,aAAa,CAAC,SAAS,EAAE;MAAEC,KAAK,EAAE;IAAE,CAAC,CAAC;IAC/DpE,MAAM,CAACkE,SAAS,CAAC,CAACT,YAAY,CAAC,CAAC,CAAC;IACjCzD,MAAM,CAACkE,SAAS,CAACuB,GAAG,CAACC,OAAO,IAAIA,OAAO,CAACrB,WAAW,CAAC,CAAC,CAACC,OAAO,CACzDtE,MAAM,CAAC2F,eAAe,CAAC,CAAC,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CACjF,CAAC;EACL;AACJ,CAAC;AAED,OAAO,MAAME,mDAA6F,GAAG;EACzGvD,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,CAAC;IACrF3C,MAAM,CAACyC,iBAAiB,CAAC,CAACI,iBAAiB,CAAC,CAAC;IAC7C,MAAM5C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMM,oBAAoB,GAAGP,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAa,CAAC,CAAC;IAC/E3C,MAAM,CAAC+C,oBAAoB,CAAC,CAACF,iBAAiB,CAAC,CAAC;IAChD,MAAM5C,SAAS,CAAC6C,KAAK,CAACC,oBAAoB,CAAC;IAE3C,MAAM+C,YAAY,GAAG,MAAMtD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;IAC1E3C,MAAM,CAAC8F,YAAY,CAAC,CAACC,YAAY,CAAC,CAAC;EACvC;AACJ,CAAC;AAED,OAAO,MAAMC,wDAAkG,GAAG;EAC9G1D,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAM0D,0BAA0B,GAAG,MAAMzD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAmB,CAAC,CAAC;IAClG3C,MAAM,CAACiG,0BAA0B,CAAC,CAACpD,iBAAiB,CAAC,CAAC;IACtD,MAAM5C,SAAS,CAAC6C,KAAK,CAACmD,0BAA0B,CAAC;IAEjD,MAAMH,YAAY,GAAG,MAAMtD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;IAC1E3C,MAAM,CAAC8F,YAAY,CAAC,CAACI,WAAW,CAAC,CAAC;EACtC;AACJ,CAAC;AAED,OAAO,MAAMC,iDAA2F,GAAG;EACvGhD,IAAI,EAAE;IACFzB,MAAM,EAAEhB,qBAAqB;IAC7B0C,oBAAoB,EAAEtB;EAC1B,CAAC;EACDQ,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,CAAC;IAErF,MAAM1C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAM2D,sBAAsB,GAAG5D,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IAClF3C,MAAM,CAACoG,sBAAsB,CAAC,CAACxC,GAAG,CAACX,eAAe,CAAC,eAAe,CAAC;IACnE,MAAMhD,SAAS,CAAC6C,KAAK,CAACsD,sBAAsB,CAAC;;IAE7C;IACA,MAAMnG,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IACxC,MAAM4D,8BAA8B,GAAG7D,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IAC1F3C,MAAM,CAACqG,8BAA8B,CAAC,CAACpD,eAAe,CAAC,eAAe,CAAC;;IAEvE;IACA,MAAM2C,YAAY,GAAG,MAAMpD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;IAC1E,MAAM1C,SAAS,CAAC6C,KAAK,CAAC8C,YAAY,CAAC;IACnC,MAAM3F,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IACxC,MAAM6D,6BAA6B,GAAG9D,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IACzF3C,MAAM,CAACsG,6BAA6B,CAAC,CAAC1C,GAAG,CAACX,eAAe,CAAC,eAAe,CAAC;EAC9E;AACJ,CAAC;AAED,OAAO,MAAMsD,8BAAwE,GAAG;EACpFpD,IAAI,EAAE;IACFzB,MAAM,EAAE,cAAc;IACtB0B,oBAAoB,EAAEtB;EAC1B,CAAC;EACD0E,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAE,CACN,GAAGnC,mBAAmB,EACtBzE,IAAI,CAAC0E,GAAG,CAAC,yBAAyB,EAAE,MAAM;QACtC,OAAOzE,YAAY,CAAC2E,IAAI,CAAC5D,eAAe,CAAC6D,QAAQ,CAAC;MACtD,CAAC,CAAC,EACF7E,IAAI,CAAC0E,GAAG,CAAC,kCAAkC,EAAE,MAAM;QAC/C,OAAOzE,YAAY,CAAC2E,IAAI,CAACzD,qBAAqB,CAAC0D,QAAQ,CAAC;MAC5D,CAAC,CAAC;IAEV;EACJ,CAAC;EACDrC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IACpC;IACA,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,CAAC;IAErF,MAAM1C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAM2D,sBAAsB,GAAG5D,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IAElF,MAAM1C,SAAS,CAAC6C,KAAK,CAACsD,sBAAsB,CAAC;IAE7C,MAAMO,KAAK,GAAG,MAAMnE,MAAM,CAACE,UAAU,CAAC,SAAS,CAAC;IAEhD,MAAMzC,SAAS,CAAC2G,IAAI,CAACD,KAAK,EAAE,oBAAoB,CAAC;;IAEjD;IACA,MAAM1G,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMoE,uBAAuB,GAAGrE,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IACnF,MAAMmE,uBAAuB,GAAGtE,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAa,CAAC,CAAC;IAElF3C,MAAM,CAAC6G,uBAAuB,CAAC,CAAC5D,eAAe,CAAC,eAAe,CAAC;IAChEjD,MAAM,CAAC8G,uBAAuB,CAAC,CAAClD,GAAG,CAACX,eAAe,CAAC,eAAe,CAAC;IAEpE,MAAMhD,SAAS,CAAC6C,KAAK,CAACgE,uBAAuB,CAAC;IAE9C,MAAM9B,mBAAmB,GAAG,MAAM3E,MAAM,CAACqC,UAAU,CAC/C,SAAS,EACT;MAAE0B,KAAK,EAAE,CAAC;MAAEzB,IAAI,EAAE;IAAkB,CAAC,EACrC;MAAEC,OAAO,EAAE;IAAK,CACpB,CAAC;IACD5C,MAAM,CAACgF,mBAAmB,CAAC,CAACnC,iBAAiB,CAAC,CAAC;IAE/C,MAAMkE,gCAAgC,GAAG,MAAM1G,MAAM,CAACqC,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAkB,CAAC,CAAC;IAEvG,MAAM1C,SAAS,CAAC6C,KAAK,CAACiE,gCAAgC,CAAC;IAEvD,MAAMC,iBAAiB,GAAG,MAAMxE,MAAM,CAACE,UAAU,CAAC,SAAS,EAAE;MAAEC,IAAI,EAAE;IAAa,CAAC,CAAC;IACpF3C,MAAM,CAACgH,iBAAiB,CAAC,CAACnE,iBAAiB,CAAC,CAAC;;IAE7C;IACA,MAAM5C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMwE,kCAAkC,GAAGzE,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAc,CAAC,CAAC;IAC9F,MAAMuE,kCAAkC,GAAG1E,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAa,CAAC,CAAC;IAE7F3C,MAAM,CAACiH,kCAAkC,CAAC,CAACrD,GAAG,CAACX,eAAe,CAAC,eAAe,CAAC;IAC/EjD,MAAM,CAACkH,kCAAkC,CAAC,CAACjE,eAAe,CAAC,eAAe,CAAC;EAC/E;AACJ,CAAC;AAED,OAAO,MAAMkE,+BAAyE,GAAG;EACrFhE,IAAI,EAAE;IACFgC,QAAQ,EAAAD,aAAA,CAAAA,aAAA,KACDnD,YAAY;MACf,gCAAgC,EAAE,IAAI;MACtC,+BAA+B,EAAE;IAAK;EAE9C,CAAC;EACDO,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAM6E,iBAAiB,GAAG,MAAM5E,MAAM,CAAC2B,aAAa,CAAC,QAAQ,EAAE;MAAExB,IAAI,EAAE;IAA0B,CAAC,CAAC;IACnG3C,MAAM,CAACoH,iBAAiB,CAAC,CAAC3D,YAAY,CAAC,CAAC,CAAC;IAEzC,MAAM+B,UAAU,GAAG,MAAMhD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAmB,CAAC,CAAC;IAClF,MAAM1C,SAAS,CAAC6C,KAAK,CAAC0C,UAAU,CAAC;IAEjC,MAAM6B,cAAc,GAAG,MAAM7E,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAW,CAAC,CAAC;IAC9E3C,MAAM,CAACqH,cAAc,CAAC,CAACxE,iBAAiB,CAAC,CAAC;EAC9C;AACJ,CAAC;AAED,OAAO,MAAMyE,mDAA6F,GAAG;EACzGnE,IAAI,EAAE;IACFgC,QAAQ,EAAAD,aAAA,CAAAA,aAAA,KACDnD,YAAY;MACf,gCAAgC,EAAE,IAAI;MACtC,wCAAwC,EAAE;IAAI;EAEtD,CAAC;EACDO,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IACpC;IACA,MAAMiD,UAAU,GAAG,MAAMhD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAmB,CAAC,CAAC;IAClF,MAAM1C,SAAS,CAAC6C,KAAK,CAAC0C,UAAU,CAAC;;IAEjC;IACA,MAAM+B,WAAW,GAAG,MAAM/E,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAW,CAAC,CAAC;IAC3E3C,MAAM,CAACuH,WAAW,CAAC,CAACC,WAAW,CAAC,CAAC;IAEjC,MAAMvH,SAAS,CAACwH,KAAK,CAACF,WAAW,CAAC;IAClC,MAAMG,cAAc,GAAG,MAAMlF,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAqB,CAAC,CAAC;IACxF3C,MAAM,CAAC0H,cAAc,CAAC,CAACF,WAAW,CAAC,CAAC;EACxC;AACJ,CAAC;AAED,OAAO,MAAMG,+BAAyE,GAAG;EACrFxE,IAAI,EAAE;IACFgC,QAAQ,EAAAD,aAAA,CAAAA,aAAA,KACDnD,YAAY;MACf,gCAAgC,EAAE,IAAI;MACtC,+BAA+B,EAAE;IAAK;EAE9C,CAAC;EACDyE,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAE,CACN,GAAGnC,mBAAmB,EACtBzE,IAAI,CAAC8H,IAAI,CAACpH,2BAA2B,CAACiE,GAAG,EAAE,MAAM;QAC7C,OAAO,IAAI1E,YAAY,CAAC,WAAW,EAAE;UAAE8H,MAAM,EAAE;QAAI,CAAC,CAAC;MACzD,CAAC,CAAC;IAEV,CAAC;IACDC,IAAI,EAAE;MACFC,gCAAgC,EAAE;IACtC;EACJ,CAAC;EACDzF,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAM8E,cAAc,GAAG,MAAM7E,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAmC,CAAC,CAAC;IACtG,MAAM1C,SAAS,CAAC6C,KAAK,CAACuE,cAAc,CAAC;IAErC,MAAMW,UAAU,GAAG,MAAMxF,MAAM,CAACyF,UAAU,CAAC,oCAAoC,CAAC;IAChFjI,MAAM,CAACgI,UAAU,CAAC,CAACnF,iBAAiB,CAAC,CAAC;EAC1C;AACJ,CAAC;AAED,OAAO,MAAMqF,6BAAuE,GAAG;EACnF/E,IAAI,EAAE;IACFgC,QAAQ,EAAAD,aAAA,CAAAA,aAAA,KACDnD,YAAY;MACf,gCAAgC,EAAE,IAAI;MACtC,+BAA+B,EAAE;IAAK;EAE9C,CAAC;EACDyE,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAE,CACN,GAAGnC,mBAAmB,EACtBzE,IAAI,CAAC8H,IAAI,CAACpH,2BAA2B,CAACiE,GAAG,EAAE,MACvC1E,YAAY,CAAC2E,IAAI,CAAClE,2BAA2B,CAACmE,QAAQ,CAC1D,CAAC;IAET;EACJ,CAAC;EACDrC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAM8E,cAAc,GAAG,MAAM7E,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAmC,CAAC,CAAC;IACtG1C,SAAS,CAAC6C,KAAK,CAACuE,cAAc,CAAC;IAE/B,MAAMc,UAAU,GAAG,MAAM3F,MAAM,CAACyF,UAAU,CAAC,eAAe,CAAC;IAC3DjI,MAAM,CAACmI,UAAU,CAAC,CAACtF,iBAAiB,CAAC,CAAC;IAEtC,MAAMuF,aAAa,GAAG,MAAM5F,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAoB,CAAC,CAAC;IACtF3C,MAAM,CAACoI,aAAa,CAAC,CAACvF,iBAAiB,CAAC,CAAC;IAEzC,MAAM5C,SAAS,CAAC6C,KAAK,CAACsF,aAAa,CAAC;IAEpC,MAAMzB,KAAK,GAAGnE,MAAM,CAAC6F,cAAc,CAAC,cAAc,CAAC;IACnDrI,MAAM,CAAC2G,KAAK,CAAC,CAAC2B,WAAW,CAAC,eAAe,CAAC;EAC9C;AACJ,CAAC;AAED,OAAO,MAAMC,yCAAmF,GAAG;EAC/FpF,IAAI,EAAE;IACFgC,QAAQ,EAAAD,aAAA,CAAAA,aAAA,KACDnD,YAAY;MACf,gCAAgC,EAAE,IAAI;MACtC,+BAA+B,EAAE;IAAK;EAE9C,CAAC;EACDyE,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAE,CACN,GAAGnC,mBAAmB,EACtBzE,IAAI,CAAC8H,IAAI,CAACpH,2BAA2B,CAACiE,GAAG,EAAE,MAAM1E,YAAY,CAAC2E,IAAI,CAACnE,wBAAwB,CAACoE,QAAQ,CAAC,CAAC;IAE9G;EACJ,CAAC;EACDrC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAME,iBAAiB,GAAG,MAAMD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAe,CAAC,CAAC;IACrF3C,MAAM,CAACyC,iBAAiB,CAAC,CAACI,iBAAiB,CAAC,CAAC;IAC7C,MAAM5C,SAAS,CAAC6C,KAAK,CAACL,iBAAiB,CAAC;IAExC,MAAMM,oBAAoB,GAAGP,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAgB,CAAC,CAAC;IAClF3C,MAAM,CAAC+C,oBAAoB,CAAC,CAACF,iBAAiB,CAAC,CAAC;IAChD,MAAM5C,SAAS,CAAC6C,KAAK,CAACC,oBAAoB,CAAC;IAE3C,MAAM8B,cAAc,GAAG,MAAMrC,MAAM,CAACE,UAAU,CAAC,SAAS,EAAE;MAAEC,IAAI,EAAE;IAAgB,CAAC,CAAC;IACpF3C,MAAM,CAAC6E,cAAc,CAAC,CAAChC,iBAAiB,CAAC,CAAC;IAE1C,MAAMwE,cAAc,GAAG,MAAM7E,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAW,CAAC,CAAC;IAC9E1C,SAAS,CAAC6C,KAAK,CAACuE,cAAc,CAAC;IAE/B,MAAMc,UAAU,GAAG,MAAM3F,MAAM,CAACyF,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;MAAErF,OAAO,EAAE;IAAK,CAAC,CAAC;IAC7E5C,MAAM,CAACmI,UAAU,CAAC,CAACtF,iBAAiB,CAAC,CAAC;EAC1C;AACJ,CAAC;AAED,OAAO,MAAM2F,iBAA2D,GAAG;EACvEhC,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAE,CACN,GAAGnC,mBAAmB,EACtBzE,IAAI,CAAC2I,MAAM,CAAC5H,wCAAwC,CAAC4D,GAAG,EAAE,MAAM;QAC5D,OAAO1E,YAAY,CAAC2E,IAAI,CAAC7D,wCAAwC,CAAC8D,QAAQ,EAAE;UAAEkD,MAAM,EAAE;QAAI,CAAC,CAAC;MAChG,CAAC,CAAC;IAEV;EACJ,CAAC;EACDvF,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAMiD,UAAU,GAAG,MAAMhD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAmB,CAAC,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAC,CAAC;IACrG,MAAM3C,SAAS,CAAC6C,KAAK,CAAC0C,UAAU,CAAC;IAEjC,MAAMM,YAAY,GAAG,MAAMtD,MAAM,CAACE,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;IAC1E,MAAM1C,SAAS,CAAC6C,KAAK,CAACgD,YAAY,CAAC;IAEnC,MAAM4C,YAAY,GAAG,MAAMrI,MAAM,CAACqC,UAAU,CAAC,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAY,CAAC,EAAE;MAAEC,OAAO,EAAE;IAAK,CAAC,CAAC;IAEhG,MAAM+F,YAAY,GAAGxI,MAAM,CAACuI,YAAY,CAAC,CAAC1F,SAAS,CAAC,SAAS,CAAC;IAC9D,MAAM/C,SAAS,CAAC2G,IAAI,CAAC+B,YAAY,EAAE,aAAa,CAAC;IAEjD,MAAMC,aAAa,GAAGzI,MAAM,CAACuI,YAAY,CAAC,CAAC1F,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAU,CAAC,CAAC;IACnF,MAAM1C,SAAS,CAAC6C,KAAK,CAAC8F,aAAa,CAAC;IAEpC,MAAMZ,UAAU,GAAG,MAAMxF,MAAM,CAACyF,UAAU,CACtC,uFACJ,CAAC;IACDjI,MAAM,CAACgI,UAAU,CAAC,CAACnF,iBAAiB,CAAC,CAAC;EAC1C;AACJ,CAAC;AAED,OAAO,MAAMgG,sBAAgE,GAAG;EAC5E1F,IAAI,EAAE;IACFgC,QAAQ,EAAAD,aAAA,CAAAA,aAAA,KACDnD,YAAY;MACf,qCAAqC,EAAE;IAAI;EAEnD,CAAC;EACDyE,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAE,CACN,GAAGrF,oBAAoB,EACvBvB,IAAI,CAAC0E,GAAG,CAACrD,2CAA2C,CAACsD,GAAG,EAAE,MAAM;QAC5D,OAAO1E,YAAY,CAAC2E,IAAI,CAACvD,2CAA2C,CAACwD,QAAQ,CAAC;MAClF,CAAC,CAAC;IAEV;EACJ,CAAC;EACDrC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAMrC,OAAO,CAAC,YAAY;MACtB,MAAM4I,sBAAsB,GAAGtG,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;QAAEL,IAAI,EAAE;MAAS,CAAC,CAAC;MAE7E3C,MAAM,CAAC8I,sBAAsB,CAAC,CAACjG,iBAAiB,CAAC,CAAC;MAElD,MAAM5C,SAAS,CAAC6C,KAAK,CAACgG,sBAAsB,CAAC;MAE7C,MAAMC,gBAAgB,GAAG1I,MAAM,CAAC2C,SAAS,CAAC,QAAQ,CAAC;MAEnDhD,MAAM,CAAC+I,gBAAgB,CAAC,CAAClG,iBAAiB,CAAC,CAAC;IAChD,CAAC,CAAC;EACN;AACJ,CAAC;AAED,OAAO,MAAMmG,uBAAiE,GAAG;EAC7ExC,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAE,CACN,GAAGrF,oBAAoB,EACvBvB,IAAI,CAAC0E,GAAG,CAACpD,4CAA4C,CAACqD,GAAG,EAAE,MAAM;QAC7D,OAAO1E,YAAY,CAAC2E,IAAI,CAACtD,4CAA4C,CAACuD,QAAQ,CAAC;MACnF,CAAC,CAAC;IAEV;EACJ,CAAC;EACDrC,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAMrC,OAAO,CAAC,YAAY;MACtB,MAAM+I,uBAAuB,GAAGzG,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;QAAEL,IAAI,EAAE;MAAO,CAAC,CAAC;MAE5E3C,MAAM,CAACiJ,uBAAuB,CAAC,CAACpG,iBAAiB,CAAC,CAAC;MAEnD,MAAM5C,SAAS,CAAC6C,KAAK,CAACmG,uBAAuB,CAAC;MAE9C,MAAMC,iBAAiB,GAAG7I,MAAM,CAAC2C,SAAS,CAAC,QAAQ,CAAC;MAEpDhD,MAAM,CAACkJ,iBAAiB,CAAC,CAACrG,iBAAiB,CAAC,CAAC;IACjD,CAAC,CAAC;EACN;AACJ,CAAC;AAED,OAAO,MAAMsG,sBAAgE,GAAAjE,aAAA,CAAAA,aAAA,KACtE2D,sBAAsB;EACzBvG,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAMiD,UAAU,GAAG,MAAMtF,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAmB,CAAC,CAAC,CAAC;IAEhG,MAAM1C,SAAS,CAAC6C,KAAK,CAAC0C,UAAU,CAAC;IAEjC,MAAM4D,eAAe,GAAG5G,MAAM,CAACQ,SAAS,CAAC,UAAU,CAAC;IACpD,MAAMqG,UAAU,GAAG7G,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAS,CAAC,CAAC;IAEjE3C,MAAM,CAACoJ,eAAe,CAAC,CAACvG,iBAAiB,CAAC,CAAC;IAC3C7C,MAAM,CAACqJ,UAAU,CAAC,CAACxG,iBAAiB,CAAC,CAAC;IAEtC,MAAM5C,SAAS,CAAC6C,KAAK,CAACsG,eAAe,CAAC;IAEtC,MAAME,OAAO,GAAG,MAAMpJ,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,SAAS,CAAC,CAAC;IAChEhD,MAAM,CAACsJ,OAAO,CAAC,CAACzG,iBAAiB,CAAC,CAAC;IAEnC,IAAI0G,aAAa,GAAG,MAAMrJ,OAAO,CAAC,MAAMsC,MAAM,CAACgB,YAAY,CAAC,QAAQ,EAAE;MAAEb,IAAI,EAAE;IAAgB,CAAC,CAAC,CAAC;IAEjG,MAAM1C,SAAS,CAAC6C,KAAK,CAACyG,aAAa,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAMC,cAAc,GAAG,MAAMtJ,OAAO,CAAC,MAAMsC,MAAM,CAACiH,SAAS,CAAC,UAAU,CAAC,CAAC;IACxEzJ,MAAM,CAACwJ,cAAc,CAAC,CAAC3G,iBAAiB,CAAC,CAAC;IAE1C0G,aAAa,GAAG,MAAMrJ,OAAO,CAAC,MAAMG,MAAM,CAACmD,YAAY,CAAC,QAAQ,EAAE;MAAEb,IAAI,EAAE;IAAgB,CAAC,CAAC,CAAC;IAE7F,MAAM1C,SAAS,CAAC6C,KAAK,CAACyG,aAAa,CAAC,CAAC,CAAC,CAAC;IAEvC,MAAMG,aAAa,GAAG,MAAMxJ,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,UAAU,EAAE;MAAEL,IAAI,EAAE;IAAU,CAAC,CAAC,CAAC;IAE5F3C,MAAM,CAAC0J,aAAa,CAAC,CAAC7G,iBAAiB,CAAC,CAAC;IACzC7C,MAAM,CAAC0J,aAAa,CAAC,CAACzG,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC;IAE/D,MAAMhD,SAAS,CAAC6C,KAAK,CAAC4G,aAAa,CAAC;IAEpC,MAAMC,gBAAgB,GAAG,MAAMzJ,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,UAAU,EAAE;MAAEL,IAAI,EAAE;IAAU,CAAC,CAAC,CAAC;IAE/F3C,MAAM,CAAC0J,aAAa,CAAC,CAAC7G,iBAAiB,CAAC,CAAC;IACzC7C,MAAM,CAAC0J,aAAa,CAAC,CAACzG,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC;IAC9DjD,MAAM,CAAC2J,gBAAgB,CAAC,CAAC9G,iBAAiB,CAAC,CAAC;EAChD;AAAC,EACJ;AAED,OAAO,MAAM+G,uBAAiE,GAAA1E,aAAA,CAAAA,aAAA,KACvE8D,uBAAuB;EAC1B1G,IAAI,EAAE,MAAAA,CAAO;IAAEC;EAAc,CAAC,KAAK;IAC/B,MAAMC,MAAM,GAAGrC,MAAM,CAACoC,aAAa,CAAC;IAEpC,MAAMiD,UAAU,GAAG,MAAMtF,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAmB,CAAC,CAAC,CAAC;IAEhG,MAAM1C,SAAS,CAAC6C,KAAK,CAAC0C,UAAU,CAAC;IAEjC,MAAMqE,gBAAgB,GAAGrH,MAAM,CAACQ,SAAS,CAAC,UAAU,CAAC;IACrD,MAAM8G,aAAa,GAAGtH,MAAM,CAACQ,SAAS,CAAC,UAAU,EAAE;MAAEL,IAAI,EAAE;IAAO,CAAC,CAAC;IAEpE3C,MAAM,CAAC6J,gBAAgB,CAAC,CAAChH,iBAAiB,CAAC,CAAC;IAC5C7C,MAAM,CAAC8J,aAAa,CAAC,CAACjH,iBAAiB,CAAC,CAAC;IAEzC,MAAM5C,SAAS,CAAC6C,KAAK,CAAC+G,gBAAgB,CAAC;IAEvC,MAAMP,OAAO,GAAG,MAAMpJ,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,SAAS,CAAC,CAAC;IAChEhD,MAAM,CAACsJ,OAAO,CAAC,CAACzG,iBAAiB,CAAC,CAAC;IAEnC,MAAMkH,UAAU,GAAG,MAAM7J,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAO,CAAC,CAAC,CAAC;IACpF,MAAMqH,SAAS,GAAG,MAAM9J,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAM,CAAC,CAAC,CAAC;IAClF,MAAMsH,WAAW,GAAG,MAAM/J,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,QAAQ,EAAE;MAAEL,IAAI,EAAE;IAAQ,CAAC,CAAC,CAAC;IAEtF3C,MAAM,CAAC+J,UAAU,CAAC,CAAClH,iBAAiB,CAAC,CAAC;IACtC7C,MAAM,CAACgK,SAAS,CAAC,CAACnH,iBAAiB,CAAC,CAAC;IACrC7C,MAAM,CAACiK,WAAW,CAAC,CAACpH,iBAAiB,CAAC,CAAC;IACvC7C,MAAM,CAAC+J,UAAU,CAAC,CAAC9G,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC;IAC3DjD,MAAM,CAACgK,SAAS,CAAC,CAAC/G,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC;IAC3DjD,MAAM,CAACiK,WAAW,CAAC,CAAChH,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC;IAE7D,MAAMhD,SAAS,CAAC6C,KAAK,CAACkH,SAAS,CAAC;IAEhC,MAAME,YAAY,GAAG,MAAMhK,OAAO,CAAC,MAAMsC,MAAM,CAACQ,SAAS,CAAC,UAAU,EAAE;MAAEL,IAAI,EAAE;IAAM,CAAC,CAAC,CAAC;IAEvF3C,MAAM,CAACkK,YAAY,CAAC,CAACrH,iBAAiB,CAAC,CAAC;IACxC7C,MAAM,CAAC8J,aAAa,CAAC,CAACjH,iBAAiB,CAAC,CAAC;IACzC7C,MAAM,CAAC+J,UAAU,CAAC,CAAClH,iBAAiB,CAAC,CAAC;IACtC7C,MAAM,CAACgK,SAAS,CAAC,CAACnH,iBAAiB,CAAC,CAAC;IACrC7C,MAAM,CAACiK,WAAW,CAAC,CAACpH,iBAAiB,CAAC,CAAC;IACvC7C,MAAM,CAAC+J,UAAU,CAAC,CAAC9G,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC;IAC3DjD,MAAM,CAACgK,SAAS,CAAC,CAAC/G,eAAe,CAAC,eAAe,EAAE,MAAM,CAAC;IAC1DjD,MAAM,CAACiK,WAAW,CAAC,CAAChH,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC;EACjE;AAAC,EACJ;AAED,MAAMkH,IAAwF,GAAG;EAC7FC,KAAK,EAAE,+EAA+E;EACtFC,SAAS,EAAE/J,cAAc;EACzB6C,IAAI,EAAE;IACF7B,KAAK;IACL8B,oBAAoB,EAAA8B,aAAA,KACbzD,mBAAmB,CACzB;IACD6I,WAAW,EAAE,IAAI;IACjBnF,QAAQ,EAAEpD,YAAY;IACtBL,MAAM,EAAEjB,kBAAkB;IAC1B8J,MAAM,EAAEvI;EACZ,CAAC;EACDwE,UAAU,EAAE;IACRC,GAAG,EAAE;MACDC,QAAQ,EAAEnC;IACd;EACJ;AACJ,CAAC;AAED,eAAe4F,IAAI","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const _excluded = ["header", "footer", "flyoutButton", "children", "scrollRefFn", "className"];
|
|
1
|
+
const _excluded = ["header", "footer", "flyoutButton", "children", "scrollRefFn", "className", "isOverlayHeaderActionEnabled"];
|
|
2
2
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
3
3
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
4
4
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
@@ -19,7 +19,8 @@ class HeaderFlyout extends React.Component {
|
|
|
19
19
|
flyoutButton,
|
|
20
20
|
children,
|
|
21
21
|
scrollRefFn,
|
|
22
|
-
className
|
|
22
|
+
className,
|
|
23
|
+
isOverlayHeaderActionEnabled = false
|
|
23
24
|
} = _this$props,
|
|
24
25
|
rest = _objectWithoutProperties(_this$props, _excluded);
|
|
25
26
|
return /*#__PURE__*/React.createElement(Flyout, _extends({
|
|
@@ -29,7 +30,9 @@ class HeaderFlyout extends React.Component {
|
|
|
29
30
|
offset: HeaderFlyout.panelOffset
|
|
30
31
|
}, rest), flyoutButton, /*#__PURE__*/React.createElement(Overlay, {
|
|
31
32
|
className: "header-flyout-overlay"
|
|
32
|
-
}, /*#__PURE__*/React.createElement(OverlayHeader,
|
|
33
|
+
}, /*#__PURE__*/React.createElement(OverlayHeader, {
|
|
34
|
+
isOverlayHeaderActionEnabled: isOverlayHeaderActionEnabled
|
|
35
|
+
}, header && /*#__PURE__*/React.createElement("h4", {
|
|
33
36
|
className: "header-flyout-title"
|
|
34
37
|
}, header)), /*#__PURE__*/React.createElement("div", {
|
|
35
38
|
className: "header-flyout-list-container"
|
|
@@ -20,6 +20,8 @@ type Props = FlyoutProps & {
|
|
|
20
20
|
header?: React.Element<any>,
|
|
21
21
|
/** Optional function to get the scrollRef in parent components */
|
|
22
22
|
scrollRefFn?: any => any,
|
|
23
|
+
/** Are OverlayHeader actions enabled */
|
|
24
|
+
isOverlayHeaderActionEnabled?: boolean,
|
|
23
25
|
};
|
|
24
26
|
|
|
25
27
|
class HeaderFlyout extends React.Component<Props> {
|
|
@@ -30,7 +32,16 @@ class HeaderFlyout extends React.Component<Props> {
|
|
|
30
32
|
};
|
|
31
33
|
|
|
32
34
|
render() {
|
|
33
|
-
const {
|
|
35
|
+
const {
|
|
36
|
+
header,
|
|
37
|
+
footer,
|
|
38
|
+
flyoutButton,
|
|
39
|
+
children,
|
|
40
|
+
scrollRefFn,
|
|
41
|
+
className,
|
|
42
|
+
isOverlayHeaderActionEnabled = false,
|
|
43
|
+
...rest
|
|
44
|
+
} = this.props;
|
|
34
45
|
|
|
35
46
|
return (
|
|
36
47
|
<Flyout
|
|
@@ -42,7 +53,9 @@ class HeaderFlyout extends React.Component<Props> {
|
|
|
42
53
|
>
|
|
43
54
|
{flyoutButton}
|
|
44
55
|
<Overlay className="header-flyout-overlay">
|
|
45
|
-
<OverlayHeader
|
|
56
|
+
<OverlayHeader isOverlayHeaderActionEnabled={isOverlayHeaderActionEnabled}>
|
|
57
|
+
{header && <h4 className="header-flyout-title">{header}</h4>}
|
|
58
|
+
</OverlayHeader>
|
|
46
59
|
<div className="header-flyout-list-container">
|
|
47
60
|
<div
|
|
48
61
|
className={classNames('flyout-list-container-body', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderFlyout.js","names":["React","classNames","Flyout","Overlay","OverlayHeader","ScrollWrapper","HeaderFlyout","Component","render","_this$props","props","header","footer","flyoutButton","children","scrollRefFn","className","rest","_objectWithoutProperties","_excluded","createElement","_extends","closeOnClick","constrainToWindow","offset","panelOffset","shadowSize","_defineProperty","position"],"sources":["../../../src/features/header-flyout/HeaderFlyout.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Flyout, Overlay, OverlayHeader } from '../../components/flyout';\nimport ScrollWrapper from '../../components/scroll-wrapper';\nimport type { FlyoutProps } from '../../components/flyout/Flyout';\n\nimport './styles/HeaderFlyout.scss';\n\ntype Props = FlyoutProps & {\n /** Components to render in the overlay */\n children: ?React.Node,\n /** Set className to the overlay wrapper */\n className?: string,\n /** Custom button to trigger for opening/closing the flyout */\n flyoutButton: React.Element<any>,\n /** What content to display in the footer */\n footer?: React.Element<any>,\n /** What content to display in the header */\n header?: React.Element<any>,\n /** Optional function to get the scrollRef in parent components */\n scrollRefFn?: any => any,\n};\n\nclass HeaderFlyout extends React.Component<Props> {\n static panelOffset = '-4px 0px';\n\n static defaultProps = {\n position: 'bottom-left',\n };\n\n render() {\n const {
|
|
1
|
+
{"version":3,"file":"HeaderFlyout.js","names":["React","classNames","Flyout","Overlay","OverlayHeader","ScrollWrapper","HeaderFlyout","Component","render","_this$props","props","header","footer","flyoutButton","children","scrollRefFn","className","isOverlayHeaderActionEnabled","rest","_objectWithoutProperties","_excluded","createElement","_extends","closeOnClick","constrainToWindow","offset","panelOffset","shadowSize","_defineProperty","position"],"sources":["../../../src/features/header-flyout/HeaderFlyout.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Flyout, Overlay, OverlayHeader } from '../../components/flyout';\nimport ScrollWrapper from '../../components/scroll-wrapper';\nimport type { FlyoutProps } from '../../components/flyout/Flyout';\n\nimport './styles/HeaderFlyout.scss';\n\ntype Props = FlyoutProps & {\n /** Components to render in the overlay */\n children: ?React.Node,\n /** Set className to the overlay wrapper */\n className?: string,\n /** Custom button to trigger for opening/closing the flyout */\n flyoutButton: React.Element<any>,\n /** What content to display in the footer */\n footer?: React.Element<any>,\n /** What content to display in the header */\n header?: React.Element<any>,\n /** Optional function to get the scrollRef in parent components */\n scrollRefFn?: any => any,\n /** Are OverlayHeader actions enabled */\n isOverlayHeaderActionEnabled?: boolean,\n};\n\nclass HeaderFlyout extends React.Component<Props> {\n static panelOffset = '-4px 0px';\n\n static defaultProps = {\n position: 'bottom-left',\n };\n\n render() {\n const {\n header,\n footer,\n flyoutButton,\n children,\n scrollRefFn,\n className,\n isOverlayHeaderActionEnabled = false,\n ...rest\n } = this.props;\n\n return (\n <Flyout\n className={classNames('header-flyout', className)}\n closeOnClick={false}\n constrainToWindow\n offset={HeaderFlyout.panelOffset}\n {...rest}\n >\n {flyoutButton}\n <Overlay className=\"header-flyout-overlay\">\n <OverlayHeader isOverlayHeaderActionEnabled={isOverlayHeaderActionEnabled}>\n {header && <h4 className=\"header-flyout-title\">{header}</h4>}\n </OverlayHeader>\n <div className=\"header-flyout-list-container\">\n <div\n className={classNames('flyout-list-container-body', {\n 'with-header': !!header,\n 'with-footer': !!footer,\n })}\n >\n {children != null && (\n <ScrollWrapper scrollRefFn={scrollRefFn} shadowSize=\"contain\">\n {children}\n </ScrollWrapper>\n )}\n </div>\n {footer && <div className=\"flyout-list-container-footer\">{footer}</div>}\n </div>\n </Overlay>\n </Flyout>\n );\n }\n}\n\nexport default HeaderFlyout;\n"],"mappings":";;;;;;;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,EAAEC,OAAO,EAAEC,aAAa,QAAQ,yBAAyB;AACxE,OAAOC,aAAa,MAAM,iCAAiC;AAG3D,OAAO,4BAA4B;AAmBnC,MAAMC,YAAY,SAASN,KAAK,CAACO,SAAS,CAAQ;EAO9CC,MAAMA,CAAA,EAAG;IACL,MAAAC,WAAA,GASI,IAAI,CAACC,KAAK;MATR;QACFC,MAAM;QACNC,MAAM;QACNC,YAAY;QACZC,QAAQ;QACRC,WAAW;QACXC,SAAS;QACTC,4BAA4B,GAAG;MAEnC,CAAC,GAAAR,WAAA;MADMS,IAAI,GAAAC,wBAAA,CAAAV,WAAA,EAAAW,SAAA;IAGX,oBACIpB,KAAA,CAAAqB,aAAA,CAACnB,MAAM,EAAAoB,QAAA;MACHN,SAAS,EAAEf,UAAU,CAAC,eAAe,EAAEe,SAAS,CAAE;MAClDO,YAAY,EAAE,KAAM;MACpBC,iBAAiB;MACjBC,MAAM,EAAEnB,YAAY,CAACoB;IAAY,GAC7BR,IAAI,GAEPL,YAAY,eACbb,KAAA,CAAAqB,aAAA,CAAClB,OAAO;MAACa,SAAS,EAAC;IAAuB,gBACtChB,KAAA,CAAAqB,aAAA,CAACjB,aAAa;MAACa,4BAA4B,EAAEA;IAA6B,GACrEN,MAAM,iBAAIX,KAAA,CAAAqB,aAAA;MAAIL,SAAS,EAAC;IAAqB,GAAEL,MAAW,CAChD,CAAC,eAChBX,KAAA,CAAAqB,aAAA;MAAKL,SAAS,EAAC;IAA8B,gBACzChB,KAAA,CAAAqB,aAAA;MACIL,SAAS,EAAEf,UAAU,CAAC,4BAA4B,EAAE;QAChD,aAAa,EAAE,CAAC,CAACU,MAAM;QACvB,aAAa,EAAE,CAAC,CAACC;MACrB,CAAC;IAAE,GAEFE,QAAQ,IAAI,IAAI,iBACbd,KAAA,CAAAqB,aAAA,CAAChB,aAAa;MAACU,WAAW,EAAEA,WAAY;MAACY,UAAU,EAAC;IAAS,GACxDb,QACU,CAElB,CAAC,EACLF,MAAM,iBAAIZ,KAAA,CAAAqB,aAAA;MAAKL,SAAS,EAAC;IAA8B,GAAEJ,MAAY,CACrE,CACA,CACL,CAAC;EAEjB;AACJ;AAACgB,eAAA,CAnDKtB,YAAY,iBACO,UAAU;AAAAsB,eAAA,CAD7BtB,YAAY,kBAGQ;EAClBuB,QAAQ,EAAE;AACd,CAAC;AAgDL,eAAevB,YAAY","ignoreList":[]}
|
|
@@ -5,6 +5,8 @@ export interface OverlayHeaderProps {
|
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
/** Set className to the overlay header */
|
|
7
7
|
className?: string;
|
|
8
|
+
/** Are OverlayHeader actions enabled */
|
|
9
|
+
isOverlayHeaderActionEnabled?: boolean;
|
|
8
10
|
}
|
|
9
|
-
declare const OverlayHeader: ({ children, className }: OverlayHeaderProps) => React.JSX.Element;
|
|
11
|
+
declare const OverlayHeader: ({ children, className, isOverlayHeaderActionEnabled }: OverlayHeaderProps) => React.JSX.Element;
|
|
10
12
|
export default OverlayHeader;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { History } from 'history';
|
|
3
|
+
import { type FeatureConfig } from '../feature-checking';
|
|
3
4
|
type Props = {
|
|
4
5
|
children: React.ReactNode;
|
|
6
|
+
features?: FeatureConfig;
|
|
5
7
|
history?: History;
|
|
6
8
|
initialEntries?: History.LocationDescriptor[];
|
|
7
9
|
};
|
|
8
|
-
declare const NavRouter: ({ children, history, ...rest }: Props) => React.JSX.Element;
|
|
10
|
+
declare const NavRouter: ({ children, features, history, ...rest }: Props) => React.JSX.Element;
|
|
9
11
|
export default NavRouter;
|
package/package.json
CHANGED
|
@@ -12,12 +12,16 @@ export interface OverlayHeaderProps {
|
|
|
12
12
|
children?: React.ReactNode;
|
|
13
13
|
/** Set className to the overlay header */
|
|
14
14
|
className?: string;
|
|
15
|
+
/** Are OverlayHeader actions enabled */
|
|
16
|
+
isOverlayHeaderActionEnabled?: boolean;
|
|
15
17
|
}
|
|
16
18
|
|
|
17
|
-
const OverlayHeader = ({ children, className }: OverlayHeaderProps) => {
|
|
19
|
+
const OverlayHeader = ({ children, className, isOverlayHeaderActionEnabled = false }: OverlayHeaderProps) => {
|
|
18
20
|
const handleClick = (event: React.SyntheticEvent<HTMLDivElement>): void => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
if (!isOverlayHeaderActionEnabled) {
|
|
22
|
+
event.preventDefault();
|
|
23
|
+
event.stopPropagation();
|
|
24
|
+
}
|
|
21
25
|
};
|
|
22
26
|
// @ts-ignore TODO: figure out why this is giving a TS error
|
|
23
27
|
const { closeOverlay } = React.useContext(FlyoutContext);
|
|
@@ -52,5 +52,30 @@ describe('components/flyout/OverlayHeader', () => {
|
|
|
52
52
|
fireEvent.click(screen.getByRole('button'));
|
|
53
53
|
expect(overlayClick).toHaveBeenCalledTimes(0);
|
|
54
54
|
});
|
|
55
|
+
|
|
56
|
+
test.each([
|
|
57
|
+
{
|
|
58
|
+
isOverlayHeaderActionEnabled: false,
|
|
59
|
+
expectedCallCount: 0,
|
|
60
|
+
behavior: 'prevent default and stop propagation',
|
|
61
|
+
},
|
|
62
|
+
{ isOverlayHeaderActionEnabled: true, expectedCallCount: 1, behavior: 'allow default and propagation' },
|
|
63
|
+
])(
|
|
64
|
+
'should $behavior when isOverlayHeaderActionEnabled is $isOverlayHeaderActionEnabled',
|
|
65
|
+
({ isOverlayHeaderActionEnabled, expectedCallCount }) => {
|
|
66
|
+
const overlayClick = jest.fn();
|
|
67
|
+
|
|
68
|
+
render(
|
|
69
|
+
<div role="presentation" onClick={overlayClick}>
|
|
70
|
+
<OverlayHeader isOverlayHeaderActionEnabled={isOverlayHeaderActionEnabled}>
|
|
71
|
+
<p>Hi</p>
|
|
72
|
+
</OverlayHeader>
|
|
73
|
+
</div>,
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
fireEvent.click(screen.getByRole('button'));
|
|
77
|
+
expect(overlayClick).toHaveBeenCalledTimes(expectedCallCount);
|
|
78
|
+
},
|
|
79
|
+
);
|
|
55
80
|
});
|
|
56
81
|
});
|
|
@@ -6,13 +6,22 @@
|
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import { MemoryRouter, Router } from 'react-router-dom';
|
|
8
8
|
import type { RouterHistory } from 'react-router-dom';
|
|
9
|
+
import { isFeatureEnabled, type FeatureConfig } from '../feature-checking';
|
|
9
10
|
|
|
10
11
|
type Props = {
|
|
11
12
|
children: React.Node,
|
|
13
|
+
features?: FeatureConfig,
|
|
12
14
|
history?: RouterHistory,
|
|
15
|
+
initialEntries?: Array<any>,
|
|
13
16
|
};
|
|
14
17
|
|
|
15
|
-
const NavRouter = ({ children, history, ...rest }: Props) => {
|
|
18
|
+
const NavRouter = ({ children, features, history, ...rest }: Props) => {
|
|
19
|
+
const isRouterDisabled = isFeatureEnabled(features, 'routerDisabled.value');
|
|
20
|
+
|
|
21
|
+
if (isRouterDisabled) {
|
|
22
|
+
return <>{children}</>;
|
|
23
|
+
}
|
|
24
|
+
|
|
16
25
|
if (history) {
|
|
17
26
|
return <Router history={history}>{children}</Router>;
|
|
18
27
|
}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { MemoryRouter, Router } from 'react-router';
|
|
3
3
|
import { History } from 'history';
|
|
4
|
+
import { isFeatureEnabled, type FeatureConfig } from '../feature-checking';
|
|
4
5
|
|
|
5
6
|
type Props = {
|
|
6
7
|
children: React.ReactNode;
|
|
8
|
+
features?: FeatureConfig;
|
|
7
9
|
history?: History;
|
|
8
10
|
initialEntries?: History.LocationDescriptor[];
|
|
9
11
|
};
|
|
10
12
|
|
|
11
|
-
const NavRouter = ({ children, history, ...rest }: Props) => {
|
|
13
|
+
const NavRouter = ({ children, features, history, ...rest }: Props) => {
|
|
14
|
+
const isRouterDisabled = isFeatureEnabled(features, 'routerDisabled.value');
|
|
15
|
+
|
|
16
|
+
if (isRouterDisabled) {
|
|
17
|
+
return <>{children}</>;
|
|
18
|
+
}
|
|
19
|
+
|
|
12
20
|
if (history) {
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
14
|
-
// @ts-ignore
|
|
15
21
|
return <Router history={history}>{children}</Router>;
|
|
16
22
|
}
|
|
17
23
|
|