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

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 (42) hide show
  1. package/dist/explorer.js +1 -1
  2. package/dist/preview.js +1 -1
  3. package/dist/sidebar.js +1 -1
  4. package/es/elements/common/nav-button/BackButton.js +5 -8
  5. package/es/elements/common/nav-button/BackButton.js.flow +8 -18
  6. package/es/elements/common/nav-button/BackButton.js.map +1 -1
  7. package/{src/elements/common/types/SidebarNavigation.flow.js → es/elements/common/types/SidebarNavigation.js.flow} +9 -23
  8. package/es/elements/content-sidebar/versions/StaticVersionSidebar.js +6 -3
  9. package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.flow +47 -42
  10. package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.map +1 -1
  11. package/es/elements/content-sidebar/versions/VersionsGroup.js.flow +3 -0
  12. package/es/elements/content-sidebar/versions/VersionsGroup.js.map +1 -1
  13. package/es/elements/content-sidebar/versions/VersionsList.js +16 -8
  14. package/es/elements/content-sidebar/versions/VersionsList.js.flow +35 -17
  15. package/es/elements/content-sidebar/versions/VersionsList.js.map +1 -1
  16. package/es/elements/content-sidebar/versions/VersionsMenu.js.flow +3 -0
  17. package/es/elements/content-sidebar/versions/VersionsMenu.js.map +1 -1
  18. package/es/elements/content-sidebar/versions/VersionsSidebar.js +6 -3
  19. package/es/elements/content-sidebar/versions/VersionsSidebar.js.flow +48 -39
  20. package/es/elements/content-sidebar/versions/VersionsSidebar.js.map +1 -1
  21. package/es/src/test-utils/testing-library.d.ts +2 -1
  22. package/es/test-utils/testing-library.js +4 -1
  23. package/es/test-utils/testing-library.js.map +1 -1
  24. package/package.json +3 -3
  25. package/src/elements/common/nav-button/BackButton.js +8 -18
  26. package/src/elements/common/nav-button/__tests__/BackButton.test.js +36 -27
  27. package/{es/elements/common/types/SidebarNavigation.flow.js.flow → src/elements/common/types/SidebarNavigation.js.flow} +9 -23
  28. package/src/elements/content-sidebar/versions/StaticVersionSidebar.js +47 -42
  29. package/src/elements/content-sidebar/versions/VersionsGroup.js +3 -0
  30. package/src/elements/content-sidebar/versions/VersionsList.js +35 -17
  31. package/src/elements/content-sidebar/versions/VersionsMenu.js +3 -0
  32. package/src/elements/content-sidebar/versions/VersionsSidebar.js +48 -39
  33. package/src/elements/content-sidebar/versions/__tests__/StaticVersionSidebar.test.js +171 -0
  34. package/src/elements/content-sidebar/versions/__tests__/VersionsList.test.js +138 -13
  35. package/src/elements/content-sidebar/versions/__tests__/VersionsMenu.test.js +75 -23
  36. package/src/elements/content-sidebar/versions/__tests__/VersionsSidebar.test.js +147 -20
  37. package/src/test-utils/testing-library.tsx +4 -1
  38. package/es/elements/common/types/SidebarNavigation.flow.js +0 -14
  39. package/es/elements/common/types/SidebarNavigation.flow.js.map +0 -1
  40. package/src/elements/common/nav-button/__tests__/__snapshots__/BackButton.test.js.snap +0 -64
  41. package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsList.test.js.snap +0 -45
  42. package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsSidebar.test.js.snap +0 -92
@@ -1,4 +1,4 @@
1
- const _excluded = ["className", "to"];
1
+ const _excluded = ["className", "onClick"];
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
4
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
@@ -11,7 +11,6 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
11
11
  import * as React from 'react';
12
12
  import classNames from 'classnames';
13
13
  import { FormattedMessage } from 'react-intl';
14
- import { Route } from 'react-router-dom';
15
14
  import IconNavigateLeft from '../../../icons/general/IconNavigateLeft';
16
15
  import messages from '../messages';
17
16
  import PlainButton from '../../../components/plain-button';
@@ -19,21 +18,19 @@ import './BackButton.scss';
19
18
  const BackButton = _ref => {
20
19
  let {
21
20
  className,
22
- to
21
+ onClick
23
22
  } = _ref,
24
23
  rest = _objectWithoutProperties(_ref, _excluded);
25
- return /*#__PURE__*/React.createElement(Route, null, ({
26
- history
27
- }) => /*#__PURE__*/React.createElement(PlainButton, _extends({
24
+ return /*#__PURE__*/React.createElement(PlainButton, _extends({
28
25
  className: classNames('bdl-BackButton', className),
29
- onClick: () => to ? history.push(to) : history.goBack(),
26
+ onClick: onClick,
30
27
  type: "button"
31
28
  }, rest), /*#__PURE__*/React.createElement(IconNavigateLeft, {
32
29
  height: 24,
33
30
  width: 24
34
31
  }), /*#__PURE__*/React.createElement("span", {
35
32
  className: "accessibility-hidden"
36
- }, /*#__PURE__*/React.createElement(FormattedMessage, messages.back))));
33
+ }, /*#__PURE__*/React.createElement(FormattedMessage, messages.back)));
37
34
  };
38
35
  export default BackButton;
39
36
  //# sourceMappingURL=BackButton.js.map
@@ -7,7 +7,6 @@
7
7
  import * as React from 'react';
8
8
  import classNames from 'classnames';
9
9
  import { FormattedMessage } from 'react-intl';
10
- import { Route, type Location } from 'react-router-dom';
11
10
  import IconNavigateLeft from '../../../icons/general/IconNavigateLeft';
12
11
  import messages from '../messages';
13
12
  import PlainButton from '../../../components/plain-button';
@@ -15,25 +14,16 @@ import './BackButton.scss';
15
14
 
16
15
  type Props = {
17
16
  className?: string,
18
- to?: Location,
17
+ onClick: () => void,
19
18
  };
20
19
 
21
- const BackButton = ({ className, to, ...rest }: Props) => (
22
- <Route>
23
- {({ history }) => (
24
- <PlainButton
25
- className={classNames('bdl-BackButton', className)}
26
- onClick={() => (to ? history.push(to) : history.goBack())}
27
- type="button"
28
- {...rest}
29
- >
30
- <IconNavigateLeft height={24} width={24} />
31
- <span className="accessibility-hidden">
32
- <FormattedMessage {...messages.back} />
33
- </span>
34
- </PlainButton>
35
- )}
36
- </Route>
20
+ const BackButton = ({ className, onClick, ...rest }: Props) => (
21
+ <PlainButton className={classNames('bdl-BackButton', className)} onClick={onClick} type="button" {...rest}>
22
+ <IconNavigateLeft height={24} width={24} />
23
+ <span className="accessibility-hidden">
24
+ <FormattedMessage {...messages.back} />
25
+ </span>
26
+ </PlainButton>
37
27
  );
38
28
 
39
29
  export default BackButton;
@@ -1 +1 @@
1
- {"version":3,"file":"BackButton.js","names":["React","classNames","FormattedMessage","Route","IconNavigateLeft","messages","PlainButton","BackButton","_ref","className","to","rest","_objectWithoutProperties","_excluded","createElement","history","_extends","onClick","push","goBack","type","height","width","back"],"sources":["../../../../src/elements/common/nav-button/BackButton.js"],"sourcesContent":["/**\n * @flow\n * @file Back Button component\n * @author Box\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { FormattedMessage } from 'react-intl';\nimport { Route, type Location } from 'react-router-dom';\nimport IconNavigateLeft from '../../../icons/general/IconNavigateLeft';\nimport messages from '../messages';\nimport PlainButton from '../../../components/plain-button';\nimport './BackButton.scss';\n\ntype Props = {\n className?: string,\n to?: Location,\n};\n\nconst BackButton = ({ className, to, ...rest }: Props) => (\n <Route>\n {({ history }) => (\n <PlainButton\n className={classNames('bdl-BackButton', className)}\n onClick={() => (to ? history.push(to) : history.goBack())}\n type=\"button\"\n {...rest}\n >\n <IconNavigateLeft height={24} width={24} />\n <span className=\"accessibility-hidden\">\n <FormattedMessage {...messages.back} />\n </span>\n </PlainButton>\n )}\n </Route>\n);\n\nexport default BackButton;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,SAASC,KAAK,QAAuB,kBAAkB;AACvD,OAAOC,gBAAgB,MAAM,yCAAyC;AACtE,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,WAAW,MAAM,kCAAkC;AAC1D,OAAO,mBAAmB;AAO1B,MAAMC,UAAU,GAAGC,IAAA;EAAA,IAAC;MAAEC,SAAS;MAAEC;IAAmB,CAAC,GAAAF,IAAA;IAAbG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBACxCb,KAAA,CAAAc,aAAA,CAACX,KAAK,QACD,CAAC;IAAEY;EAAQ,CAAC,kBACTf,KAAA,CAAAc,aAAA,CAACR,WAAW,EAAAU,QAAA;IACRP,SAAS,EAAER,UAAU,CAAC,gBAAgB,EAAEQ,SAAS,CAAE;IACnDQ,OAAO,EAAEA,CAAA,KAAOP,EAAE,GAAGK,OAAO,CAACG,IAAI,CAACR,EAAE,CAAC,GAAGK,OAAO,CAACI,MAAM,CAAC,CAAG;IAC1DC,IAAI,EAAC;EAAQ,GACTT,IAAI,gBAERX,KAAA,CAAAc,aAAA,CAACV,gBAAgB;IAACiB,MAAM,EAAE,EAAG;IAACC,KAAK,EAAE;EAAG,CAAE,CAAC,eAC3CtB,KAAA,CAAAc,aAAA;IAAML,SAAS,EAAC;EAAsB,gBAClCT,KAAA,CAAAc,aAAA,CAACZ,gBAAgB,EAAKG,QAAQ,CAACkB,IAAO,CACpC,CACG,CAEd,CAAC;AAAA,CACX;AAED,eAAehB,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"BackButton.js","names":["React","classNames","FormattedMessage","IconNavigateLeft","messages","PlainButton","BackButton","_ref","className","onClick","rest","_objectWithoutProperties","_excluded","createElement","_extends","type","height","width","back"],"sources":["../../../../src/elements/common/nav-button/BackButton.js"],"sourcesContent":["/**\n * @flow\n * @file Back Button component\n * @author Box\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { FormattedMessage } from 'react-intl';\nimport IconNavigateLeft from '../../../icons/general/IconNavigateLeft';\nimport messages from '../messages';\nimport PlainButton from '../../../components/plain-button';\nimport './BackButton.scss';\n\ntype Props = {\n className?: string,\n onClick: () => void,\n};\n\nconst BackButton = ({ className, onClick, ...rest }: Props) => (\n <PlainButton className={classNames('bdl-BackButton', className)} onClick={onClick} type=\"button\" {...rest}>\n <IconNavigateLeft height={24} width={24} />\n <span className=\"accessibility-hidden\">\n <FormattedMessage {...messages.back} />\n </span>\n </PlainButton>\n);\n\nexport default BackButton;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,gBAAgB,QAAQ,YAAY;AAC7C,OAAOC,gBAAgB,MAAM,yCAAyC;AACtE,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,WAAW,MAAM,kCAAkC;AAC1D,OAAO,mBAAmB;AAO1B,MAAMC,UAAU,GAAGC,IAAA;EAAA,IAAC;MAAEC,SAAS;MAAEC;IAAwB,CAAC,GAAAF,IAAA;IAAbG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBAC7CZ,KAAA,CAAAa,aAAA,CAACR,WAAW,EAAAS,QAAA;IAACN,SAAS,EAAEP,UAAU,CAAC,gBAAgB,EAAEO,SAAS,CAAE;IAACC,OAAO,EAAEA,OAAQ;IAACM,IAAI,EAAC;EAAQ,GAAKL,IAAI,gBACrGV,KAAA,CAAAa,aAAA,CAACV,gBAAgB;IAACa,MAAM,EAAE,EAAG;IAACC,KAAK,EAAE;EAAG,CAAE,CAAC,eAC3CjB,KAAA,CAAAa,aAAA;IAAML,SAAS,EAAC;EAAsB,gBAClCR,KAAA,CAAAa,aAAA,CAACX,gBAAgB,EAAKE,QAAQ,CAACc,IAAO,CACpC,CACG,CAAC;AAAA,CACjB;AAED,eAAeZ,UAAU","ignoreList":[]}
@@ -1,5 +1,8 @@
1
1
  /* @flow */
2
2
 
3
+ // flow version is simplified compared to Type Script due to difficult to resolve problems with Union Types
4
+ // Type Script works better with Union Types
5
+
3
6
  export const ViewType = Object.freeze({
4
7
  BOXAI: 'boxai',
5
8
  SKILLS: 'skills',
@@ -18,30 +21,13 @@ export const FeedEntryType = Object.freeze({
18
21
  export type ViewTypeValues = $Values<typeof ViewType>;
19
22
  export type FeedEntryTypeValues = $Values<typeof FeedEntryType>;
20
23
 
21
- type VersionSidebarView = {
22
- sidebar: 'activity' | 'details',
23
- versionId: string,
24
- };
25
-
26
- export type ActivityAnnotationsSidebarView = {
27
- sidebar: 'activity',
28
- activeFeedEntryType: 'annotations',
29
- fileVersionId: string,
30
- activeFeedEntryId: string,
24
+ export type SidebarNavigation = {
25
+ sidebar: ViewTypeValues,
26
+ versionId?: string,
27
+ activeFeedEntryType?: FeedEntryTypeValues,
28
+ activeFeedEntryId?: string,
29
+ fileVersionId?: string,
31
30
  };
32
- type ActivityCommentsSidebarView = {
33
- sidebar: 'activity',
34
- activeFeedEntryType: 'comments' | 'tasks',
35
- activeFeedEntryId: string,
36
- };
37
-
38
- export type SidebarNavigation =
39
- | {|
40
- sidebar: ViewTypeValues,
41
- |}
42
- | VersionSidebarView
43
- | ActivityCommentsSidebarView
44
- | ActivityAnnotationsSidebarView;
45
31
 
46
32
  export type InternalSidebarNavigation = SidebarNavigation & {
47
33
  open: boolean,
@@ -6,6 +6,7 @@
6
6
 
7
7
  import * as React from 'react';
8
8
  import { FormattedMessage } from 'react-intl';
9
+ import { Route } from 'react-router-dom';
9
10
  import BoxDrive140 from '../../../illustration/BoxDrive140';
10
11
  import { BackButton } from '../../common/nav-button';
11
12
  import PrimaryButton from '../../../components/primary-button';
@@ -35,7 +36,9 @@ const StaticVersionsSidebar = ({
35
36
  uploader_display_name: 'John Doe'
36
37
  };
37
38
  });
38
- return /*#__PURE__*/React.createElement("div", {
39
+ return /*#__PURE__*/React.createElement(Route, null, ({
40
+ history
41
+ }) => /*#__PURE__*/React.createElement("div", {
39
42
  className: "bcs-StaticVersionSidebar",
40
43
  role: "tabpanel",
41
44
  "data-resin-component": "preview",
@@ -46,7 +49,7 @@ const StaticVersionsSidebar = ({
46
49
  className: "bcs-StaticVersionSidebar-title"
47
50
  }, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BackButton, {
48
51
  "data-resin-target": "back",
49
- to: `/${parentName}`
52
+ onClick: () => history.push(`/${parentName}`)
50
53
  }), /*#__PURE__*/React.createElement(FormattedMessage, messages.versionsTitle)))), /*#__PURE__*/React.createElement("div", {
51
54
  className: "bcs-StaticVersionSidebar-content-wrapper"
52
55
  }, /*#__PURE__*/React.createElement(LoadingIndicatorWrapper, {
@@ -71,7 +74,7 @@ const StaticVersionsSidebar = ({
71
74
  "data-resin-target": "versioning_error_upgrade_cta",
72
75
  onClick: onUpgradeClick,
73
76
  type: "button"
74
- }, /*#__PURE__*/React.createElement(FormattedMessage, messages.upgradeButton)))));
77
+ }, /*#__PURE__*/React.createElement(FormattedMessage, messages.upgradeButton))))));
75
78
  };
76
79
  export default StaticVersionsSidebar;
77
80
  //# sourceMappingURL=StaticVersionSidebar.js.map
@@ -6,6 +6,7 @@
6
6
 
7
7
  import * as React from 'react';
8
8
  import { FormattedMessage } from 'react-intl';
9
+ import { Route } from 'react-router-dom';
9
10
 
10
11
  import BoxDrive140 from '../../../illustration/BoxDrive140';
11
12
 
@@ -45,51 +46,55 @@ const StaticVersionsSidebar = ({ isLoading, onUpgradeClick, parentName }: Props)
45
46
  });
46
47
 
47
48
  return (
48
- <div
49
- className="bcs-StaticVersionSidebar"
50
- role="tabpanel"
51
- data-resin-component="preview"
52
- data-resin-feature="versions"
53
- >
54
- <div className="bcs-StaticVersionSidebar-header">
55
- <h3 className="bcs-StaticVersionSidebar-title">
56
- <>
57
- <BackButton data-resin-target="back" to={`/${parentName}`} />
58
- <FormattedMessage {...messages.versionsTitle} />
59
- </>
60
- </h3>
61
- </div>
62
-
63
- <div className="bcs-StaticVersionSidebar-content-wrapper">
64
- <LoadingIndicatorWrapper
65
- className="bcs-StaticVersionSidebar-content"
66
- crawlerPosition="top"
67
- isLoading={isLoading}
49
+ <Route>
50
+ {({ history }) => (
51
+ <div
52
+ className="bcs-StaticVersionSidebar"
53
+ role="tabpanel"
54
+ data-resin-component="preview"
55
+ data-resin-feature="versions"
68
56
  >
69
- <VersionsMenu versions={versions} fileId="1" versionCount={3} versionLimit={3} />
70
- </LoadingIndicatorWrapper>
71
- </div>
57
+ <div className="bcs-StaticVersionSidebar-header">
58
+ <h3 className="bcs-StaticVersionSidebar-title">
59
+ <>
60
+ <BackButton data-resin-target="back" onClick={() => history.push(`/${parentName}`)} />
61
+ <FormattedMessage {...messages.versionsTitle} />
62
+ </>
63
+ </h3>
64
+ </div>
65
+
66
+ <div className="bcs-StaticVersionSidebar-content-wrapper">
67
+ <LoadingIndicatorWrapper
68
+ className="bcs-StaticVersionSidebar-content"
69
+ crawlerPosition="top"
70
+ isLoading={isLoading}
71
+ >
72
+ <VersionsMenu versions={versions} fileId="1" versionCount={3} versionLimit={3} />
73
+ </LoadingIndicatorWrapper>
74
+ </div>
72
75
 
73
- <div className="bcs-StaticVersionSidebar-upsell-wrapper">
74
- <div className="bcs-StaticVersionSidebar-upsell">
75
- <BoxDrive140 className="bcs-StaticVersionSidebar-upsell-icon" />
76
- <p className="bcs-StaticVersionSidebar-upsell-header">
77
- <FormattedMessage {...messages.versionUpgradeLink} />
78
- </p>
79
- <p>
80
- <FormattedMessage {...messages.versionUpsell} />
81
- </p>
82
- <PrimaryButton
83
- className="bcs-StaticVersionSidebar-upsell-button"
84
- data-resin-target="versioning_error_upgrade_cta"
85
- onClick={onUpgradeClick}
86
- type="button"
87
- >
88
- <FormattedMessage {...messages.upgradeButton} />
89
- </PrimaryButton>
76
+ <div className="bcs-StaticVersionSidebar-upsell-wrapper">
77
+ <div className="bcs-StaticVersionSidebar-upsell">
78
+ <BoxDrive140 className="bcs-StaticVersionSidebar-upsell-icon" />
79
+ <p className="bcs-StaticVersionSidebar-upsell-header">
80
+ <FormattedMessage {...messages.versionUpgradeLink} />
81
+ </p>
82
+ <p>
83
+ <FormattedMessage {...messages.versionUpsell} />
84
+ </p>
85
+ <PrimaryButton
86
+ className="bcs-StaticVersionSidebar-upsell-button"
87
+ data-resin-target="versioning_error_upgrade_cta"
88
+ onClick={onUpgradeClick}
89
+ type="button"
90
+ >
91
+ <FormattedMessage {...messages.upgradeButton} />
92
+ </PrimaryButton>
93
+ </div>
94
+ </div>
90
95
  </div>
91
- </div>
92
- </div>
96
+ )}
97
+ </Route>
93
98
  );
94
99
  };
95
100
 
@@ -1 +1 @@
1
- {"version":3,"file":"StaticVersionSidebar.js","names":["React","FormattedMessage","BoxDrive140","BackButton","PrimaryButton","LoadingIndicatorWrapper","VersionsMenu","messages","StaticVersionsSidebar","isLoading","onUpgradeClick","parentName","versionTimestamp","Date","setDate","getDate","versions","map","versionNumber","id","version_number","type","permissions","can_preview","created_at","toUTCString","modified_by","size","trashed_at","uploader_display_name","createElement","className","role","Fragment","to","versionsTitle","crawlerPosition","fileId","versionCount","versionLimit","versionUpgradeLink","versionUpsell","onClick","upgradeButton"],"sources":["../../../../src/elements/content-sidebar/versions/StaticVersionSidebar.js"],"sourcesContent":["/**\n * @flow\n * @file Static Versions Sidebar component\n * @author Box\n */\n\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\n\nimport BoxDrive140 from '../../../illustration/BoxDrive140';\n\nimport { BackButton } from '../../common/nav-button';\nimport PrimaryButton from '../../../components/primary-button';\nimport { LoadingIndicatorWrapper } from '../../../components/loading-indicator';\nimport VersionsMenu from './VersionsMenu';\n\nimport messages from './messages';\n\nimport './StaticVersionsSidebar.scss';\n\ntype Props = {\n isLoading: boolean,\n onUpgradeClick: () => void,\n parentName: string,\n};\n\nconst StaticVersionsSidebar = ({ isLoading, onUpgradeClick, parentName }: Props): React.Node => {\n const versionTimestamp = new Date();\n versionTimestamp.setDate(versionTimestamp.getDate() - 1);\n\n const versions = ['1', '2', '3'].map(versionNumber => {\n return {\n id: versionNumber,\n version_number: versionNumber,\n type: 'file_version',\n permissions: {\n can_preview: true,\n },\n created_at: versionTimestamp.toUTCString(),\n modified_by: null,\n size: 1875887,\n trashed_at: null,\n uploader_display_name: 'John Doe',\n };\n });\n\n return (\n <div\n className=\"bcs-StaticVersionSidebar\"\n role=\"tabpanel\"\n data-resin-component=\"preview\"\n data-resin-feature=\"versions\"\n >\n <div className=\"bcs-StaticVersionSidebar-header\">\n <h3 className=\"bcs-StaticVersionSidebar-title\">\n <>\n <BackButton data-resin-target=\"back\" to={`/${parentName}`} />\n <FormattedMessage {...messages.versionsTitle} />\n </>\n </h3>\n </div>\n\n <div className=\"bcs-StaticVersionSidebar-content-wrapper\">\n <LoadingIndicatorWrapper\n className=\"bcs-StaticVersionSidebar-content\"\n crawlerPosition=\"top\"\n isLoading={isLoading}\n >\n <VersionsMenu versions={versions} fileId=\"1\" versionCount={3} versionLimit={3} />\n </LoadingIndicatorWrapper>\n </div>\n\n <div className=\"bcs-StaticVersionSidebar-upsell-wrapper\">\n <div className=\"bcs-StaticVersionSidebar-upsell\">\n <BoxDrive140 className=\"bcs-StaticVersionSidebar-upsell-icon\" />\n <p className=\"bcs-StaticVersionSidebar-upsell-header\">\n <FormattedMessage {...messages.versionUpgradeLink} />\n </p>\n <p>\n <FormattedMessage {...messages.versionUpsell} />\n </p>\n <PrimaryButton\n className=\"bcs-StaticVersionSidebar-upsell-button\"\n data-resin-target=\"versioning_error_upgrade_cta\"\n onClick={onUpgradeClick}\n type=\"button\"\n >\n <FormattedMessage {...messages.upgradeButton} />\n </PrimaryButton>\n </div>\n </div>\n </div>\n );\n};\n\nexport default StaticVersionsSidebar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StaticVersionSidebar.js","names":["React","FormattedMessage","Route","BoxDrive140","BackButton","PrimaryButton","LoadingIndicatorWrapper","VersionsMenu","messages","StaticVersionsSidebar","isLoading","onUpgradeClick","parentName","versionTimestamp","Date","setDate","getDate","versions","map","versionNumber","id","version_number","type","permissions","can_preview","created_at","toUTCString","modified_by","size","trashed_at","uploader_display_name","createElement","history","className","role","Fragment","onClick","push","versionsTitle","crawlerPosition","fileId","versionCount","versionLimit","versionUpgradeLink","versionUpsell","upgradeButton"],"sources":["../../../../src/elements/content-sidebar/versions/StaticVersionSidebar.js"],"sourcesContent":["/**\n * @flow\n * @file Static Versions Sidebar component\n * @author Box\n */\n\nimport * as React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Route } from 'react-router-dom';\n\nimport BoxDrive140 from '../../../illustration/BoxDrive140';\n\nimport { BackButton } from '../../common/nav-button';\nimport PrimaryButton from '../../../components/primary-button';\nimport { LoadingIndicatorWrapper } from '../../../components/loading-indicator';\nimport VersionsMenu from './VersionsMenu';\n\nimport messages from './messages';\n\nimport './StaticVersionsSidebar.scss';\n\ntype Props = {\n isLoading: boolean,\n onUpgradeClick: () => void,\n parentName: string,\n};\n\nconst StaticVersionsSidebar = ({ isLoading, onUpgradeClick, parentName }: Props): React.Node => {\n const versionTimestamp = new Date();\n versionTimestamp.setDate(versionTimestamp.getDate() - 1);\n\n const versions = ['1', '2', '3'].map(versionNumber => {\n return {\n id: versionNumber,\n version_number: versionNumber,\n type: 'file_version',\n permissions: {\n can_preview: true,\n },\n created_at: versionTimestamp.toUTCString(),\n modified_by: null,\n size: 1875887,\n trashed_at: null,\n uploader_display_name: 'John Doe',\n };\n });\n\n return (\n <Route>\n {({ history }) => (\n <div\n className=\"bcs-StaticVersionSidebar\"\n role=\"tabpanel\"\n data-resin-component=\"preview\"\n data-resin-feature=\"versions\"\n >\n <div className=\"bcs-StaticVersionSidebar-header\">\n <h3 className=\"bcs-StaticVersionSidebar-title\">\n <>\n <BackButton data-resin-target=\"back\" onClick={() => history.push(`/${parentName}`)} />\n <FormattedMessage {...messages.versionsTitle} />\n </>\n </h3>\n </div>\n\n <div className=\"bcs-StaticVersionSidebar-content-wrapper\">\n <LoadingIndicatorWrapper\n className=\"bcs-StaticVersionSidebar-content\"\n crawlerPosition=\"top\"\n isLoading={isLoading}\n >\n <VersionsMenu versions={versions} fileId=\"1\" versionCount={3} versionLimit={3} />\n </LoadingIndicatorWrapper>\n </div>\n\n <div className=\"bcs-StaticVersionSidebar-upsell-wrapper\">\n <div className=\"bcs-StaticVersionSidebar-upsell\">\n <BoxDrive140 className=\"bcs-StaticVersionSidebar-upsell-icon\" />\n <p className=\"bcs-StaticVersionSidebar-upsell-header\">\n <FormattedMessage {...messages.versionUpgradeLink} />\n </p>\n <p>\n <FormattedMessage {...messages.versionUpsell} />\n </p>\n <PrimaryButton\n className=\"bcs-StaticVersionSidebar-upsell-button\"\n data-resin-target=\"versioning_error_upgrade_cta\"\n onClick={onUpgradeClick}\n type=\"button\"\n >\n <FormattedMessage {...messages.upgradeButton} />\n </PrimaryButton>\n </div>\n </div>\n </div>\n )}\n </Route>\n );\n};\n\nexport default StaticVersionsSidebar;\n"],"mappings":"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","ignoreList":[]}
@@ -7,11 +7,14 @@
7
7
  import * as React from 'react';
8
8
  import VersionsList from './VersionsList';
9
9
  import type { BoxItemVersion } from '../../../common/types/core';
10
+ import type { InternalSidebarNavigation } from '../../common/types/SidebarNavigation';
10
11
  import './VersionsGroup.scss';
11
12
 
12
13
  type Props = {
13
14
  fileId: string,
14
15
  heading: string,
16
+ internalSidebarNavigation?: InternalSidebarNavigation,
17
+ routerDisabled?: boolean,
15
18
  versionCount: number,
16
19
  versionLimit: number,
17
20
  versions: Array<BoxItemVersion>,
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsGroup.js","names":["React","VersionsList","VersionsGroup","_ref","heading","rest","_objectWithoutProperties","_excluded","createElement","className"],"sources":["../../../../src/elements/content-sidebar/versions/VersionsGroup.js"],"sourcesContent":["/**\n * @flow\n * @file Versions Group component\n * @author Box\n */\n\nimport * as React from 'react';\nimport VersionsList from './VersionsList';\nimport type { BoxItemVersion } from '../../../common/types/core';\nimport './VersionsGroup.scss';\n\ntype Props = {\n fileId: string,\n heading: string,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\nconst VersionsGroup = ({ heading, ...rest }: Props) => {\n return (\n <section className=\"bcs-VersionsGroup\">\n <h4 className=\"bcs-VersionsGroup-heading\">{heading}</h4>\n <VersionsList {...rest} />\n </section>\n );\n};\n\nexport default VersionsGroup;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,OAAO,sBAAsB;AAU7B,MAAMC,aAAa,GAAGC,IAAA,IAAiC;EAAA,IAAhC;MAAEC;IAAwB,CAAC,GAAAD,IAAA;IAAbE,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACrC,oBACIP,KAAA,CAAAQ,aAAA;IAASC,SAAS,EAAC;EAAmB,gBAClCT,KAAA,CAAAQ,aAAA;IAAIC,SAAS,EAAC;EAA2B,GAAEL,OAAY,CAAC,eACxDJ,KAAA,CAAAQ,aAAA,CAACP,YAAY,EAAKI,IAAO,CACpB,CAAC;AAElB,CAAC;AAED,eAAeH,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"VersionsGroup.js","names":["React","VersionsList","VersionsGroup","_ref","heading","rest","_objectWithoutProperties","_excluded","createElement","className"],"sources":["../../../../src/elements/content-sidebar/versions/VersionsGroup.js"],"sourcesContent":["/**\n * @flow\n * @file Versions Group component\n * @author Box\n */\n\nimport * as React from 'react';\nimport VersionsList from './VersionsList';\nimport type { BoxItemVersion } from '../../../common/types/core';\nimport type { InternalSidebarNavigation } from '../../common/types/SidebarNavigation';\nimport './VersionsGroup.scss';\n\ntype Props = {\n fileId: string,\n heading: string,\n internalSidebarNavigation?: InternalSidebarNavigation,\n routerDisabled?: boolean,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\nconst VersionsGroup = ({ heading, ...rest }: Props) => {\n return (\n <section className=\"bcs-VersionsGroup\">\n <h4 className=\"bcs-VersionsGroup-heading\">{heading}</h4>\n <VersionsList {...rest} />\n </section>\n );\n};\n\nexport default VersionsGroup;\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,YAAY,MAAM,gBAAgB;AAGzC,OAAO,sBAAsB;AAY7B,MAAMC,aAAa,GAAGC,IAAA,IAAiC;EAAA,IAAhC;MAAEC;IAAwB,CAAC,GAAAD,IAAA;IAAbE,IAAI,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACrC,oBACIP,KAAA,CAAAQ,aAAA;IAASC,SAAS,EAAC;EAAmB,gBAClCT,KAAA,CAAAQ,aAAA;IAAIC,SAAS,EAAC;EAA2B,GAAEL,OAAY,CAAC,eACxDJ,KAAA,CAAAQ,aAAA,CAACP,YAAY,EAAKI,IAAO,CACpB,CAAC;AAElB,CAAC;AAED,eAAeH,aAAa","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- const _excluded = ["currentId", "versions"];
1
+ const _excluded = ["currentId", "internalSidebarNavigation", "routerDisabled", "versions"];
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
4
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
@@ -15,15 +15,17 @@ import './VersionsList.scss';
15
15
  const VersionsList = _ref => {
16
16
  let {
17
17
  currentId,
18
+ internalSidebarNavigation,
19
+ routerDisabled = false,
18
20
  versions
19
21
  } = _ref,
20
22
  rest = _objectWithoutProperties(_ref, _excluded);
21
- return /*#__PURE__*/React.createElement("ul", {
22
- className: "bcs-VersionsList"
23
- }, versions.map(version => /*#__PURE__*/React.createElement("li", {
24
- className: "bcs-VersionsList-item",
25
- key: version.id
26
- }, /*#__PURE__*/React.createElement(Route, {
23
+ const renderVersionItemWithoutRouter = version => /*#__PURE__*/React.createElement(VersionsItem, _extends({
24
+ isCurrent: currentId === version.id,
25
+ isSelected: internalSidebarNavigation?.versionId === version.id,
26
+ version: version
27
+ }, rest));
28
+ const renderVersionItemWithRouter = version => /*#__PURE__*/React.createElement(Route, {
27
29
  render: ({
28
30
  match
29
31
  }) => /*#__PURE__*/React.createElement(VersionsItem, _extends({
@@ -31,7 +33,13 @@ const VersionsList = _ref => {
31
33
  isSelected: match.params.versionId === version.id,
32
34
  version: version
33
35
  }, rest))
34
- }))));
36
+ });
37
+ return /*#__PURE__*/React.createElement("ul", {
38
+ className: "bcs-VersionsList"
39
+ }, versions.map(version => /*#__PURE__*/React.createElement("li", {
40
+ className: "bcs-VersionsList-item",
41
+ key: version.id
42
+ }, routerDisabled ? renderVersionItemWithoutRouter(version) : renderVersionItemWithRouter(version))));
35
43
  };
36
44
  export default VersionsList;
37
45
  //# sourceMappingURL=VersionsList.js.map
@@ -8,33 +8,51 @@ import * as React from 'react';
8
8
  import { Route } from 'react-router-dom';
9
9
  import VersionsItem from './VersionsItem';
10
10
  import type { BoxItemVersion } from '../../../common/types/core';
11
+ import type { InternalSidebarNavigation } from '../../common/types/SidebarNavigation';
11
12
  import './VersionsList.scss';
12
13
 
13
14
  type Props = {
14
15
  currentId?: string,
15
16
  fileId: string,
17
+ internalSidebarNavigation?: InternalSidebarNavigation,
18
+ routerDisabled?: boolean,
16
19
  versionCount: number,
17
20
  versionLimit: number,
18
21
  versions: Array<BoxItemVersion>,
19
22
  };
20
23
 
21
- const VersionsList = ({ currentId, versions, ...rest }: Props) => (
22
- <ul className="bcs-VersionsList">
23
- {versions.map(version => (
24
- <li className="bcs-VersionsList-item" key={version.id}>
25
- <Route
26
- render={({ match }) => (
27
- <VersionsItem
28
- isCurrent={currentId === version.id}
29
- isSelected={match.params.versionId === version.id}
30
- version={version}
31
- {...rest}
32
- />
33
- )}
24
+ const VersionsList = ({ currentId, internalSidebarNavigation, routerDisabled = false, versions, ...rest }: Props) => {
25
+ const renderVersionItemWithoutRouter = (version: BoxItemVersion) => (
26
+ <VersionsItem
27
+ isCurrent={currentId === version.id}
28
+ isSelected={internalSidebarNavigation?.versionId === version.id}
29
+ version={version}
30
+ {...rest}
31
+ />
32
+ );
33
+
34
+ const renderVersionItemWithRouter = (version: BoxItemVersion) => (
35
+ <Route
36
+ render={({ match }) => (
37
+ <VersionsItem
38
+ isCurrent={currentId === version.id}
39
+ isSelected={match.params.versionId === version.id}
40
+ version={version}
41
+ {...rest}
34
42
  />
35
- </li>
36
- ))}
37
- </ul>
38
- );
43
+ )}
44
+ />
45
+ );
46
+
47
+ return (
48
+ <ul className="bcs-VersionsList">
49
+ {versions.map(version => (
50
+ <li className="bcs-VersionsList-item" key={version.id}>
51
+ {routerDisabled ? renderVersionItemWithoutRouter(version) : renderVersionItemWithRouter(version)}
52
+ </li>
53
+ ))}
54
+ </ul>
55
+ );
56
+ };
39
57
 
40
58
  export default VersionsList;
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsList.js","names":["React","Route","VersionsItem","VersionsList","_ref","currentId","versions","rest","_objectWithoutProperties","_excluded","createElement","className","map","version","key","id","render","match","_extends","isCurrent","isSelected","params","versionId"],"sources":["../../../../src/elements/content-sidebar/versions/VersionsList.js"],"sourcesContent":["/**\n * @flow\n * @file Versions List component\n * @author Box\n */\n\nimport * as React from 'react';\nimport { Route } from 'react-router-dom';\nimport VersionsItem from './VersionsItem';\nimport type { BoxItemVersion } from '../../../common/types/core';\nimport './VersionsList.scss';\n\ntype Props = {\n currentId?: string,\n fileId: string,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\nconst VersionsList = ({ currentId, versions, ...rest }: Props) => (\n <ul className=\"bcs-VersionsList\">\n {versions.map(version => (\n <li className=\"bcs-VersionsList-item\" key={version.id}>\n <Route\n render={({ match }) => (\n <VersionsItem\n isCurrent={currentId === version.id}\n isSelected={match.params.versionId === version.id}\n version={version}\n {...rest}\n />\n )}\n />\n </li>\n ))}\n </ul>\n);\n\nexport default VersionsList;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,KAAK,QAAQ,kBAAkB;AACxC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,OAAO,qBAAqB;AAU5B,MAAMC,YAAY,GAAGC,IAAA;EAAA,IAAC;MAAEC,SAAS;MAAEC;IAAyB,CAAC,GAAAF,IAAA;IAAbG,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EAAA,oBAChDT,KAAA,CAAAU,aAAA;IAAIC,SAAS,EAAC;EAAkB,GAC3BL,QAAQ,CAACM,GAAG,CAACC,OAAO,iBACjBb,KAAA,CAAAU,aAAA;IAAIC,SAAS,EAAC,uBAAuB;IAACG,GAAG,EAAED,OAAO,CAACE;EAAG,gBAClDf,KAAA,CAAAU,aAAA,CAACT,KAAK;IACFe,MAAM,EAAEA,CAAC;MAAEC;IAAM,CAAC,kBACdjB,KAAA,CAAAU,aAAA,CAACR,YAAY,EAAAgB,QAAA;MACTC,SAAS,EAAEd,SAAS,KAAKQ,OAAO,CAACE,EAAG;MACpCK,UAAU,EAAEH,KAAK,CAACI,MAAM,CAACC,SAAS,KAAKT,OAAO,CAACE,EAAG;MAClDF,OAAO,EAAEA;IAAQ,GACbN,IAAI,CACX;EACH,CACL,CACD,CACP,CACD,CAAC;AAAA,CACR;AAED,eAAeJ,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"VersionsList.js","names":["React","Route","VersionsItem","VersionsList","_ref","currentId","internalSidebarNavigation","routerDisabled","versions","rest","_objectWithoutProperties","_excluded","renderVersionItemWithoutRouter","version","createElement","_extends","isCurrent","id","isSelected","versionId","renderVersionItemWithRouter","render","match","params","className","map","key"],"sources":["../../../../src/elements/content-sidebar/versions/VersionsList.js"],"sourcesContent":["/**\n * @flow\n * @file Versions List component\n * @author Box\n */\n\nimport * as React from 'react';\nimport { Route } from 'react-router-dom';\nimport VersionsItem from './VersionsItem';\nimport type { BoxItemVersion } from '../../../common/types/core';\nimport type { InternalSidebarNavigation } from '../../common/types/SidebarNavigation';\nimport './VersionsList.scss';\n\ntype Props = {\n currentId?: string,\n fileId: string,\n internalSidebarNavigation?: InternalSidebarNavigation,\n routerDisabled?: boolean,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\nconst VersionsList = ({ currentId, internalSidebarNavigation, routerDisabled = false, versions, ...rest }: Props) => {\n const renderVersionItemWithoutRouter = (version: BoxItemVersion) => (\n <VersionsItem\n isCurrent={currentId === version.id}\n isSelected={internalSidebarNavigation?.versionId === version.id}\n version={version}\n {...rest}\n />\n );\n\n const renderVersionItemWithRouter = (version: BoxItemVersion) => (\n <Route\n render={({ match }) => (\n <VersionsItem\n isCurrent={currentId === version.id}\n isSelected={match.params.versionId === version.id}\n version={version}\n {...rest}\n />\n )}\n />\n );\n\n return (\n <ul className=\"bcs-VersionsList\">\n {versions.map(version => (\n <li className=\"bcs-VersionsList-item\" key={version.id}>\n {routerDisabled ? renderVersionItemWithoutRouter(version) : renderVersionItemWithRouter(version)}\n </li>\n ))}\n </ul>\n );\n};\n\nexport default VersionsList;\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;;AAEA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,KAAK,QAAQ,kBAAkB;AACxC,OAAOC,YAAY,MAAM,gBAAgB;AAGzC,OAAO,qBAAqB;AAY5B,MAAMC,YAAY,GAAGC,IAAA,IAAgG;EAAA,IAA/F;MAAEC,SAAS;MAAEC,yBAAyB;MAAEC,cAAc,GAAG,KAAK;MAAEC;IAAyB,CAAC,GAAAJ,IAAA;IAAbK,IAAI,GAAAC,wBAAA,CAAAN,IAAA,EAAAO,SAAA;EACnG,MAAMC,8BAA8B,GAAIC,OAAuB,iBAC3Db,KAAA,CAAAc,aAAA,CAACZ,YAAY,EAAAa,QAAA;IACTC,SAAS,EAAEX,SAAS,KAAKQ,OAAO,CAACI,EAAG;IACpCC,UAAU,EAAEZ,yBAAyB,EAAEa,SAAS,KAAKN,OAAO,CAACI,EAAG;IAChEJ,OAAO,EAAEA;EAAQ,GACbJ,IAAI,CACX,CACJ;EAED,MAAMW,2BAA2B,GAAIP,OAAuB,iBACxDb,KAAA,CAAAc,aAAA,CAACb,KAAK;IACFoB,MAAM,EAAEA,CAAC;MAAEC;IAAM,CAAC,kBACdtB,KAAA,CAAAc,aAAA,CAACZ,YAAY,EAAAa,QAAA;MACTC,SAAS,EAAEX,SAAS,KAAKQ,OAAO,CAACI,EAAG;MACpCC,UAAU,EAAEI,KAAK,CAACC,MAAM,CAACJ,SAAS,KAAKN,OAAO,CAACI,EAAG;MAClDJ,OAAO,EAAEA;IAAQ,GACbJ,IAAI,CACX;EACH,CACL,CACJ;EAED,oBACIT,KAAA,CAAAc,aAAA;IAAIU,SAAS,EAAC;EAAkB,GAC3BhB,QAAQ,CAACiB,GAAG,CAACZ,OAAO,iBACjBb,KAAA,CAAAc,aAAA;IAAIU,SAAS,EAAC,uBAAuB;IAACE,GAAG,EAAEb,OAAO,CAACI;EAAG,GACjDV,cAAc,GAAGK,8BAA8B,CAACC,OAAO,CAAC,GAAGO,2BAA2B,CAACP,OAAO,CAC/F,CACP,CACD,CAAC;AAEb,CAAC;AAED,eAAeV,YAAY","ignoreList":[]}
@@ -11,11 +11,14 @@ import * as util from '../../../utils/datetime';
11
11
  import messages from './messages';
12
12
  import VersionsGroup from './VersionsGroup';
13
13
  import type { BoxItemVersion } from '../../../common/types/core';
14
+ import type { InternalSidebarNavigation } from '../../common/types/SidebarNavigation';
14
15
  import './VersionsMenu.scss';
15
16
 
16
17
  type Props = {
17
18
  fileId: string,
18
19
  intl: any,
20
+ internalSidebarNavigation?: InternalSidebarNavigation,
21
+ routerDisabled?: boolean,
19
22
  versionCount: number,
20
23
  versionLimit: number,
21
24
  versions: Array<BoxItemVersion>,
@@ -1 +1 @@
1
- {"version":3,"file":"VersionsMenu.js","names":["React","last","injectIntl","util","messages","VersionsGroup","getHeading","intl","version","created_at","createdAt","currentDate","Date","currentDay","getDay","currentSunday","getDate","createdAtDate","convertToDate","heading","isToday","formatMessage","versionsToday","isYesterday","versionsYesterday","isCurrentYear","formatDate","year","isCurrentMonth","month","versionsThisMonth","versionsPriorWeek","weekday","VersionsMenu","memo","_ref","versions","rest","_objectWithoutProperties","_excluded","id","currentId","versionGroups","reduce","groups","currentGroup","groupHeading","push","groupVersions","createElement","className","map","key","_extends"],"sources":["../../../../src/elements/content-sidebar/versions/VersionsMenu.js"],"sourcesContent":["/**\n * @flow\n * @file Versions Menu component\n * @author Box\n */\n\nimport * as React from 'react';\nimport last from 'lodash/last';\nimport { injectIntl } from 'react-intl';\nimport * as util from '../../../utils/datetime';\nimport messages from './messages';\nimport VersionsGroup from './VersionsGroup';\nimport type { BoxItemVersion } from '../../../common/types/core';\nimport './VersionsMenu.scss';\n\ntype Props = {\n fileId: string,\n intl: any,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\ntype VersionGroups = Array<{ groupHeading: string, groupVersions: Array<BoxItemVersion> }>;\n\nconst getHeading = ({ intl, version }: { intl: any, version: BoxItemVersion }): string => {\n const { created_at: createdAt } = version;\n const currentDate = new Date();\n const currentDay = currentDate.getDay();\n const currentSunday = currentDate.getDate() - currentDay;\n const createdAtDate = util.convertToDate(createdAt);\n let heading;\n\n if (util.isToday(createdAtDate)) {\n heading = intl.formatMessage(messages.versionsToday); // Today\n } else if (util.isYesterday(createdAtDate)) {\n heading = intl.formatMessage(messages.versionsYesterday); // Yesterday\n } else if (!util.isCurrentYear(createdAtDate)) {\n heading = intl.formatDate(createdAt, { year: 'numeric' }); // 2018\n } else if (!util.isCurrentMonth(createdAtDate)) {\n heading = intl.formatDate(createdAt, { month: 'long' }); // January\n } else if (createdAtDate.getDate() <= currentSunday - 7) {\n heading = intl.formatMessage(messages.versionsThisMonth); // This Month\n } else if (createdAtDate.getDate() <= currentSunday) {\n heading = intl.formatMessage(messages.versionsPriorWeek); // Last Week\n } else {\n heading = intl.formatDate(createdAt, { weekday: 'long' }); // Monday\n }\n\n return heading;\n};\n\nconst VersionsMenu = React.memo<Props>(({ intl, versions, ...rest }: Props) => {\n const { id: currentId } = versions[0] || {};\n\n // Build an ordered set of groups with headings based on the original order of the versions array\n const versionGroups = versions.reduce((groups: VersionGroups, version: BoxItemVersion): VersionGroups => {\n const currentGroup = last(groups);\n const groupHeading = getHeading({ intl, version });\n\n // Push a new group if there are no groups or if the heading has changed\n if (!currentGroup || currentGroup.groupHeading !== groupHeading) {\n groups.push({\n groupHeading,\n groupVersions: [],\n });\n }\n\n // Push the sorted version to the newest group's versions collection\n last(groups).groupVersions.push(version);\n return groups;\n }, []);\n\n return (\n <ul className=\"bcs-VersionsMenu\">\n {versionGroups.map(({ groupHeading, groupVersions }) => (\n <li className=\"bcs-VersionsMenu-item\" key={groupHeading}>\n <VersionsGroup currentId={currentId} heading={groupHeading} versions={groupVersions} {...rest} />\n </li>\n ))}\n </ul>\n );\n});\n\nexport default injectIntl(VersionsMenu);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VersionsMenu.js","names":["React","last","injectIntl","util","messages","VersionsGroup","getHeading","intl","version","created_at","createdAt","currentDate","Date","currentDay","getDay","currentSunday","getDate","createdAtDate","convertToDate","heading","isToday","formatMessage","versionsToday","isYesterday","versionsYesterday","isCurrentYear","formatDate","year","isCurrentMonth","month","versionsThisMonth","versionsPriorWeek","weekday","VersionsMenu","memo","_ref","versions","rest","_objectWithoutProperties","_excluded","id","currentId","versionGroups","reduce","groups","currentGroup","groupHeading","push","groupVersions","createElement","className","map","key","_extends"],"sources":["../../../../src/elements/content-sidebar/versions/VersionsMenu.js"],"sourcesContent":["/**\n * @flow\n * @file Versions Menu component\n * @author Box\n */\n\nimport * as React from 'react';\nimport last from 'lodash/last';\nimport { injectIntl } from 'react-intl';\nimport * as util from '../../../utils/datetime';\nimport messages from './messages';\nimport VersionsGroup from './VersionsGroup';\nimport type { BoxItemVersion } from '../../../common/types/core';\nimport type { InternalSidebarNavigation } from '../../common/types/SidebarNavigation';\nimport './VersionsMenu.scss';\n\ntype Props = {\n fileId: string,\n intl: any,\n internalSidebarNavigation?: InternalSidebarNavigation,\n routerDisabled?: boolean,\n versionCount: number,\n versionLimit: number,\n versions: Array<BoxItemVersion>,\n};\n\ntype VersionGroups = Array<{ groupHeading: string, groupVersions: Array<BoxItemVersion> }>;\n\nconst getHeading = ({ intl, version }: { intl: any, version: BoxItemVersion }): string => {\n const { created_at: createdAt } = version;\n const currentDate = new Date();\n const currentDay = currentDate.getDay();\n const currentSunday = currentDate.getDate() - currentDay;\n const createdAtDate = util.convertToDate(createdAt);\n let heading;\n\n if (util.isToday(createdAtDate)) {\n heading = intl.formatMessage(messages.versionsToday); // Today\n } else if (util.isYesterday(createdAtDate)) {\n heading = intl.formatMessage(messages.versionsYesterday); // Yesterday\n } else if (!util.isCurrentYear(createdAtDate)) {\n heading = intl.formatDate(createdAt, { year: 'numeric' }); // 2018\n } else if (!util.isCurrentMonth(createdAtDate)) {\n heading = intl.formatDate(createdAt, { month: 'long' }); // January\n } else if (createdAtDate.getDate() <= currentSunday - 7) {\n heading = intl.formatMessage(messages.versionsThisMonth); // This Month\n } else if (createdAtDate.getDate() <= currentSunday) {\n heading = intl.formatMessage(messages.versionsPriorWeek); // Last Week\n } else {\n heading = intl.formatDate(createdAt, { weekday: 'long' }); // Monday\n }\n\n return heading;\n};\n\nconst VersionsMenu = React.memo<Props>(({ intl, versions, ...rest }: Props) => {\n const { id: currentId } = versions[0] || {};\n\n // Build an ordered set of groups with headings based on the original order of the versions array\n const versionGroups = versions.reduce((groups: VersionGroups, version: BoxItemVersion): VersionGroups => {\n const currentGroup = last(groups);\n const groupHeading = getHeading({ intl, version });\n\n // Push a new group if there are no groups or if the heading has changed\n if (!currentGroup || currentGroup.groupHeading !== groupHeading) {\n groups.push({\n groupHeading,\n groupVersions: [],\n });\n }\n\n // Push the sorted version to the newest group's versions collection\n last(groups).groupVersions.push(version);\n return groups;\n }, []);\n\n return (\n <ul className=\"bcs-VersionsMenu\">\n {versionGroups.map(({ groupHeading, groupVersions }) => (\n <li className=\"bcs-VersionsMenu-item\" key={groupHeading}>\n <VersionsGroup currentId={currentId} heading={groupHeading} versions={groupVersions} {...rest} />\n </li>\n ))}\n </ul>\n );\n});\n\nexport default injectIntl(VersionsMenu);\n"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
10
10
 
11
11
  import * as React from 'react';
12
12
  import { FormattedMessage } from 'react-intl';
13
+ import { Route } from 'react-router-dom';
13
14
  import InlineError from '../../../components/inline-error';
14
15
  import messages from './messages';
15
16
  import SidebarContent from '../SidebarContent';
@@ -31,13 +32,15 @@ const VersionsSidebar = _ref => {
31
32
  const showVersions = !!versions.length;
32
33
  const showEmpty = !isLoading && !showVersions;
33
34
  const showError = !!error;
34
- return /*#__PURE__*/React.createElement(SidebarContent, {
35
+ return /*#__PURE__*/React.createElement(Route, null, ({
36
+ history
37
+ }) => /*#__PURE__*/React.createElement(SidebarContent, {
35
38
  className: "bcs-Versions",
36
39
  "data-resin-component": "preview",
37
40
  "data-resin-feature": "versions",
38
41
  title: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(BackButton, {
39
42
  "data-resin-target": "back",
40
- to: `/${parentName}`
43
+ onClick: () => history.push(`/${parentName}`)
41
44
  }), /*#__PURE__*/React.createElement(FormattedMessage, messages.versionsTitle))
42
45
  }, /*#__PURE__*/React.createElement(LoadingIndicatorWrapper, {
43
46
  className: "bcs-Versions-content",
@@ -59,7 +62,7 @@ const VersionsSidebar = _ref => {
59
62
  values: {
60
63
  maxVersions: MAX_VERSIONS
61
64
  }
62
- })))));
65
+ }))))));
63
66
  };
64
67
  export default VersionsSidebar;
65
68
  //# sourceMappingURL=VersionsSidebar.js.map