box-ui-elements 25.3.0 → 25.3.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/explorer.js +1 -1
- package/dist/openwith.js +1 -1
- package/dist/picker.js +1 -1
- package/dist/preview.js +1 -1
- package/dist/sharing.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/uploader.js +1 -1
- package/es/constants.js +1 -1
- package/es/elements/content-sidebar/DocGenSidebar/TagTree.js +4 -1
- package/es/elements/content-sidebar/DocGenSidebar/TagTree.js.map +1 -1
- package/es/elements/content-sidebar/SidebarContent.js +1 -1
- package/es/elements/content-sidebar/SidebarContent.js.flow +1 -1
- package/es/elements/content-sidebar/SidebarContent.js.map +1 -1
- package/es/elements/content-sidebar/SidebarNav.js +1 -0
- package/es/elements/content-sidebar/SidebarNav.js.flow +1 -0
- package/es/elements/content-sidebar/SidebarNav.js.map +1 -1
- package/package.json +1 -1
- package/src/elements/content-sidebar/DocGenSidebar/TagTree.tsx +24 -11
- package/src/elements/content-sidebar/SidebarContent.js +1 -1
- package/src/elements/content-sidebar/SidebarNav.js +1 -0
- package/src/elements/content-sidebar/__tests__/MetadataSidebarRedesign.test.tsx +6 -6
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarContent.test.js.snap +2 -2
package/es/constants.js
CHANGED
|
@@ -238,7 +238,7 @@ export const CLIENT_NAME_CONTENT_SIDEBAR = 'ContentSidebar';
|
|
|
238
238
|
export const CLIENT_NAME_CONTENT_UPLOADER = 'ContentUploader';
|
|
239
239
|
export const CLIENT_NAME_FILE_PICKER = 'FilePicker';
|
|
240
240
|
export const CLIENT_NAME_FOLDER_PICKER = 'FolderPicker';
|
|
241
|
-
export const CLIENT_VERSION = '25.3.
|
|
241
|
+
export const CLIENT_VERSION = '25.3.1-beta.1';
|
|
242
242
|
|
|
243
243
|
/* ---------------------- Statuses -------------------------- */
|
|
244
244
|
export const STATUS_PENDING = 'pending';
|
|
@@ -23,7 +23,10 @@ const TagTree = ({
|
|
|
23
23
|
fixed: true,
|
|
24
24
|
className: "bcs-DocGen-collapsible"
|
|
25
25
|
}, /*#__PURE__*/React.createElement("span", {
|
|
26
|
-
className: "bcs-DocGen-tagPath"
|
|
26
|
+
className: "bcs-DocGen-tagPath",
|
|
27
|
+
tabIndex: 0,
|
|
28
|
+
role: "button",
|
|
29
|
+
"aria-disabled": "true"
|
|
27
30
|
}, key));
|
|
28
31
|
}
|
|
29
32
|
return /*#__PURE__*/React.createElement(Accordion.Item, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagTree.js","names":["React","isEmpty","Accordion","TagTree","data","level","createElement","type","className","Object","keys","sort","map","key","Item","value","style","paddingLeft","fixed","title"],"sources":["../../../../src/elements/content-sidebar/DocGenSidebar/TagTree.tsx"],"sourcesContent":["import * as React from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport { Accordion } from '@box/blueprint-web';\n\nimport './DocGenSidebar.scss';\nimport { JsonPathsMap } from './types';\n\ninterface TagTreeProps {\n data?: JsonPathsMap;\n level?: number;\n}\n\nconst TagTree = ({ data, level = 0 }: TagTreeProps) => {\n if (!data) {\n return null;\n }\n\n return (\n <Accordion
|
|
1
|
+
{"version":3,"file":"TagTree.js","names":["React","isEmpty","Accordion","TagTree","data","level","createElement","type","className","Object","keys","sort","map","key","Item","value","style","paddingLeft","fixed","tabIndex","role","title"],"sources":["../../../../src/elements/content-sidebar/DocGenSidebar/TagTree.tsx"],"sourcesContent":["import * as React from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport { Accordion } from '@box/blueprint-web';\n\nimport './DocGenSidebar.scss';\nimport { JsonPathsMap } from './types';\n\ninterface TagTreeProps {\n data?: JsonPathsMap;\n level?: number;\n}\n\nconst TagTree = ({ data, level = 0 }: TagTreeProps) => {\n if (!data) {\n return null;\n }\n\n return (\n <Accordion type=\"multiple\" className=\"bcs-DocGen-accordion\">\n {Object.keys(data)\n .sort()\n .map(key => {\n if (isEmpty(data[key])) {\n return (\n <Accordion.Item\n value={key}\n key={`${key}-${level}`}\n style={{ paddingLeft: `${level * 12}px` }}\n fixed\n className=\"bcs-DocGen-collapsible\"\n >\n <span className=\"bcs-DocGen-tagPath\" tabIndex={0} role=\"button\" aria-disabled=\"true\">\n {key}\n </span>\n </Accordion.Item>\n );\n }\n return (\n <Accordion.Item\n value={key}\n title={key}\n key={`${key}-${level}`}\n style={{ paddingLeft: `${level * 12}px` }}\n className=\"bcs-DocGen-collapsible\"\n >\n {data[key] && <TagTree data={data[key]} level={level + 1} />}\n </Accordion.Item>\n );\n })}\n </Accordion>\n );\n};\n\nexport default TagTree;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,OAAO,MAAM,gBAAgB;AACpC,SAASC,SAAS,QAAQ,oBAAoB;AAE9C,OAAO,sBAAsB;AAQ7B,MAAMC,OAAO,GAAGA,CAAC;EAAEC,IAAI;EAAEC,KAAK,GAAG;AAAgB,CAAC,KAAK;EACnD,IAAI,CAACD,IAAI,EAAE;IACP,OAAO,IAAI;EACf;EAEA,oBACIJ,KAAA,CAAAM,aAAA,CAACJ,SAAS;IAACK,IAAI,EAAC,UAAU;IAACC,SAAS,EAAC;EAAsB,GACtDC,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC,CACbO,IAAI,CAAC,CAAC,CACNC,GAAG,CAACC,GAAG,IAAI;IACR,IAAIZ,OAAO,CAACG,IAAI,CAACS,GAAG,CAAC,CAAC,EAAE;MACpB,oBACIb,KAAA,CAAAM,aAAA,CAACJ,SAAS,CAACY,IAAI;QACXC,KAAK,EAAEF,GAAI;QACXA,GAAG,EAAE,GAAGA,GAAG,IAAIR,KAAK,EAAG;QACvBW,KAAK,EAAE;UAAEC,WAAW,EAAE,GAAGZ,KAAK,GAAG,EAAE;QAAK,CAAE;QAC1Ca,KAAK;QACLV,SAAS,EAAC;MAAwB,gBAElCR,KAAA,CAAAM,aAAA;QAAME,SAAS,EAAC,oBAAoB;QAACW,QAAQ,EAAE,CAAE;QAACC,IAAI,EAAC,QAAQ;QAAC,iBAAc;MAAM,GAC/EP,GACC,CACM,CAAC;IAEzB;IACA,oBACIb,KAAA,CAAAM,aAAA,CAACJ,SAAS,CAACY,IAAI;MACXC,KAAK,EAAEF,GAAI;MACXQ,KAAK,EAAER,GAAI;MACXA,GAAG,EAAE,GAAGA,GAAG,IAAIR,KAAK,EAAG;MACvBW,KAAK,EAAE;QAAEC,WAAW,EAAE,GAAGZ,KAAK,GAAG,EAAE;MAAK,CAAE;MAC1CG,SAAS,EAAC;IAAwB,GAEjCJ,IAAI,CAACS,GAAG,CAAC,iBAAIb,KAAA,CAAAM,aAAA,CAACH,OAAO;MAACC,IAAI,EAAEA,IAAI,CAACS,GAAG,CAAE;MAACR,KAAK,EAAEA,KAAK,GAAG;IAAE,CAAE,CAC/C,CAAC;EAEzB,CAAC,CACE,CAAC;AAEpB,CAAC;AAED,eAAeF,OAAO","ignoreList":[]}
|
|
@@ -32,7 +32,7 @@ const SidebarContent = _ref => {
|
|
|
32
32
|
role: "tabpanel"
|
|
33
33
|
}, rest), /*#__PURE__*/React.createElement("div", {
|
|
34
34
|
className: "bcs-content-header"
|
|
35
|
-
}, title && /*#__PURE__*/React.createElement("
|
|
35
|
+
}, title && /*#__PURE__*/React.createElement("h2", {
|
|
36
36
|
className: "bcs-title"
|
|
37
37
|
}, title), actions), subheader && /*#__PURE__*/React.createElement("div", {
|
|
38
38
|
className: "bcs-content-subheader"
|
|
@@ -31,7 +31,7 @@ const SidebarContent = ({ actions, children, className, elementId, sidebarView,
|
|
|
31
31
|
{...rest}
|
|
32
32
|
>
|
|
33
33
|
<div className="bcs-content-header">
|
|
34
|
-
{title && <
|
|
34
|
+
{title && <h2 className="bcs-title">{title}</h2>}
|
|
35
35
|
{actions}
|
|
36
36
|
</div>
|
|
37
37
|
{subheader && <div className="bcs-content-subheader">{subheader}</div>}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarContent.js","names":["React","classNames","SidebarContent","_ref","actions","children","className","elementId","sidebarView","title","subheader","rest","_objectWithoutProperties","_excluded","label","id","createElement","_extends","role","defaultProps"],"sources":["../../../src/elements/content-sidebar/SidebarContent.js"],"sourcesContent":["/**\n * @flow\n * @file Preview sidebar content component\n * @author Box\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport './SidebarContent.scss';\n\ntype Props = {\n actions?: React.Node,\n children: any,\n className?: string,\n elementId: string,\n sidebarView: string,\n title?: React.Node,\n subheader?: React.Node,\n};\nconst SidebarContent = ({ actions, children, className, elementId, sidebarView, title, subheader, ...rest }: Props) => {\n const label = `${elementId}${elementId === '' ? '' : '_'}${sidebarView}`;\n const id = `${label}-content`;\n\n return (\n <div\n aria-labelledby={label}\n className={classNames('bcs-content', className)}\n data-testid=\"bcs-content\"\n id={id}\n role=\"tabpanel\"\n {...rest}\n >\n <div className=\"bcs-content-header\">\n {title && <
|
|
1
|
+
{"version":3,"file":"SidebarContent.js","names":["React","classNames","SidebarContent","_ref","actions","children","className","elementId","sidebarView","title","subheader","rest","_objectWithoutProperties","_excluded","label","id","createElement","_extends","role","defaultProps"],"sources":["../../../src/elements/content-sidebar/SidebarContent.js"],"sourcesContent":["/**\n * @flow\n * @file Preview sidebar content component\n * @author Box\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport './SidebarContent.scss';\n\ntype Props = {\n actions?: React.Node,\n children: any,\n className?: string,\n elementId: string,\n sidebarView: string,\n title?: React.Node,\n subheader?: React.Node,\n};\nconst SidebarContent = ({ actions, children, className, elementId, sidebarView, title, subheader, ...rest }: Props) => {\n const label = `${elementId}${elementId === '' ? '' : '_'}${sidebarView}`;\n const id = `${label}-content`;\n\n return (\n <div\n aria-labelledby={label}\n className={classNames('bcs-content', className)}\n data-testid=\"bcs-content\"\n id={id}\n role=\"tabpanel\"\n {...rest}\n >\n <div className=\"bcs-content-header\">\n {title && <h2 className=\"bcs-title\">{title}</h2>}\n {actions}\n </div>\n {subheader && <div className=\"bcs-content-subheader\">{subheader}</div>}\n <div className=\"bcs-scroll-content-wrapper\">\n <div className=\"bcs-scroll-content\">{children}</div>\n </div>\n </div>\n );\n};\n\nSidebarContent.defaultProps = {\n elementId: '',\n sidebarView: '',\n};\n\nexport default SidebarContent;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAO,uBAAuB;AAW9B,MAAMC,cAAc,GAAGC,IAAA,IAAgG;EAAA,IAA/F;MAAEC,OAAO;MAAEC,QAAQ;MAAEC,SAAS;MAAEC,SAAS;MAAEC,WAAW;MAAEC,KAAK;MAAEC;IAA0B,CAAC,GAAAP,IAAA;IAAbQ,IAAI,GAAAC,wBAAA,CAAAT,IAAA,EAAAU,SAAA;EACrG,MAAMC,KAAK,GAAG,GAAGP,SAAS,GAAGA,SAAS,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,GAAGC,WAAW,EAAE;EACxE,MAAMO,EAAE,GAAG,GAAGD,KAAK,UAAU;EAE7B,oBACId,KAAA,CAAAgB,aAAA,QAAAC,QAAA;IACI,mBAAiBH,KAAM;IACvBR,SAAS,EAAEL,UAAU,CAAC,aAAa,EAAEK,SAAS,CAAE;IAChD,eAAY,aAAa;IACzBS,EAAE,EAAEA,EAAG;IACPG,IAAI,EAAC;EAAU,GACXP,IAAI,gBAERX,KAAA,CAAAgB,aAAA;IAAKV,SAAS,EAAC;EAAoB,GAC9BG,KAAK,iBAAIT,KAAA,CAAAgB,aAAA;IAAIV,SAAS,EAAC;EAAW,GAAEG,KAAU,CAAC,EAC/CL,OACA,CAAC,EACLM,SAAS,iBAAIV,KAAA,CAAAgB,aAAA;IAAKV,SAAS,EAAC;EAAuB,GAAEI,SAAe,CAAC,eACtEV,KAAA,CAAAgB,aAAA;IAAKV,SAAS,EAAC;EAA4B,gBACvCN,KAAA,CAAAgB,aAAA;IAAKV,SAAS,EAAC;EAAoB,GAAED,QAAc,CAClD,CACJ,CAAC;AAEd,CAAC;AAEDH,cAAc,CAACiB,YAAY,GAAG;EAC1BZ,SAAS,EAAE,EAAE;EACbC,WAAW,EAAE;AACjB,CAAC;AAED,eAAeN,cAAc","ignoreList":[]}
|
|
@@ -125,6 +125,7 @@ const SidebarNav = ({
|
|
|
125
125
|
}, /*#__PURE__*/React.createElement(IconMetadataThick, {
|
|
126
126
|
className: "bcs-SidebarNav-icon"
|
|
127
127
|
})), hasDocGen && /*#__PURE__*/React.createElement(SidebarNavButton, {
|
|
128
|
+
elementId: "",
|
|
128
129
|
"data-resin-target": SIDEBAR_NAV_TARGETS.DOCGEN,
|
|
129
130
|
"data-target-id": "SidebarNavButton-docGen",
|
|
130
131
|
"data-testid": "sidebardocgen",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SidebarNav.js","names":["React","injectIntl","noop","BoxAiLogo","Size6","usePromptFocus","AdditionalTabs","DocGenIcon","IconChatRound","IconDocInfo","IconMagicWand","IconMetadataThick","SidebarNavButton","SidebarNavSign","SidebarNavTablist","SidebarToggle","messages","SIDEBAR_NAV_TARGETS","SIDEBAR_VIEW_ACTIVITY","SIDEBAR_VIEW_BOXAI","SIDEBAR_VIEW_DETAILS","SIDEBAR_VIEW_DOCGEN","SIDEBAR_VIEW_METADATA","SIDEBAR_VIEW_SKILLS","useFeatureConfig","SidebarNav","additionalTabs","elementId","fileId","hasActivity","hasAdditionalTabs","hasBoxAI","hasDetails","hasMetadata","hasSkills","hasDocGen","internalSidebarNavigation","internalSidebarNavigationHandler","intl","isOpen","onNavigate","onPanelChange","routerDisabled","signSidebarProps","enabled","hasBoxSign","disabledTooltip","boxAIDisabledTooltip","showOnlyNavButton","showOnlyBoxAINavButton","focusPrompt","handleSidebarNavButtonClick","sidebarview","createElement","className","formatMessage","sidebarNavLabel","BOXAI","isDisabled","onClick","sidebarView","tooltip","sidebarBoxAITitle","height","width","ACTIVITY","sidebarActivityTitle","DETAILS","sidebarDetailsTitle","SKILLS","sidebarSkillsTitle","METADATA","sidebarMetadataTitle","DOCGEN","sidebarDocGenTooltip","key","tabs"],"sources":["../../../src/elements/content-sidebar/SidebarNav.js"],"sourcesContent":["/**\n * @flow\n * @file Preview sidebar nav component\n * @author Box\n */\n\nimport * as React from 'react';\nimport { injectIntl } from 'react-intl';\nimport type { IntlShape } from 'react-intl';\nimport noop from 'lodash/noop';\n// $FlowFixMe\nimport { BoxAiLogo } from '@box/blueprint-web-assets/icons/Logo';\n// $FlowFixMe\nimport { Size6 } from '@box/blueprint-web-assets/tokens/tokens';\nimport { usePromptFocus } from '@box/box-ai-content-answers';\nimport AdditionalTabs from './additional-tabs';\nimport DocGenIcon from '../../icon/fill/DocGenIcon';\nimport IconChatRound from '../../icons/general/IconChatRound';\nimport IconDocInfo from '../../icons/general/IconDocInfo';\nimport IconMagicWand from '../../icons/general/IconMagicWand';\nimport IconMetadataThick from '../../icons/general/IconMetadataThick';\nimport SidebarNavButton from './SidebarNavButton';\nimport SidebarNavSign from './SidebarNavSign';\nimport SidebarNavTablist from './SidebarNavTablist';\nimport SidebarToggle from './SidebarToggle';\nimport messages from '../common/messages';\nimport { SIDEBAR_NAV_TARGETS } from '../common/interactionTargets';\nimport {\n SIDEBAR_VIEW_ACTIVITY,\n SIDEBAR_VIEW_BOXAI,\n SIDEBAR_VIEW_DETAILS,\n SIDEBAR_VIEW_DOCGEN,\n SIDEBAR_VIEW_METADATA,\n SIDEBAR_VIEW_SKILLS,\n} from '../../constants';\nimport { useFeatureConfig } from '../common/feature-checking';\nimport type { NavigateOptions, AdditionalSidebarTab } from './flowTypes';\nimport type { InternalSidebarNavigation, InternalSidebarNavigationHandler } from '../common/types/SidebarNavigation';\nimport './SidebarNav.scss';\nimport type { SignSidebarProps } from './SidebarNavSign';\n\ntype Props = {\n additionalTabs?: Array<AdditionalSidebarTab>,\n elementId: string,\n fileId: string,\n hasActivity: boolean,\n hasAdditionalTabs: boolean,\n hasBoxAI: boolean,\n hasDetails: boolean,\n hasDocGen?: boolean,\n hasMetadata: boolean,\n hasSkills: boolean,\n internalSidebarNavigation?: InternalSidebarNavigation,\n internalSidebarNavigationHandler?: InternalSidebarNavigationHandler,\n intl: IntlShape,\n isOpen?: boolean,\n onNavigate?: (SyntheticEvent<>, NavigateOptions) => void,\n onPanelChange?: (name: string, isInitialState: boolean) => void,\n routerDisabled?: boolean,\n signSidebarProps: SignSidebarProps,\n};\n\nconst SidebarNav = ({\n additionalTabs,\n elementId,\n fileId,\n hasActivity,\n hasAdditionalTabs,\n hasBoxAI,\n hasDetails,\n hasMetadata,\n hasSkills,\n hasDocGen = false,\n internalSidebarNavigation,\n internalSidebarNavigationHandler,\n intl,\n isOpen,\n onNavigate,\n onPanelChange = noop,\n routerDisabled,\n signSidebarProps,\n}: Props) => {\n const { enabled: hasBoxSign } = signSidebarProps || {};\n const { disabledTooltip: boxAIDisabledTooltip, showOnlyNavButton: showOnlyBoxAINavButton } =\n useFeatureConfig('boxai.sidebar');\n\n const { focusPrompt } = usePromptFocus('.be.bcs');\n\n const handleSidebarNavButtonClick = (sidebarview: string) => {\n onPanelChange(sidebarview, false);\n\n // If the Box AI sidebar is enabled, focus the Box AI sidebar prompt\n if (sidebarview === SIDEBAR_VIEW_BOXAI) {\n focusPrompt();\n }\n };\n\n return (\n <div className=\"bcs-SidebarNav\" aria-label={intl.formatMessage(messages.sidebarNavLabel)}>\n <div className=\"bcs-SidebarNav-tabs\">\n <SidebarNavTablist\n elementId={elementId}\n internalSidebarNavigation={internalSidebarNavigation}\n internalSidebarNavigationHandler={internalSidebarNavigationHandler}\n isOpen={isOpen}\n onNavigate={onNavigate}\n routerDisabled={routerDisabled}\n >\n {hasBoxAI && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.BOXAI}\n data-target-id=\"SidebarNavButton-boxAI\"\n data-testid=\"sidebarboxai\"\n isDisabled={showOnlyBoxAINavButton}\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_BOXAI}\n tooltip={\n showOnlyBoxAINavButton\n ? boxAIDisabledTooltip\n : intl.formatMessage(messages.sidebarBoxAITitle)\n }\n >\n <BoxAiLogo height={Size6} width={Size6} />\n </SidebarNavButton>\n )}\n {hasActivity && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.ACTIVITY}\n data-target-id=\"SidebarNavButton-activity\"\n data-testid=\"sidebaractivity\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_ACTIVITY}\n tooltip={intl.formatMessage(messages.sidebarActivityTitle)}\n >\n <IconChatRound className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasDetails && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.DETAILS}\n data-target-id=\"SidebarNavButton-details\"\n data-testid=\"sidebardetails\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_DETAILS}\n tooltip={intl.formatMessage(messages.sidebarDetailsTitle)}\n >\n <IconDocInfo className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasSkills && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.SKILLS}\n data-target-id=\"SidebarNavButton-skills\"\n data-testid=\"sidebarskills\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_SKILLS}\n tooltip={intl.formatMessage(messages.sidebarSkillsTitle)}\n >\n <IconMagicWand className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasMetadata && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.METADATA}\n data-target-id=\"SidebarNavButton-metadata\"\n data-testid=\"sidebarmetadata\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_METADATA}\n tooltip={intl.formatMessage(messages.sidebarMetadataTitle)}\n >\n <IconMetadataThick className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasDocGen && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.DOCGEN}\n data-target-id=\"SidebarNavButton-docGen\"\n data-testid=\"sidebardocgen\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_DOCGEN}\n tooltip={intl.formatMessage(messages.sidebarDocGenTooltip)}\n >\n <DocGenIcon className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n </SidebarNavTablist>\n\n {hasBoxSign && (\n <div className=\"bcs-SidebarNav-secondary\">\n <SidebarNavSign {...signSidebarProps} />\n </div>\n )}\n\n {hasAdditionalTabs && (\n <div className=\"bcs-SidebarNav-overflow\" data-testid=\"additional-tabs-overflow\">\n <AdditionalTabs key={fileId} tabs={additionalTabs} />\n </div>\n )}\n </div>\n <div className=\"bcs-SidebarNav-footer\">\n <SidebarToggle\n internalSidebarNavigation={internalSidebarNavigation}\n internalSidebarNavigationHandler={internalSidebarNavigationHandler}\n isOpen={isOpen}\n routerDisabled={routerDisabled}\n />\n </div>\n </div>\n );\n};\nexport default injectIntl(SidebarNav);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SidebarNav.js","names":["React","injectIntl","noop","BoxAiLogo","Size6","usePromptFocus","AdditionalTabs","DocGenIcon","IconChatRound","IconDocInfo","IconMagicWand","IconMetadataThick","SidebarNavButton","SidebarNavSign","SidebarNavTablist","SidebarToggle","messages","SIDEBAR_NAV_TARGETS","SIDEBAR_VIEW_ACTIVITY","SIDEBAR_VIEW_BOXAI","SIDEBAR_VIEW_DETAILS","SIDEBAR_VIEW_DOCGEN","SIDEBAR_VIEW_METADATA","SIDEBAR_VIEW_SKILLS","useFeatureConfig","SidebarNav","additionalTabs","elementId","fileId","hasActivity","hasAdditionalTabs","hasBoxAI","hasDetails","hasMetadata","hasSkills","hasDocGen","internalSidebarNavigation","internalSidebarNavigationHandler","intl","isOpen","onNavigate","onPanelChange","routerDisabled","signSidebarProps","enabled","hasBoxSign","disabledTooltip","boxAIDisabledTooltip","showOnlyNavButton","showOnlyBoxAINavButton","focusPrompt","handleSidebarNavButtonClick","sidebarview","createElement","className","formatMessage","sidebarNavLabel","BOXAI","isDisabled","onClick","sidebarView","tooltip","sidebarBoxAITitle","height","width","ACTIVITY","sidebarActivityTitle","DETAILS","sidebarDetailsTitle","SKILLS","sidebarSkillsTitle","METADATA","sidebarMetadataTitle","DOCGEN","sidebarDocGenTooltip","key","tabs"],"sources":["../../../src/elements/content-sidebar/SidebarNav.js"],"sourcesContent":["/**\n * @flow\n * @file Preview sidebar nav component\n * @author Box\n */\n\nimport * as React from 'react';\nimport { injectIntl } from 'react-intl';\nimport type { IntlShape } from 'react-intl';\nimport noop from 'lodash/noop';\n// $FlowFixMe\nimport { BoxAiLogo } from '@box/blueprint-web-assets/icons/Logo';\n// $FlowFixMe\nimport { Size6 } from '@box/blueprint-web-assets/tokens/tokens';\nimport { usePromptFocus } from '@box/box-ai-content-answers';\nimport AdditionalTabs from './additional-tabs';\nimport DocGenIcon from '../../icon/fill/DocGenIcon';\nimport IconChatRound from '../../icons/general/IconChatRound';\nimport IconDocInfo from '../../icons/general/IconDocInfo';\nimport IconMagicWand from '../../icons/general/IconMagicWand';\nimport IconMetadataThick from '../../icons/general/IconMetadataThick';\nimport SidebarNavButton from './SidebarNavButton';\nimport SidebarNavSign from './SidebarNavSign';\nimport SidebarNavTablist from './SidebarNavTablist';\nimport SidebarToggle from './SidebarToggle';\nimport messages from '../common/messages';\nimport { SIDEBAR_NAV_TARGETS } from '../common/interactionTargets';\nimport {\n SIDEBAR_VIEW_ACTIVITY,\n SIDEBAR_VIEW_BOXAI,\n SIDEBAR_VIEW_DETAILS,\n SIDEBAR_VIEW_DOCGEN,\n SIDEBAR_VIEW_METADATA,\n SIDEBAR_VIEW_SKILLS,\n} from '../../constants';\nimport { useFeatureConfig } from '../common/feature-checking';\nimport type { NavigateOptions, AdditionalSidebarTab } from './flowTypes';\nimport type { InternalSidebarNavigation, InternalSidebarNavigationHandler } from '../common/types/SidebarNavigation';\nimport './SidebarNav.scss';\nimport type { SignSidebarProps } from './SidebarNavSign';\n\ntype Props = {\n additionalTabs?: Array<AdditionalSidebarTab>,\n elementId: string,\n fileId: string,\n hasActivity: boolean,\n hasAdditionalTabs: boolean,\n hasBoxAI: boolean,\n hasDetails: boolean,\n hasDocGen?: boolean,\n hasMetadata: boolean,\n hasSkills: boolean,\n internalSidebarNavigation?: InternalSidebarNavigation,\n internalSidebarNavigationHandler?: InternalSidebarNavigationHandler,\n intl: IntlShape,\n isOpen?: boolean,\n onNavigate?: (SyntheticEvent<>, NavigateOptions) => void,\n onPanelChange?: (name: string, isInitialState: boolean) => void,\n routerDisabled?: boolean,\n signSidebarProps: SignSidebarProps,\n};\n\nconst SidebarNav = ({\n additionalTabs,\n elementId,\n fileId,\n hasActivity,\n hasAdditionalTabs,\n hasBoxAI,\n hasDetails,\n hasMetadata,\n hasSkills,\n hasDocGen = false,\n internalSidebarNavigation,\n internalSidebarNavigationHandler,\n intl,\n isOpen,\n onNavigate,\n onPanelChange = noop,\n routerDisabled,\n signSidebarProps,\n}: Props) => {\n const { enabled: hasBoxSign } = signSidebarProps || {};\n const { disabledTooltip: boxAIDisabledTooltip, showOnlyNavButton: showOnlyBoxAINavButton } =\n useFeatureConfig('boxai.sidebar');\n\n const { focusPrompt } = usePromptFocus('.be.bcs');\n\n const handleSidebarNavButtonClick = (sidebarview: string) => {\n onPanelChange(sidebarview, false);\n\n // If the Box AI sidebar is enabled, focus the Box AI sidebar prompt\n if (sidebarview === SIDEBAR_VIEW_BOXAI) {\n focusPrompt();\n }\n };\n\n return (\n <div className=\"bcs-SidebarNav\" aria-label={intl.formatMessage(messages.sidebarNavLabel)}>\n <div className=\"bcs-SidebarNav-tabs\">\n <SidebarNavTablist\n elementId={elementId}\n internalSidebarNavigation={internalSidebarNavigation}\n internalSidebarNavigationHandler={internalSidebarNavigationHandler}\n isOpen={isOpen}\n onNavigate={onNavigate}\n routerDisabled={routerDisabled}\n >\n {hasBoxAI && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.BOXAI}\n data-target-id=\"SidebarNavButton-boxAI\"\n data-testid=\"sidebarboxai\"\n isDisabled={showOnlyBoxAINavButton}\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_BOXAI}\n tooltip={\n showOnlyBoxAINavButton\n ? boxAIDisabledTooltip\n : intl.formatMessage(messages.sidebarBoxAITitle)\n }\n >\n <BoxAiLogo height={Size6} width={Size6} />\n </SidebarNavButton>\n )}\n {hasActivity && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.ACTIVITY}\n data-target-id=\"SidebarNavButton-activity\"\n data-testid=\"sidebaractivity\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_ACTIVITY}\n tooltip={intl.formatMessage(messages.sidebarActivityTitle)}\n >\n <IconChatRound className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasDetails && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.DETAILS}\n data-target-id=\"SidebarNavButton-details\"\n data-testid=\"sidebardetails\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_DETAILS}\n tooltip={intl.formatMessage(messages.sidebarDetailsTitle)}\n >\n <IconDocInfo className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasSkills && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.SKILLS}\n data-target-id=\"SidebarNavButton-skills\"\n data-testid=\"sidebarskills\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_SKILLS}\n tooltip={intl.formatMessage(messages.sidebarSkillsTitle)}\n >\n <IconMagicWand className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasMetadata && (\n <SidebarNavButton\n data-resin-target={SIDEBAR_NAV_TARGETS.METADATA}\n data-target-id=\"SidebarNavButton-metadata\"\n data-testid=\"sidebarmetadata\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_METADATA}\n tooltip={intl.formatMessage(messages.sidebarMetadataTitle)}\n >\n <IconMetadataThick className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n {hasDocGen && (\n <SidebarNavButton\n elementId=\"\"\n data-resin-target={SIDEBAR_NAV_TARGETS.DOCGEN}\n data-target-id=\"SidebarNavButton-docGen\"\n data-testid=\"sidebardocgen\"\n onClick={handleSidebarNavButtonClick}\n sidebarView={SIDEBAR_VIEW_DOCGEN}\n tooltip={intl.formatMessage(messages.sidebarDocGenTooltip)}\n >\n <DocGenIcon className=\"bcs-SidebarNav-icon\" />\n </SidebarNavButton>\n )}\n </SidebarNavTablist>\n\n {hasBoxSign && (\n <div className=\"bcs-SidebarNav-secondary\">\n <SidebarNavSign {...signSidebarProps} />\n </div>\n )}\n\n {hasAdditionalTabs && (\n <div className=\"bcs-SidebarNav-overflow\" data-testid=\"additional-tabs-overflow\">\n <AdditionalTabs key={fileId} tabs={additionalTabs} />\n </div>\n )}\n </div>\n <div className=\"bcs-SidebarNav-footer\">\n <SidebarToggle\n internalSidebarNavigation={internalSidebarNavigation}\n internalSidebarNavigationHandler={internalSidebarNavigationHandler}\n isOpen={isOpen}\n routerDisabled={routerDisabled}\n />\n </div>\n </div>\n );\n};\nexport default injectIntl(SidebarNav);\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -16,23 +16,36 @@ const TagTree = ({ data, level = 0 }: TagTreeProps) => {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
return (
|
|
19
|
-
<Accordion
|
|
20
|
-
type='multiple'
|
|
21
|
-
className="bcs-DocGen-accordion"
|
|
22
|
-
>
|
|
19
|
+
<Accordion type="multiple" className="bcs-DocGen-accordion">
|
|
23
20
|
{Object.keys(data)
|
|
24
21
|
.sort()
|
|
25
22
|
.map(key => {
|
|
26
23
|
if (isEmpty(data[key])) {
|
|
27
|
-
return(
|
|
28
|
-
<Accordion.Item
|
|
29
|
-
|
|
24
|
+
return (
|
|
25
|
+
<Accordion.Item
|
|
26
|
+
value={key}
|
|
27
|
+
key={`${key}-${level}`}
|
|
28
|
+
style={{ paddingLeft: `${level * 12}px` }}
|
|
29
|
+
fixed
|
|
30
|
+
className="bcs-DocGen-collapsible"
|
|
31
|
+
>
|
|
32
|
+
<span className="bcs-DocGen-tagPath" tabIndex={0} role="button" aria-disabled="true">
|
|
33
|
+
{key}
|
|
34
|
+
</span>
|
|
30
35
|
</Accordion.Item>
|
|
31
|
-
)
|
|
36
|
+
);
|
|
32
37
|
}
|
|
33
|
-
return (
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
return (
|
|
39
|
+
<Accordion.Item
|
|
40
|
+
value={key}
|
|
41
|
+
title={key}
|
|
42
|
+
key={`${key}-${level}`}
|
|
43
|
+
style={{ paddingLeft: `${level * 12}px` }}
|
|
44
|
+
className="bcs-DocGen-collapsible"
|
|
45
|
+
>
|
|
46
|
+
{data[key] && <TagTree data={data[key]} level={level + 1} />}
|
|
47
|
+
</Accordion.Item>
|
|
48
|
+
);
|
|
36
49
|
})}
|
|
37
50
|
</Accordion>
|
|
38
51
|
);
|
|
@@ -31,7 +31,7 @@ const SidebarContent = ({ actions, children, className, elementId, sidebarView,
|
|
|
31
31
|
{...rest}
|
|
32
32
|
>
|
|
33
33
|
<div className="bcs-content-header">
|
|
34
|
-
{title && <
|
|
34
|
+
{title && <h2 className="bcs-title">{title}</h2>}
|
|
35
35
|
{actions}
|
|
36
36
|
</div>
|
|
37
37
|
{subheader && <div className="bcs-content-subheader">{subheader}</div>}
|
|
@@ -139,7 +139,7 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => {
|
|
|
139
139
|
test('should render title', () => {
|
|
140
140
|
renderComponent();
|
|
141
141
|
|
|
142
|
-
expect(screen.getByRole('heading', { level:
|
|
142
|
+
expect(screen.getByRole('heading', { level: 2, name: 'Metadata' })).toBeInTheDocument();
|
|
143
143
|
});
|
|
144
144
|
|
|
145
145
|
test('should have accessible "All templates" combobox trigger button', () => {
|
|
@@ -229,7 +229,7 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => {
|
|
|
229
229
|
const errorMessage = { id: 'error', defaultMessage: 'error message' };
|
|
230
230
|
renderComponent();
|
|
231
231
|
|
|
232
|
-
expect(screen.getByRole('heading', { level:
|
|
232
|
+
expect(screen.getByRole('heading', { level: 2, name: 'Metadata' })).toBeInTheDocument();
|
|
233
233
|
expect(screen.getByText(errorMessage.defaultMessage)).toBeInTheDocument();
|
|
234
234
|
});
|
|
235
235
|
|
|
@@ -250,7 +250,7 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => {
|
|
|
250
250
|
|
|
251
251
|
renderComponent();
|
|
252
252
|
|
|
253
|
-
expect(screen.getByRole('heading', { level:
|
|
253
|
+
expect(screen.getByRole('heading', { level: 2, name: 'Metadata' })).toBeInTheDocument();
|
|
254
254
|
expect(screen.getByRole('status', { name: 'Loading' })).toBeInTheDocument();
|
|
255
255
|
expect(screen.getByRole('status', { name: 'Loading' })).toBeInTheDocument();
|
|
256
256
|
});
|
|
@@ -315,7 +315,7 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => {
|
|
|
315
315
|
|
|
316
316
|
renderComponent();
|
|
317
317
|
|
|
318
|
-
expect(screen.getByRole('heading', { level:
|
|
318
|
+
expect(screen.getByRole('heading', { level: 2, name: 'Metadata' })).toBeInTheDocument();
|
|
319
319
|
expect(screen.getByRole('heading', { level: 4, name: 'Custom Metadata' })).toBeInTheDocument();
|
|
320
320
|
expect(screen.getByText(mockCustomTemplateInstance.fields[0].key)).toBeInTheDocument();
|
|
321
321
|
expect(screen.getByText(mockCustomTemplateInstance.fields[1].key)).toBeInTheDocument();
|
|
@@ -391,7 +391,7 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => {
|
|
|
391
391
|
|
|
392
392
|
renderComponent({ filteredTemplateIds });
|
|
393
393
|
|
|
394
|
-
expect(screen.getByRole('heading', { level:
|
|
394
|
+
expect(screen.getByRole('heading', { level: 2, name: 'Metadata' })).toBeInTheDocument();
|
|
395
395
|
expect(screen.getByRole('heading', { level: 4, name: 'Visible Template' })).toBeInTheDocument();
|
|
396
396
|
expect(screen.queryByRole('heading', { level: 4, name: 'Custom Metadata' })).not.toBeInTheDocument();
|
|
397
397
|
});
|
|
@@ -415,7 +415,7 @@ describe('elements/content-sidebar/Metadata/MetadataSidebarRedesign', () => {
|
|
|
415
415
|
|
|
416
416
|
renderComponent({ filteredTemplateIds });
|
|
417
417
|
|
|
418
|
-
expect(screen.getByRole('heading', { level:
|
|
418
|
+
expect(screen.getByRole('heading', { level: 2, name: 'Metadata' })).toBeInTheDocument();
|
|
419
419
|
expect(screen.getByRole('heading', { level: 4, name: 'Custom Metadata' })).toBeInTheDocument();
|
|
420
420
|
expect(screen.getByText(mockCustomTemplateInstance.fields[0].key)).toBeInTheDocument();
|
|
421
421
|
expect(screen.getByText(mockCustomTemplateInstance.fields[1].key)).toBeInTheDocument();
|
|
@@ -11,11 +11,11 @@ exports[`elements/content-sidebar/SidebarContent should render sidebar content c
|
|
|
11
11
|
<div
|
|
12
12
|
className="bcs-content-header"
|
|
13
13
|
>
|
|
14
|
-
<
|
|
14
|
+
<h2
|
|
15
15
|
className="bcs-title"
|
|
16
16
|
>
|
|
17
17
|
title
|
|
18
|
-
</
|
|
18
|
+
</h2>
|
|
19
19
|
</div>
|
|
20
20
|
<div
|
|
21
21
|
className="bcs-scroll-content-wrapper"
|