box-ui-elements 23.4.0-beta.25 → 23.4.0-beta.27

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 (62) hide show
  1. package/dist/explorer.js +1 -1
  2. package/dist/openwith.js +1 -1
  3. package/dist/picker.js +1 -1
  4. package/dist/preview.js +1 -1
  5. package/dist/sharing.js +1 -1
  6. package/dist/sidebar.js +1 -1
  7. package/dist/uploader.js +1 -1
  8. package/es/components/breadcrumb/Breadcrumb.js +2 -1
  9. package/es/components/breadcrumb/Breadcrumb.js.flow +1 -0
  10. package/es/components/breadcrumb/Breadcrumb.js.map +1 -1
  11. package/es/elements/common/sub-header/SubHeader.js +37 -30
  12. package/es/elements/common/sub-header/SubHeader.js.map +1 -1
  13. package/es/elements/common/sub-header/SubHeaderRight.js +17 -3
  14. package/es/elements/common/sub-header/SubHeaderRight.js.map +1 -1
  15. package/es/elements/common/sub-header/messages.js +9 -0
  16. package/es/elements/common/sub-header/messages.js.map +1 -0
  17. package/es/elements/content-explorer/Content.js +3 -3
  18. package/es/elements/content-explorer/Content.js.map +1 -1
  19. package/es/elements/content-explorer/ContentExplorer.js +2 -2
  20. package/es/elements/content-explorer/ContentExplorer.js.map +1 -1
  21. package/es/features/item-details/RetentionPolicy.js +2 -1
  22. package/es/features/item-details/RetentionPolicy.js.flow +5 -1
  23. package/es/features/item-details/RetentionPolicy.js.map +1 -1
  24. package/es/src/elements/common/sub-header/messages.d.ts +8 -0
  25. package/i18n/bn-IN.js +1 -0
  26. package/i18n/da-DK.js +1 -0
  27. package/i18n/de-DE.js +1 -0
  28. package/i18n/en-AU.js +1 -0
  29. package/i18n/en-CA.js +1 -0
  30. package/i18n/en-GB.js +1 -0
  31. package/i18n/en-US.js +1 -0
  32. package/i18n/en-US.properties +2 -0
  33. package/i18n/en-x-pseudo.js +4 -3
  34. package/i18n/es-419.js +1 -0
  35. package/i18n/es-ES.js +1 -0
  36. package/i18n/fi-FI.js +1 -0
  37. package/i18n/fr-CA.js +1 -0
  38. package/i18n/fr-FR.js +1 -0
  39. package/i18n/hi-IN.js +1 -0
  40. package/i18n/it-IT.js +1 -0
  41. package/i18n/ja-JP.js +1 -0
  42. package/i18n/ko-KR.js +1 -0
  43. package/i18n/nb-NO.js +1 -0
  44. package/i18n/nl-NL.js +1 -0
  45. package/i18n/pl-PL.js +1 -0
  46. package/i18n/pt-BR.js +1 -0
  47. package/i18n/ru-RU.js +1 -0
  48. package/i18n/sv-SE.js +1 -0
  49. package/i18n/tr-TR.js +1 -0
  50. package/i18n/zh-CN.js +1 -0
  51. package/i18n/zh-TW.js +1 -0
  52. package/package.json +1 -1
  53. package/src/components/breadcrumb/Breadcrumb.js +1 -0
  54. package/src/elements/common/sub-header/SubHeader.tsx +46 -35
  55. package/src/elements/common/sub-header/SubHeaderRight.tsx +43 -22
  56. package/src/elements/common/sub-header/messages.ts +11 -0
  57. package/src/elements/content-explorer/Content.tsx +3 -5
  58. package/src/elements/content-explorer/ContentExplorer.tsx +24 -26
  59. package/src/elements/content-explorer/__tests__/ContentExplorer.test.tsx +35 -2
  60. package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarFileProperties.test.js.snap +2 -0
  61. package/src/features/item-details/RetentionPolicy.js +5 -1
  62. package/src/features/item-details/__tests__/__snapshots__/RetentionPolicy.test.js.snap +1 -0
@@ -43,7 +43,8 @@ const Breadcrumb = ({
43
43
  className: classNames({
44
44
  'no-shrink': hasEllipsis && i === numItemsBeforeOverflow
45
45
  }),
46
- isLastCrumb: isLastCrumb
46
+ isLastCrumb: isLastCrumb,
47
+ key: `breadcrumb-${i}`
47
48
  }, item);
48
49
  });
49
50
  };
@@ -71,6 +71,7 @@ const Breadcrumb = ({
71
71
  <Crumb
72
72
  className={classNames({ 'no-shrink': hasEllipsis && i === numItemsBeforeOverflow })}
73
73
  isLastCrumb={isLastCrumb}
74
+ key={`breadcrumb-${i}`}
74
75
  >
75
76
  {item}
76
77
  </Crumb>
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","names":["React","injectIntl","classNames","MenuLinkItem","EllipsisCrumb","Crumb","messages","Breadcrumb","children","className","hasReverseOverflowOrder","intl","numItemsBeforeOverflow","overflowMenuButton","threshold","breadcrumbs","Children","toArray","constructChildren","overflowItems","slice","length","dotDotDotItems","reverse","menuCrumbsItems","createElement","menuButton","map","crumb","index","key","renderBreadcrumbs","newChildren","hasEllipsis","item","i","isLastCrumb","formatMessage","breadcrumbLabel","BreadcrumbBase"],"sources":["../../../src/components/breadcrumb/Breadcrumb.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport { injectIntl } from 'react-intl';\nimport type { IntlShape } from 'react-intl';\nimport classNames from 'classnames';\n\nimport { MenuLinkItem } from '../menu';\nimport EllipsisCrumb from './EllipsisCrumb';\nimport Crumb from './Crumb';\nimport messages from './messages';\n\nimport './Breadcrumb.scss';\n\nexport type BreadcrumbProps = {\n /** Breadcrumb contents */\n children: React.Node,\n /** Class name for Breadcrumb */\n className?: string,\n /** Reverse default overflow breadcrumb ordering to highest to lowest depth */\n hasReverseOverflowOrder?: boolean,\n intl: IntlShape,\n /** Show number of breadcrumb items before overflow. Default is 1 */\n numItemsBeforeOverflow?: number,\n /** Element to override default overflow menu button */\n overflowMenuButton?: React.Node,\n /** Number of crumbs to show before they collapse into an ellipsis */\n threshold?: number,\n};\n\ntype Props = BreadcrumbProps;\n\nconst Breadcrumb = ({\n children,\n className = '',\n hasReverseOverflowOrder = false,\n intl,\n numItemsBeforeOverflow = 1,\n overflowMenuButton,\n threshold = 4,\n}: Props) => {\n const breadcrumbs = React.Children.toArray(children);\n\n const constructChildren = () => {\n const overflowItems = breadcrumbs.slice(numItemsBeforeOverflow, breadcrumbs.length + 1 - threshold);\n const dotDotDotItems = hasReverseOverflowOrder ? overflowItems : overflowItems.reverse();\n\n const menuCrumbsItems = (\n <EllipsisCrumb menuButton={overflowMenuButton}>\n {dotDotDotItems.map((crumb, index) => (\n <MenuLinkItem key={index}>{crumb}</MenuLinkItem>\n ))}\n </EllipsisCrumb>\n );\n return [...breadcrumbs.slice(0, numItemsBeforeOverflow), menuCrumbsItems, ...breadcrumbs.slice(1 - threshold)];\n };\n\n const renderBreadcrumbs = () => {\n let newChildren = breadcrumbs;\n let { length } = breadcrumbs;\n let hasEllipsis = false;\n\n if (length > threshold) {\n newChildren = constructChildren();\n length = newChildren.length;\n hasEllipsis = true;\n }\n\n return React.Children.map(newChildren, (item, i) => {\n const isLastCrumb = length === 0 || i === length - 1;\n return (\n <Crumb\n className={classNames({ 'no-shrink': hasEllipsis && i === numItemsBeforeOverflow })}\n isLastCrumb={isLastCrumb}\n >\n {item}\n </Crumb>\n );\n });\n };\n\n return (\n <nav aria-label={intl.formatMessage(messages.breadcrumbLabel)} className={classNames('breadcrumbs', className)}>\n <ol>{renderBreadcrumbs()}</ol>\n </nav>\n );\n};\n\nexport { Breadcrumb as BreadcrumbBase };\nexport default injectIntl(Breadcrumb);\n"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,QAAQ,YAAY;AAEvC,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,YAAY,QAAQ,SAAS;AACtC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,QAAQ,MAAM,YAAY;AAEjC,OAAO,mBAAmB;AAoB1B,MAAMC,UAAU,GAAGA,CAAC;EAChBC,QAAQ;EACRC,SAAS,GAAG,EAAE;EACdC,uBAAuB,GAAG,KAAK;EAC/BC,IAAI;EACJC,sBAAsB,GAAG,CAAC;EAC1BC,kBAAkB;EAClBC,SAAS,GAAG;AACT,CAAC,KAAK;EACT,MAAMC,WAAW,GAAGf,KAAK,CAACgB,QAAQ,CAACC,OAAO,CAACT,QAAQ,CAAC;EAEpD,MAAMU,iBAAiB,GAAGA,CAAA,KAAM;IAC5B,MAAMC,aAAa,GAAGJ,WAAW,CAACK,KAAK,CAACR,sBAAsB,EAAEG,WAAW,CAACM,MAAM,GAAG,CAAC,GAAGP,SAAS,CAAC;IACnG,MAAMQ,cAAc,GAAGZ,uBAAuB,GAAGS,aAAa,GAAGA,aAAa,CAACI,OAAO,CAAC,CAAC;IAExF,MAAMC,eAAe,gBACjBxB,KAAA,CAAAyB,aAAA,CAACrB,aAAa;MAACsB,UAAU,EAAEb;IAAmB,GACzCS,cAAc,CAACK,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,kBAC7B7B,KAAA,CAAAyB,aAAA,CAACtB,YAAY;MAAC2B,GAAG,EAAED;IAAM,GAAED,KAAoB,CAClD,CACU,CAClB;IACD,OAAO,CAAC,GAAGb,WAAW,CAACK,KAAK,CAAC,CAAC,EAAER,sBAAsB,CAAC,EAAEY,eAAe,EAAE,GAAGT,WAAW,CAACK,KAAK,CAAC,CAAC,GAAGN,SAAS,CAAC,CAAC;EAClH,CAAC;EAED,MAAMiB,iBAAiB,GAAGA,CAAA,KAAM;IAC5B,IAAIC,WAAW,GAAGjB,WAAW;IAC7B,IAAI;MAAEM;IAAO,CAAC,GAAGN,WAAW;IAC5B,IAAIkB,WAAW,GAAG,KAAK;IAEvB,IAAIZ,MAAM,GAAGP,SAAS,EAAE;MACpBkB,WAAW,GAAGd,iBAAiB,CAAC,CAAC;MACjCG,MAAM,GAAGW,WAAW,CAACX,MAAM;MAC3BY,WAAW,GAAG,IAAI;IACtB;IAEA,OAAOjC,KAAK,CAACgB,QAAQ,CAACW,GAAG,CAACK,WAAW,EAAE,CAACE,IAAI,EAAEC,CAAC,KAAK;MAChD,MAAMC,WAAW,GAAGf,MAAM,KAAK,CAAC,IAAIc,CAAC,KAAKd,MAAM,GAAG,CAAC;MACpD,oBACIrB,KAAA,CAAAyB,aAAA,CAACpB,KAAK;QACFI,SAAS,EAAEP,UAAU,CAAC;UAAE,WAAW,EAAE+B,WAAW,IAAIE,CAAC,KAAKvB;QAAuB,CAAC,CAAE;QACpFwB,WAAW,EAAEA;MAAY,GAExBF,IACE,CAAC;IAEhB,CAAC,CAAC;EACN,CAAC;EAED,oBACIlC,KAAA,CAAAyB,aAAA;IAAK,cAAYd,IAAI,CAAC0B,aAAa,CAAC/B,QAAQ,CAACgC,eAAe,CAAE;IAAC7B,SAAS,EAAEP,UAAU,CAAC,aAAa,EAAEO,SAAS;EAAE,gBAC3GT,KAAA,CAAAyB,aAAA,aAAKM,iBAAiB,CAAC,CAAM,CAC5B,CAAC;AAEd,CAAC;AAED,SAASxB,UAAU,IAAIgC,cAAc;AACrC,eAAetC,UAAU,CAACM,UAAU,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Breadcrumb.js","names":["React","injectIntl","classNames","MenuLinkItem","EllipsisCrumb","Crumb","messages","Breadcrumb","children","className","hasReverseOverflowOrder","intl","numItemsBeforeOverflow","overflowMenuButton","threshold","breadcrumbs","Children","toArray","constructChildren","overflowItems","slice","length","dotDotDotItems","reverse","menuCrumbsItems","createElement","menuButton","map","crumb","index","key","renderBreadcrumbs","newChildren","hasEllipsis","item","i","isLastCrumb","formatMessage","breadcrumbLabel","BreadcrumbBase"],"sources":["../../../src/components/breadcrumb/Breadcrumb.js"],"sourcesContent":["// @flow\nimport * as React from 'react';\nimport { injectIntl } from 'react-intl';\nimport type { IntlShape } from 'react-intl';\nimport classNames from 'classnames';\n\nimport { MenuLinkItem } from '../menu';\nimport EllipsisCrumb from './EllipsisCrumb';\nimport Crumb from './Crumb';\nimport messages from './messages';\n\nimport './Breadcrumb.scss';\n\nexport type BreadcrumbProps = {\n /** Breadcrumb contents */\n children: React.Node,\n /** Class name for Breadcrumb */\n className?: string,\n /** Reverse default overflow breadcrumb ordering to highest to lowest depth */\n hasReverseOverflowOrder?: boolean,\n intl: IntlShape,\n /** Show number of breadcrumb items before overflow. Default is 1 */\n numItemsBeforeOverflow?: number,\n /** Element to override default overflow menu button */\n overflowMenuButton?: React.Node,\n /** Number of crumbs to show before they collapse into an ellipsis */\n threshold?: number,\n};\n\ntype Props = BreadcrumbProps;\n\nconst Breadcrumb = ({\n children,\n className = '',\n hasReverseOverflowOrder = false,\n intl,\n numItemsBeforeOverflow = 1,\n overflowMenuButton,\n threshold = 4,\n}: Props) => {\n const breadcrumbs = React.Children.toArray(children);\n\n const constructChildren = () => {\n const overflowItems = breadcrumbs.slice(numItemsBeforeOverflow, breadcrumbs.length + 1 - threshold);\n const dotDotDotItems = hasReverseOverflowOrder ? overflowItems : overflowItems.reverse();\n\n const menuCrumbsItems = (\n <EllipsisCrumb menuButton={overflowMenuButton}>\n {dotDotDotItems.map((crumb, index) => (\n <MenuLinkItem key={index}>{crumb}</MenuLinkItem>\n ))}\n </EllipsisCrumb>\n );\n return [...breadcrumbs.slice(0, numItemsBeforeOverflow), menuCrumbsItems, ...breadcrumbs.slice(1 - threshold)];\n };\n\n const renderBreadcrumbs = () => {\n let newChildren = breadcrumbs;\n let { length } = breadcrumbs;\n let hasEllipsis = false;\n\n if (length > threshold) {\n newChildren = constructChildren();\n length = newChildren.length;\n hasEllipsis = true;\n }\n\n return React.Children.map(newChildren, (item, i) => {\n const isLastCrumb = length === 0 || i === length - 1;\n return (\n <Crumb\n className={classNames({ 'no-shrink': hasEllipsis && i === numItemsBeforeOverflow })}\n isLastCrumb={isLastCrumb}\n key={`breadcrumb-${i}`}\n >\n {item}\n </Crumb>\n );\n });\n };\n\n return (\n <nav aria-label={intl.formatMessage(messages.breadcrumbLabel)} className={classNames('breadcrumbs', className)}>\n <ol>{renderBreadcrumbs()}</ol>\n </nav>\n );\n};\n\nexport { Breadcrumb as BreadcrumbBase };\nexport default injectIntl(Breadcrumb);\n"],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,QAAQ,YAAY;AAEvC,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,YAAY,QAAQ,SAAS;AACtC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,QAAQ,MAAM,YAAY;AAEjC,OAAO,mBAAmB;AAoB1B,MAAMC,UAAU,GAAGA,CAAC;EAChBC,QAAQ;EACRC,SAAS,GAAG,EAAE;EACdC,uBAAuB,GAAG,KAAK;EAC/BC,IAAI;EACJC,sBAAsB,GAAG,CAAC;EAC1BC,kBAAkB;EAClBC,SAAS,GAAG;AACT,CAAC,KAAK;EACT,MAAMC,WAAW,GAAGf,KAAK,CAACgB,QAAQ,CAACC,OAAO,CAACT,QAAQ,CAAC;EAEpD,MAAMU,iBAAiB,GAAGA,CAAA,KAAM;IAC5B,MAAMC,aAAa,GAAGJ,WAAW,CAACK,KAAK,CAACR,sBAAsB,EAAEG,WAAW,CAACM,MAAM,GAAG,CAAC,GAAGP,SAAS,CAAC;IACnG,MAAMQ,cAAc,GAAGZ,uBAAuB,GAAGS,aAAa,GAAGA,aAAa,CAACI,OAAO,CAAC,CAAC;IAExF,MAAMC,eAAe,gBACjBxB,KAAA,CAAAyB,aAAA,CAACrB,aAAa;MAACsB,UAAU,EAAEb;IAAmB,GACzCS,cAAc,CAACK,GAAG,CAAC,CAACC,KAAK,EAAEC,KAAK,kBAC7B7B,KAAA,CAAAyB,aAAA,CAACtB,YAAY;MAAC2B,GAAG,EAAED;IAAM,GAAED,KAAoB,CAClD,CACU,CAClB;IACD,OAAO,CAAC,GAAGb,WAAW,CAACK,KAAK,CAAC,CAAC,EAAER,sBAAsB,CAAC,EAAEY,eAAe,EAAE,GAAGT,WAAW,CAACK,KAAK,CAAC,CAAC,GAAGN,SAAS,CAAC,CAAC;EAClH,CAAC;EAED,MAAMiB,iBAAiB,GAAGA,CAAA,KAAM;IAC5B,IAAIC,WAAW,GAAGjB,WAAW;IAC7B,IAAI;MAAEM;IAAO,CAAC,GAAGN,WAAW;IAC5B,IAAIkB,WAAW,GAAG,KAAK;IAEvB,IAAIZ,MAAM,GAAGP,SAAS,EAAE;MACpBkB,WAAW,GAAGd,iBAAiB,CAAC,CAAC;MACjCG,MAAM,GAAGW,WAAW,CAACX,MAAM;MAC3BY,WAAW,GAAG,IAAI;IACtB;IAEA,OAAOjC,KAAK,CAACgB,QAAQ,CAACW,GAAG,CAACK,WAAW,EAAE,CAACE,IAAI,EAAEC,CAAC,KAAK;MAChD,MAAMC,WAAW,GAAGf,MAAM,KAAK,CAAC,IAAIc,CAAC,KAAKd,MAAM,GAAG,CAAC;MACpD,oBACIrB,KAAA,CAAAyB,aAAA,CAACpB,KAAK;QACFI,SAAS,EAAEP,UAAU,CAAC;UAAE,WAAW,EAAE+B,WAAW,IAAIE,CAAC,KAAKvB;QAAuB,CAAC,CAAE;QACpFwB,WAAW,EAAEA,WAAY;QACzBN,GAAG,EAAE,cAAcK,CAAC;MAAG,GAEtBD,IACE,CAAC;IAEhB,CAAC,CAAC;EACN,CAAC;EAED,oBACIlC,KAAA,CAAAyB,aAAA;IAAK,cAAYd,IAAI,CAAC0B,aAAa,CAAC/B,QAAQ,CAACgC,eAAe,CAAE;IAAC7B,SAAS,EAAEP,UAAU,CAAC,aAAa,EAAEO,SAAS;EAAE,gBAC3GT,KAAA,CAAAyB,aAAA,aAAKM,iBAAiB,CAAC,CAAM,CAC5B,CAAC;AAEd,CAAC;AAED,SAASxB,UAAU,IAAIgC,cAAc;AACrC,eAAetC,UAAU,CAACM,UAAU,CAAC","ignoreList":[]}
@@ -3,7 +3,8 @@ import noop from 'lodash/noop';
3
3
  import { PageHeader } from '@box/blueprint-web';
4
4
  import SubHeaderLeft from './SubHeaderLeft';
5
5
  import SubHeaderRight from './SubHeaderRight';
6
- import { VIEW_MODE_LIST } from '../../../constants';
6
+ import { VIEW_MODE_LIST, VIEW_METADATA } from '../../../constants';
7
+ import { useFeatureEnabled } from '../feature-checking';
7
8
  import './SubHeader.scss';
8
9
  const SubHeader = ({
9
10
  canCreateNewFolder,
@@ -25,34 +26,40 @@ const SubHeader = ({
25
26
  rootName,
26
27
  view,
27
28
  viewMode = VIEW_MODE_LIST
28
- }) => /*#__PURE__*/React.createElement(PageHeader.Root, {
29
- className: "be-sub-header",
30
- "data-testid": "be-sub-header",
31
- variant: "inline"
32
- }, /*#__PURE__*/React.createElement(PageHeader.StartElements, null, /*#__PURE__*/React.createElement(SubHeaderLeft, {
33
- currentCollection: currentCollection,
34
- isSmall: isSmall,
35
- onItemClick: onItemClick,
36
- portalElement: portalElement,
37
- rootId: rootId,
38
- rootName: rootName,
39
- view: view
40
- })), /*#__PURE__*/React.createElement(PageHeader.EndElements, null, /*#__PURE__*/React.createElement(SubHeaderRight, {
41
- canCreateNewFolder: canCreateNewFolder,
42
- canUpload: canUpload,
43
- currentCollection: currentCollection,
44
- gridColumnCount: gridColumnCount,
45
- gridMaxColumns: gridMaxColumns,
46
- gridMinColumns: gridMinColumns,
47
- maxGridColumnCountForWidth: maxGridColumnCountForWidth,
48
- onCreate: onCreate,
49
- onGridViewSliderChange: onGridViewSliderChange,
50
- onSortChange: onSortChange,
51
- onUpload: onUpload,
52
- onViewModeChange: onViewModeChange,
53
- portalElement: portalElement,
54
- view: view,
55
- viewMode: viewMode
56
- })));
29
+ }) => {
30
+ const isMetadataViewV2Feature = useFeatureEnabled('contentExplorer.metadataViewV2');
31
+ if (view === VIEW_METADATA && !isMetadataViewV2Feature) {
32
+ return null;
33
+ }
34
+ return /*#__PURE__*/React.createElement(PageHeader.Root, {
35
+ className: "be-sub-header",
36
+ "data-testid": "be-sub-header",
37
+ variant: "inline"
38
+ }, /*#__PURE__*/React.createElement(PageHeader.StartElements, null, view !== VIEW_METADATA && !isMetadataViewV2Feature && /*#__PURE__*/React.createElement(SubHeaderLeft, {
39
+ currentCollection: currentCollection,
40
+ isSmall: isSmall,
41
+ onItemClick: onItemClick,
42
+ portalElement: portalElement,
43
+ rootId: rootId,
44
+ rootName: rootName,
45
+ view: view
46
+ })), /*#__PURE__*/React.createElement(PageHeader.EndElements, null, /*#__PURE__*/React.createElement(SubHeaderRight, {
47
+ canCreateNewFolder: canCreateNewFolder,
48
+ canUpload: canUpload,
49
+ currentCollection: currentCollection,
50
+ gridColumnCount: gridColumnCount,
51
+ gridMaxColumns: gridMaxColumns,
52
+ gridMinColumns: gridMinColumns,
53
+ maxGridColumnCountForWidth: maxGridColumnCountForWidth,
54
+ onCreate: onCreate,
55
+ onGridViewSliderChange: onGridViewSliderChange,
56
+ onSortChange: onSortChange,
57
+ onUpload: onUpload,
58
+ onViewModeChange: onViewModeChange,
59
+ portalElement: portalElement,
60
+ view: view,
61
+ viewMode: viewMode
62
+ })));
63
+ };
57
64
  export default SubHeader;
58
65
  //# sourceMappingURL=SubHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubHeader.js","names":["React","noop","PageHeader","SubHeaderLeft","SubHeaderRight","VIEW_MODE_LIST","SubHeader","canCreateNewFolder","canUpload","currentCollection","gridColumnCount","gridMaxColumns","gridMinColumns","maxGridColumnCountForWidth","onGridViewSliderChange","isSmall","onCreate","onItemClick","onSortChange","onUpload","onViewModeChange","portalElement","rootId","rootName","view","viewMode","createElement","Root","className","variant","StartElements","EndElements"],"sources":["../../../../src/elements/common/sub-header/SubHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport noop from 'lodash/noop';\nimport { PageHeader } from '@box/blueprint-web';\nimport SubHeaderLeft from './SubHeaderLeft';\nimport SubHeaderRight from './SubHeaderRight';\nimport type { ViewMode } from '../flowTypes';\nimport type { View, Collection } from '../../../common/types/core';\nimport { VIEW_MODE_LIST } from '../../../constants';\n\nimport './SubHeader.scss';\n\nexport interface SubHeaderProps {\n canCreateNewFolder: boolean;\n canUpload: boolean;\n currentCollection: Collection;\n gridColumnCount?: number;\n gridMaxColumns?: number;\n gridMinColumns?: number;\n isSmall: boolean;\n maxGridColumnCountForWidth?: number;\n onCreate: () => void;\n onGridViewSliderChange?: (newSliderValue: number) => void;\n onItemClick: (id: string | null, triggerNavigationEvent: boolean | null) => void;\n onSortChange: (sortBy: string, sortDirection: string) => void;\n onUpload: () => void;\n onViewModeChange?: (viewMode: ViewMode) => void;\n portalElement?: HTMLElement;\n rootId: string;\n rootName?: string;\n view: View;\n viewMode?: ViewMode;\n}\n\nconst SubHeader = ({\n canCreateNewFolder,\n canUpload,\n currentCollection,\n gridColumnCount = 0,\n gridMaxColumns = 0,\n gridMinColumns = 0,\n maxGridColumnCountForWidth = 0,\n onGridViewSliderChange = noop,\n isSmall,\n onCreate,\n onItemClick,\n onSortChange,\n onUpload,\n onViewModeChange,\n portalElement,\n rootId,\n rootName,\n view,\n viewMode = VIEW_MODE_LIST,\n}: SubHeaderProps) => (\n <PageHeader.Root className=\"be-sub-header\" data-testid=\"be-sub-header\" variant=\"inline\">\n <PageHeader.StartElements>\n <SubHeaderLeft\n currentCollection={currentCollection}\n isSmall={isSmall}\n onItemClick={onItemClick}\n portalElement={portalElement}\n rootId={rootId}\n rootName={rootName}\n view={view}\n />\n </PageHeader.StartElements>\n <PageHeader.EndElements>\n <SubHeaderRight\n canCreateNewFolder={canCreateNewFolder}\n canUpload={canUpload}\n currentCollection={currentCollection}\n gridColumnCount={gridColumnCount}\n gridMaxColumns={gridMaxColumns}\n gridMinColumns={gridMinColumns}\n maxGridColumnCountForWidth={maxGridColumnCountForWidth}\n onCreate={onCreate}\n onGridViewSliderChange={onGridViewSliderChange}\n onSortChange={onSortChange}\n onUpload={onUpload}\n onViewModeChange={onViewModeChange}\n portalElement={portalElement}\n view={view}\n viewMode={viewMode}\n />\n </PageHeader.EndElements>\n </PageHeader.Root>\n);\n\nexport default SubHeader;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,IAAI,MAAM,aAAa;AAC9B,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,cAAc,MAAM,kBAAkB;AAG7C,SAASC,cAAc,QAAQ,oBAAoB;AAEnD,OAAO,kBAAkB;AAwBzB,MAAMC,SAAS,GAAGA,CAAC;EACfC,kBAAkB;EAClBC,SAAS;EACTC,iBAAiB;EACjBC,eAAe,GAAG,CAAC;EACnBC,cAAc,GAAG,CAAC;EAClBC,cAAc,GAAG,CAAC;EAClBC,0BAA0B,GAAG,CAAC;EAC9BC,sBAAsB,GAAGb,IAAI;EAC7Bc,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC,YAAY;EACZC,QAAQ;EACRC,gBAAgB;EAChBC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,IAAI;EACJC,QAAQ,GAAGpB;AACC,CAAC,kBACbL,KAAA,CAAA0B,aAAA,CAACxB,UAAU,CAACyB,IAAI;EAACC,SAAS,EAAC,eAAe;EAAC,eAAY,eAAe;EAACC,OAAO,EAAC;AAAQ,gBACnF7B,KAAA,CAAA0B,aAAA,CAACxB,UAAU,CAAC4B,aAAa,qBACrB9B,KAAA,CAAA0B,aAAA,CAACvB,aAAa;EACVM,iBAAiB,EAAEA,iBAAkB;EACrCM,OAAO,EAAEA,OAAQ;EACjBE,WAAW,EAAEA,WAAY;EACzBI,aAAa,EAAEA,aAAc;EAC7BC,MAAM,EAAEA,MAAO;EACfC,QAAQ,EAAEA,QAAS;EACnBC,IAAI,EAAEA;AAAK,CACd,CACqB,CAAC,eAC3BxB,KAAA,CAAA0B,aAAA,CAACxB,UAAU,CAAC6B,WAAW,qBACnB/B,KAAA,CAAA0B,aAAA,CAACtB,cAAc;EACXG,kBAAkB,EAAEA,kBAAmB;EACvCC,SAAS,EAAEA,SAAU;EACrBC,iBAAiB,EAAEA,iBAAkB;EACrCC,eAAe,EAAEA,eAAgB;EACjCC,cAAc,EAAEA,cAAe;EAC/BC,cAAc,EAAEA,cAAe;EAC/BC,0BAA0B,EAAEA,0BAA2B;EACvDG,QAAQ,EAAEA,QAAS;EACnBF,sBAAsB,EAAEA,sBAAuB;EAC/CI,YAAY,EAAEA,YAAa;EAC3BC,QAAQ,EAAEA,QAAS;EACnBC,gBAAgB,EAAEA,gBAAiB;EACnCC,aAAa,EAAEA,aAAc;EAC7BG,IAAI,EAAEA,IAAK;EACXC,QAAQ,EAAEA;AAAS,CACtB,CACmB,CACX,CACpB;AAED,eAAenB,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"SubHeader.js","names":["React","noop","PageHeader","SubHeaderLeft","SubHeaderRight","VIEW_MODE_LIST","VIEW_METADATA","useFeatureEnabled","SubHeader","canCreateNewFolder","canUpload","currentCollection","gridColumnCount","gridMaxColumns","gridMinColumns","maxGridColumnCountForWidth","onGridViewSliderChange","isSmall","onCreate","onItemClick","onSortChange","onUpload","onViewModeChange","portalElement","rootId","rootName","view","viewMode","isMetadataViewV2Feature","createElement","Root","className","variant","StartElements","EndElements"],"sources":["../../../../src/elements/common/sub-header/SubHeader.tsx"],"sourcesContent":["import * as React from 'react';\nimport noop from 'lodash/noop';\nimport { PageHeader } from '@box/blueprint-web';\nimport SubHeaderLeft from './SubHeaderLeft';\nimport SubHeaderRight from './SubHeaderRight';\nimport type { ViewMode } from '../flowTypes';\nimport type { View, Collection } from '../../../common/types/core';\nimport { VIEW_MODE_LIST, VIEW_METADATA } from '../../../constants';\nimport { useFeatureEnabled } from '../feature-checking';\n\nimport './SubHeader.scss';\n\nexport interface SubHeaderProps {\n canCreateNewFolder: boolean;\n canUpload: boolean;\n currentCollection: Collection;\n gridColumnCount?: number;\n gridMaxColumns?: number;\n gridMinColumns?: number;\n isSmall: boolean;\n maxGridColumnCountForWidth?: number;\n onCreate: () => void;\n onGridViewSliderChange?: (newSliderValue: number) => void;\n onItemClick: (id: string | null, triggerNavigationEvent: boolean | null) => void;\n onSortChange: (sortBy: string, sortDirection: string) => void;\n onUpload: () => void;\n onViewModeChange?: (viewMode: ViewMode) => void;\n portalElement?: HTMLElement;\n rootId: string;\n rootName?: string;\n view: View;\n viewMode?: ViewMode;\n}\n\nconst SubHeader = ({\n canCreateNewFolder,\n canUpload,\n currentCollection,\n gridColumnCount = 0,\n gridMaxColumns = 0,\n gridMinColumns = 0,\n maxGridColumnCountForWidth = 0,\n onGridViewSliderChange = noop,\n isSmall,\n onCreate,\n onItemClick,\n onSortChange,\n onUpload,\n onViewModeChange,\n portalElement,\n rootId,\n rootName,\n view,\n viewMode = VIEW_MODE_LIST,\n}: SubHeaderProps) => {\n const isMetadataViewV2Feature = useFeatureEnabled('contentExplorer.metadataViewV2');\n\n if (view === VIEW_METADATA && !isMetadataViewV2Feature) {\n return null;\n }\n\n return (\n <PageHeader.Root className=\"be-sub-header\" data-testid=\"be-sub-header\" variant=\"inline\">\n <PageHeader.StartElements>\n {view !== VIEW_METADATA && !isMetadataViewV2Feature && (\n <SubHeaderLeft\n currentCollection={currentCollection}\n isSmall={isSmall}\n onItemClick={onItemClick}\n portalElement={portalElement}\n rootId={rootId}\n rootName={rootName}\n view={view}\n />\n )}\n </PageHeader.StartElements>\n <PageHeader.EndElements>\n <SubHeaderRight\n canCreateNewFolder={canCreateNewFolder}\n canUpload={canUpload}\n currentCollection={currentCollection}\n gridColumnCount={gridColumnCount}\n gridMaxColumns={gridMaxColumns}\n gridMinColumns={gridMinColumns}\n maxGridColumnCountForWidth={maxGridColumnCountForWidth}\n onCreate={onCreate}\n onGridViewSliderChange={onGridViewSliderChange}\n onSortChange={onSortChange}\n onUpload={onUpload}\n onViewModeChange={onViewModeChange}\n portalElement={portalElement}\n view={view}\n viewMode={viewMode}\n />\n </PageHeader.EndElements>\n </PageHeader.Root>\n );\n};\n\nexport default SubHeader;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,IAAI,MAAM,aAAa;AAC9B,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,cAAc,MAAM,kBAAkB;AAG7C,SAASC,cAAc,EAAEC,aAAa,QAAQ,oBAAoB;AAClE,SAASC,iBAAiB,QAAQ,qBAAqB;AAEvD,OAAO,kBAAkB;AAwBzB,MAAMC,SAAS,GAAGA,CAAC;EACfC,kBAAkB;EAClBC,SAAS;EACTC,iBAAiB;EACjBC,eAAe,GAAG,CAAC;EACnBC,cAAc,GAAG,CAAC;EAClBC,cAAc,GAAG,CAAC;EAClBC,0BAA0B,GAAG,CAAC;EAC9BC,sBAAsB,GAAGf,IAAI;EAC7BgB,OAAO;EACPC,QAAQ;EACRC,WAAW;EACXC,YAAY;EACZC,QAAQ;EACRC,gBAAgB;EAChBC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,IAAI;EACJC,QAAQ,GAAGtB;AACC,CAAC,KAAK;EAClB,MAAMuB,uBAAuB,GAAGrB,iBAAiB,CAAC,gCAAgC,CAAC;EAEnF,IAAImB,IAAI,KAAKpB,aAAa,IAAI,CAACsB,uBAAuB,EAAE;IACpD,OAAO,IAAI;EACf;EAEA,oBACI5B,KAAA,CAAA6B,aAAA,CAAC3B,UAAU,CAAC4B,IAAI;IAACC,SAAS,EAAC,eAAe;IAAC,eAAY,eAAe;IAACC,OAAO,EAAC;EAAQ,gBACnFhC,KAAA,CAAA6B,aAAA,CAAC3B,UAAU,CAAC+B,aAAa,QACpBP,IAAI,KAAKpB,aAAa,IAAI,CAACsB,uBAAuB,iBAC/C5B,KAAA,CAAA6B,aAAA,CAAC1B,aAAa;IACVQ,iBAAiB,EAAEA,iBAAkB;IACrCM,OAAO,EAAEA,OAAQ;IACjBE,WAAW,EAAEA,WAAY;IACzBI,aAAa,EAAEA,aAAc;IAC7BC,MAAM,EAAEA,MAAO;IACfC,QAAQ,EAAEA,QAAS;IACnBC,IAAI,EAAEA;EAAK,CACd,CAEiB,CAAC,eAC3B1B,KAAA,CAAA6B,aAAA,CAAC3B,UAAU,CAACgC,WAAW,qBACnBlC,KAAA,CAAA6B,aAAA,CAACzB,cAAc;IACXK,kBAAkB,EAAEA,kBAAmB;IACvCC,SAAS,EAAEA,SAAU;IACrBC,iBAAiB,EAAEA,iBAAkB;IACrCC,eAAe,EAAEA,eAAgB;IACjCC,cAAc,EAAEA,cAAe;IAC/BC,cAAc,EAAEA,cAAe;IAC/BC,0BAA0B,EAAEA,0BAA2B;IACvDG,QAAQ,EAAEA,QAAS;IACnBF,sBAAsB,EAAEA,sBAAuB;IAC/CI,YAAY,EAAEA,YAAa;IAC3BC,QAAQ,EAAEA,QAAS;IACnBC,gBAAgB,EAAEA,gBAAiB;IACnCC,aAAa,EAAEA,aAAc;IAC7BG,IAAI,EAAEA,IAAK;IACXC,QAAQ,EAAEA;EAAS,CACtB,CACmB,CACX,CAAC;AAE1B,CAAC;AAED,eAAenB,SAAS","ignoreList":[]}
@@ -1,9 +1,14 @@
1
1
  import * as React from 'react';
2
+ import { Button } from '@box/blueprint-web';
3
+ import { Pencil } from '@box/blueprint-web-assets/icons/Fill';
4
+ import { useIntl } from 'react-intl';
2
5
  import Sort from './Sort';
3
6
  import Add from './Add';
4
7
  import GridViewSlider from '../../../components/grid-view/GridViewSlider';
5
8
  import ViewModeChangeButton from './ViewModeChangeButton';
6
- import { VIEW_FOLDER, VIEW_MODE_GRID } from '../../../constants';
9
+ import { VIEW_FOLDER, VIEW_MODE_GRID, VIEW_METADATA } from '../../../constants';
10
+ import { useFeatureEnabled } from '../feature-checking';
11
+ import messages from './messages';
7
12
  import './SubHeaderRight.scss';
8
13
  const SubHeaderRight = ({
9
14
  canCreateNewFolder,
@@ -22,6 +27,10 @@ const SubHeaderRight = ({
22
27
  view,
23
28
  viewMode
24
29
  }) => {
30
+ const {
31
+ formatMessage
32
+ } = useIntl();
33
+ const isMetadataViewV2Feature = useFeatureEnabled('contentExplorer.metadataViewV2');
25
34
  const {
26
35
  items = []
27
36
  } = currentCollection;
@@ -30,9 +39,10 @@ const SubHeaderRight = ({
30
39
  const isFolder = view === VIEW_FOLDER;
31
40
  const showSort = isFolder && hasItems;
32
41
  const showAdd = (!!canUpload || !!canCreateNewFolder) && isFolder;
42
+ const isMetadataView = view === VIEW_METADATA;
33
43
  return /*#__PURE__*/React.createElement("div", {
34
44
  className: "be-sub-header-right"
35
- }, hasItems && viewMode === VIEW_MODE_GRID && /*#__PURE__*/React.createElement(GridViewSlider, {
45
+ }, !isMetadataView && /*#__PURE__*/React.createElement(React.Fragment, null, hasItems && viewMode === VIEW_MODE_GRID && /*#__PURE__*/React.createElement(GridViewSlider, {
36
46
  columnCount: gridColumnCount,
37
47
  gridMaxColumns: gridMaxColumns,
38
48
  gridMinColumns: gridMinColumns,
@@ -51,7 +61,11 @@ const SubHeaderRight = ({
51
61
  portalElement: portalElement,
52
62
  showCreate: canCreateNewFolder,
53
63
  showUpload: canUpload
54
- }));
64
+ })), isMetadataView && isMetadataViewV2Feature && /*#__PURE__*/React.createElement(Button, {
65
+ icon: Pencil,
66
+ size: "large",
67
+ variant: "primary"
68
+ }, formatMessage(messages.metadata)));
55
69
  };
56
70
  export default SubHeaderRight;
57
71
  //# sourceMappingURL=SubHeaderRight.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubHeaderRight.js","names":["React","Sort","Add","GridViewSlider","ViewModeChangeButton","VIEW_FOLDER","VIEW_MODE_GRID","SubHeaderRight","canCreateNewFolder","canUpload","currentCollection","gridColumnCount","gridMaxColumns","gridMinColumns","maxGridColumnCountForWidth","onCreate","onGridViewSliderChange","onSortChange","onUpload","onViewModeChange","portalElement","view","viewMode","items","hasGridView","hasItems","length","isFolder","showSort","showAdd","createElement","className","columnCount","maxColumnCount","onChange","isDisabled","showCreate","showUpload"],"sources":["../../../../src/elements/common/sub-header/SubHeaderRight.tsx"],"sourcesContent":["import * as React from 'react';\nimport Sort from './Sort';\nimport Add from './Add';\nimport GridViewSlider from '../../../components/grid-view/GridViewSlider';\nimport ViewModeChangeButton from './ViewModeChangeButton';\nimport { VIEW_FOLDER, VIEW_MODE_GRID } from '../../../constants';\nimport type { ViewMode } from '../flowTypes';\nimport type { SortBy, SortDirection, View, Collection } from '../../../common/types/core';\nimport './SubHeaderRight.scss';\n\nexport interface SubHeaderRightProps {\n canCreateNewFolder: boolean;\n canUpload: boolean;\n currentCollection: Collection;\n gridColumnCount: number;\n gridMaxColumns: number;\n gridMinColumns: number;\n maxGridColumnCountForWidth: number;\n onCreate: () => void;\n onGridViewSliderChange: (newSliderValue: number) => void;\n onSortChange: (sortBy: SortBy, sortDirection: SortDirection) => void;\n onUpload: () => void;\n onViewModeChange?: (viewMode: ViewMode) => void;\n portalElement?: HTMLElement;\n view: View;\n viewMode: ViewMode;\n}\n\nconst SubHeaderRight = ({\n canCreateNewFolder,\n canUpload,\n currentCollection,\n gridColumnCount,\n gridMaxColumns,\n gridMinColumns,\n maxGridColumnCountForWidth,\n onCreate,\n onGridViewSliderChange,\n onSortChange,\n onUpload,\n onViewModeChange,\n portalElement,\n view,\n viewMode,\n}: SubHeaderRightProps) => {\n const { items = [] }: Collection = currentCollection;\n const hasGridView: boolean = !!gridColumnCount;\n const hasItems: boolean = items.length > 0;\n const isFolder: boolean = view === VIEW_FOLDER;\n const showSort: boolean = isFolder && hasItems;\n const showAdd: boolean = (!!canUpload || !!canCreateNewFolder) && isFolder;\n return (\n <div className=\"be-sub-header-right\">\n {hasItems && viewMode === VIEW_MODE_GRID && (\n <GridViewSlider\n columnCount={gridColumnCount}\n gridMaxColumns={gridMaxColumns}\n gridMinColumns={gridMinColumns}\n maxColumnCount={maxGridColumnCountForWidth}\n onChange={onGridViewSliderChange}\n />\n )}\n {hasItems && hasGridView && (\n <ViewModeChangeButton viewMode={viewMode} onViewModeChange={onViewModeChange} />\n )}\n {showSort && <Sort onSortChange={onSortChange} portalElement={portalElement} />}\n {showAdd && (\n <Add\n isDisabled={!isFolder}\n onCreate={onCreate}\n onUpload={onUpload}\n portalElement={portalElement}\n showCreate={canCreateNewFolder}\n showUpload={canUpload}\n />\n )}\n </div>\n );\n};\n\nexport default SubHeaderRight;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,cAAc,MAAM,8CAA8C;AACzE,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,SAASC,WAAW,EAAEC,cAAc,QAAQ,oBAAoB;AAGhE,OAAO,uBAAuB;AAoB9B,MAAMC,cAAc,GAAGA,CAAC;EACpBC,kBAAkB;EAClBC,SAAS;EACTC,iBAAiB;EACjBC,eAAe;EACfC,cAAc;EACdC,cAAc;EACdC,0BAA0B;EAC1BC,QAAQ;EACRC,sBAAsB;EACtBC,YAAY;EACZC,QAAQ;EACRC,gBAAgB;EAChBC,aAAa;EACbC,IAAI;EACJC;AACiB,CAAC,KAAK;EACvB,MAAM;IAAEC,KAAK,GAAG;EAAe,CAAC,GAAGb,iBAAiB;EACpD,MAAMc,WAAoB,GAAG,CAAC,CAACb,eAAe;EAC9C,MAAMc,QAAiB,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC;EAC1C,MAAMC,QAAiB,GAAGN,IAAI,KAAKhB,WAAW;EAC9C,MAAMuB,QAAiB,GAAGD,QAAQ,IAAIF,QAAQ;EAC9C,MAAMI,OAAgB,GAAG,CAAC,CAAC,CAACpB,SAAS,IAAI,CAAC,CAACD,kBAAkB,KAAKmB,QAAQ;EAC1E,oBACI3B,KAAA,CAAA8B,aAAA;IAAKC,SAAS,EAAC;EAAqB,GAC/BN,QAAQ,IAAIH,QAAQ,KAAKhB,cAAc,iBACpCN,KAAA,CAAA8B,aAAA,CAAC3B,cAAc;IACX6B,WAAW,EAAErB,eAAgB;IAC7BC,cAAc,EAAEA,cAAe;IAC/BC,cAAc,EAAEA,cAAe;IAC/BoB,cAAc,EAAEnB,0BAA2B;IAC3CoB,QAAQ,EAAElB;EAAuB,CACpC,CACJ,EACAS,QAAQ,IAAID,WAAW,iBACpBxB,KAAA,CAAA8B,aAAA,CAAC1B,oBAAoB;IAACkB,QAAQ,EAAEA,QAAS;IAACH,gBAAgB,EAAEA;EAAiB,CAAE,CAClF,EACAS,QAAQ,iBAAI5B,KAAA,CAAA8B,aAAA,CAAC7B,IAAI;IAACgB,YAAY,EAAEA,YAAa;IAACG,aAAa,EAAEA;EAAc,CAAE,CAAC,EAC9ES,OAAO,iBACJ7B,KAAA,CAAA8B,aAAA,CAAC5B,GAAG;IACAiC,UAAU,EAAE,CAACR,QAAS;IACtBZ,QAAQ,EAAEA,QAAS;IACnBG,QAAQ,EAAEA,QAAS;IACnBE,aAAa,EAAEA,aAAc;IAC7BgB,UAAU,EAAE5B,kBAAmB;IAC/B6B,UAAU,EAAE5B;EAAU,CACzB,CAEJ,CAAC;AAEd,CAAC;AAED,eAAeF,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"SubHeaderRight.js","names":["React","Button","Pencil","useIntl","Sort","Add","GridViewSlider","ViewModeChangeButton","VIEW_FOLDER","VIEW_MODE_GRID","VIEW_METADATA","useFeatureEnabled","messages","SubHeaderRight","canCreateNewFolder","canUpload","currentCollection","gridColumnCount","gridMaxColumns","gridMinColumns","maxGridColumnCountForWidth","onCreate","onGridViewSliderChange","onSortChange","onUpload","onViewModeChange","portalElement","view","viewMode","formatMessage","isMetadataViewV2Feature","items","hasGridView","hasItems","length","isFolder","showSort","showAdd","isMetadataView","createElement","className","Fragment","columnCount","maxColumnCount","onChange","isDisabled","showCreate","showUpload","icon","size","variant","metadata"],"sources":["../../../../src/elements/common/sub-header/SubHeaderRight.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '@box/blueprint-web';\nimport { Pencil } from '@box/blueprint-web-assets/icons/Fill';\nimport { useIntl } from 'react-intl';\nimport Sort from './Sort';\nimport Add from './Add';\nimport GridViewSlider from '../../../components/grid-view/GridViewSlider';\nimport ViewModeChangeButton from './ViewModeChangeButton';\nimport { VIEW_FOLDER, VIEW_MODE_GRID, VIEW_METADATA } from '../../../constants';\nimport { useFeatureEnabled } from '../feature-checking';\n\nimport type { ViewMode } from '../flowTypes';\nimport type { SortBy, SortDirection, View, Collection } from '../../../common/types/core';\n\nimport messages from './messages';\n\nimport './SubHeaderRight.scss';\n\nexport interface SubHeaderRightProps {\n canCreateNewFolder: boolean;\n canUpload: boolean;\n currentCollection: Collection;\n gridColumnCount: number;\n gridMaxColumns: number;\n gridMinColumns: number;\n maxGridColumnCountForWidth: number;\n onCreate: () => void;\n onGridViewSliderChange: (newSliderValue: number) => void;\n onSortChange: (sortBy: SortBy, sortDirection: SortDirection) => void;\n onUpload: () => void;\n onViewModeChange?: (viewMode: ViewMode) => void;\n portalElement?: HTMLElement;\n view: View;\n viewMode: ViewMode;\n}\n\nconst SubHeaderRight = ({\n canCreateNewFolder,\n canUpload,\n currentCollection,\n gridColumnCount,\n gridMaxColumns,\n gridMinColumns,\n maxGridColumnCountForWidth,\n onCreate,\n onGridViewSliderChange,\n onSortChange,\n onUpload,\n onViewModeChange,\n portalElement,\n view,\n viewMode,\n}: SubHeaderRightProps) => {\n const { formatMessage } = useIntl();\n const isMetadataViewV2Feature = useFeatureEnabled('contentExplorer.metadataViewV2');\n const { items = [] }: Collection = currentCollection;\n const hasGridView: boolean = !!gridColumnCount;\n const hasItems: boolean = items.length > 0;\n const isFolder: boolean = view === VIEW_FOLDER;\n const showSort: boolean = isFolder && hasItems;\n const showAdd: boolean = (!!canUpload || !!canCreateNewFolder) && isFolder;\n const isMetadataView: boolean = view === VIEW_METADATA;\n return (\n <div className=\"be-sub-header-right\">\n {!isMetadataView && (\n <>\n {hasItems && viewMode === VIEW_MODE_GRID && (\n <GridViewSlider\n columnCount={gridColumnCount}\n gridMaxColumns={gridMaxColumns}\n gridMinColumns={gridMinColumns}\n maxColumnCount={maxGridColumnCountForWidth}\n onChange={onGridViewSliderChange}\n />\n )}\n {hasItems && hasGridView && (\n <ViewModeChangeButton viewMode={viewMode} onViewModeChange={onViewModeChange} />\n )}\n {showSort && <Sort onSortChange={onSortChange} portalElement={portalElement} />}\n {showAdd && (\n <Add\n isDisabled={!isFolder}\n onCreate={onCreate}\n onUpload={onUpload}\n portalElement={portalElement}\n showCreate={canCreateNewFolder}\n showUpload={canUpload}\n />\n )}\n </>\n )}\n\n {isMetadataView && isMetadataViewV2Feature && (\n <Button icon={Pencil} size=\"large\" variant=\"primary\">\n {formatMessage(messages.metadata)}\n </Button>\n )}\n </div>\n );\n};\n\nexport default SubHeaderRight;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,MAAM,QAAQ,sCAAsC;AAC7D,SAASC,OAAO,QAAQ,YAAY;AACpC,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,cAAc,MAAM,8CAA8C;AACzE,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,SAASC,WAAW,EAAEC,cAAc,EAAEC,aAAa,QAAQ,oBAAoB;AAC/E,SAASC,iBAAiB,QAAQ,qBAAqB;AAKvD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,OAAO,uBAAuB;AAoB9B,MAAMC,cAAc,GAAGA,CAAC;EACpBC,kBAAkB;EAClBC,SAAS;EACTC,iBAAiB;EACjBC,eAAe;EACfC,cAAc;EACdC,cAAc;EACdC,0BAA0B;EAC1BC,QAAQ;EACRC,sBAAsB;EACtBC,YAAY;EACZC,QAAQ;EACRC,gBAAgB;EAChBC,aAAa;EACbC,IAAI;EACJC;AACiB,CAAC,KAAK;EACvB,MAAM;IAAEC;EAAc,CAAC,GAAG1B,OAAO,CAAC,CAAC;EACnC,MAAM2B,uBAAuB,GAAGnB,iBAAiB,CAAC,gCAAgC,CAAC;EACnF,MAAM;IAAEoB,KAAK,GAAG;EAAe,CAAC,GAAGf,iBAAiB;EACpD,MAAMgB,WAAoB,GAAG,CAAC,CAACf,eAAe;EAC9C,MAAMgB,QAAiB,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC;EAC1C,MAAMC,QAAiB,GAAGR,IAAI,KAAKnB,WAAW;EAC9C,MAAM4B,QAAiB,GAAGD,QAAQ,IAAIF,QAAQ;EAC9C,MAAMI,OAAgB,GAAG,CAAC,CAAC,CAACtB,SAAS,IAAI,CAAC,CAACD,kBAAkB,KAAKqB,QAAQ;EAC1E,MAAMG,cAAuB,GAAGX,IAAI,KAAKjB,aAAa;EACtD,oBACIV,KAAA,CAAAuC,aAAA;IAAKC,SAAS,EAAC;EAAqB,GAC/B,CAACF,cAAc,iBACZtC,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAAyC,QAAA,QACKR,QAAQ,IAAIL,QAAQ,KAAKnB,cAAc,iBACpCT,KAAA,CAAAuC,aAAA,CAACjC,cAAc;IACXoC,WAAW,EAAEzB,eAAgB;IAC7BC,cAAc,EAAEA,cAAe;IAC/BC,cAAc,EAAEA,cAAe;IAC/BwB,cAAc,EAAEvB,0BAA2B;IAC3CwB,QAAQ,EAAEtB;EAAuB,CACpC,CACJ,EACAW,QAAQ,IAAID,WAAW,iBACpBhC,KAAA,CAAAuC,aAAA,CAAChC,oBAAoB;IAACqB,QAAQ,EAAEA,QAAS;IAACH,gBAAgB,EAAEA;EAAiB,CAAE,CAClF,EACAW,QAAQ,iBAAIpC,KAAA,CAAAuC,aAAA,CAACnC,IAAI;IAACmB,YAAY,EAAEA,YAAa;IAACG,aAAa,EAAEA;EAAc,CAAE,CAAC,EAC9EW,OAAO,iBACJrC,KAAA,CAAAuC,aAAA,CAAClC,GAAG;IACAwC,UAAU,EAAE,CAACV,QAAS;IACtBd,QAAQ,EAAEA,QAAS;IACnBG,QAAQ,EAAEA,QAAS;IACnBE,aAAa,EAAEA,aAAc;IAC7BoB,UAAU,EAAEhC,kBAAmB;IAC/BiC,UAAU,EAAEhC;EAAU,CACzB,CAEP,CACL,EAEAuB,cAAc,IAAIR,uBAAuB,iBACtC9B,KAAA,CAAAuC,aAAA,CAACtC,MAAM;IAAC+C,IAAI,EAAE9C,MAAO;IAAC+C,IAAI,EAAC,OAAO;IAACC,OAAO,EAAC;EAAS,GAC/CrB,aAAa,CAACjB,QAAQ,CAACuC,QAAQ,CAC5B,CAEX,CAAC;AAEd,CAAC;AAED,eAAetC,cAAc","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ import { defineMessages } from 'react-intl';
2
+ const messages = defineMessages({
3
+ metadata: {
4
+ "id": "boxui.subHeader.metadata",
5
+ "defaultMessage": "Metadata"
6
+ }
7
+ });
8
+ export default messages;
9
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","names":["defineMessages","messages","metadata"],"sources":["../../../../src/elements/common/sub-header/messages.ts"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n metadata: {\n defaultMessage: 'Metadata',\n description: 'Text for metadata button that will open the metadata side panel',\n id: 'boxui.subHeader.metadata',\n },\n});\n\nexport default messages;\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,YAAY;AAE3C,MAAMC,QAAQ,GAAGD,cAAc,CAAC;EAC5BE,QAAQ;IAAA;IAAA;EAAA;AAKZ,CAAC,CAAC;AAEF,eAAeD,QAAQ","ignoreList":[]}
@@ -49,7 +49,7 @@ const Content = _ref => {
49
49
  const isMetadataBasedView = view === VIEW_METADATA;
50
50
  const isListView = !isMetadataBasedView && viewMode === VIEW_MODE_LIST; // Folder view or Recents view
51
51
  const isGridView = !isMetadataBasedView && viewMode === VIEW_MODE_GRID; // Folder view or Recents view
52
-
52
+ const isMetadataViewV2Feature = isFeatureEnabled(features, 'contentExplorer.metadataViewV2');
53
53
  return /*#__PURE__*/React.createElement("div", {
54
54
  className: "bce-content"
55
55
  }, view === VIEW_ERROR || view === VIEW_SELECTED ? null : /*#__PURE__*/React.createElement(ProgressBar, {
@@ -57,11 +57,11 @@ const Content = _ref => {
57
57
  }), isViewEmpty && /*#__PURE__*/React.createElement(EmptyView, {
58
58
  view: view,
59
59
  isLoading: percentLoaded !== 100
60
- }), !isFeatureEnabled(features, 'contentExplorer.metadataViewV2') && !isViewEmpty && isMetadataBasedView && /*#__PURE__*/React.createElement(MetadataBasedItemList, _extends({
60
+ }), !isMetadataViewV2Feature && !isViewEmpty && isMetadataBasedView && /*#__PURE__*/React.createElement(MetadataBasedItemList, _extends({
61
61
  currentCollection: currentCollection,
62
62
  fieldsToShow: fieldsToShow,
63
63
  onMetadataUpdate: onMetadataUpdate
64
- }, rest)), isFeatureEnabled(features, 'contentExplorer.metadataViewV2') && !isViewEmpty && isMetadataBasedView && /*#__PURE__*/React.createElement(MetadataView, null), !isViewEmpty && isListView && /*#__PURE__*/React.createElement(ItemList, _extends({
64
+ }, rest)), isMetadataViewV2Feature && !isViewEmpty && isMetadataBasedView && /*#__PURE__*/React.createElement(MetadataView, null), !isViewEmpty && isListView && /*#__PURE__*/React.createElement(ItemList, _extends({
65
65
  items: items,
66
66
  onSortChange: onSortChange,
67
67
  sortBy: sortBy,
@@ -1 +1 @@
1
- {"version":3,"file":"Content.js","names":["React","EmptyView","ItemGrid","ItemList","ProgressBar","MetadataBasedItemList","MetadataView","isFeatureEnabled","VIEW_ERROR","VIEW_METADATA","VIEW_MODE_LIST","VIEW_MODE_GRID","VIEW_SELECTED","isEmpty","view","currentCollection","fieldsToShow","items","length","Content","_ref","features","gridColumnCount","onMetadataUpdate","onSortChange","viewMode","rest","_objectWithoutProperties","_excluded","percentLoaded","sortBy","sortDirection","isViewEmpty","isMetadataBasedView","isListView","isGridView","createElement","className","percent","isLoading","_extends"],"sources":["../../../src/elements/content-explorer/Content.tsx"],"sourcesContent":["import * as React from 'react';\nimport EmptyView from '../common/empty-view';\nimport ItemGrid from '../common/item-grid';\nimport ItemList from '../common/item-list';\nimport ProgressBar from '../common/progress-bar';\nimport MetadataBasedItemList from '../../features/metadata-based-view';\nimport MetadataView from './MetadataView';\nimport { isFeatureEnabled, type FeatureConfig } from '../common/feature-checking';\nimport { VIEW_ERROR, VIEW_METADATA, VIEW_MODE_LIST, VIEW_MODE_GRID, VIEW_SELECTED } from '../../constants';\nimport type { ViewMode } from '../common/flowTypes';\nimport type { ItemAction, ItemEventHandlers, ItemEventPermissions } from '../common/item';\nimport type { FieldsToShow } from '../../common/types/metadataQueries';\nimport type { BoxItem, Collection, View } from '../../common/types/core';\nimport type { MetadataFieldValue } from '../../common/types/metadata';\nimport './Content.scss';\n\n/**\n * Determines if we should show the empty state\n *\n * @param {string} view the current view\n * @param {Object} currentCollection the current collection\n * @param {FieldsToShow} fieldsToShow list of metadata template fields to show\n * @return {boolean} empty or not\n */\nfunction isEmpty(view: View, currentCollection: Collection, fieldsToShow: FieldsToShow): boolean {\n const { items = [] }: Collection = currentCollection;\n return view === VIEW_ERROR || !items.length || (view === VIEW_METADATA && !fieldsToShow.length);\n}\n\nexport interface ContentProps extends Required<ItemEventHandlers>, Required<ItemEventPermissions> {\n currentCollection: Collection;\n features?: FeatureConfig;\n fieldsToShow?: FieldsToShow;\n gridColumnCount?: number;\n isMedium: boolean;\n isSmall: boolean;\n isTouch: boolean;\n itemActions?: ItemAction[];\n onMetadataUpdate: (\n item: BoxItem,\n field: string,\n currentValue: MetadataFieldValue,\n editedValue: MetadataFieldValue,\n ) => void;\n onSortChange: (sortBy: string, sortDirection: string) => void;\n portalElement: HTMLElement;\n view: View;\n viewMode?: ViewMode;\n}\n\nconst Content = ({\n currentCollection,\n features,\n fieldsToShow = [],\n gridColumnCount,\n onMetadataUpdate,\n onSortChange,\n view,\n viewMode = VIEW_MODE_LIST,\n ...rest\n}: ContentProps) => {\n const { items, percentLoaded, sortBy, sortDirection } = currentCollection;\n\n const isViewEmpty = isEmpty(view, currentCollection, fieldsToShow);\n const isMetadataBasedView = view === VIEW_METADATA;\n const isListView = !isMetadataBasedView && viewMode === VIEW_MODE_LIST; // Folder view or Recents view\n const isGridView = !isMetadataBasedView && viewMode === VIEW_MODE_GRID; // Folder view or Recents view\n\n return (\n <div className=\"bce-content\">\n {view === VIEW_ERROR || view === VIEW_SELECTED ? null : <ProgressBar percent={percentLoaded} />}\n\n {isViewEmpty && <EmptyView view={view} isLoading={percentLoaded !== 100} />}\n {!isFeatureEnabled(features, 'contentExplorer.metadataViewV2') && !isViewEmpty && isMetadataBasedView && (\n <MetadataBasedItemList\n currentCollection={currentCollection}\n fieldsToShow={fieldsToShow}\n onMetadataUpdate={onMetadataUpdate}\n {...rest}\n />\n )}\n {isFeatureEnabled(features, 'contentExplorer.metadataViewV2') && !isViewEmpty && isMetadataBasedView && (\n <MetadataView />\n )}\n {!isViewEmpty && isListView && (\n <ItemList\n items={items}\n onSortChange={onSortChange}\n sortBy={sortBy}\n sortDirection={sortDirection}\n view={view}\n {...rest}\n />\n )}\n {!isViewEmpty && isGridView && (\n <ItemGrid gridColumnCount={gridColumnCount} items={items} view={view} {...rest} />\n )}\n </div>\n );\n};\n\nexport default Content;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Content.js","names":["React","EmptyView","ItemGrid","ItemList","ProgressBar","MetadataBasedItemList","MetadataView","isFeatureEnabled","VIEW_ERROR","VIEW_METADATA","VIEW_MODE_LIST","VIEW_MODE_GRID","VIEW_SELECTED","isEmpty","view","currentCollection","fieldsToShow","items","length","Content","_ref","features","gridColumnCount","onMetadataUpdate","onSortChange","viewMode","rest","_objectWithoutProperties","_excluded","percentLoaded","sortBy","sortDirection","isViewEmpty","isMetadataBasedView","isListView","isGridView","isMetadataViewV2Feature","createElement","className","percent","isLoading","_extends"],"sources":["../../../src/elements/content-explorer/Content.tsx"],"sourcesContent":["import * as React from 'react';\nimport EmptyView from '../common/empty-view';\nimport ItemGrid from '../common/item-grid';\nimport ItemList from '../common/item-list';\nimport ProgressBar from '../common/progress-bar';\nimport MetadataBasedItemList from '../../features/metadata-based-view';\nimport MetadataView from './MetadataView';\nimport { isFeatureEnabled, type FeatureConfig } from '../common/feature-checking';\nimport { VIEW_ERROR, VIEW_METADATA, VIEW_MODE_LIST, VIEW_MODE_GRID, VIEW_SELECTED } from '../../constants';\nimport type { ViewMode } from '../common/flowTypes';\nimport type { ItemAction, ItemEventHandlers, ItemEventPermissions } from '../common/item';\nimport type { FieldsToShow } from '../../common/types/metadataQueries';\nimport type { BoxItem, Collection, View } from '../../common/types/core';\nimport type { MetadataFieldValue } from '../../common/types/metadata';\nimport './Content.scss';\n\n/**\n * Determines if we should show the empty state\n *\n * @param {string} view the current view\n * @param {Object} currentCollection the current collection\n * @param {FieldsToShow} fieldsToShow list of metadata template fields to show\n * @return {boolean} empty or not\n */\nfunction isEmpty(view: View, currentCollection: Collection, fieldsToShow: FieldsToShow): boolean {\n const { items = [] }: Collection = currentCollection;\n return view === VIEW_ERROR || !items.length || (view === VIEW_METADATA && !fieldsToShow.length);\n}\n\nexport interface ContentProps extends Required<ItemEventHandlers>, Required<ItemEventPermissions> {\n currentCollection: Collection;\n features?: FeatureConfig;\n fieldsToShow?: FieldsToShow;\n gridColumnCount?: number;\n isMedium: boolean;\n isSmall: boolean;\n isTouch: boolean;\n itemActions?: ItemAction[];\n onMetadataUpdate: (\n item: BoxItem,\n field: string,\n currentValue: MetadataFieldValue,\n editedValue: MetadataFieldValue,\n ) => void;\n onSortChange: (sortBy: string, sortDirection: string) => void;\n portalElement: HTMLElement;\n view: View;\n viewMode?: ViewMode;\n}\n\nconst Content = ({\n currentCollection,\n features,\n fieldsToShow = [],\n gridColumnCount,\n onMetadataUpdate,\n onSortChange,\n view,\n viewMode = VIEW_MODE_LIST,\n ...rest\n}: ContentProps) => {\n const { items, percentLoaded, sortBy, sortDirection } = currentCollection;\n\n const isViewEmpty = isEmpty(view, currentCollection, fieldsToShow);\n const isMetadataBasedView = view === VIEW_METADATA;\n const isListView = !isMetadataBasedView && viewMode === VIEW_MODE_LIST; // Folder view or Recents view\n const isGridView = !isMetadataBasedView && viewMode === VIEW_MODE_GRID; // Folder view or Recents view\n const isMetadataViewV2Feature = isFeatureEnabled(features, 'contentExplorer.metadataViewV2');\n return (\n <div className=\"bce-content\">\n {view === VIEW_ERROR || view === VIEW_SELECTED ? null : <ProgressBar percent={percentLoaded} />}\n\n {isViewEmpty && <EmptyView view={view} isLoading={percentLoaded !== 100} />}\n {!isMetadataViewV2Feature && !isViewEmpty && isMetadataBasedView && (\n <MetadataBasedItemList\n currentCollection={currentCollection}\n fieldsToShow={fieldsToShow}\n onMetadataUpdate={onMetadataUpdate}\n {...rest}\n />\n )}\n {isMetadataViewV2Feature && !isViewEmpty && isMetadataBasedView && <MetadataView />}\n {!isViewEmpty && isListView && (\n <ItemList\n items={items}\n onSortChange={onSortChange}\n sortBy={sortBy}\n sortDirection={sortDirection}\n view={view}\n {...rest}\n />\n )}\n {!isViewEmpty && isGridView && (\n <ItemGrid gridColumnCount={gridColumnCount} items={items} view={view} {...rest} />\n )}\n </div>\n );\n};\n\nexport default Content;\n"],"mappings":"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","ignoreList":[]}
@@ -1541,7 +1541,7 @@ class ContentExplorer extends Component {
1541
1541
  className: "be-app-element",
1542
1542
  onKeyDown: this.onKeyDown,
1543
1543
  tabIndex: 0
1544
- }, !isDefaultViewMetadata && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, {
1544
+ }, !isDefaultViewMetadata && /*#__PURE__*/React.createElement(Header, {
1545
1545
  view: view,
1546
1546
  logoUrl: logoUrl,
1547
1547
  onSearch: this.search
@@ -1565,7 +1565,7 @@ class ContentExplorer extends Component {
1565
1565
  onSortChange: this.sort,
1566
1566
  onViewModeChange: this.changeViewMode,
1567
1567
  portalElement: this.rootElement
1568
- })), /*#__PURE__*/React.createElement(Content, {
1568
+ }), /*#__PURE__*/React.createElement(Content, {
1569
1569
  canDelete: canDelete,
1570
1570
  canDownload: canDownload,
1571
1571
  canPreview: canPreview,