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.
- package/dist/components/Bar.js +6 -6
- package/dist/components/{Apps → utils}/ButtonCozyHome.js +4 -3
- package/dist/components/{Apps → utils}/ButtonCozyHome.spec.jsx +1 -1
- package/dist/components/{HelpLink/index.js → utils/HelpLink.js} +11 -3
- package/dist/index.js +1 -1
- package/dist/styles/index.styl +0 -2
- package/dist/stylesheet.css +0 -145
- package/package.json +1 -3
- package/dist/components/Apps/AppItem.js +0 -80
- package/dist/components/Apps/AppItemPlaceholder.js +0 -21
- package/dist/components/Apps/AppNavButtons.js +0 -100
- package/dist/components/Apps/AppsContent.js +0 -100
- package/dist/components/Apps/index.js +0 -77
- package/dist/components/Drawer.js +0 -255
- package/dist/components/Drawer.spec.jsx +0 -83
- package/dist/components/Settings/SettingsContent.js +0 -71
- package/dist/components/Settings/StorageData.js +0 -35
- package/dist/components/Settings/actions/appearance.js +0 -50
- package/dist/components/Settings/actions/connectedDevices.js +0 -50
- package/dist/components/Settings/actions/connections.js +0 -50
- package/dist/components/Settings/actions/contact.js +0 -50
- package/dist/components/Settings/actions/help.js +0 -47
- package/dist/components/Settings/actions/index.js +0 -75
- package/dist/components/Settings/actions/legalNotice.js +0 -51
- package/dist/components/Settings/actions/logout.js +0 -82
- package/dist/components/Settings/actions/permissions.js +0 -54
- package/dist/components/Settings/actions/plans.js +0 -62
- package/dist/components/Settings/actions/profile.js +0 -51
- package/dist/components/Settings/actions/storage.js +0 -57
- package/dist/components/Settings/actions/termsOfService.js +0 -48
- package/dist/components/Settings/helper.js +0 -22
- package/dist/components/Settings/index.js +0 -53
- package/dist/lib/queries.js +0 -19
- package/dist/styles/drawer.css +0 -116
- package/dist/styles/settings.css +0 -28
- /package/dist/components/{Apps → utils}/IconCozyHome.js +0 -0
- /package/dist/components/{Search → utils}/SearchButton.js +0 -0
package/dist/components/Bar.js
CHANGED
|
@@ -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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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 =
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
package/dist/styles/index.styl
CHANGED
package/dist/stylesheet.css
CHANGED
|
@@ -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": "
|
|
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;
|