box-ui-elements 23.4.0-beta.10 → 23.4.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/explorer.css +1 -1
  2. package/dist/explorer.js +1 -1
  3. package/dist/preview.css +1 -1
  4. package/dist/preview.js +1 -1
  5. package/dist/preview.js.LICENSE.txt +0 -10
  6. package/dist/sidebar.css +1 -1
  7. package/dist/sidebar.js +1 -1
  8. package/dist/sidebar.js.LICENSE.txt +0 -10
  9. package/es/elements/content-sidebar/MetadataInstanceEditor.js +4 -2
  10. package/es/elements/content-sidebar/MetadataInstanceEditor.js.map +1 -1
  11. package/es/elements/content-sidebar/MetadataSidebarRedesign.js +4 -1
  12. package/es/elements/content-sidebar/MetadataSidebarRedesign.js.map +1 -1
  13. package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js +29 -0
  14. package/es/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.js.map +1 -1
  15. package/es/src/elements/content-sidebar/MetadataInstanceEditor.d.ts +1 -0
  16. package/es/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.d.ts +1 -0
  17. package/i18n/ja-JP.js +1 -1
  18. package/i18n/ja-JP.properties +1 -1
  19. package/package.json +5 -5
  20. package/src/elements/content-sidebar/MetadataInstanceEditor.tsx +3 -0
  21. package/src/elements/content-sidebar/MetadataSidebarRedesign.tsx +3 -0
  22. package/src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx +24 -0
  23. package/src/features/metadata-instance-editor/__tests__/CascadePolicy.test.js +7 -2
  24. package/src/features/metadata-instance-editor/__tests__/Instance.test.js +1 -1
  25. package/src/features/metadata-instance-editor/__tests__/Instances.test.js +3 -3
  26. package/src/features/metadata-instance-editor/__tests__/MetadataInstanceEditor.test.js +3 -3
@@ -103,16 +103,6 @@ object-assign
103
103
  * LICENSE file in the root directory of this source tree.
104
104
  */
105
105
 
106
- /**
107
- * @license React
108
- * use-sync-external-store-shim.production.js
109
- *
110
- * Copyright (c) Meta Platforms, Inc. and affiliates.
111
- *
112
- * This source code is licensed under the MIT license found in the
113
- * LICENSE file in the root directory of this source tree.
114
- */
115
-
116
106
  /**
117
107
  * @license React
118
108
  * use-sync-external-store-shim.production.min.js
@@ -16,7 +16,8 @@ const MetadataInstanceEditor = ({
16
16
  onSubmit,
17
17
  setIsUnsavedChangesModalOpen,
18
18
  taxonomyOptionsFetcher,
19
- template
19
+ template,
20
+ isAdvancedExtractAgentEnabled = false
20
21
  }) => {
21
22
  return /*#__PURE__*/React.createElement(MetadataInstanceForm
22
23
  // TODO investigate if this property should be optional and by default false
@@ -36,7 +37,8 @@ const MetadataInstanceEditor = ({
36
37
  onSubmit: onSubmit,
37
38
  selectedTemplateInstance: template,
38
39
  setIsUnsavedChangesModalOpen: setIsUnsavedChangesModalOpen,
39
- taxonomyOptionsFetcher: taxonomyOptionsFetcher
40
+ taxonomyOptionsFetcher: taxonomyOptionsFetcher,
41
+ isAdvancedExtractAgentEnabled: isAdvancedExtractAgentEnabled
40
42
  });
41
43
  };
42
44
  export default MetadataInstanceEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataInstanceEditor.js","names":["MetadataInstanceForm","React","MetadataInstanceEditor","areAiSuggestionsAvailable","errorCode","isBetaLanguageEnabled","isBoxAiSuggestionsEnabled","isDeleteButtonDisabled","isDeleteConfirmationModalCheckboxEnabled","isLargeFile","isMetadataMultiLevelTaxonomyFieldEnabled","isUnsavedChangesModalOpen","onCancel","onDelete","onDiscardUnsavedChanges","onSubmit","setIsUnsavedChangesModalOpen","taxonomyOptionsFetcher","template","createElement","isMultilevelTaxonomyFieldEnabled","isAiSuggestionsFeatureEnabled","selectedTemplateInstance"],"sources":["../../../src/elements/content-sidebar/MetadataInstanceEditor.tsx"],"sourcesContent":["import {\n MetadataInstanceForm,\n type FormValues,\n type JSONPatchOperations,\n type MetadataTemplateInstance,\n} from '@box/metadata-editor';\nimport { TaxonomyOptionsFetcher } from '@box/metadata-editor/lib/components/metadata-editor-fields/components/metadata-taxonomy-field/types.js';\nimport React from 'react';\nimport {\n ERROR_CODE_METADATA_AUTOFILL_TIMEOUT,\n ERROR_CODE_UNKNOWN,\n ERROR_CODE_METADATA_PRECONDITION_FAILED,\n} from '../../constants';\n\nexport interface MetadataInstanceEditorProps {\n areAiSuggestionsAvailable: boolean;\n errorCode?: ERROR_CODE_METADATA_AUTOFILL_TIMEOUT | ERROR_CODE_METADATA_PRECONDITION_FAILED | ERROR_CODE_UNKNOWN;\n isBetaLanguageEnabled: boolean;\n isBoxAiSuggestionsEnabled: boolean;\n isDeleteButtonDisabled: boolean;\n isDeleteConfirmationModalCheckboxEnabled: boolean;\n isLargeFile: boolean;\n isMetadataMultiLevelTaxonomyFieldEnabled: boolean;\n isUnsavedChangesModalOpen: boolean;\n onCancel: () => void;\n onDelete: (metadataInstance: MetadataTemplateInstance) => void;\n onDiscardUnsavedChanges: () => void;\n onSubmit: (values: FormValues, operations: JSONPatchOperations) => Promise<void>;\n setIsUnsavedChangesModalOpen: (isUnsavedChangesModalOpen: boolean) => void;\n taxonomyOptionsFetcher: TaxonomyOptionsFetcher;\n template: MetadataTemplateInstance;\n}\n\nconst MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps> = ({\n areAiSuggestionsAvailable,\n errorCode,\n isBetaLanguageEnabled,\n isBoxAiSuggestionsEnabled,\n isDeleteButtonDisabled,\n isDeleteConfirmationModalCheckboxEnabled,\n isLargeFile,\n isMetadataMultiLevelTaxonomyFieldEnabled,\n isUnsavedChangesModalOpen,\n onCancel,\n onDelete,\n onDiscardUnsavedChanges,\n onSubmit,\n setIsUnsavedChangesModalOpen,\n taxonomyOptionsFetcher,\n template,\n}) => {\n return (\n <MetadataInstanceForm\n // TODO investigate if this property should be optional and by default false\n isMultilevelTaxonomyFieldEnabled={isMetadataMultiLevelTaxonomyFieldEnabled}\n areAiSuggestionsAvailable={areAiSuggestionsAvailable}\n errorCode={errorCode}\n isAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled}\n isBetaLanguageEnabled={isBetaLanguageEnabled}\n isDeleteButtonDisabled={isDeleteButtonDisabled}\n isDeleteConfirmationModalCheckboxEnabled={isDeleteConfirmationModalCheckboxEnabled}\n isLargeFile={isLargeFile}\n isUnsavedChangesModalOpen={isUnsavedChangesModalOpen}\n onCancel={onCancel}\n onDelete={onDelete}\n onDiscardUnsavedChanges={onDiscardUnsavedChanges}\n onSubmit={onSubmit}\n selectedTemplateInstance={template}\n setIsUnsavedChangesModalOpen={setIsUnsavedChangesModalOpen}\n taxonomyOptionsFetcher={taxonomyOptionsFetcher}\n />\n );\n};\n\nexport default MetadataInstanceEditor;\n"],"mappings":"AAAA,SACIA,oBAAoB,QAIjB,sBAAsB;AAE7B,OAAOC,KAAK,MAAM,OAAO;AA0BzB,MAAMC,sBAA6D,GAAGA,CAAC;EACnEC,yBAAyB;EACzBC,SAAS;EACTC,qBAAqB;EACrBC,yBAAyB;EACzBC,sBAAsB;EACtBC,wCAAwC;EACxCC,WAAW;EACXC,wCAAwC;EACxCC,yBAAyB;EACzBC,QAAQ;EACRC,QAAQ;EACRC,uBAAuB;EACvBC,QAAQ;EACRC,4BAA4B;EAC5BC,sBAAsB;EACtBC;AACJ,CAAC,KAAK;EACF,oBACIjB,KAAA,CAAAkB,aAAA,CAACnB;EACG;EAAA;IACAoB,gCAAgC,EAAEV,wCAAyC;IAC3EP,yBAAyB,EAAEA,yBAA0B;IACrDC,SAAS,EAAEA,SAAU;IACrBiB,6BAA6B,EAAEf,yBAA0B;IACzDD,qBAAqB,EAAEA,qBAAsB;IAC7CE,sBAAsB,EAAEA,sBAAuB;IAC/CC,wCAAwC,EAAEA,wCAAyC;IACnFC,WAAW,EAAEA,WAAY;IACzBE,yBAAyB,EAAEA,yBAA0B;IACrDC,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBC,uBAAuB,EAAEA,uBAAwB;IACjDC,QAAQ,EAAEA,QAAS;IACnBO,wBAAwB,EAAEJ,QAAS;IACnCF,4BAA4B,EAAEA,4BAA6B;IAC3DC,sBAAsB,EAAEA;EAAuB,CAClD,CAAC;AAEV,CAAC;AAED,eAAef,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"MetadataInstanceEditor.js","names":["MetadataInstanceForm","React","MetadataInstanceEditor","areAiSuggestionsAvailable","errorCode","isBetaLanguageEnabled","isBoxAiSuggestionsEnabled","isDeleteButtonDisabled","isDeleteConfirmationModalCheckboxEnabled","isLargeFile","isMetadataMultiLevelTaxonomyFieldEnabled","isUnsavedChangesModalOpen","onCancel","onDelete","onDiscardUnsavedChanges","onSubmit","setIsUnsavedChangesModalOpen","taxonomyOptionsFetcher","template","isAdvancedExtractAgentEnabled","createElement","isMultilevelTaxonomyFieldEnabled","isAiSuggestionsFeatureEnabled","selectedTemplateInstance"],"sources":["../../../src/elements/content-sidebar/MetadataInstanceEditor.tsx"],"sourcesContent":["import {\n MetadataInstanceForm,\n type FormValues,\n type JSONPatchOperations,\n type MetadataTemplateInstance,\n} from '@box/metadata-editor';\nimport { TaxonomyOptionsFetcher } from '@box/metadata-editor/lib/components/metadata-editor-fields/components/metadata-taxonomy-field/types.js';\nimport React from 'react';\nimport {\n ERROR_CODE_METADATA_AUTOFILL_TIMEOUT,\n ERROR_CODE_UNKNOWN,\n ERROR_CODE_METADATA_PRECONDITION_FAILED,\n} from '../../constants';\n\nexport interface MetadataInstanceEditorProps {\n areAiSuggestionsAvailable: boolean;\n errorCode?: ERROR_CODE_METADATA_AUTOFILL_TIMEOUT | ERROR_CODE_METADATA_PRECONDITION_FAILED | ERROR_CODE_UNKNOWN;\n isBetaLanguageEnabled: boolean;\n isBoxAiSuggestionsEnabled: boolean;\n isDeleteButtonDisabled: boolean;\n isDeleteConfirmationModalCheckboxEnabled: boolean;\n isLargeFile: boolean;\n isMetadataMultiLevelTaxonomyFieldEnabled: boolean;\n isUnsavedChangesModalOpen: boolean;\n onCancel: () => void;\n onDelete: (metadataInstance: MetadataTemplateInstance) => void;\n onDiscardUnsavedChanges: () => void;\n onSubmit: (values: FormValues, operations: JSONPatchOperations) => Promise<void>;\n setIsUnsavedChangesModalOpen: (isUnsavedChangesModalOpen: boolean) => void;\n taxonomyOptionsFetcher: TaxonomyOptionsFetcher;\n template: MetadataTemplateInstance;\n isAdvancedExtractAgentEnabled?: boolean;\n}\n\nconst MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps> = ({\n areAiSuggestionsAvailable,\n errorCode,\n isBetaLanguageEnabled,\n isBoxAiSuggestionsEnabled,\n isDeleteButtonDisabled,\n isDeleteConfirmationModalCheckboxEnabled,\n isLargeFile,\n isMetadataMultiLevelTaxonomyFieldEnabled,\n isUnsavedChangesModalOpen,\n onCancel,\n onDelete,\n onDiscardUnsavedChanges,\n onSubmit,\n setIsUnsavedChangesModalOpen,\n taxonomyOptionsFetcher,\n template,\n isAdvancedExtractAgentEnabled = false,\n}) => {\n return (\n <MetadataInstanceForm\n // TODO investigate if this property should be optional and by default false\n isMultilevelTaxonomyFieldEnabled={isMetadataMultiLevelTaxonomyFieldEnabled}\n areAiSuggestionsAvailable={areAiSuggestionsAvailable}\n errorCode={errorCode}\n isAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled}\n isBetaLanguageEnabled={isBetaLanguageEnabled}\n isDeleteButtonDisabled={isDeleteButtonDisabled}\n isDeleteConfirmationModalCheckboxEnabled={isDeleteConfirmationModalCheckboxEnabled}\n isLargeFile={isLargeFile}\n isUnsavedChangesModalOpen={isUnsavedChangesModalOpen}\n onCancel={onCancel}\n onDelete={onDelete}\n onDiscardUnsavedChanges={onDiscardUnsavedChanges}\n onSubmit={onSubmit}\n selectedTemplateInstance={template}\n setIsUnsavedChangesModalOpen={setIsUnsavedChangesModalOpen}\n taxonomyOptionsFetcher={taxonomyOptionsFetcher}\n isAdvancedExtractAgentEnabled={isAdvancedExtractAgentEnabled}\n />\n );\n};\n\nexport default MetadataInstanceEditor;\n"],"mappings":"AAAA,SACIA,oBAAoB,QAIjB,sBAAsB;AAE7B,OAAOC,KAAK,MAAM,OAAO;AA2BzB,MAAMC,sBAA6D,GAAGA,CAAC;EACnEC,yBAAyB;EACzBC,SAAS;EACTC,qBAAqB;EACrBC,yBAAyB;EACzBC,sBAAsB;EACtBC,wCAAwC;EACxCC,WAAW;EACXC,wCAAwC;EACxCC,yBAAyB;EACzBC,QAAQ;EACRC,QAAQ;EACRC,uBAAuB;EACvBC,QAAQ;EACRC,4BAA4B;EAC5BC,sBAAsB;EACtBC,QAAQ;EACRC,6BAA6B,GAAG;AACpC,CAAC,KAAK;EACF,oBACIlB,KAAA,CAAAmB,aAAA,CAACpB;EACG;EAAA;IACAqB,gCAAgC,EAAEX,wCAAyC;IAC3EP,yBAAyB,EAAEA,yBAA0B;IACrDC,SAAS,EAAEA,SAAU;IACrBkB,6BAA6B,EAAEhB,yBAA0B;IACzDD,qBAAqB,EAAEA,qBAAsB;IAC7CE,sBAAsB,EAAEA,sBAAuB;IAC/CC,wCAAwC,EAAEA,wCAAyC;IACnFC,WAAW,EAAEA,WAAY;IACzBE,yBAAyB,EAAEA,yBAA0B;IACrDC,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA,QAAS;IACnBC,uBAAuB,EAAEA,uBAAwB;IACjDC,QAAQ,EAAEA,QAAS;IACnBQ,wBAAwB,EAAEL,QAAS;IACnCF,4BAA4B,EAAEA,4BAA6B;IAC3DC,sBAAsB,EAAEA,sBAAuB;IAC/CE,6BAA6B,EAAEA;EAA8B,CAChE,CAAC;AAEV,CAAC;AAED,eAAejB,sBAAsB","ignoreList":[]}
@@ -58,6 +58,7 @@ function MetadataSidebarRedesign({
58
58
  const isBoxAiSuggestionsEnabled = useFeatureEnabled('metadata.aiSuggestions.enabled');
59
59
  const isBetaLanguageEnabled = useFeatureEnabled('metadata.betaLanguage.enabled');
60
60
  const isMetadataMultiLevelTaxonomyFieldEnabled = useFeatureEnabled('metadata.multilevelTaxonomy.enabled');
61
+ const isAdvancedExtractAgentEnabled = useFeatureEnabled('metadata.extractAdvancedAgents.enabled');
61
62
  const isDeleteConfirmationModalCheckboxEnabled = useFeatureEnabled('metadata.deleteConfirmationModalCheckbox.enabled');
62
63
  const isSessionInitiated = useRef(false);
63
64
  const [isLargeFile, setIsLargeFile] = useState(false);
@@ -209,9 +210,11 @@ function MetadataSidebarRedesign({
209
210
  onSubmit: handleSubmit,
210
211
  setIsUnsavedChangesModalOpen: setIsUnsavedChangesModalOpen,
211
212
  taxonomyOptionsFetcher: taxonomyOptionsFetcher,
212
- template: editingTemplate
213
+ template: editingTemplate,
214
+ isAdvancedExtractAgentEnabled: isAdvancedExtractAgentEnabled
213
215
  }), showList && /*#__PURE__*/React.createElement(MetadataInstanceList, {
214
216
  areAiSuggestionsAvailable: areAiSuggestionsAvailable,
217
+ isAdvancedExtractAgentEnabled: isAdvancedExtractAgentEnabled,
215
218
  isAiSuggestionsFeatureEnabled: isBoxAiSuggestionsEnabled,
216
219
  isBetaLanguageEnabled: isBetaLanguageEnabled,
217
220
  onEdit: templateInstance => {
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataSidebarRedesign.js","names":["React","useCallback","useEffect","useRef","useState","flow","FormattedMessage","useIntl","withRouter","InlineError","LoadingIndicator","AddMetadataTemplateDropdown","AutofillContextProvider","FilterInstancesDropdown","MetadataEmptyState","MetadataInstanceList","SidebarContent","withAPIContext","withErrorBoundary","withLogger","useFeatureEnabled","ORIGIN_METADATA_SIDEBAR_REDESIGN","SIDEBAR_VIEW_METADATA","ERROR_CODE_METADATA_STRUCTURED_TEXT_REP","EVENT_JS_READY","mark","useSidebarMetadataFetcher","STATUS","messages","MetadataInstanceEditor","convertTemplateToTemplateInstance","isExtensionSupportedForMetadataSuggestions","metadataTaxonomyFetcher","metadataTaxonomyNodeAncestorsFetcher","useMetadataSidebarFilteredTemplates","MARK_NAME_JS_READY","MetadataSidebarRedesign","api","elementId","fileExtension","fileId","filteredTemplateIds","history","onError","onSuccess","isFeatureEnabled","createSessionRequest","getStructuredTextRep","clearExtractError","extractSuggestions","file","handleCreateMetadataInstance","handleDeleteMetadataInstance","handleUpdateMetadataInstance","templates","extractErrorCode","errorMessage","status","templateInstances","formatMessage","isBoxAiSuggestionsEnabled","isBetaLanguageEnabled","isMetadataMultiLevelTaxonomyFieldEnabled","isDeleteConfirmationModalCheckboxEnabled","isSessionInitiated","isLargeFile","setIsLargeFile","editingTemplate","setEditingTemplate","isUnsavedChangesModalOpen","setIsUnsavedChangesModalOpen","isDeleteButtonDisabled","setIsDeleteButtonDisabled","appliedTemplateInstances","setAppliedTemplateInstances","pendingTemplateToEdit","setPendingTemplateToEdit","shouldFetchStructuredTextRep","toLowerCase","options","token","then","read","catch","error","isEditingTemplateAlreadyExisting","some","t","templateKey","scope","length","handleTemplateSelect","selectedTemplate","handleCancel","handleDiscardUnsavedChanges","handleDeleteInstance","metadataInstance","isExistingMetadataInstance","find","templateInstance","id","handleSubmit","values","operations","metadata","visibleTemplateInstances","filter","hidden","isSuccess","SUCCESS","isLoading","LOADING","isViewMode","showEmptyState","showList","areAiSuggestionsAvailable","extension","metadataDropdown","createElement","availableTemplates","selectedTemplates","onSelect","handleSetFilteredTemplates","filteredTemplates","templateInstancesList","filterDropdown","appliedTemplates","setSelectedTemplates","errorMessageDisplay","ERROR","className","taxonomyOptionsFetcher","fieldKey","level","taxonomyNodeFetcher","taxonomyKey","nodeID","current","items","is_large_file","actions","sidebarView","title","sidebarMetadataTitle","subheader","loading","isBoxAiSuggestionsFeatureEnabled","fetchSuggestions","isAiSuggestionsFeatureEnabled","errorCode","onCancel","onDelete","onDiscardUnsavedChanges","onSubmit","template","onEdit","MetadataSidebarRedesignComponent"],"sources":["../../../src/elements/content-sidebar/MetadataSidebarRedesign.tsx"],"sourcesContent":["/**\n * @file Redesigned Metadata sidebar component\n * @author Box\n */\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport flow from 'lodash/flow';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\nimport { InlineError, LoadingIndicator } from '@box/blueprint-web';\nimport {\n AddMetadataTemplateDropdown,\n AutofillContextProvider,\n FilterInstancesDropdown,\n MetadataEmptyState,\n MetadataInstanceList,\n type FormValues,\n type JSONPatchOperations,\n type MetadataTemplate,\n type MetadataTemplateInstance,\n} from '@box/metadata-editor';\nimport { TreeQueryInput } from '@box/combobox-with-api';\n\nimport API from '../../api';\nimport SidebarContent from './SidebarContent';\nimport { withAPIContext } from '../common/api-context';\nimport { withErrorBoundary } from '../common/error-boundary';\nimport { withLogger } from '../common/logger';\nimport { useFeatureEnabled } from '../common/feature-checking';\nimport {\n ORIGIN_METADATA_SIDEBAR_REDESIGN,\n SIDEBAR_VIEW_METADATA,\n ERROR_CODE_METADATA_STRUCTURED_TEXT_REP,\n} from '../../constants';\nimport { EVENT_JS_READY } from '../common/logger/constants';\nimport { mark } from '../../utils/performance';\nimport useSidebarMetadataFetcher, { STATUS } from './hooks/useSidebarMetadataFetcher';\n\nimport { type WithLoggerProps } from '../../common/types/logging';\n\nimport messages from '../common/messages';\nimport './MetadataSidebarRedesign.scss';\nimport MetadataInstanceEditor from './MetadataInstanceEditor';\nimport { convertTemplateToTemplateInstance } from './utils/convertTemplateToTemplateInstance';\nimport { isExtensionSupportedForMetadataSuggestions } from './utils/isExtensionSupportedForMetadataSuggestions';\nimport { metadataTaxonomyFetcher, metadataTaxonomyNodeAncestorsFetcher } from './fetchers/metadataTaxonomyFetcher';\nimport { useMetadataSidebarFilteredTemplates } from './hooks/useMetadataSidebarFilteredTemplates';\n\nconst MARK_NAME_JS_READY = `${ORIGIN_METADATA_SIDEBAR_REDESIGN}_${EVENT_JS_READY}`;\n\nmark(MARK_NAME_JS_READY);\n\nexport interface ExternalProps {\n isFeatureEnabled: boolean;\n getStructuredTextRep?: (fileId: string, accessToken: string) => Promise<string>;\n}\n\ninterface PropsWithoutContext extends ExternalProps {\n elementId: string;\n fileExtension?: string;\n fileId: string;\n filteredTemplateIds?: string[];\n hasSidebarInitialized?: boolean;\n}\n\nexport interface ErrorContextProps {\n onError: (error: Error, code: string, contextInfo?: Record<string, unknown>) => void;\n}\n\nexport interface SuccessContextProps {\n onSuccess: (code: string, showNotification: boolean) => void;\n}\n\nexport interface MetadataSidebarRedesignProps\n extends PropsWithoutContext,\n ErrorContextProps,\n SuccessContextProps,\n WithLoggerProps,\n RouteComponentProps {\n api: API;\n createSessionRequest?: (\n payload: Record<string, unknown>,\n fileId: string,\n ) => Promise<{ metadata: { is_large_file: boolean } }>;\n}\n\nfunction MetadataSidebarRedesign({\n api,\n elementId,\n fileExtension,\n fileId,\n filteredTemplateIds = [],\n history,\n onError,\n onSuccess,\n isFeatureEnabled,\n createSessionRequest,\n getStructuredTextRep,\n}: MetadataSidebarRedesignProps) {\n const {\n clearExtractError,\n extractSuggestions,\n file,\n handleCreateMetadataInstance,\n handleDeleteMetadataInstance,\n handleUpdateMetadataInstance,\n templates,\n extractErrorCode,\n errorMessage,\n status,\n templateInstances,\n } = useSidebarMetadataFetcher(api, fileId, onError, onSuccess, isFeatureEnabled);\n\n const { formatMessage } = useIntl();\n const isBoxAiSuggestionsEnabled: boolean = useFeatureEnabled('metadata.aiSuggestions.enabled');\n const isBetaLanguageEnabled: boolean = useFeatureEnabled('metadata.betaLanguage.enabled');\n const isMetadataMultiLevelTaxonomyFieldEnabled: boolean = useFeatureEnabled('metadata.multilevelTaxonomy.enabled');\n const isDeleteConfirmationModalCheckboxEnabled: boolean = useFeatureEnabled(\n 'metadata.deleteConfirmationModalCheckbox.enabled',\n );\n const isSessionInitiated = useRef(false);\n\n const [isLargeFile, setIsLargeFile] = useState<boolean>(false);\n\n const [editingTemplate, setEditingTemplate] = useState<MetadataTemplateInstance | null>(null);\n const [isUnsavedChangesModalOpen, setIsUnsavedChangesModalOpen] = useState<boolean>(false);\n const [isDeleteButtonDisabled, setIsDeleteButtonDisabled] = useState<boolean>(false);\n const [appliedTemplateInstances, setAppliedTemplateInstances] =\n useState<Array<MetadataTemplateInstance | MetadataTemplate>>(templateInstances);\n const [pendingTemplateToEdit, setPendingTemplateToEdit] = useState<MetadataTemplateInstance | null>(null);\n const shouldFetchStructuredTextRep =\n isBoxAiSuggestionsEnabled &&\n fileExtension?.toLowerCase() === 'pdf' &&\n api.options?.token &&\n !!getStructuredTextRep;\n\n // Fetch structured text representation for Box AI\n useEffect(() => {\n if (shouldFetchStructuredTextRep) {\n api.options.token(fileId).then(({ read }) => {\n getStructuredTextRep(fileId, read)\n .then()\n .catch(error => {\n onError(error, ERROR_CODE_METADATA_STRUCTURED_TEXT_REP);\n });\n });\n }\n }, [\n api.options,\n fileExtension,\n fileId,\n getStructuredTextRep,\n isBoxAiSuggestionsEnabled,\n onError,\n shouldFetchStructuredTextRep,\n ]);\n\n useEffect(() => {\n // disable only pre-existing template instances from dropdown if not editing or editing pre-exiting one\n const isEditingTemplateAlreadyExisting =\n editingTemplate &&\n templateInstances.some(\n t => t.templateKey === editingTemplate.templateKey && t.scope === editingTemplate.scope,\n );\n\n if (!editingTemplate || isEditingTemplateAlreadyExisting) {\n setAppliedTemplateInstances(templateInstances);\n } else {\n setAppliedTemplateInstances([...templateInstances, editingTemplate]);\n }\n }, [editingTemplate, templateInstances, templateInstances.length]);\n\n const handleTemplateSelect = (selectedTemplate: MetadataTemplate) => {\n clearExtractError();\n\n if (editingTemplate) {\n setPendingTemplateToEdit(convertTemplateToTemplateInstance(file, selectedTemplate));\n setIsUnsavedChangesModalOpen(true);\n } else {\n setEditingTemplate(convertTemplateToTemplateInstance(file, selectedTemplate));\n setIsDeleteButtonDisabled(true);\n }\n };\n\n const handleCancel = () => {\n clearExtractError();\n setEditingTemplate(null);\n };\n\n const handleDiscardUnsavedChanges = () => {\n // check if user tried to edit another template before unsaved changes modal\n if (pendingTemplateToEdit) {\n setEditingTemplate(pendingTemplateToEdit);\n setIsDeleteButtonDisabled(true);\n\n setPendingTemplateToEdit(null);\n } else {\n handleCancel();\n }\n\n setIsUnsavedChangesModalOpen(false);\n };\n\n const handleDeleteInstance = async (metadataInstance: MetadataTemplateInstance) => {\n try {\n await handleDeleteMetadataInstance(metadataInstance);\n } catch {\n // ignore error, handled in useSidebarMetadataFetcher\n }\n clearExtractError();\n setEditingTemplate(null);\n };\n\n const isExistingMetadataInstance = (): boolean => {\n return (\n editingTemplate && !!templateInstances.find(templateInstance => templateInstance.id === editingTemplate.id)\n );\n };\n\n const handleSubmit = async (values: FormValues, operations: JSONPatchOperations) => {\n if (isExistingMetadataInstance()) {\n await handleUpdateMetadataInstance(values.metadata as MetadataTemplateInstance, operations, () =>\n setEditingTemplate(null),\n );\n } else {\n await handleCreateMetadataInstance(values.metadata as MetadataTemplateInstance, () =>\n setEditingTemplate(null),\n );\n }\n };\n\n const visibleTemplateInstances = templateInstances.filter(templateInstance => !templateInstance.hidden);\n\n const isSuccess = status === STATUS.SUCCESS;\n const isLoading = status === STATUS.LOADING;\n\n const isViewMode = !isLoading && file && templates && templateInstances && !editingTemplate;\n const showEmptyState = isViewMode && visibleTemplateInstances.length === 0;\n const showList = isViewMode && visibleTemplateInstances.length > 0;\n\n const areAiSuggestionsAvailable = isExtensionSupportedForMetadataSuggestions(file?.extension ?? '');\n\n const metadataDropdown = isSuccess && templates && (\n <AddMetadataTemplateDropdown\n availableTemplates={templates}\n selectedTemplates={appliedTemplateInstances as MetadataTemplate[]}\n onSelect={handleTemplateSelect}\n />\n );\n\n const { handleSetFilteredTemplates, filteredTemplates, templateInstancesList } =\n useMetadataSidebarFilteredTemplates(history, filteredTemplateIds, templateInstances);\n const filterDropdown =\n isSuccess && isViewMode && visibleTemplateInstances.length > 1 ? (\n <FilterInstancesDropdown\n appliedTemplates={visibleTemplateInstances as MetadataTemplate[]}\n selectedTemplates={filteredTemplates}\n setSelectedTemplates={handleSetFilteredTemplates}\n />\n ) : null;\n\n const errorMessageDisplay = status === STATUS.ERROR && errorMessage && (\n <InlineError className=\"bcs-MetadataSidebarRedesign-inline-error\">\n <FormattedMessage {...errorMessage} />\n </InlineError>\n );\n\n const taxonomyOptionsFetcher = useCallback(\n (scope: string, templateKey: string, fieldKey: string, level: number, options: TreeQueryInput) =>\n metadataTaxonomyFetcher(api, fileId, scope, templateKey, fieldKey, level, options),\n [api, fileId],\n );\n\n const taxonomyNodeFetcher = useCallback(\n (scope: string, taxonomyKey: string, nodeID: string) =>\n metadataTaxonomyNodeAncestorsFetcher(api, fileId, scope, taxonomyKey, nodeID),\n [api, fileId],\n );\n\n useEffect(() => {\n if (createSessionRequest && fileId && !isSessionInitiated.current) {\n isSessionInitiated.current = true;\n createSessionRequest({ items: [{ id: fileId }] }, fileId).then(\n ({ metadata = { is_large_file: false } }) => {\n setIsLargeFile(metadata.is_large_file);\n },\n );\n }\n }, [createSessionRequest, fileId]);\n\n return (\n <SidebarContent\n actions={metadataDropdown}\n className={'bcs-MetadataSidebarRedesign'}\n elementId={elementId}\n sidebarView={SIDEBAR_VIEW_METADATA}\n title={formatMessage(messages.sidebarMetadataTitle)}\n subheader={filterDropdown}\n >\n <div className=\"bcs-MetadataSidebarRedesign-content\">\n {errorMessageDisplay}\n {isLoading && <LoadingIndicator aria-label={formatMessage(messages.loading)} />}\n {showEmptyState && (\n <MetadataEmptyState level={'file'} isBoxAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled} />\n )}\n <AutofillContextProvider\n fetchSuggestions={extractSuggestions}\n isAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled}\n >\n {editingTemplate && (\n <MetadataInstanceEditor\n areAiSuggestionsAvailable={areAiSuggestionsAvailable}\n errorCode={extractErrorCode}\n isBetaLanguageEnabled={isBetaLanguageEnabled}\n isBoxAiSuggestionsEnabled={isBoxAiSuggestionsEnabled}\n isDeleteButtonDisabled={isDeleteButtonDisabled}\n isDeleteConfirmationModalCheckboxEnabled={isDeleteConfirmationModalCheckboxEnabled}\n isLargeFile={isLargeFile}\n isMetadataMultiLevelTaxonomyFieldEnabled={isMetadataMultiLevelTaxonomyFieldEnabled}\n isUnsavedChangesModalOpen={isUnsavedChangesModalOpen}\n onCancel={handleCancel}\n onDelete={handleDeleteInstance}\n onDiscardUnsavedChanges={handleDiscardUnsavedChanges}\n onSubmit={handleSubmit}\n setIsUnsavedChangesModalOpen={setIsUnsavedChangesModalOpen}\n taxonomyOptionsFetcher={taxonomyOptionsFetcher}\n template={editingTemplate}\n />\n )}\n {showList && (\n <MetadataInstanceList\n areAiSuggestionsAvailable={areAiSuggestionsAvailable}\n isAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled}\n isBetaLanguageEnabled={isBetaLanguageEnabled}\n onEdit={templateInstance => {\n setEditingTemplate(templateInstance);\n setIsDeleteButtonDisabled(false);\n }}\n templateInstances={templateInstancesList}\n taxonomyNodeFetcher={taxonomyNodeFetcher}\n />\n )}\n </AutofillContextProvider>\n </div>\n </SidebarContent>\n );\n}\n\nexport { MetadataSidebarRedesign as MetadataSidebarRedesignComponent };\nexport default flow([\n withRouter,\n withLogger(ORIGIN_METADATA_SIDEBAR_REDESIGN),\n withErrorBoundary(ORIGIN_METADATA_SIDEBAR_REDESIGN),\n withAPIContext,\n])(MetadataSidebarRedesign);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MetadataSidebarRedesign.js","names":["React","useCallback","useEffect","useRef","useState","flow","FormattedMessage","useIntl","withRouter","InlineError","LoadingIndicator","AddMetadataTemplateDropdown","AutofillContextProvider","FilterInstancesDropdown","MetadataEmptyState","MetadataInstanceList","SidebarContent","withAPIContext","withErrorBoundary","withLogger","useFeatureEnabled","ORIGIN_METADATA_SIDEBAR_REDESIGN","SIDEBAR_VIEW_METADATA","ERROR_CODE_METADATA_STRUCTURED_TEXT_REP","EVENT_JS_READY","mark","useSidebarMetadataFetcher","STATUS","messages","MetadataInstanceEditor","convertTemplateToTemplateInstance","isExtensionSupportedForMetadataSuggestions","metadataTaxonomyFetcher","metadataTaxonomyNodeAncestorsFetcher","useMetadataSidebarFilteredTemplates","MARK_NAME_JS_READY","MetadataSidebarRedesign","api","elementId","fileExtension","fileId","filteredTemplateIds","history","onError","onSuccess","isFeatureEnabled","createSessionRequest","getStructuredTextRep","clearExtractError","extractSuggestions","file","handleCreateMetadataInstance","handleDeleteMetadataInstance","handleUpdateMetadataInstance","templates","extractErrorCode","errorMessage","status","templateInstances","formatMessage","isBoxAiSuggestionsEnabled","isBetaLanguageEnabled","isMetadataMultiLevelTaxonomyFieldEnabled","isAdvancedExtractAgentEnabled","isDeleteConfirmationModalCheckboxEnabled","isSessionInitiated","isLargeFile","setIsLargeFile","editingTemplate","setEditingTemplate","isUnsavedChangesModalOpen","setIsUnsavedChangesModalOpen","isDeleteButtonDisabled","setIsDeleteButtonDisabled","appliedTemplateInstances","setAppliedTemplateInstances","pendingTemplateToEdit","setPendingTemplateToEdit","shouldFetchStructuredTextRep","toLowerCase","options","token","then","read","catch","error","isEditingTemplateAlreadyExisting","some","t","templateKey","scope","length","handleTemplateSelect","selectedTemplate","handleCancel","handleDiscardUnsavedChanges","handleDeleteInstance","metadataInstance","isExistingMetadataInstance","find","templateInstance","id","handleSubmit","values","operations","metadata","visibleTemplateInstances","filter","hidden","isSuccess","SUCCESS","isLoading","LOADING","isViewMode","showEmptyState","showList","areAiSuggestionsAvailable","extension","metadataDropdown","createElement","availableTemplates","selectedTemplates","onSelect","handleSetFilteredTemplates","filteredTemplates","templateInstancesList","filterDropdown","appliedTemplates","setSelectedTemplates","errorMessageDisplay","ERROR","className","taxonomyOptionsFetcher","fieldKey","level","taxonomyNodeFetcher","taxonomyKey","nodeID","current","items","is_large_file","actions","sidebarView","title","sidebarMetadataTitle","subheader","loading","isBoxAiSuggestionsFeatureEnabled","fetchSuggestions","isAiSuggestionsFeatureEnabled","errorCode","onCancel","onDelete","onDiscardUnsavedChanges","onSubmit","template","onEdit","MetadataSidebarRedesignComponent"],"sources":["../../../src/elements/content-sidebar/MetadataSidebarRedesign.tsx"],"sourcesContent":["/**\n * @file Redesigned Metadata sidebar component\n * @author Box\n */\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport flow from 'lodash/flow';\nimport { FormattedMessage, useIntl } from 'react-intl';\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\nimport { InlineError, LoadingIndicator } from '@box/blueprint-web';\nimport {\n AddMetadataTemplateDropdown,\n AutofillContextProvider,\n FilterInstancesDropdown,\n MetadataEmptyState,\n MetadataInstanceList,\n type FormValues,\n type JSONPatchOperations,\n type MetadataTemplate,\n type MetadataTemplateInstance,\n} from '@box/metadata-editor';\nimport { TreeQueryInput } from '@box/combobox-with-api';\n\nimport API from '../../api';\nimport SidebarContent from './SidebarContent';\nimport { withAPIContext } from '../common/api-context';\nimport { withErrorBoundary } from '../common/error-boundary';\nimport { withLogger } from '../common/logger';\nimport { useFeatureEnabled } from '../common/feature-checking';\nimport {\n ORIGIN_METADATA_SIDEBAR_REDESIGN,\n SIDEBAR_VIEW_METADATA,\n ERROR_CODE_METADATA_STRUCTURED_TEXT_REP,\n} from '../../constants';\nimport { EVENT_JS_READY } from '../common/logger/constants';\nimport { mark } from '../../utils/performance';\nimport useSidebarMetadataFetcher, { STATUS } from './hooks/useSidebarMetadataFetcher';\n\nimport { type WithLoggerProps } from '../../common/types/logging';\n\nimport messages from '../common/messages';\nimport './MetadataSidebarRedesign.scss';\nimport MetadataInstanceEditor from './MetadataInstanceEditor';\nimport { convertTemplateToTemplateInstance } from './utils/convertTemplateToTemplateInstance';\nimport { isExtensionSupportedForMetadataSuggestions } from './utils/isExtensionSupportedForMetadataSuggestions';\nimport { metadataTaxonomyFetcher, metadataTaxonomyNodeAncestorsFetcher } from './fetchers/metadataTaxonomyFetcher';\nimport { useMetadataSidebarFilteredTemplates } from './hooks/useMetadataSidebarFilteredTemplates';\n\nconst MARK_NAME_JS_READY = `${ORIGIN_METADATA_SIDEBAR_REDESIGN}_${EVENT_JS_READY}`;\n\nmark(MARK_NAME_JS_READY);\n\nexport interface ExternalProps {\n isFeatureEnabled: boolean;\n getStructuredTextRep?: (fileId: string, accessToken: string) => Promise<string>;\n}\n\ninterface PropsWithoutContext extends ExternalProps {\n elementId: string;\n fileExtension?: string;\n fileId: string;\n filteredTemplateIds?: string[];\n hasSidebarInitialized?: boolean;\n}\n\nexport interface ErrorContextProps {\n onError: (error: Error, code: string, contextInfo?: Record<string, unknown>) => void;\n}\n\nexport interface SuccessContextProps {\n onSuccess: (code: string, showNotification: boolean) => void;\n}\n\nexport interface MetadataSidebarRedesignProps\n extends PropsWithoutContext,\n ErrorContextProps,\n SuccessContextProps,\n WithLoggerProps,\n RouteComponentProps {\n api: API;\n createSessionRequest?: (\n payload: Record<string, unknown>,\n fileId: string,\n ) => Promise<{ metadata: { is_large_file: boolean } }>;\n}\n\nfunction MetadataSidebarRedesign({\n api,\n elementId,\n fileExtension,\n fileId,\n filteredTemplateIds = [],\n history,\n onError,\n onSuccess,\n isFeatureEnabled,\n createSessionRequest,\n getStructuredTextRep,\n}: MetadataSidebarRedesignProps) {\n const {\n clearExtractError,\n extractSuggestions,\n file,\n handleCreateMetadataInstance,\n handleDeleteMetadataInstance,\n handleUpdateMetadataInstance,\n templates,\n extractErrorCode,\n errorMessage,\n status,\n templateInstances,\n } = useSidebarMetadataFetcher(api, fileId, onError, onSuccess, isFeatureEnabled);\n\n const { formatMessage } = useIntl();\n const isBoxAiSuggestionsEnabled: boolean = useFeatureEnabled('metadata.aiSuggestions.enabled');\n const isBetaLanguageEnabled: boolean = useFeatureEnabled('metadata.betaLanguage.enabled');\n const isMetadataMultiLevelTaxonomyFieldEnabled: boolean = useFeatureEnabled('metadata.multilevelTaxonomy.enabled');\n const isAdvancedExtractAgentEnabled: boolean = useFeatureEnabled('metadata.extractAdvancedAgents.enabled');\n const isDeleteConfirmationModalCheckboxEnabled: boolean = useFeatureEnabled(\n 'metadata.deleteConfirmationModalCheckbox.enabled',\n );\n const isSessionInitiated = useRef(false);\n\n const [isLargeFile, setIsLargeFile] = useState<boolean>(false);\n\n const [editingTemplate, setEditingTemplate] = useState<MetadataTemplateInstance | null>(null);\n const [isUnsavedChangesModalOpen, setIsUnsavedChangesModalOpen] = useState<boolean>(false);\n const [isDeleteButtonDisabled, setIsDeleteButtonDisabled] = useState<boolean>(false);\n const [appliedTemplateInstances, setAppliedTemplateInstances] =\n useState<Array<MetadataTemplateInstance | MetadataTemplate>>(templateInstances);\n const [pendingTemplateToEdit, setPendingTemplateToEdit] = useState<MetadataTemplateInstance | null>(null);\n const shouldFetchStructuredTextRep =\n isBoxAiSuggestionsEnabled &&\n fileExtension?.toLowerCase() === 'pdf' &&\n api.options?.token &&\n !!getStructuredTextRep;\n\n // Fetch structured text representation for Box AI\n useEffect(() => {\n if (shouldFetchStructuredTextRep) {\n api.options.token(fileId).then(({ read }) => {\n getStructuredTextRep(fileId, read)\n .then()\n .catch(error => {\n onError(error, ERROR_CODE_METADATA_STRUCTURED_TEXT_REP);\n });\n });\n }\n }, [\n api.options,\n fileExtension,\n fileId,\n getStructuredTextRep,\n isBoxAiSuggestionsEnabled,\n onError,\n shouldFetchStructuredTextRep,\n ]);\n\n useEffect(() => {\n // disable only pre-existing template instances from dropdown if not editing or editing pre-exiting one\n const isEditingTemplateAlreadyExisting =\n editingTemplate &&\n templateInstances.some(\n t => t.templateKey === editingTemplate.templateKey && t.scope === editingTemplate.scope,\n );\n\n if (!editingTemplate || isEditingTemplateAlreadyExisting) {\n setAppliedTemplateInstances(templateInstances);\n } else {\n setAppliedTemplateInstances([...templateInstances, editingTemplate]);\n }\n }, [editingTemplate, templateInstances, templateInstances.length]);\n\n const handleTemplateSelect = (selectedTemplate: MetadataTemplate) => {\n clearExtractError();\n\n if (editingTemplate) {\n setPendingTemplateToEdit(convertTemplateToTemplateInstance(file, selectedTemplate));\n setIsUnsavedChangesModalOpen(true);\n } else {\n setEditingTemplate(convertTemplateToTemplateInstance(file, selectedTemplate));\n setIsDeleteButtonDisabled(true);\n }\n };\n\n const handleCancel = () => {\n clearExtractError();\n setEditingTemplate(null);\n };\n\n const handleDiscardUnsavedChanges = () => {\n // check if user tried to edit another template before unsaved changes modal\n if (pendingTemplateToEdit) {\n setEditingTemplate(pendingTemplateToEdit);\n setIsDeleteButtonDisabled(true);\n\n setPendingTemplateToEdit(null);\n } else {\n handleCancel();\n }\n\n setIsUnsavedChangesModalOpen(false);\n };\n\n const handleDeleteInstance = async (metadataInstance: MetadataTemplateInstance) => {\n try {\n await handleDeleteMetadataInstance(metadataInstance);\n } catch {\n // ignore error, handled in useSidebarMetadataFetcher\n }\n clearExtractError();\n setEditingTemplate(null);\n };\n\n const isExistingMetadataInstance = (): boolean => {\n return (\n editingTemplate && !!templateInstances.find(templateInstance => templateInstance.id === editingTemplate.id)\n );\n };\n\n const handleSubmit = async (values: FormValues, operations: JSONPatchOperations) => {\n if (isExistingMetadataInstance()) {\n await handleUpdateMetadataInstance(values.metadata as MetadataTemplateInstance, operations, () =>\n setEditingTemplate(null),\n );\n } else {\n await handleCreateMetadataInstance(values.metadata as MetadataTemplateInstance, () =>\n setEditingTemplate(null),\n );\n }\n };\n\n const visibleTemplateInstances = templateInstances.filter(templateInstance => !templateInstance.hidden);\n\n const isSuccess = status === STATUS.SUCCESS;\n const isLoading = status === STATUS.LOADING;\n\n const isViewMode = !isLoading && file && templates && templateInstances && !editingTemplate;\n const showEmptyState = isViewMode && visibleTemplateInstances.length === 0;\n const showList = isViewMode && visibleTemplateInstances.length > 0;\n\n const areAiSuggestionsAvailable = isExtensionSupportedForMetadataSuggestions(file?.extension ?? '');\n\n const metadataDropdown = isSuccess && templates && (\n <AddMetadataTemplateDropdown\n availableTemplates={templates}\n selectedTemplates={appliedTemplateInstances as MetadataTemplate[]}\n onSelect={handleTemplateSelect}\n />\n );\n\n const { handleSetFilteredTemplates, filteredTemplates, templateInstancesList } =\n useMetadataSidebarFilteredTemplates(history, filteredTemplateIds, templateInstances);\n const filterDropdown =\n isSuccess && isViewMode && visibleTemplateInstances.length > 1 ? (\n <FilterInstancesDropdown\n appliedTemplates={visibleTemplateInstances as MetadataTemplate[]}\n selectedTemplates={filteredTemplates}\n setSelectedTemplates={handleSetFilteredTemplates}\n />\n ) : null;\n\n const errorMessageDisplay = status === STATUS.ERROR && errorMessage && (\n <InlineError className=\"bcs-MetadataSidebarRedesign-inline-error\">\n <FormattedMessage {...errorMessage} />\n </InlineError>\n );\n\n const taxonomyOptionsFetcher = useCallback(\n (scope: string, templateKey: string, fieldKey: string, level: number, options: TreeQueryInput) =>\n metadataTaxonomyFetcher(api, fileId, scope, templateKey, fieldKey, level, options),\n [api, fileId],\n );\n\n const taxonomyNodeFetcher = useCallback(\n (scope: string, taxonomyKey: string, nodeID: string) =>\n metadataTaxonomyNodeAncestorsFetcher(api, fileId, scope, taxonomyKey, nodeID),\n [api, fileId],\n );\n\n useEffect(() => {\n if (createSessionRequest && fileId && !isSessionInitiated.current) {\n isSessionInitiated.current = true;\n createSessionRequest({ items: [{ id: fileId }] }, fileId).then(\n ({ metadata = { is_large_file: false } }) => {\n setIsLargeFile(metadata.is_large_file);\n },\n );\n }\n }, [createSessionRequest, fileId]);\n\n return (\n <SidebarContent\n actions={metadataDropdown}\n className={'bcs-MetadataSidebarRedesign'}\n elementId={elementId}\n sidebarView={SIDEBAR_VIEW_METADATA}\n title={formatMessage(messages.sidebarMetadataTitle)}\n subheader={filterDropdown}\n >\n <div className=\"bcs-MetadataSidebarRedesign-content\">\n {errorMessageDisplay}\n {isLoading && <LoadingIndicator aria-label={formatMessage(messages.loading)} />}\n {showEmptyState && (\n <MetadataEmptyState level={'file'} isBoxAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled} />\n )}\n <AutofillContextProvider\n fetchSuggestions={extractSuggestions}\n isAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled}\n >\n {editingTemplate && (\n <MetadataInstanceEditor\n areAiSuggestionsAvailable={areAiSuggestionsAvailable}\n errorCode={extractErrorCode}\n isBetaLanguageEnabled={isBetaLanguageEnabled}\n isBoxAiSuggestionsEnabled={isBoxAiSuggestionsEnabled}\n isDeleteButtonDisabled={isDeleteButtonDisabled}\n isDeleteConfirmationModalCheckboxEnabled={isDeleteConfirmationModalCheckboxEnabled}\n isLargeFile={isLargeFile}\n isMetadataMultiLevelTaxonomyFieldEnabled={isMetadataMultiLevelTaxonomyFieldEnabled}\n isUnsavedChangesModalOpen={isUnsavedChangesModalOpen}\n onCancel={handleCancel}\n onDelete={handleDeleteInstance}\n onDiscardUnsavedChanges={handleDiscardUnsavedChanges}\n onSubmit={handleSubmit}\n setIsUnsavedChangesModalOpen={setIsUnsavedChangesModalOpen}\n taxonomyOptionsFetcher={taxonomyOptionsFetcher}\n template={editingTemplate}\n isAdvancedExtractAgentEnabled={isAdvancedExtractAgentEnabled}\n />\n )}\n {showList && (\n <MetadataInstanceList\n areAiSuggestionsAvailable={areAiSuggestionsAvailable}\n isAdvancedExtractAgentEnabled={isAdvancedExtractAgentEnabled}\n isAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled}\n isBetaLanguageEnabled={isBetaLanguageEnabled}\n onEdit={templateInstance => {\n setEditingTemplate(templateInstance);\n setIsDeleteButtonDisabled(false);\n }}\n templateInstances={templateInstancesList}\n taxonomyNodeFetcher={taxonomyNodeFetcher}\n />\n )}\n </AutofillContextProvider>\n </div>\n </SidebarContent>\n );\n}\n\nexport { MetadataSidebarRedesign as MetadataSidebarRedesignComponent };\nexport default flow([\n withRouter,\n withLogger(ORIGIN_METADATA_SIDEBAR_REDESIGN),\n withErrorBoundary(ORIGIN_METADATA_SIDEBAR_REDESIGN),\n withAPIContext,\n])(MetadataSidebarRedesign);\n"],"mappings":"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","ignoreList":[]}
@@ -447,6 +447,35 @@ export const MetadataInstanceEditorAIEnabled = {
447
447
  expect(autofillButton).toBeInTheDocument();
448
448
  }
449
449
  };
450
+ export const MetadataInstanceEditorAIEnabledAdvancedExtractAgent = {
451
+ args: {
452
+ features: _objectSpread(_objectSpread({}, mockFeatures), {}, {
453
+ 'metadata.aiSuggestions.enabled': true,
454
+ 'metadata.extractAdvancedAgents.enabled': true
455
+ })
456
+ },
457
+ play: async ({
458
+ canvasElement
459
+ }) => {
460
+ const canvas = within(canvasElement);
461
+ // Edit one instance
462
+ const editButton = await canvas.findByRole('button', {
463
+ name: 'Edit My Template'
464
+ });
465
+ await userEvent.click(editButton);
466
+
467
+ // Find the SplitButton
468
+ const splitButton = await canvas.findByRole('button', {
469
+ name: /Autofill/
470
+ });
471
+ expect(splitButton).toBeVisible();
472
+ await userEvent.hover(splitButton);
473
+ const dropdownButton = await canvas.findByRole('button', {
474
+ name: 'See agent options.'
475
+ });
476
+ expect(dropdownButton).toBeVisible();
477
+ }
478
+ };
450
479
  export const ShowErrorWhenAIAPIIsUnavailable = {
451
480
  args: {
452
481
  features: _objectSpread(_objectSpread({}, mockFeatures), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataSidebarRedesign-visual.stories.js","names":["act","http","HttpResponse","expect","userEvent","waitFor","within","fn","screen","ContentSidebar","aiSuggestionForDateField","aiSuggestionsForMyAttribute","fileIdWithMetadata","fileIdWithoutMetadata","mockEmptyMetadataInstances","mockEnterpriseMetadataTemplates","mockErrorDeleteMyTemplateMetadataRequest","mockFileRequest","mockFileRequestWithoutMetadata","mockGlobalMetadataTemplates","mockMetadataInstances","mockUserRequest","mockMetadataTemplatesWithMultilevelTaxonomy","mockMetadataTemplatesWithSinglelevelTaxonomy","taxonomyMockHandlers","token","global","TOKEN","defaultMetadataArgs","fileId","isFeatureEnabled","onError","onSuccess","defaultMetadataSidebarProps","mockFeatures","mockLogger","onReadyMetric","endMarkName","console","log","AddTemplateDropdownMenuOn","play","canvasElement","canvas","addTemplateButton","findByRole","name","timeout","toBeInTheDocument","click","customMetadataOption","getByRole","toHaveAttribute","AddTemplateDropdownMenuOnEmpty","args","metadataSidebarProps","isBoxAiSuggestionsEnabled","isBetaLanguageEnabled","options","getAllByRole","toHaveLength","forEach","option","not","FilterInstancesDropdown","filterInstancesButton","firstOption","secondOption","thirdOption","headlines","findAllByRole","level","textContent","toEqual","defaultMockHandlers","get","url","json","response","AddingNewMetadataTemplate","templateHeader","UnsavedChangesModalWhenChoosingDifferentTemplate","myTemplateOption","unsavedChangesModal","EmptyStateWithBoxAiEnabled","_objectSpread","features","EmptyStateWithBoxAiDisabled","MetadataInstanceEditorWithDefinedTemplate","MetadataInstanceEditorWithCustomTemplate","MetadataInstanceEditorCancelChanges","editButton","map","heading","arrayContaining","cancelButton","DeleteButtonIsDisabledWhenAddingNewMetadataTemplate","deleteButton","toBeDisabled","DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance","editMetadataInstanceButton","toBeEnabled","MetadataInstanceEditorAddTemplateAgainAfterCancel","templateMetadataOption","templateMetadataOptionDisabled","templateMetadataOptionEnabled","SwitchEditingTemplateInstances","input","type","templateMetadataOptionA","templateMetadataOptionB","unsavedChangesModalDiscardButton","newTemplateHeader","templateMetadataOptionAAfterSwitch","templateMetadataOptionBAfterSwitch","MetadataInstanceEditorAIEnabled","autofillWithBoxAI","autofillButton","ShowErrorWhenAIAPIIsUnavailable","parameters","msw","handlers","post","status","test","dangerouslyIgnoreUnhandledErrors","errorAlert","findByText","SuggestionsWhenAIAPIResponses","suggestion","replaceButton","getByLabelText","toHaveValue","SuggestionForNewlyCreatedTemplateInstance","ShowErrorOnDelete","delete","confirmModal","confirmInput","confirmButton","ViewMultilevelTaxonomy","multilevelOptionButton","multilevelDialog","ViewSinglelevelTaxonomy","singlelevelOptionButton","singlelevelDialog","EditMultilevelTaxonomy","multilevelInput","optionChip","listbox","expandButtons","hokkaidoOption","getByText","sapporoOption","sapporoSelection","EditSinglelevelTaxonomy","singlelevelInput","blueSelection","blueOption","redOption","greenOption","redSelection","meta","title","component","hasMetadata","logger"],"sources":["../../../../../src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx"],"sourcesContent":["import { act, type ComponentProps } from 'react';\nimport { http, HttpResponse } from 'msw';\nimport { expect, userEvent, waitFor, within, fn, screen } from '@storybook/test';\nimport { type StoryObj, Meta } from '@storybook/react';\nimport type { HttpHandler } from 'msw';\nimport ContentSidebar from '../../ContentSidebar';\nimport MetadataSidebarRedesign from '../../MetadataSidebarRedesign';\nimport {\n aiSuggestionForDateField,\n aiSuggestionsForMyAttribute,\n fileIdWithMetadata,\n fileIdWithoutMetadata,\n mockEmptyMetadataInstances,\n mockEnterpriseMetadataTemplates,\n mockErrorDeleteMyTemplateMetadataRequest,\n mockFileRequest,\n mockFileRequestWithoutMetadata,\n mockGlobalMetadataTemplates,\n mockMetadataInstances,\n} from '../__mocks__/MetadataSidebarRedesignedMocks';\nimport { mockUserRequest } from '../../../common/__mocks__/mockRequests';\nimport {\n mockMetadataTemplatesWithMultilevelTaxonomy,\n mockMetadataTemplatesWithSinglelevelTaxonomy,\n taxonomyMockHandlers,\n} from '../__mocks__/TaxonomyMocks';\n\nconst token = global.TOKEN;\n\nconst defaultMetadataArgs = {\n fileId: fileIdWithMetadata,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst defaultMetadataSidebarProps: ComponentProps<typeof MetadataSidebarRedesign> = {\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst mockFeatures = {\n 'metadata.redesign.enabled': true,\n};\nconst mockLogger = {\n onReadyMetric: ({ endMarkName }) => {\n // eslint-disable-next-line no-console\n console.log(`Logger: onReadyMetric called with endMarkName: ${endMarkName}`);\n },\n};\n\nexport const AddTemplateDropdownMenuOn = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(customMetadataOption).toBeInTheDocument();\n expect(customMetadataOption).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const AddTemplateDropdownMenuOnEmpty = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n isBoxAiSuggestionsEnabled: true,\n isBetaLanguageEnabled: false,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const options = canvas.getAllByRole('option');\n expect(options).toHaveLength(5);\n options.forEach(option => {\n expect(option).not.toHaveAttribute('disabled');\n });\n },\n};\n\nexport const FilterInstancesDropdown = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(\n async () => {\n const filterInstancesButton = await canvas.findByRole('combobox');\n\n expect(filterInstancesButton).toBeInTheDocument();\n await userEvent.click(filterInstancesButton);\n\n const firstOption = canvas.getByRole('option', { name: 'My Template' });\n expect(firstOption).toBeInTheDocument();\n const secondOption = canvas.getByRole('option', { name: 'Select Dropdowns' });\n expect(secondOption).toBeInTheDocument();\n const thirdOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(thirdOption).toBeInTheDocument();\n\n await userEvent.click(firstOption);\n\n const headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines[0].textContent).toEqual('My Template');\n },\n { timeout: 2000 },\n );\n },\n};\n\nconst defaultMockHandlers = [\n http.get(mockUserRequest.url, () => {\n return HttpResponse.json(mockUserRequest.response);\n }),\n http.get(mockFileRequest.url, () => {\n return HttpResponse.json(mockFileRequest.response);\n }),\n http.get(mockFileRequestWithoutMetadata.url, () => {\n return HttpResponse.json(mockFileRequestWithoutMetadata.response);\n }),\n http.get(mockMetadataInstances.url, () => {\n return HttpResponse.json(mockMetadataInstances.response);\n }),\n http.get(mockGlobalMetadataTemplates.url, () => {\n return HttpResponse.json(mockGlobalMetadataTemplates.response);\n }),\n http.get(mockEmptyMetadataInstances.url, () => {\n return HttpResponse.json(mockEmptyMetadataInstances.response);\n }),\n http.get(mockEnterpriseMetadataTemplates.url, () => {\n return HttpResponse.json(mockEnterpriseMetadataTemplates.response);\n }),\n];\n\nexport const AddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const templateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(templateHeader).toBeInTheDocument();\n },\n};\n\nexport const UnsavedChangesModalWhenChoosingDifferentTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n await userEvent.click(addTemplateButton);\n const myTemplateOption = canvas.getByRole('option', { name: 'My Template' });\n expect(myTemplateOption).toBeInTheDocument();\n await userEvent.click(myTemplateOption);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n },\n};\n\nexport const EmptyStateWithBoxAiEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n },\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n};\n\nexport const EmptyStateWithBoxAiDisabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n isBoxAiSuggestionsEnabled: false,\n isBetaLanguageEnabled: false,\n },\n },\n};\n\nexport const MetadataInstanceEditorWithDefinedTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n await userEvent.click(customMetadataOption);\n },\n};\n\nexport const MetadataInstanceEditorWithCustomTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n await act(async () => {\n await userEvent.click(addTemplateButton);\n });\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n await act(async () => {\n await userEvent.click(customMetadataOption);\n });\n },\n};\n\nexport const MetadataInstanceEditorCancelChanges: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n // Edit buttons contains also template name\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editButton).toBeInTheDocument();\n\n let headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n\n // go to edit mode - only edited template is visible\n await userEvent.click(editButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines.map(heading => heading.textContent)).toEqual(expect.arrayContaining(['My Template']));\n\n // cancel editing - back to list view\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n },\n};\n\nexport const DeleteButtonIsDisabledWhenAddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await act(async () => {\n await userEvent.click(addTemplateButton);\n });\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await act(async () => {\n await userEvent.click(customMetadataOption);\n });\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeDisabled();\n },\n};\n\nexport const DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editMetadataInstanceButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editMetadataInstanceButton).toBeInTheDocument();\n await userEvent.click(editMetadataInstanceButton);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeEnabled();\n },\n};\n\nexport const MetadataInstanceEditorAddTemplateAgainAfterCancel: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOption).not.toHaveAttribute('aria-disabled');\n await userEvent.click(templateMetadataOption);\n\n // Check if currently open template is disabled in dropdown\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionDisabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionDisabled).toHaveAttribute('aria-disabled');\n\n // Check if template available again after cancelling\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionEnabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionEnabled).not.toHaveAttribute('aria-disabled');\n },\n};\n\nexport const SwitchEditingTemplateInstances: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: '416047501580',\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // open and edit a new template\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n\n await userEvent.click(templateMetadataOption);\n\n const input = await canvas.findByRole('textbox');\n\n await userEvent.type(input, 'Lorem ipsum dolor.');\n\n // open another template while editing the first one (with discarding changes)\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionA = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionB = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionA).toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionB).not.toHaveAttribute('aria-disabled');\n\n await userEvent.click(templateMetadataOptionB);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n\n const unsavedChangesModalDiscardButton = await screen.findByRole('button', { name: 'Discard Changes' });\n\n await userEvent.click(unsavedChangesModalDiscardButton);\n\n const newTemplateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(newTemplateHeader).toBeInTheDocument();\n\n // check if template buttons disabled correctly after switching editors\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionAAfterSwitch = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionBAfterSwitch = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionAAfterSwitch).not.toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionBAfterSwitch).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const MetadataInstanceEditorAIEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillWithBoxAI = await canvas.findAllByRole('button', { name: /Autofill .+ with Box AI/ });\n expect(autofillWithBoxAI).toHaveLength(2);\n\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n await userEvent.click(editButton);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill' });\n expect(autofillButton).toBeInTheDocument();\n },\n};\n\nexport const 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":["act","http","HttpResponse","expect","userEvent","waitFor","within","fn","screen","ContentSidebar","aiSuggestionForDateField","aiSuggestionsForMyAttribute","fileIdWithMetadata","fileIdWithoutMetadata","mockEmptyMetadataInstances","mockEnterpriseMetadataTemplates","mockErrorDeleteMyTemplateMetadataRequest","mockFileRequest","mockFileRequestWithoutMetadata","mockGlobalMetadataTemplates","mockMetadataInstances","mockUserRequest","mockMetadataTemplatesWithMultilevelTaxonomy","mockMetadataTemplatesWithSinglelevelTaxonomy","taxonomyMockHandlers","token","global","TOKEN","defaultMetadataArgs","fileId","isFeatureEnabled","onError","onSuccess","defaultMetadataSidebarProps","mockFeatures","mockLogger","onReadyMetric","endMarkName","console","log","AddTemplateDropdownMenuOn","play","canvasElement","canvas","addTemplateButton","findByRole","name","timeout","toBeInTheDocument","click","customMetadataOption","getByRole","toHaveAttribute","AddTemplateDropdownMenuOnEmpty","args","metadataSidebarProps","isBoxAiSuggestionsEnabled","isBetaLanguageEnabled","options","getAllByRole","toHaveLength","forEach","option","not","FilterInstancesDropdown","filterInstancesButton","firstOption","secondOption","thirdOption","headlines","findAllByRole","level","textContent","toEqual","defaultMockHandlers","get","url","json","response","AddingNewMetadataTemplate","templateHeader","UnsavedChangesModalWhenChoosingDifferentTemplate","myTemplateOption","unsavedChangesModal","EmptyStateWithBoxAiEnabled","_objectSpread","features","EmptyStateWithBoxAiDisabled","MetadataInstanceEditorWithDefinedTemplate","MetadataInstanceEditorWithCustomTemplate","MetadataInstanceEditorCancelChanges","editButton","map","heading","arrayContaining","cancelButton","DeleteButtonIsDisabledWhenAddingNewMetadataTemplate","deleteButton","toBeDisabled","DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance","editMetadataInstanceButton","toBeEnabled","MetadataInstanceEditorAddTemplateAgainAfterCancel","templateMetadataOption","templateMetadataOptionDisabled","templateMetadataOptionEnabled","SwitchEditingTemplateInstances","input","type","templateMetadataOptionA","templateMetadataOptionB","unsavedChangesModalDiscardButton","newTemplateHeader","templateMetadataOptionAAfterSwitch","templateMetadataOptionBAfterSwitch","MetadataInstanceEditorAIEnabled","autofillWithBoxAI","autofillButton","MetadataInstanceEditorAIEnabledAdvancedExtractAgent","splitButton","toBeVisible","hover","dropdownButton","ShowErrorWhenAIAPIIsUnavailable","parameters","msw","handlers","post","status","test","dangerouslyIgnoreUnhandledErrors","errorAlert","findByText","SuggestionsWhenAIAPIResponses","suggestion","replaceButton","getByLabelText","toHaveValue","SuggestionForNewlyCreatedTemplateInstance","ShowErrorOnDelete","delete","confirmModal","confirmInput","confirmButton","ViewMultilevelTaxonomy","multilevelOptionButton","multilevelDialog","ViewSinglelevelTaxonomy","singlelevelOptionButton","singlelevelDialog","EditMultilevelTaxonomy","multilevelInput","optionChip","listbox","expandButtons","hokkaidoOption","getByText","sapporoOption","sapporoSelection","EditSinglelevelTaxonomy","singlelevelInput","blueSelection","blueOption","redOption","greenOption","redSelection","meta","title","component","hasMetadata","logger"],"sources":["../../../../../src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx"],"sourcesContent":["import { act, type ComponentProps } from 'react';\nimport { http, HttpResponse } from 'msw';\nimport { expect, userEvent, waitFor, within, fn, screen } from '@storybook/test';\nimport { type StoryObj, Meta } from '@storybook/react';\nimport type { HttpHandler } from 'msw';\nimport ContentSidebar from '../../ContentSidebar';\nimport MetadataSidebarRedesign from '../../MetadataSidebarRedesign';\nimport {\n aiSuggestionForDateField,\n aiSuggestionsForMyAttribute,\n fileIdWithMetadata,\n fileIdWithoutMetadata,\n mockEmptyMetadataInstances,\n mockEnterpriseMetadataTemplates,\n mockErrorDeleteMyTemplateMetadataRequest,\n mockFileRequest,\n mockFileRequestWithoutMetadata,\n mockGlobalMetadataTemplates,\n mockMetadataInstances,\n} from '../__mocks__/MetadataSidebarRedesignedMocks';\nimport { mockUserRequest } from '../../../common/__mocks__/mockRequests';\nimport {\n mockMetadataTemplatesWithMultilevelTaxonomy,\n mockMetadataTemplatesWithSinglelevelTaxonomy,\n taxonomyMockHandlers,\n} from '../__mocks__/TaxonomyMocks';\n\nconst token = global.TOKEN;\n\nconst defaultMetadataArgs = {\n fileId: fileIdWithMetadata,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst defaultMetadataSidebarProps: ComponentProps<typeof MetadataSidebarRedesign> = {\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n};\nconst mockFeatures = {\n 'metadata.redesign.enabled': true,\n};\nconst mockLogger = {\n onReadyMetric: ({ endMarkName }) => {\n // eslint-disable-next-line no-console\n console.log(`Logger: onReadyMetric called with endMarkName: ${endMarkName}`);\n },\n};\n\nexport const AddTemplateDropdownMenuOn = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(customMetadataOption).toBeInTheDocument();\n expect(customMetadataOption).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const AddTemplateDropdownMenuOnEmpty = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n isBoxAiSuggestionsEnabled: true,\n isBetaLanguageEnabled: false,\n isFeatureEnabled: true,\n onError: fn(),\n onSuccess: fn(),\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const options = canvas.getAllByRole('option');\n expect(options).toHaveLength(5);\n options.forEach(option => {\n expect(option).not.toHaveAttribute('disabled');\n });\n },\n};\n\nexport const FilterInstancesDropdown = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(\n async () => {\n const filterInstancesButton = await canvas.findByRole('combobox');\n\n expect(filterInstancesButton).toBeInTheDocument();\n await userEvent.click(filterInstancesButton);\n\n const firstOption = canvas.getByRole('option', { name: 'My Template' });\n expect(firstOption).toBeInTheDocument();\n const secondOption = canvas.getByRole('option', { name: 'Select Dropdowns' });\n expect(secondOption).toBeInTheDocument();\n const thirdOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n expect(thirdOption).toBeInTheDocument();\n\n await userEvent.click(firstOption);\n\n const headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines[0].textContent).toEqual('My Template');\n },\n { timeout: 2000 },\n );\n },\n};\n\nconst defaultMockHandlers = [\n http.get(mockUserRequest.url, () => {\n return HttpResponse.json(mockUserRequest.response);\n }),\n http.get(mockFileRequest.url, () => {\n return HttpResponse.json(mockFileRequest.response);\n }),\n http.get(mockFileRequestWithoutMetadata.url, () => {\n return HttpResponse.json(mockFileRequestWithoutMetadata.response);\n }),\n http.get(mockMetadataInstances.url, () => {\n return HttpResponse.json(mockMetadataInstances.response);\n }),\n http.get(mockGlobalMetadataTemplates.url, () => {\n return HttpResponse.json(mockGlobalMetadataTemplates.response);\n }),\n http.get(mockEmptyMetadataInstances.url, () => {\n return HttpResponse.json(mockEmptyMetadataInstances.response);\n }),\n http.get(mockEnterpriseMetadataTemplates.url, () => {\n return HttpResponse.json(mockEnterpriseMetadataTemplates.response);\n }),\n];\n\nexport const AddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const templateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(templateHeader).toBeInTheDocument();\n },\n};\n\nexport const UnsavedChangesModalWhenChoosingDifferentTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n await userEvent.click(addTemplateButton);\n const myTemplateOption = canvas.getByRole('option', { name: 'My Template' });\n expect(myTemplateOption).toBeInTheDocument();\n await userEvent.click(myTemplateOption);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n },\n};\n\nexport const EmptyStateWithBoxAiEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n },\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n};\n\nexport const EmptyStateWithBoxAiDisabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: {\n ...defaultMetadataSidebarProps,\n isBoxAiSuggestionsEnabled: false,\n isBetaLanguageEnabled: false,\n },\n },\n};\n\nexport const MetadataInstanceEditorWithDefinedTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n await userEvent.click(customMetadataOption);\n },\n};\n\nexport const MetadataInstanceEditorWithCustomTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' }, { timeout: 2000 });\n await act(async () => {\n await userEvent.click(addTemplateButton);\n });\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Custom Metadata' });\n await act(async () => {\n await userEvent.click(customMetadataOption);\n });\n },\n};\n\nexport const MetadataInstanceEditorCancelChanges: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n // Edit buttons contains also template name\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editButton).toBeInTheDocument();\n\n let headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n\n // go to edit mode - only edited template is visible\n await userEvent.click(editButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(1);\n expect(headlines.map(heading => heading.textContent)).toEqual(expect.arrayContaining(['My Template']));\n\n // cancel editing - back to list view\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n\n headlines = await canvas.findAllByRole('heading', { level: 4 });\n expect(headlines).toHaveLength(3);\n expect(headlines.map(heading => heading.textContent)).toEqual(\n expect.arrayContaining(['My Template', 'Select Dropdowns', 'Custom Metadata']),\n );\n },\n};\n\nexport const DeleteButtonIsDisabledWhenAddingNewMetadataTemplate: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await act(async () => {\n await userEvent.click(addTemplateButton);\n });\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Virus Scan' });\n expect(customMetadataOption).toBeInTheDocument();\n await act(async () => {\n await userEvent.click(customMetadataOption);\n });\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeDisabled();\n },\n};\n\nexport const DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance: StoryObj<typeof MetadataSidebarRedesign> = {\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editMetadataInstanceButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n expect(editMetadataInstanceButton).toBeInTheDocument();\n await userEvent.click(editMetadataInstanceButton);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n expect(deleteButton).toBeEnabled();\n },\n};\n\nexport const MetadataInstanceEditorAddTemplateAgainAfterCancel: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: fileIdWithoutMetadata,\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOption).not.toHaveAttribute('aria-disabled');\n await userEvent.click(templateMetadataOption);\n\n // Check if currently open template is disabled in dropdown\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionDisabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionDisabled).toHaveAttribute('aria-disabled');\n\n // Check if template available again after cancelling\n const cancelButton = await canvas.findByRole('button', { name: 'Cancel' });\n await userEvent.click(cancelButton);\n await userEvent.click(addTemplateButton);\n const templateMetadataOptionEnabled = canvas.getByRole('option', { name: 'My Template' });\n expect(templateMetadataOptionEnabled).not.toHaveAttribute('aria-disabled');\n },\n};\n\nexport const SwitchEditingTemplateInstances: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n fileId: '416047501580',\n metadataSidebarProps: defaultMetadataSidebarProps,\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // open and edit a new template\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOption = canvas.getByRole('option', { name: 'My Template' });\n\n await userEvent.click(templateMetadataOption);\n\n const input = await canvas.findByRole('textbox');\n\n await userEvent.type(input, 'Lorem ipsum dolor.');\n\n // open another template while editing the first one (with discarding changes)\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionA = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionB = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionA).toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionB).not.toHaveAttribute('aria-disabled');\n\n await userEvent.click(templateMetadataOptionB);\n\n const unsavedChangesModal = await screen.findByRole(\n 'heading',\n { level: 2, name: 'Unsaved Changes' },\n { timeout: 5000 },\n );\n expect(unsavedChangesModal).toBeInTheDocument();\n\n const unsavedChangesModalDiscardButton = await screen.findByRole('button', { name: 'Discard Changes' });\n\n await userEvent.click(unsavedChangesModalDiscardButton);\n\n const newTemplateHeader = await canvas.findByRole('heading', { name: 'Virus Scan' });\n expect(newTemplateHeader).toBeInTheDocument();\n\n // check if template buttons disabled correctly after switching editors\n await userEvent.click(addTemplateButton);\n\n const templateMetadataOptionAAfterSwitch = canvas.getByRole('option', { name: 'My Template' });\n const templateMetadataOptionBAfterSwitch = canvas.getByRole('option', { name: 'Virus Scan' });\n\n expect(templateMetadataOptionAAfterSwitch).not.toHaveAttribute('aria-disabled');\n expect(templateMetadataOptionBAfterSwitch).toHaveAttribute('aria-disabled');\n },\n};\n\nexport const MetadataInstanceEditorAIEnabled: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillWithBoxAI = await canvas.findAllByRole('button', { name: /Autofill .+ with Box AI/ });\n expect(autofillWithBoxAI).toHaveLength(2);\n\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n await userEvent.click(editButton);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill' });\n expect(autofillButton).toBeInTheDocument();\n },\n};\n\nexport const MetadataInstanceEditorAIEnabledAdvancedExtractAgent: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.extractAdvancedAgents.enabled': true,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // Edit one instance\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' });\n await userEvent.click(editButton);\n\n // Find the SplitButton\n const splitButton = await canvas.findByRole('button', { name: /Autofill/ });\n expect(splitButton).toBeVisible();\n\n await userEvent.hover(splitButton);\n const dropdownButton = await canvas.findByRole('button', { name: 'See agent options.' });\n expect(dropdownButton).toBeVisible();\n },\n};\n\nexport const ShowErrorWhenAIAPIIsUnavailable: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () => {\n return new HttpResponse('Not Found', { status: 404 });\n }),\n ],\n },\n test: {\n dangerouslyIgnoreUnhandledErrors: true,\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill My Template with Box AI' });\n await userEvent.click(autofillButton);\n\n const errorAlert = await canvas.findByText('We’re sorry, something went wrong.');\n expect(errorAlert).toBeInTheDocument();\n },\n};\n\nexport const SuggestionsWhenAIAPIResponses: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () =>\n HttpResponse.json(aiSuggestionsForMyAttribute.response),\n ),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill My Template with Box AI' });\n userEvent.click(autofillButton);\n\n const suggestion = await canvas.findByText('it works fine');\n expect(suggestion).toBeInTheDocument();\n\n const replaceButton = await canvas.findByRole('button', { name: 'Clear and Replace' });\n expect(replaceButton).toBeInTheDocument();\n\n await userEvent.click(replaceButton);\n\n const input = canvas.getByLabelText('My Attribute');\n expect(input).toHaveValue('it works fine');\n },\n};\n\nexport const SuggestionForNewlyCreatedTemplateInstance: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.aiSuggestions.enabled': true,\n 'metadata.betalanguage.enabled': false,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.post(aiSuggestionsForMyAttribute.url, () => HttpResponse.json(aiSuggestionForDateField.response)),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const addTemplateButton = await canvas.findByRole('button', { name: 'Add template' });\n expect(addTemplateButton).toBeInTheDocument();\n await userEvent.click(addTemplateButton);\n\n const customMetadataOption = canvas.getByRole('option', { name: 'Date Template' });\n expect(customMetadataOption).toBeInTheDocument();\n await userEvent.click(customMetadataOption);\n\n const templateHeader = await canvas.findByRole('heading', { name: 'Date Template' });\n expect(templateHeader).toBeInTheDocument();\n\n const autofillButton = await canvas.findByRole('button', { name: 'Autofill' });\n userEvent.click(autofillButton);\n\n const suggestion = await canvas.findByText('4/1/2024');\n expect(suggestion).toBeInTheDocument();\n },\n};\n\nexport const ShowErrorOnDelete: StoryObj<typeof MetadataSidebarRedesign> = {\n parameters: {\n msw: {\n handlers: [\n ...defaultMockHandlers,\n http.delete(mockErrorDeleteMyTemplateMetadataRequest.url, () => {\n return HttpResponse.json(mockErrorDeleteMyTemplateMetadataRequest.response, { status: 404 });\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await canvas.findByRole('button', { name: 'Edit My Template' }, { timeout: 2000 });\n await userEvent.click(editButton);\n\n const deleteButton = await canvas.findByRole('button', { name: 'Delete' });\n await userEvent.click(deleteButton);\n\n const confirmModal = await screen.findByRole('dialog', { name: /delete.+/i }, { timeout: 2000 });\n\n const confirmInput = within(confirmModal).getByRole('textbox');\n await userEvent.type(confirmInput, 'My Template');\n\n const confirmButton = within(confirmModal).getByRole('button', { name: 'Confirm' });\n await userEvent.click(confirmButton);\n\n const errorAlert = await canvas.findByText(\n 'An error has occurred while updating metadata. Please refresh the page and try again.',\n );\n expect(errorAlert).toBeInTheDocument();\n },\n};\n\nexport const ViewMultilevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n args: {\n features: {\n ...mockFeatures,\n 'metadata.multilevelTaxonomy.enabled': true,\n },\n },\n parameters: {\n msw: {\n handlers: [\n ...taxonomyMockHandlers,\n http.get(mockMetadataTemplatesWithMultilevelTaxonomy.url, () => {\n return HttpResponse.json(mockMetadataTemplatesWithMultilevelTaxonomy.response);\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(async () => {\n const multilevelOptionButton = canvas.getByRole('button', { name: 'London' });\n\n expect(multilevelOptionButton).toBeInTheDocument();\n\n await userEvent.click(multilevelOptionButton);\n\n const multilevelDialog = screen.getByRole('dialog');\n\n expect(multilevelDialog).toBeInTheDocument();\n });\n },\n};\n\nexport const ViewSinglelevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n parameters: {\n msw: {\n handlers: [\n ...taxonomyMockHandlers,\n http.get(mockMetadataTemplatesWithSinglelevelTaxonomy.url, () => {\n return HttpResponse.json(mockMetadataTemplatesWithSinglelevelTaxonomy.response);\n }),\n ],\n },\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n await waitFor(async () => {\n const singlelevelOptionButton = canvas.getByRole('button', { name: 'Blue' });\n\n expect(singlelevelOptionButton).toBeInTheDocument();\n\n await userEvent.click(singlelevelOptionButton);\n\n const singlelevelDialog = screen.getByRole('dialog');\n\n expect(singlelevelDialog).toBeInTheDocument();\n });\n },\n};\n\nexport const EditMultilevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n ...ViewMultilevelTaxonomy,\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await waitFor(() => canvas.getByRole('button', { name: 'Edit My Taxonomy' }));\n\n await userEvent.click(editButton);\n\n const multilevelInput = canvas.getByRole('combobox');\n const optionChip = canvas.getByRole('button', { name: 'London' });\n\n expect(multilevelInput).toBeInTheDocument();\n expect(optionChip).toBeInTheDocument();\n\n await userEvent.click(multilevelInput);\n\n const listbox = await waitFor(() => canvas.getByRole('listbox'));\n expect(listbox).toBeInTheDocument();\n\n let expandButtons = await waitFor(() => canvas.getAllByRole('button', { name: 'Expand branch' }));\n\n await userEvent.click(expandButtons[1]);\n\n const hokkaidoOption = await waitFor(() => canvas.getByText('Hokkaido'));\n expect(hokkaidoOption).toBeInTheDocument();\n\n expandButtons = await waitFor(() => screen.getAllByRole('button', { name: 'Expand branch' }));\n\n await userEvent.click(expandButtons[2]);\n\n const sapporoOption = await waitFor(() => canvas.getByRole('treeitem', { name: 'Sapporo' }));\n\n expect(sapporoOption).toBeInTheDocument();\n expect(sapporoOption).toHaveAttribute('aria-selected', 'false');\n\n await userEvent.click(sapporoOption);\n\n const sapporoSelection = await waitFor(() => canvas.getByRole('gridcell', { name: 'Sapporo' }));\n\n expect(sapporoOption).toBeInTheDocument();\n expect(sapporoOption).toHaveAttribute('aria-selected', 'true');\n expect(sapporoSelection).toBeInTheDocument();\n },\n};\n\nexport const EditSinglelevelTaxonomy: StoryObj<typeof MetadataSidebarRedesign> = {\n ...ViewSinglelevelTaxonomy,\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n\n const editButton = await waitFor(() => canvas.getByRole('button', { name: 'Edit My Taxonomy' }));\n\n await userEvent.click(editButton);\n\n const singlelevelInput = canvas.getByRole('combobox');\n const blueSelection = canvas.getByRole('gridcell', { name: 'Blue' });\n\n expect(singlelevelInput).toBeInTheDocument();\n expect(blueSelection).toBeInTheDocument();\n\n await userEvent.click(singlelevelInput);\n\n const listbox = await waitFor(() => canvas.getByRole('listbox'));\n expect(listbox).toBeInTheDocument();\n\n const blueOption = await waitFor(() => canvas.getByRole('option', { name: 'Blue' }));\n const redOption = await waitFor(() => canvas.getByRole('option', { name: 'Red' }));\n const greenOption = await waitFor(() => canvas.getByRole('option', { name: 'Green' }));\n\n expect(blueOption).toBeInTheDocument();\n expect(redOption).toBeInTheDocument();\n expect(greenOption).toBeInTheDocument();\n expect(blueOption).toHaveAttribute('aria-selected', 'true');\n expect(redOption).toHaveAttribute('aria-selected', 'false');\n expect(greenOption).toHaveAttribute('aria-selected', 'false');\n\n await userEvent.click(redOption);\n\n const redSelection = await waitFor(() => canvas.getByRole('gridcell', { name: 'Red' }));\n\n expect(redSelection).toBeInTheDocument();\n expect(blueSelection).toBeInTheDocument();\n expect(blueOption).toBeInTheDocument();\n expect(redOption).toBeInTheDocument();\n expect(greenOption).toBeInTheDocument();\n expect(blueOption).toHaveAttribute('aria-selected', 'true');\n expect(redOption).toHaveAttribute('aria-selected', 'true');\n expect(greenOption).toHaveAttribute('aria-selected', 'false');\n },\n};\n\nconst meta: Meta<typeof ContentSidebar> & { parameters: { msw: { handlers: HttpHandler[] } } } = {\n title: 'Elements/ContentSidebar/MetadataSidebarRedesign/tests/visual-regression-tests',\n component: ContentSidebar,\n args: {\n token,\n metadataSidebarProps: {\n ...defaultMetadataArgs,\n },\n hasMetadata: true,\n features: mockFeatures,\n fileId: fileIdWithMetadata,\n logger: mockLogger,\n },\n parameters: {\n msw: {\n handlers: defaultMockHandlers,\n },\n },\n};\n\nexport default meta;\n"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,7 @@ export interface MetadataInstanceEditorProps {
19
19
  setIsUnsavedChangesModalOpen: (isUnsavedChangesModalOpen: boolean) => void;
20
20
  taxonomyOptionsFetcher: TaxonomyOptionsFetcher;
21
21
  template: MetadataTemplateInstance;
22
+ isAdvancedExtractAgentEnabled?: boolean;
22
23
  }
23
24
  declare const MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps>;
24
25
  export default MetadataInstanceEditor;
@@ -39,6 +39,7 @@ export declare const DeleteButtonIsEnabledWhenEditingMetadataTemplateInstance: S
39
39
  export declare const MetadataInstanceEditorAddTemplateAgainAfterCancel: StoryObj<typeof MetadataSidebarRedesign>;
40
40
  export declare const SwitchEditingTemplateInstances: StoryObj<typeof MetadataSidebarRedesign>;
41
41
  export declare const MetadataInstanceEditorAIEnabled: StoryObj<typeof MetadataSidebarRedesign>;
42
+ export declare const MetadataInstanceEditorAIEnabledAdvancedExtractAgent: StoryObj<typeof MetadataSidebarRedesign>;
42
43
  export declare const ShowErrorWhenAIAPIIsUnavailable: StoryObj<typeof MetadataSidebarRedesign>;
43
44
  export declare const SuggestionsWhenAIAPIResponses: StoryObj<typeof MetadataSidebarRedesign>;
44
45
  export declare const SuggestionForNewlyCreatedTemplateInstance: StoryObj<typeof MetadataSidebarRedesign>;
package/i18n/ja-JP.js CHANGED
@@ -627,7 +627,7 @@ export default {
627
627
  "boxui.metadataInstanceEditor.customValue": "値",
628
628
  "boxui.metadataInstanceEditor.customValuePlaceholder": "例: 42",
629
629
  "boxui.metadataInstanceEditor.editTooltip": "メタデータを編集",
630
- "boxui.metadataInstanceEditor.enableAIAutofill": "Box AIの自動入力",
630
+ "boxui.metadataInstanceEditor.enableAIAutofill": "Box AI自動入力",
631
631
  "boxui.metadataInstanceEditor.enableCascadePolicy": "カスケードポリシーを有効にする",
632
632
  "boxui.metadataInstanceEditor.fileMetadataRemoveCustomTemplateConfirm": "このカスタムメタデータおよびそのすべての値をこのファイルから削除してもよろしいですか?",
633
633
  "boxui.metadataInstanceEditor.fileMetadataRemoveTemplateConfirm": "\"{metadataName}\"およびそのすべての値をこのファイルから削除してもよろしいですか?",
@@ -1255,7 +1255,7 @@ boxui.metadataInstanceEditor.customValuePlaceholder = 例: 42
1255
1255
  # Text that shows in a tooltip above the edit pencil button.
1256
1256
  boxui.metadataInstanceEditor.editTooltip = メタデータを編集
1257
1257
  # Label for enable AI autofill toggle switch
1258
- boxui.metadataInstanceEditor.enableAIAutofill = Box AIの自動入力
1258
+ boxui.metadataInstanceEditor.enableAIAutofill = Box AI自動入力
1259
1259
  # Label for enable cascade policy toggle switch
1260
1260
  boxui.metadataInstanceEditor.enableCascadePolicy = カスケードポリシーを有効にする
1261
1261
  # Message for users who may attempt to remove a custom metadata instance for a file. Also non-recoverable