cozy-bar 22.1.2 → 23.0.0

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 (37) hide show
  1. package/dist/components/Bar.js +6 -6
  2. package/dist/components/{Apps → utils}/ButtonCozyHome.js +4 -3
  3. package/dist/components/{Apps → utils}/ButtonCozyHome.spec.jsx +1 -1
  4. package/dist/components/{HelpLink/index.js → utils/HelpLink.js} +11 -3
  5. package/dist/index.js +1 -1
  6. package/dist/styles/index.styl +0 -2
  7. package/dist/stylesheet.css +0 -145
  8. package/package.json +1 -3
  9. package/dist/components/Apps/AppItem.js +0 -80
  10. package/dist/components/Apps/AppItemPlaceholder.js +0 -21
  11. package/dist/components/Apps/AppNavButtons.js +0 -100
  12. package/dist/components/Apps/AppsContent.js +0 -100
  13. package/dist/components/Apps/index.js +0 -77
  14. package/dist/components/Drawer.js +0 -255
  15. package/dist/components/Drawer.spec.jsx +0 -83
  16. package/dist/components/Settings/SettingsContent.js +0 -71
  17. package/dist/components/Settings/StorageData.js +0 -35
  18. package/dist/components/Settings/actions/appearance.js +0 -50
  19. package/dist/components/Settings/actions/connectedDevices.js +0 -50
  20. package/dist/components/Settings/actions/connections.js +0 -50
  21. package/dist/components/Settings/actions/contact.js +0 -50
  22. package/dist/components/Settings/actions/help.js +0 -47
  23. package/dist/components/Settings/actions/index.js +0 -75
  24. package/dist/components/Settings/actions/legalNotice.js +0 -51
  25. package/dist/components/Settings/actions/logout.js +0 -82
  26. package/dist/components/Settings/actions/permissions.js +0 -54
  27. package/dist/components/Settings/actions/plans.js +0 -62
  28. package/dist/components/Settings/actions/profile.js +0 -51
  29. package/dist/components/Settings/actions/storage.js +0 -57
  30. package/dist/components/Settings/actions/termsOfService.js +0 -48
  31. package/dist/components/Settings/helper.js +0 -22
  32. package/dist/components/Settings/index.js +0 -53
  33. package/dist/lib/queries.js +0 -19
  34. package/dist/styles/drawer.css +0 -116
  35. package/dist/styles/settings.css +0 -28
  36. /package/dist/components/{Apps → utils}/IconCozyHome.js +0 -0
  37. /package/dist/components/{Search → utils}/SearchButton.js +0 -0
@@ -15,15 +15,15 @@ var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
15
15
  var _AppTitle = _interopRequireDefault(require("cozy-ui/transpiled/react/AppTitle"));
16
16
  var _cozyDeviceHelper = require("cozy-device-helper");
17
17
  var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
18
- var _ButtonCozyHome = require("./Apps/ButtonCozyHome");
19
18
  var _Banner = _interopRequireDefault(require("./Banner"));
20
19
  var _AppsMenu = _interopRequireDefault(require("./AppsMenu"));
21
20
  var _UserMenu = _interopRequireDefault(require("./UserMenu"));
22
- var _HelpLink = _interopRequireDefault(require("./HelpLink"));
21
+ var _ButtonCozyHome = _interopRequireDefault(require("./utils/ButtonCozyHome"));
22
+ var _SearchButton = _interopRequireDefault(require("./utils/SearchButton"));
23
+ var _HelpLink = _interopRequireDefault(require("./utils/HelpLink"));
23
24
  var _reducers = require("../lib/reducers");
24
25
  var _cozyClient = require("cozy-client");
25
26
  var _cozySearch = require("cozy-search");
26
- var _SearchButton = _interopRequireDefault(require("./Search/SearchButton"));
27
27
  var _classnames = _interopRequireDefault(require("classnames"));
28
28
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
29
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -73,13 +73,13 @@ var Bar = exports.Bar = function Bar(_ref) {
73
73
  };
74
74
  var renderLeft = function renderLeft() {
75
75
  if ((0, _cozyDeviceHelper.isFlagshipApp)() || (0, _cozyFlags.default)('flagship.debug')) {
76
- return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
76
+ return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.default, {
77
77
  isInvertedTheme: isInvertedTheme
78
78
  });
79
79
  }
80
80
  var homeHref = !isPublic && homeApp && homeApp.href;
81
81
  if (isMobile) {
82
- return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
82
+ return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.default, {
83
83
  homeHref: homeHref
84
84
  });
85
85
  }
@@ -88,7 +88,7 @@ var Bar = exports.Bar = function Bar(_ref) {
88
88
  container: true,
89
89
  alignItems: "center",
90
90
  className: "u-w-auto"
91
- }, !isHome && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
91
+ }, !isHome && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.default, {
92
92
  homeHref: homeHref
93
93
  }), /*#__PURE__*/_react.default.createElement(_Divider.default, {
94
94
  orientation: "vertical",
@@ -4,14 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.ButtonCozyHome = void 0;
7
+ exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
11
11
  var _cozyDeviceHelper = require("cozy-device-helper");
12
12
  var _cozyIntent = require("cozy-intent");
13
13
  var _IconCozyHome = _interopRequireDefault(require("./IconCozyHome"));
14
- var ButtonCozyHome = exports.ButtonCozyHome = function ButtonCozyHome(_ref) {
14
+ var ButtonCozyHome = function ButtonCozyHome(_ref) {
15
15
  var homeHref = _ref.homeHref,
16
16
  isInvertedTheme = _ref.isInvertedTheme;
17
17
  var webviewIntent = (0, _cozyIntent.useWebviewIntent)();
@@ -46,4 +46,5 @@ var ButtonCozyHome = exports.ButtonCozyHome = function ButtonCozyHome(_ref) {
46
46
  ButtonCozyHome.propTypes = {
47
47
  homeHref: _propTypes.default.string,
48
48
  isInvertedTheme: _propTypes.default.bool
49
- };
49
+ };
50
+ var _default = exports.default = ButtonCozyHome;
@@ -1,6 +1,6 @@
1
1
  import React from 'react'
2
2
  import { render, fireEvent } from '@testing-library/react'
3
- import { ButtonCozyHome } from './ButtonCozyHome'
3
+ import ButtonCozyHome from './ButtonCozyHome'
4
4
  import { isFlagshipApp } from 'cozy-device-helper'
5
5
  import { useWebviewIntent } from 'cozy-intent'
6
6
  import { BarLike } from 'test/lib/BarLike'
@@ -6,13 +6,16 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _reactRedux = require("react-redux");
9
10
  var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
10
11
  var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
11
12
  var _HelpOutlined = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/HelpOutlined"));
12
- var HelpLink = function HelpLink() {
13
+ var _reducers = require("../../lib/reducers");
14
+ var HelpLink = function HelpLink(_ref) {
15
+ var helpLink = _ref.helpLink;
13
16
  return /*#__PURE__*/_react.default.createElement(_IconButton.default, {
14
17
  component: "a",
15
- href: "https://support.cozy.io/",
18
+ href: helpLink,
16
19
  target: "_blank",
17
20
  rel: "noopener, noreferrer",
18
21
  className: "u-p-half"
@@ -21,4 +24,9 @@ var HelpLink = function HelpLink() {
21
24
  size: "18"
22
25
  }));
23
26
  };
24
- var _default = exports.default = HelpLink;
27
+ var mapStateToProps = function mapStateToProps(state) {
28
+ return {
29
+ helpLink: (0, _reducers.getHelpLink)(state)
30
+ };
31
+ };
32
+ var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps)(HelpLink);
package/dist/index.js CHANGED
@@ -71,4 +71,4 @@ var _BarProvider = _interopRequireDefault(require("./components/BarProvider"));
71
71
  var _reducers = require("./lib/reducers");
72
72
  /* global __VERSION__ */
73
73
 
74
- var version = exports.version = "\"22.1.2\"";
74
+ var version = exports.version = "\"23.0.0\"";
@@ -5,7 +5,5 @@
5
5
  @import './nav.css'
6
6
  @import './navigation_item.css'
7
7
  @import './apps.css'
8
- @import './settings.css'
9
- @import './drawer.css'
10
8
 
11
9
  @import './theme.styl'
@@ -661,151 +661,6 @@
661
661
  margin: 0;
662
662
  background-color: var(--defaultBackgroundColor);
663
663
  }
664
- [role=banner] .coz-nav-settings-item [role=menuitem] {
665
- display: flex;
666
- box-sizing: border-box;
667
- margin: 0;
668
- width: 100%;
669
- padding: 0.8rem 16px;
670
- border: none;
671
- background-color: transparent;
672
- text-align: left;
673
- font-size: 1rem;
674
- white-space: nowrap;
675
- color: var(--primaryTextColor);
676
- text-decoration: none;
677
- outline: none;
678
- }
679
-
680
- [role=banner] .coz-nav-settings-item {
681
- display: flex;
682
- }
683
-
684
- [role=banner] .coz-nav-settings-item .coz-nav-settings-item-btn[role=menuitem] > span > span {
685
- margin-right: auto;
686
- }
687
-
688
- [role=banner] .coz-nav-settings-item .coz-nav-settings-item-btn-external-icon {
689
- margin-left: auto;
690
- padding-left: 16px;
691
- }
692
- [role=banner] .coz-drawer-wrapper {
693
- position: fixed;
694
- top: 0;
695
- left: 0;
696
- width: 100vw;
697
- height: 100%;
698
- display: flex;
699
- }
700
-
701
- [role=banner] .coz-drawer-wrapper[aria-hidden=true] {
702
- pointer-events: none;
703
- }
704
-
705
- [role=banner] .coz-drawer-wrapper[aria-hidden=false] {
706
- pointer-events: auto;
707
- }
708
-
709
- [role=banner] .coz-drawer-wrapper::before {
710
- content: '';
711
- display: block;
712
- position: absolute;
713
- top: 0;
714
- left: 0;
715
- width: 100%;
716
- height: 100%;
717
- background-color: var(--primaryTextColor);
718
- opacity: 0;
719
- transition: opacity .2s ease-out .1s;
720
- }
721
-
722
- [role=banner] .coz-drawer-wrapper[aria-hidden=false]::before {
723
- opacity: .5;
724
- transition: opacity .2s ease-out;
725
- }
726
-
727
- [role=banner] .coz-drawer-wrapper aside {
728
- position: absolute;
729
- bottom: 0;
730
- left: 0;
731
- width: 90%;
732
- max-width: 30em;
733
- height: 100%;
734
- display: flex;
735
- flex-direction: column;
736
- background-color: var(--paperBackgroundColor);
737
- transform: translateX(-100%);
738
- transform-origin: 0% 0%;
739
- }
740
-
741
- [role=banner] .coz-drawer-wrapper aside.with-transition {
742
- transition: transform .2s ease-out;
743
- }
744
-
745
- [role=banner] .coz-drawer-wrapper[aria-hidden=false] aside {
746
- transform: translateX(0%);
747
- }
748
-
749
- [role=banner] .coz-drawer-wrapper[aria-hidden=false] aside.with-transition {
750
- transition: transform .3s cubic-bezier(0.2, 0.75, 0.3, 1.0);
751
- }
752
-
753
- [role=banner] .coz-drawer-wrapper ul {
754
- margin: 0;
755
- padding: 0;
756
- list-style-type: none;
757
- }
758
-
759
- [role=banner] .coz-drawer--apps {
760
- flex: 0 1 100%;
761
- /* IMPORTANT: on Chrome, the `overflow-y: scroll` property on .coz-drawer--apps prevented
762
- swipe events to be dispatched correctly ; the `touch-action: pan-y` fixes the problem
763
- see https://greensock.com/forums/topic/17546-draggable-text-elements-with-overflow/ */
764
- overflow-y: scroll;
765
- touch-action: pan-y;
766
- position: relative;
767
- overflow-x: hidden;
768
- }
769
-
770
- [role=banner] .coz-drawer--apps ul li {
771
- flex: 0 0 100%;
772
- max-width: 100%;
773
- }
774
-
775
- [role=banner] .coz-drawer--apps ul:last-of-type + hr {
776
- display: none;
777
- }
778
-
779
- [role=banner] .coz-drawer--apps [role=menuitem] {
780
- display: flex;
781
- flex-direction: row;
782
- padding: .3em .3em .3em 1.3em;
783
- height: 3rem;
784
- }
785
-
786
- [role=banner] .coz-drawer--apps .coz-nav-item img {
787
- width: 2rem;
788
- margin-right: .5rem;
789
- max-height: 2rem;
790
- }
791
-
792
-
793
- [role=banner] .coz-drawer--apps .coz-nav-category {
794
- font-size: 1em;
795
- padding: 2em 2em .5em;
796
- margin: 0;
797
- }
798
-
799
- [role=banner] .coz-drawer--settings {
800
- padding-bottom: env(safe-area-inset-bottom);
801
- }
802
-
803
- /* /!\ Trick to prevent application from scrolling in the background when the drawer is opened */
804
- [role=banner][data-drawer-visible=true] + [role=application] {
805
- position: fixed;
806
- width: 100%;
807
- }
808
-
809
664
  [role=banner] .coz-bar-wrapper {
810
665
  box-shadow: inset 0 -1px 0 0 var(--dividerColor);
811
666
  background-color: var(--paperBackgroundColor);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-bar",
3
- "version": "22.1.2",
3
+ "version": "23.0.0",
4
4
  "description": "cozy-bar.js library, a small lib provided by cozy-stack to inject the Cozy-bar component into each app",
5
5
  "main": "dist/index.js",
6
6
  "author": "Cozy Cloud <contact@cozycloud.cc> (https://cozy.io/)",
@@ -65,8 +65,6 @@
65
65
  "stylus-config-cozy-app": "^0.1.0"
66
66
  },
67
67
  "dependencies": {
68
- "hammerjs": "2.0.8",
69
- "lodash.debounce": "4.0.8",
70
68
  "lodash.set": "^4.3.2",
71
69
  "lodash.unionwith": "4.6.0",
72
70
  "prop-types": "15.7.2",
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.AppItem = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _get = _interopRequireDefault(require("lodash/get"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _cozyClient = require("cozy-client");
14
- var _AppIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/AppIcon"));
15
- var _AppLinker = _interopRequireDefault(require("cozy-ui/transpiled/react/AppLinker"));
16
- var _IconCozyHome = _interopRequireDefault(require("./IconCozyHome"));
17
- var _proptypes = require("../../proptypes");
18
- var _stack = _interopRequireDefault(require("../../lib/stack"));
19
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
- var getAppDisplayName = (0, _get.default)(_cozyClient.models, 'applications.getAppDisplayName', function (app) {
22
- return app.namePrefix && app.namePrefix.toLowerCase() !== 'cozy' ? "".concat(app.namePrefix, " ").concat(app.name) : app.name;
23
- });
24
- var AppItem = exports.AppItem = function AppItem(_ref) {
25
- var onAppSwitch = _ref.onAppSwitch,
26
- useHomeIcon = _ref.useHomeIcon,
27
- app = _ref.app,
28
- isInvertedTheme = _ref.isInvertedTheme;
29
- var _useState = (0, _react.useState)(),
30
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
31
- switchTimeout = _useState2[0],
32
- setSwitchTimeout = _useState2[1];
33
- (0, _react.useEffect)(function () {
34
- return function () {
35
- if (switchTimeout) clearTimeout(switchTimeout);
36
- };
37
- }, [switchTimeout]);
38
- var switchApp = function switchApp() {
39
- if (typeof onAppSwitch === 'function') {
40
- setSwitchTimeout(setTimeout(function () {
41
- onAppSwitch();
42
- }, 1000));
43
- }
44
- };
45
- var dataIcon = app.slug ? "icon-".concat(app.slug) : '';
46
- var appName = getAppDisplayName(app);
47
- return /*#__PURE__*/_react.default.createElement(_AppLinker.default, {
48
- onAppSwitch: switchApp,
49
- href: app.href || '',
50
- app: app
51
- }, function (_ref2) {
52
- var onClick = _ref2.onClick,
53
- href = _ref2.href;
54
- return /*#__PURE__*/_react.default.createElement("li", {
55
- className: "coz-nav-apps-item".concat(app.isCurrentApp ? ' coz-nav-apps-item--current' : '')
56
- }, /*#__PURE__*/_react.default.createElement("a", {
57
- role: "menuitem",
58
- href: href,
59
- "data-icon": dataIcon,
60
- title: appName,
61
- onClick: onClick
62
- }, useHomeIcon ? /*#__PURE__*/_react.default.createElement(_IconCozyHome.default, {
63
- className: "coz-nav-apps-item-icon",
64
- isInvertedTheme: isInvertedTheme
65
- }) : /*#__PURE__*/_react.default.createElement(_AppIcon.default, (0, _extends2.default)({
66
- app: app,
67
- className: "coz-nav-apps-item-icon",
68
- key: app.slug
69
- }, _stack.default.get.iconProps())), /*#__PURE__*/_react.default.createElement("p", {
70
- className: "coz-label"
71
- }, appName)));
72
- });
73
- };
74
- AppItem.propTypes = {
75
- app: _proptypes.appShape.isRequired,
76
- useHomeIcon: _propTypes.default.bool,
77
- isInvertedTheme: _propTypes.default.bool,
78
- onAppSwitch: _propTypes.default.func
79
- };
80
- var _default = exports.default = AppItem;
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.AppItemPlaceholder = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var AppItemPlaceholder = exports.AppItemPlaceholder = function AppItemPlaceholder() {
10
- return /*#__PURE__*/_react.default.createElement("li", {
11
- className: "coz-nav-apps-item"
12
- }, /*#__PURE__*/_react.default.createElement("span", {
13
- role: "menuitem",
14
- disabled: true
15
- }, /*#__PURE__*/_react.default.createElement("div", {
16
- className: "coz-nav-apps-item-icon coz-loading-placeholder"
17
- }), /*#__PURE__*/_react.default.createElement("p", {
18
- className: "coz-label coz-loading-placeholder"
19
- })));
20
- };
21
- var _default = exports.default = AppItemPlaceholder;
@@ -1,100 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactRedux = require("react-redux");
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _Bottom = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Bottom"));
12
- var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
13
- var _Top = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Top"));
14
- var _ButtonCozyHome = require("./ButtonCozyHome");
15
- var _reducers = require("../../lib/reducers");
16
- var _useI18n2 = _interopRequireDefault(require("../useI18n"));
17
- var AppNavButton = function AppNavButton(_ref) {
18
- var homeApp = _ref.homeApp,
19
- handleClick = _ref.handleClick,
20
- appName = _ref.appName,
21
- appNamePrefix = _ref.appNamePrefix,
22
- appSlug = _ref.appSlug,
23
- iconPath = _ref.iconPath,
24
- isInvertedTheme = _ref.isInvertedTheme,
25
- isFetchingApps = _ref.isFetchingApps,
26
- isPublic = _ref.isPublic,
27
- opened = _ref.opened;
28
- var _useI18n = (0, _useI18n2.default)(),
29
- t = _useI18n.t;
30
- var isHomeApp = homeApp && homeApp.isCurrentApp;
31
- if (!isPublic && isFetchingApps) {
32
- return /*#__PURE__*/_react.default.createElement("div", {
33
- className: "coz-nav-apps-btns coz-nav-apps-btns--loading"
34
- }, /*#__PURE__*/_react.default.createElement("div", {
35
- className: "coz-nav-apps-btns-home coz-loading-placeholder"
36
- }), /*#__PURE__*/_react.default.createElement("div", {
37
- className: "coz-nav-apps-btns-main coz-loading-placeholder"
38
- }));
39
- }
40
- var displayName = !isHomeApp && appNamePrefix ? [t("".concat(appSlug, ".name_prefix"), {
41
- _: appNamePrefix
42
- }), t("".concat(appSlug, ".name"), {
43
- _: appName
44
- })].join(' ') : t("".concat(appSlug, ".name"), {
45
- _: appName
46
- });
47
- var homeHref = !isPublic && homeApp && homeApp.href;
48
- return /*#__PURE__*/_react.default.createElement("div", {
49
- className: "coz-nav-apps-btns".concat(isHomeApp ? ' coz-nav-apps-btns--currentHome' : '')
50
- }, /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
51
- homeHref: homeHref,
52
- isInvertedTheme: isInvertedTheme
53
- }), !isHomeApp && /*#__PURE__*/_react.default.createElement("span", {
54
- className: "coz-nav-apps-btns-sep"
55
- }), /*#__PURE__*/_react.default.createElement("button", {
56
- type: "button",
57
- onClick: isPublic ? null : handleClick,
58
- className: "coz-nav-apps-btns-main",
59
- "aria-controls": "coz-nav-pop--apps",
60
- "data-tutorial": "apps",
61
- disabled: isPublic
62
- }, !isHomeApp && /*#__PURE__*/_react.default.createElement("img", {
63
- className: "coz-bar-hide-sm",
64
- src: iconPath,
65
- width: "28",
66
- alt: ""
67
- }), /*#__PURE__*/_react.default.createElement("span", {
68
- className: "coz-nav-app-name"
69
- }, displayName), !isPublic && /*#__PURE__*/_react.default.createElement(_Icon.default, {
70
- icon: opened ? _Top.default : _Bottom.default,
71
- color: "var(--secondaryTextColor)",
72
- size: "12"
73
- })));
74
- };
75
- AppNavButton.propTypes = {
76
- homeApp: _propTypes.default.shape({
77
- isCurrentApp: _propTypes.default.bool,
78
- slug: _propTypes.default.string,
79
- href: _propTypes.default.string
80
- }),
81
- handleClick: _propTypes.default.func,
82
- appName: _propTypes.default.string,
83
- appNamePrefix: _propTypes.default.string,
84
- appSlug: _propTypes.default.string,
85
- iconPath: _propTypes.default.string,
86
- isInvertedTheme: _propTypes.default.bool,
87
- isFetchingApps: _propTypes.default.bool,
88
- isPublic: _propTypes.default.bool,
89
- opened: _propTypes.default.bool
90
- };
91
- var mapStateToProps = function mapStateToProps(state) {
92
- return {
93
- homeApp: (0, _reducers.getHomeApp)(state),
94
- isFetchingApps: (0, _reducers.isFetchingApps)(state)
95
- };
96
- };
97
- var mapDispatchToProps = function mapDispatchToProps() {
98
- return {};
99
- };
100
- var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(AppNavButton);
@@ -1,100 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.AppsContent = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactRedux = require("react-redux");
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
12
- var _Cloud = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Cloud"));
13
- var _Breakpoints = _interopRequireDefault(require("cozy-ui/transpiled/react/providers/Breakpoints"));
14
- var _reducers = require("../../lib/reducers");
15
- var _AppItem = _interopRequireDefault(require("./AppItem"));
16
- var _AppItemPlaceholder = _interopRequireDefault(require("./AppItemPlaceholder"));
17
- var _useI18n2 = _interopRequireDefault(require("../useI18n"));
18
- var sorter = function sorter(fn) {
19
- return function (itemA, itemB) {
20
- return fn(itemA) > fn(itemB);
21
- };
22
- };
23
- var AppsContent = exports.AppsContent = function AppsContent(_ref) {
24
- var apps = _ref.apps,
25
- homeApp = _ref.homeApp,
26
- isFetchingApps = _ref.isFetchingApps,
27
- onAppSwitch = _ref.onAppSwitch,
28
- isInvertedTheme = _ref.isInvertedTheme;
29
- var _useI18n = (0, _useI18n2.default)(),
30
- t = _useI18n.t;
31
- var _useBreakpoints = (0, _Breakpoints.default)(),
32
- isMobile = _useBreakpoints.isMobile;
33
- var translateAppWithLocales = translateApp(t);
34
- var isHomeApp = homeApp && homeApp.isCurrentApp;
35
- var homeSlug = homeApp && homeApp.slug;
36
- if (!isFetchingApps && (!apps || !apps.length)) {
37
- return /*#__PURE__*/_react.default.createElement("p", {
38
- className: "coz-nav--error coz-nav-group"
39
- }, t('no_apps'));
40
- }
41
- return /*#__PURE__*/_react.default.createElement("div", {
42
- className: "coz-nav-pop-content"
43
- }, /*#__PURE__*/_react.default.createElement("ul", {
44
- className: "coz-nav-group"
45
- }, isMobile && homeApp && /*#__PURE__*/_react.default.createElement(_AppItem.default, {
46
- app: homeApp,
47
- useHomeIcon: true,
48
- onAppSwitch: onAppSwitch,
49
- isInvertedTheme: isInvertedTheme
50
- }), isFetchingApps ? new Array(3).fill({}).map(function (nothing, index) {
51
- return /*#__PURE__*/_react.default.createElement(_AppItemPlaceholder.default, {
52
- key: index
53
- });
54
- }) : apps.filter(function (app) {
55
- return app.slug !== homeSlug;
56
- }).sort(sorter(translateAppWithLocales)).map(function (app, index) {
57
- return /*#__PURE__*/_react.default.createElement(_AppItem.default, {
58
- app: app,
59
- key: index,
60
- onAppSwitch: onAppSwitch,
61
- isInvertedTheme: isInvertedTheme
62
- });
63
- })), homeApp && !isMobile && !isHomeApp && /*#__PURE__*/_react.default.createElement("a", {
64
- role: "menuitem",
65
- href: homeApp.href,
66
- className: "coz-apps-home-btn"
67
- }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
68
- icon: _Cloud.default
69
- }), t('menu.home')));
70
- };
71
- AppsContent.propTypes = {
72
- homeApp: _propTypes.default.shape({
73
- isCurrentApp: _propTypes.default.bool,
74
- slug: _propTypes.default.string,
75
- href: _propTypes.default.string
76
- }),
77
- apps: _propTypes.default.array,
78
- isFetchingApps: _propTypes.default.bool.isRequired,
79
- onAppSwitch: _propTypes.default.func,
80
- isInvertedTheme: _propTypes.default.bool
81
- };
82
- var translateApp = function translateApp(t) {
83
- return function (app) {
84
- var namePrefix = app.namePrefix ? t("".concat(app.slug, ".namePrefix"), {
85
- _: app.namePrefix
86
- }) : null;
87
- var name = t("".concat(app.slug, ".name"), {
88
- _: app.name
89
- });
90
- return namePrefix ? "".concat(namePrefix, " ").concat(name) : "".concat(name);
91
- };
92
- };
93
- var mapStateToProps = function mapStateToProps(state) {
94
- return {
95
- apps: (0, _reducers.getApps)(state),
96
- homeApp: (0, _reducers.getHomeApp)(state),
97
- isFetchingApps: (0, _reducers.isFetchingApps)(state)
98
- };
99
- };
100
- var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps)(AppsContent);
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _AppsContent = _interopRequireDefault(require("./AppsContent"));
12
- var _AppNavButtons = _interopRequireDefault(require("./AppNavButtons"));
13
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
- var Apps = function Apps(_ref) {
16
- var appName = _ref.appName,
17
- appNamePrefix = _ref.appNamePrefix,
18
- appSlug = _ref.appSlug,
19
- iconPath = _ref.iconPath,
20
- isPublic = _ref.isPublic,
21
- isInvertedTheme = _ref.isInvertedTheme;
22
- var _useState = (0, _react.useState)(),
23
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
24
- isOpen = _useState2[0],
25
- setOpen = _useState2[1];
26
- var rootRef = (0, _react.useRef)();
27
- var modalContainer = (0, _react.useRef)();
28
- var onClickOutside = (0, _react.useCallback)(function (event) {
29
- if (isOpen) {
30
- // if it's not a cozy-bar nav popup, close the opened popup
31
- if (!rootRef.current.contains(event.target) && !modalContainer.current.contains(event.target)) {
32
- setOpen(false);
33
- event.stopPropagation();
34
- }
35
- }
36
- }, [isOpen]);
37
- (0, _react.useEffect)(function () {
38
- document.body.addEventListener('click', onClickOutside);
39
- modalContainer.current = document.getElementById('cozy-bar-modal-dom-place');
40
- return function () {
41
- document.body.removeEventListener('click', onClickOutside);
42
- };
43
- }, [onClickOutside]);
44
- var toggleMenu = function toggleMenu() {
45
- setOpen(!isOpen);
46
- };
47
-
48
- // data-tutorial attribute allows to be targeted in an application tutorial
49
- return /*#__PURE__*/_react.default.createElement("nav", {
50
- className: "coz-nav coz-nav-apps",
51
- ref: rootRef
52
- }, /*#__PURE__*/_react.default.createElement(_AppNavButtons.default, {
53
- appName: appName,
54
- appNamePrefix: appNamePrefix,
55
- appSlug: appSlug,
56
- iconPath: iconPath,
57
- handleClick: toggleMenu,
58
- opened: isOpen,
59
- isPublic: isPublic,
60
- isInvertedTheme: isInvertedTheme
61
- }), /*#__PURE__*/_react.default.createElement("div", {
62
- className: "coz-nav-pop coz-nav-pop--apps",
63
- id: "coz-nav-pop--apps",
64
- "aria-hidden": !isOpen
65
- }, /*#__PURE__*/_react.default.createElement(_AppsContent.default, {
66
- isInvertedTheme: isInvertedTheme
67
- })));
68
- };
69
- Apps.propTypes = {
70
- appName: _propTypes.default.string,
71
- appNamePrefix: _propTypes.default.string,
72
- appSlug: _propTypes.default.string,
73
- iconPath: _propTypes.default.string,
74
- isPublic: _propTypes.default.bool,
75
- isInvertedTheme: _propTypes.default.bool
76
- };
77
- var _default = exports.default = Apps;