cozy-bar 17.1.0 → 18.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.
@@ -17,12 +17,18 @@ var _cozyDeviceHelper = require("cozy-device-helper");
17
17
 
18
18
  var _cozyIntent = require("cozy-intent");
19
19
 
20
+ var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
21
+
20
22
  var _IconCozyHome = _interopRequireDefault(require("./IconCozyHome"));
21
23
 
22
24
  var ButtonCozyHome = function ButtonCozyHome(_ref) {
23
25
  var homeHref = _ref.homeHref,
24
26
  isInvertedTheme = _ref.isInvertedTheme;
25
27
  var webviewIntent = (0, _cozyIntent.useWebviewIntent)();
28
+
29
+ var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(),
30
+ isMobile = _useBreakpoints.isMobile;
31
+
26
32
  if ((0, _cozyDeviceHelper.isFlagshipApp)() || (0, _cozyFlags.default)('flagship.debug')) return /*#__PURE__*/_react.default.createElement("a", {
27
33
  onClick: function onClick() {
28
34
  webviewIntent.call('backToHome');
@@ -31,6 +37,7 @@ var ButtonCozyHome = function ButtonCozyHome(_ref) {
31
37
  "data-testid": "buttonCozyHome"
32
38
  }, /*#__PURE__*/_react.default.createElement(_IconCozyHome.default, {
33
39
  className: "coz-nav-apps-btns-home-svg",
40
+ isMobile: isMobile,
34
41
  isInvertedTheme: isInvertedTheme
35
42
  }));
36
43
 
@@ -40,6 +47,7 @@ var ButtonCozyHome = function ButtonCozyHome(_ref) {
40
47
  className: "coz-nav-apps-btns-home"
41
48
  }, /*#__PURE__*/_react.default.createElement(_IconCozyHome.default, {
42
49
  className: "coz-nav-apps-btns-home-svg",
50
+ isMobile: isMobile,
43
51
  isInvertedTheme: isInvertedTheme
44
52
  }));
45
53
  }
@@ -48,6 +56,7 @@ var ButtonCozyHome = function ButtonCozyHome(_ref) {
48
56
  className: "coz-nav-apps-btns-home"
49
57
  }, /*#__PURE__*/_react.default.createElement(_IconCozyHome.default, {
50
58
  className: "coz-nav-apps-btns-home-svg",
59
+ isMobile: isMobile,
51
60
  isInvertedTheme: isInvertedTheme
52
61
  }));
53
62
  };
@@ -3,6 +3,7 @@ import { render, fireEvent } from '@testing-library/react'
3
3
  import { ButtonCozyHome } from './ButtonCozyHome'
4
4
  import { isFlagshipApp } from 'cozy-device-helper'
5
5
  import { useWebviewIntent } from 'cozy-intent'
6
+ import { BarLike } from 'test/lib/BarLike'
6
7
 
7
8
  jest.mock('cozy-device-helper')
8
9
  jest.mock('cozy-intent', () => ({
@@ -19,7 +20,11 @@ describe('ButtonCozyHome', () => {
19
20
  // We need to use a testid because
20
21
  // - the a tag has no text to query it (just an icon)
21
22
  // - an "a" tag without href is not seen as a link by queryByRole
22
- const { getByTestId } = render(<ButtonCozyHome />)
23
+ const { getByTestId } = render(
24
+ <BarLike>
25
+ <ButtonCozyHome />
26
+ </BarLike>
27
+ )
23
28
  const linkElement = getByTestId('buttonCozyHome')
24
29
 
25
30
  fireEvent.click(linkElement)
@@ -30,7 +35,11 @@ describe('ButtonCozyHome', () => {
30
35
  it('renders a link with homeHref for non-flagship apps with homeHref', () => {
31
36
  isFlagshipApp.mockReturnValue(false)
32
37
 
33
- const { queryByRole } = render(<ButtonCozyHome homeHref="/home" />)
38
+ const { queryByRole } = render(
39
+ <BarLike>
40
+ <ButtonCozyHome homeHref="/home" />
41
+ </BarLike>
42
+ )
34
43
  const linkElement = queryByRole('link')
35
44
 
36
45
  expect(linkElement).toHaveAttribute('href', '/home')
@@ -39,7 +48,11 @@ describe('ButtonCozyHome', () => {
39
48
  it('renders a span without href for non-flagship apps without homeHref', () => {
40
49
  isFlagshipApp.mockReturnValue(false)
41
50
 
42
- const { queryByRole } = render(<ButtonCozyHome />)
51
+ const { queryByRole } = render(
52
+ <BarLike>
53
+ <ButtonCozyHome />
54
+ </BarLike>
55
+ )
43
56
  const linkElement = queryByRole('link')
44
57
 
45
58
  expect(linkElement).toBeNull()
@@ -17,6 +17,12 @@ var _AppIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/AppIcon"
17
17
 
18
18
  var _stack = _interopRequireDefault(require("../../lib/stack"));
19
19
 
20
+ var _isTwakeTheme = require("cozy-ui/transpiled/react/helpers/isTwakeTheme");
21
+
22
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
23
+
24
+ var _TwakeWorkplace = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/TwakeWorkplace"));
25
+
20
26
  /* Generated with node_modules/.bin/svgr src/assets/sprites/icon-cozy-home.svg */
21
27
  function SvgIconCozyHome(props) {
22
28
  return /*#__PURE__*/_react.default.createElement("svg", (0, _extends2.default)({
@@ -39,8 +45,17 @@ function SvgIconCozyHome(props) {
39
45
 
40
46
  var IconCozyHome = function IconCozyHome(_ref) {
41
47
  var className = _ref.className,
48
+ isMobile = _ref.isMobile,
42
49
  isInvertedTheme = _ref.isInvertedTheme;
43
50
 
51
+ if ((0, _isTwakeTheme.isTwakeTheme)()) {
52
+ return /*#__PURE__*/_react.default.createElement(_Icon.default, {
53
+ icon: _TwakeWorkplace.default,
54
+ size: isMobile ? 28 : 32,
55
+ className: isMobile ? 'u-ml-half' : undefined
56
+ });
57
+ }
58
+
44
59
  var fetchIcon = function fetchIcon() {
45
60
  if (isInvertedTheme) {
46
61
  return "".concat(_stack.default.get.cozyURL(), "/assets/images/icon-cozy-home-inverted.svg");
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.AppsMenuContent = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactRedux = require("react-redux");
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
17
+
18
+ var _AppItem = _interopRequireDefault(require("./components/AppItem"));
19
+
20
+ var _AppItemPlaceholder = _interopRequireDefault(require("./components/AppItemPlaceholder"));
21
+
22
+ var _useI18n2 = _interopRequireDefault(require("../useI18n"));
23
+
24
+ var _reducers = require("../../lib/reducers");
25
+
26
+ var styles = {
27
+ "apps-menu-grid": "apps-menu-grid",
28
+ "apps-menu-grid-item-wrapper": "apps-menu-grid-item-wrapper",
29
+ "apps-menu-grid-item": "apps-menu-grid-item"
30
+ };
31
+
32
+ var sorter = function sorter(fn) {
33
+ return function (itemA, itemB) {
34
+ return fn(itemA) > fn(itemB);
35
+ };
36
+ };
37
+
38
+ var AppsMenuContent = function AppsMenuContent(_ref) {
39
+ var isFetchingApps = _ref.isFetchingApps,
40
+ apps = _ref.apps,
41
+ homeApp = _ref.homeApp;
42
+
43
+ var _useI18n = (0, _useI18n2.default)(),
44
+ t = _useI18n.t;
45
+
46
+ var translateAppWithLocales = translateApp(t);
47
+
48
+ if (!isFetchingApps && (!apps || !apps.length)) {
49
+ return /*#__PURE__*/_react.default.createElement(_Typography.default, {
50
+ className: "u-mh-half",
51
+ color: "error"
52
+ }, t('no_apps'));
53
+ }
54
+
55
+ if (isFetchingApps) {
56
+ return /*#__PURE__*/_react.default.createElement("div", {
57
+ className: styles['apps-menu-grid']
58
+ }, /*#__PURE__*/_react.default.createElement(_AppItemPlaceholder.default, {
59
+ key: "1"
60
+ }), /*#__PURE__*/_react.default.createElement(_AppItemPlaceholder.default, {
61
+ key: "2"
62
+ }), /*#__PURE__*/_react.default.createElement(_AppItemPlaceholder.default, {
63
+ key: "3"
64
+ }));
65
+ }
66
+
67
+ var homeSlug = homeApp && homeApp.slug;
68
+ var displayedApps = apps.filter(function (app) {
69
+ return app.slug !== homeSlug;
70
+ }).sort(sorter(translateAppWithLocales));
71
+ return /*#__PURE__*/_react.default.createElement("div", {
72
+ className: styles['apps-menu-grid']
73
+ }, displayedApps.map(function (app, index) {
74
+ return /*#__PURE__*/_react.default.createElement(_AppItem.default, {
75
+ key: index,
76
+ app: app
77
+ });
78
+ }));
79
+ };
80
+
81
+ exports.AppsMenuContent = AppsMenuContent;
82
+ AppsMenuContent.propTypes = {
83
+ apps: _propTypes.default.array,
84
+ isFetchingApps: _propTypes.default.bool.isRequired,
85
+ homeApp: _propTypes.default.shape({
86
+ isCurrentApp: _propTypes.default.bool,
87
+ slug: _propTypes.default.string,
88
+ href: _propTypes.default.string
89
+ }),
90
+ className: _propTypes.default.string
91
+ };
92
+
93
+ var translateApp = function translateApp(t) {
94
+ return function (app) {
95
+ var namePrefix = app.namePrefix ? t("".concat(app.slug, ".namePrefix"), {
96
+ _: app.namePrefix
97
+ }) : null;
98
+ var name = t("".concat(app.slug, ".name"), {
99
+ _: app.name
100
+ });
101
+ return namePrefix ? "".concat(namePrefix, " ").concat(name) : "".concat(name);
102
+ };
103
+ };
104
+
105
+ var mapStateToProps = function mapStateToProps(state) {
106
+ return {
107
+ isFetchingApps: (0, _reducers.isFetchingApps)(state),
108
+ apps: (0, _reducers.getApps)(state),
109
+ homeApp: (0, _reducers.getHomeApp)(state)
110
+ };
111
+ };
112
+
113
+ var _default = (0, _reactRedux.connect)(mapStateToProps)(AppsMenuContent);
114
+
115
+ exports.default = _default;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.AppItem = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _get = _interopRequireDefault(require("lodash/get"));
15
+
16
+ var _cozyClient = require("cozy-client");
17
+
18
+ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
19
+
20
+ var _AppIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/AppIcon"));
21
+
22
+ var _AppLinker = _interopRequireDefault(require("cozy-ui/transpiled/react/AppLinker"));
23
+
24
+ var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
25
+
26
+ var _classnames = _interopRequireDefault(require("classnames"));
27
+
28
+ var _proptypes = require("../../../proptypes");
29
+
30
+ var _stack = _interopRequireDefault(require("../../../lib/stack"));
31
+
32
+ var styles = {
33
+ "apps-menu-grid": "apps-menu-grid",
34
+ "apps-menu-grid-item-wrapper": "apps-menu-grid-item-wrapper",
35
+ "apps-menu-grid-item": "apps-menu-grid-item"
36
+ };
37
+ var getAppDisplayName = (0, _get.default)(_cozyClient.models, 'applications.getAppDisplayName', function (app) {
38
+ return app.namePrefix && app.namePrefix.toLowerCase() !== 'cozy' ? "".concat(app.namePrefix, " ").concat(app.name) : app.name;
39
+ });
40
+
41
+ var AppItem = function AppItem(_ref) {
42
+ var app = _ref.app;
43
+ var appName = getAppDisplayName(app);
44
+ return /*#__PURE__*/_react.default.createElement(_AppLinker.default, {
45
+ href: app.href || '',
46
+ app: app
47
+ }, function (_ref2) {
48
+ var onClick = _ref2.onClick,
49
+ href = _ref2.href;
50
+ return /*#__PURE__*/_react.default.createElement(_Buttons.default, {
51
+ height: "auto",
52
+ component: "a",
53
+ variant: "text",
54
+ href: href,
55
+ title: appName,
56
+ onClick: onClick,
57
+ className: (0, _classnames.default)(styles['apps-menu-grid-item-wrapper'], 'u-bdrs-5'),
58
+ label: /*#__PURE__*/_react.default.createElement("div", {
59
+ className: styles['apps-menu-grid-item']
60
+ }, /*#__PURE__*/_react.default.createElement(_AppIcon.default, (0, _extends2.default)({
61
+ app: app,
62
+ key: app.slug
63
+ }, _stack.default.get.iconProps())), /*#__PURE__*/_react.default.createElement(_Typography.default, {
64
+ variant: "caption",
65
+ noWrap: true,
66
+ className: "u-mt-half"
67
+ }, appName))
68
+ });
69
+ });
70
+ };
71
+
72
+ exports.AppItem = AppItem;
73
+ AppItem.propTypes = {
74
+ app: _proptypes.appShape.isRequired
75
+ };
76
+ var _default = AppItem;
77
+ exports.default = _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.AppItemPlaceholder = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Skeleton = _interopRequireDefault(require("cozy-ui/transpiled/react/Skeleton"));
13
+
14
+ var AppItemPlaceholder = function AppItemPlaceholder() {
15
+ return /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
16
+ variant: "rect",
17
+ width: 48,
18
+ height: 48,
19
+ className: "u-m-1 u-bdrs-5"
20
+ });
21
+ };
22
+
23
+ exports.AppItemPlaceholder = AppItemPlaceholder;
24
+ var _default = AppItemPlaceholder;
25
+ exports.default = _default;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _AppsMenuContent = _interopRequireDefault(require("./AppsMenuContent"));
17
+
18
+ var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
19
+
20
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
21
+
22
+ var _Menu = _interopRequireDefault(require("cozy-ui/transpiled/react/Menu"));
23
+
24
+ var _Mosaic = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Mosaic"));
25
+
26
+ var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
27
+
28
+ var _CozyDialogs = require("cozy-ui/transpiled/react/CozyDialogs");
29
+
30
+ var AppsMenu = function AppsMenu() {
31
+ var _useState = (0, _react.useState)(false),
32
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
+ isOpen = _useState2[0],
34
+ setOpen = _useState2[1];
35
+
36
+ var buttonRef = (0, _react.useRef)();
37
+
38
+ var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(),
39
+ isMobile = _useBreakpoints.isMobile;
40
+
41
+ var toggleMenu = function toggleMenu() {
42
+ setOpen(!isOpen);
43
+ };
44
+
45
+ return /*#__PURE__*/_react.default.createElement("nav", null, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
46
+ ref: buttonRef,
47
+ onClick: toggleMenu,
48
+ className: "u-p-half"
49
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
50
+ icon: _Mosaic.default,
51
+ size: "18"
52
+ })), isMobile ? /*#__PURE__*/_react.default.createElement(_CozyDialogs.Dialog, {
53
+ open: isOpen,
54
+ size: "small",
55
+ onClose: toggleMenu,
56
+ content: /*#__PURE__*/_react.default.createElement(_AppsMenuContent.default, null)
57
+ }) : /*#__PURE__*/_react.default.createElement(_Menu.default, {
58
+ open: isOpen,
59
+ anchorEl: buttonRef.current,
60
+ container: buttonRef.current,
61
+ getContentAnchorEl: null,
62
+ onClose: toggleMenu,
63
+ anchorOrigin: {
64
+ vertical: 'bottom',
65
+ horizontal: 'left'
66
+ },
67
+ transformOrigin: {
68
+ vertical: -10
69
+ }
70
+ }, /*#__PURE__*/_react.default.createElement(_AppsMenuContent.default, null)));
71
+ };
72
+
73
+ var _default = AppsMenu;
74
+ exports.default = _default;
@@ -23,10 +23,14 @@ var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
23
23
 
24
24
  var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
25
25
 
26
+ var _AppTitle = _interopRequireDefault(require("cozy-ui/transpiled/react/AppTitle"));
27
+
26
28
  var _cozyDeviceHelper = require("cozy-device-helper");
27
29
 
28
30
  var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
29
31
 
32
+ var _isTwakeTheme = require("cozy-ui/transpiled/react/helpers/isTwakeTheme");
33
+
30
34
  var _ButtonCozyHome = require("./Apps/ButtonCozyHome");
31
35
 
32
36
  var _Banner = _interopRequireDefault(require("./Banner"));
@@ -37,6 +41,12 @@ var _Settings = _interopRequireDefault(require("./Settings"));
37
41
 
38
42
  var _Apps = _interopRequireDefault(require("./Apps"));
39
43
 
44
+ var _AppsMenu = _interopRequireDefault(require("./AppsMenu"));
45
+
46
+ var _UserMenu = _interopRequireDefault(require("./UserMenu"));
47
+
48
+ var _HelpLink = _interopRequireDefault(require("./HelpLink"));
49
+
40
50
  var _reducers = require("../lib/reducers");
41
51
 
42
52
  var _useI18n2 = _interopRequireDefault(require("./useI18n"));
@@ -76,7 +86,8 @@ var Bar = function Bar(_ref) {
76
86
  appNamePrefix = _ref.appNamePrefix,
77
87
  appSlug = _ref.appSlug,
78
88
  iconPath = _ref.iconPath,
79
- hasFetchedApps = _ref.hasFetchedApps;
89
+ hasFetchedApps = _ref.hasFetchedApps,
90
+ homeApp = _ref.homeApp;
80
91
  var client = (0, _cozyClient.useClient)();
81
92
 
82
93
  var _useI18n = (0, _useI18n2.default)(),
@@ -90,7 +101,7 @@ var Bar = function Bar(_ref) {
90
101
  drawerVisible = _useState2[0],
91
102
  setDrawerVisible = _useState2[1];
92
103
 
93
- var showDrawerAndBurger = !isPublic && isMobile;
104
+ var showDrawerAndBurger = !isPublic && isMobile && !(0, _isTwakeTheme.isTwakeTheme)();
94
105
  var showSettings = !isPublic && !isMobile;
95
106
  var fetchInitialData = (0, _react.useCallback)(function () {
96
107
  if (!isPublic) {
@@ -125,7 +136,7 @@ var Bar = function Bar(_ref) {
125
136
  };
126
137
 
127
138
  var renderCenter = function renderCenter() {
128
- return /*#__PURE__*/_react.default.createElement(_Apps.default, {
139
+ return (0, _isTwakeTheme.isTwakeTheme)() ? null : /*#__PURE__*/_react.default.createElement(_Apps.default, {
129
140
  appName: appName,
130
141
  appNamePrefix: appNamePrefix,
131
142
  appSlug: appSlug,
@@ -140,6 +151,24 @@ var Bar = function Bar(_ref) {
140
151
  return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
141
152
  isInvertedTheme: isInvertedTheme
142
153
  });
154
+ }
155
+
156
+ if ((0, _isTwakeTheme.isTwakeTheme)()) {
157
+ var homeHref = !isPublic && homeApp && homeApp.href;
158
+
159
+ if (isMobile) {
160
+ return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
161
+ homeHref: homeHref
162
+ });
163
+ }
164
+
165
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
166
+ homeHref: homeHref
167
+ }), /*#__PURE__*/_react.default.createElement("span", {
168
+ className: "coz-nav-apps-btns-sep u-mr-half"
169
+ }), /*#__PURE__*/_react.default.createElement(_AppTitle.default, {
170
+ slug: appSlug
171
+ }));
143
172
  } // data-tutorial attribute allows to be targeted in an application tutorial
144
173
 
145
174
 
@@ -164,6 +193,16 @@ var Bar = function Bar(_ref) {
164
193
  }) : null;
165
194
  };
166
195
 
196
+ var renderTwakeRight = function renderTwakeRight() {
197
+ // Special case because search on Drive still rely on old search UI
198
+ // that modifies the cozy-bar
199
+ // Can be removed when https://github.com/cozy/cozy-drive/pull/3320 is merged
200
+ if (appSlug === 'drive' && isMobile && barSearch) return null;
201
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_HelpLink.default, null), /*#__PURE__*/_react.default.createElement(_AppsMenu.default, null), /*#__PURE__*/_react.default.createElement(_UserMenu.default, {
202
+ onLogOut: onLogOut
203
+ }));
204
+ };
205
+
167
206
  var renderSearch = function renderSearch() {
168
207
  return searchOptions.enabled && !isMobile ? /*#__PURE__*/_react.default.createElement("div", {
169
208
  className: "u-flex-grow u-mh-2"
@@ -185,7 +224,7 @@ var Bar = function Bar(_ref) {
185
224
  className: "coz-bar-container"
186
225
  }, barLeft || renderLeft(), barCenter || renderCenter(), /*#__PURE__*/_react.default.createElement("div", {
187
226
  className: "u-flex-grow"
188
- }, barSearch || renderSearch()), searchOptions.enabled && isMobile ? /*#__PURE__*/_react.default.createElement(_SearchButton.default, null) : null, barRight || renderRight(), showDrawerAndBurger ? /*#__PURE__*/_react.default.createElement(_Drawer.default, {
227
+ }, barSearch || renderSearch()), searchOptions.enabled && isMobile ? /*#__PURE__*/_react.default.createElement(_SearchButton.default, null) : null, (0, _isTwakeTheme.isTwakeTheme)() ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, barRight, renderTwakeRight()) : barRight || renderRight(), showDrawerAndBurger ? /*#__PURE__*/_react.default.createElement(_Drawer.default, {
189
228
  visible: drawerVisible,
190
229
  onClose: toggleDrawer,
191
230
  drawerListener: function drawerListener() {
@@ -211,7 +250,8 @@ Bar.propTypes = {
211
250
 
212
251
  var mapStateToProps = function mapStateToProps(state) {
213
252
  return {
214
- hasFetchedApps: (0, _reducers.hasFetched)(state)
253
+ hasFetchedApps: (0, _reducers.hasFetched)(state),
254
+ homeApp: (0, _reducers.getHomeApp)(state)
215
255
  };
216
256
  };
217
257
 
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
13
+
14
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
15
+
16
+ var _HelpOutlined = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/HelpOutlined"));
17
+
18
+ var openHelpLink = function openHelpLink() {
19
+ window.open('https://support.cozy.io/', '_blank', 'noopener, noreferrer');
20
+ };
21
+
22
+ var HelpLink = function HelpLink() {
23
+ return /*#__PURE__*/_react.default.createElement(_IconButton.default, {
24
+ onClick: openHelpLink,
25
+ className: "u-p-half"
26
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
27
+ icon: _HelpOutlined.default,
28
+ size: "18"
29
+ }));
30
+ };
31
+
32
+ var _default = HelpLink;
33
+ exports.default = _default;
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.UserMenuContent = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
14
+ var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
15
+
16
+ var _cozyIntent = require("cozy-intent");
17
+
18
+ var _cozyClient = require("cozy-client");
19
+
20
+ var _instance = require("cozy-client/dist/models/instance");
21
+
22
+ var _List = _interopRequireDefault(require("cozy-ui/transpiled/react/List"));
23
+
24
+ var _ListItem = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItem"));
25
+
26
+ var _ListItemIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemIcon"));
27
+
28
+ var _ListItemText = _interopRequireDefault(require("cozy-ui/transpiled/react/ListItemText"));
29
+
30
+ var _PersonAdd = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/PersonAdd"));
31
+
32
+ var _FromUser = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/FromUser"));
33
+
34
+ var _Logout = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Logout"));
35
+
36
+ var _Cloud = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Cloud"));
37
+
38
+ var _Company = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Company"));
39
+
40
+ var _Right = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/Right"));
41
+
42
+ var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
43
+
44
+ var _Divider = _interopRequireDefault(require("cozy-ui/transpiled/react/Divider"));
45
+
46
+ var _Buttons = _interopRequireDefault(require("cozy-ui/transpiled/react/Buttons"));
47
+
48
+ var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography"));
49
+
50
+ var _useI18n2 = _interopRequireDefault(require("../useI18n"));
51
+
52
+ var _AvatarMyself = _interopRequireDefault(require("./components/AvatarMyself"));
53
+
54
+ var _helpers = require("./helpers");
55
+
56
+ var styles = {
57
+ "user-menu-content": "user-menu-content",
58
+ "user-menu-content-add-account": "user-menu-content-add-account"
59
+ };
60
+
61
+ var UserMenuContent = function UserMenuContent(_ref) {
62
+ var onLogOut = _ref.onLogOut,
63
+ instance = _ref.instance,
64
+ diskUsage = _ref.diskUsage;
65
+ var webviewIntent = (0, _cozyIntent.useWebviewIntent)();
66
+ var client = (0, _cozyClient.useClient)();
67
+
68
+ var _useI18n = (0, _useI18n2.default)(),
69
+ t = _useI18n.t;
70
+
71
+ var _instance$data = instance.data,
72
+ public_name = _instance$data.public_name,
73
+ email = _instance$data.email;
74
+
75
+ var _makeDiskInfos = (0, _instance.makeDiskInfos)(diskUsage.data.used, diskUsage.data.quota),
76
+ humanDiskQuota = _makeDiskInfos.humanDiskQuota,
77
+ humanDiskUsage = _makeDiskInfos.humanDiskUsage;
78
+
79
+ return /*#__PURE__*/_react.default.createElement("div", {
80
+ className: (0, _classnames.default)(styles['user-menu-content'], 'u-flex u-flex-column')
81
+ }, /*#__PURE__*/_react.default.createElement("div", {
82
+ className: "u-flex u-flex-column u-flex-items-center u-mt-half"
83
+ }, /*#__PURE__*/_react.default.createElement(_AvatarMyself.default, {
84
+ className: "u-mb-half"
85
+ }), /*#__PURE__*/_react.default.createElement(_Typography.default, {
86
+ variant: "h4"
87
+ }, public_name), /*#__PURE__*/_react.default.createElement(_Typography.default, {
88
+ variant: "body2"
89
+ }, email), (0, _cozyFlags.default)('cozy.b2b.enabled') && /*#__PURE__*/_react.default.createElement(_Buttons.default, {
90
+ label: t('userMenu.addAccount'),
91
+ variant: "secondary",
92
+ startIcon: /*#__PURE__*/_react.default.createElement(_Icon.default, {
93
+ icon: _PersonAdd.default
94
+ }),
95
+ className: (0, _classnames.default)(styles['user-menu-content-add-account'], 'u-mt-1')
96
+ })), /*#__PURE__*/_react.default.createElement(_List.default, {
97
+ className: "u-pb-0"
98
+ }, /*#__PURE__*/_react.default.createElement(_ListItem.default, {
99
+ button: true,
100
+ size: "small",
101
+ onClick: function onClick() {
102
+ return (0, _helpers.openProfileLink)({
103
+ client: client
104
+ });
105
+ }
106
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
107
+ icon: _FromUser.default
108
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
109
+ primary: t('userMenu.manageProfile')
110
+ })), (0, _cozyFlags.default)('cozy.b2b.enabled') && /*#__PURE__*/_react.default.createElement(_ListItem.default, {
111
+ button: true,
112
+ size: "small"
113
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
114
+ icon: _Company.default
115
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
116
+ primary: t('userMenu.createBusinessAccount')
117
+ })), /*#__PURE__*/_react.default.createElement(_ListItem.default, {
118
+ button: true,
119
+ size: "small",
120
+ onClick: function onClick() {
121
+ return (0, _helpers.openStorageLink)({
122
+ client: client
123
+ });
124
+ }
125
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
126
+ icon: _Cloud.default
127
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
128
+ primary: t('userMenu.storage'),
129
+ secondary: t('userMenu.storageAvailable', humanDiskQuota - humanDiskUsage)
130
+ }), /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
131
+ icon: _Right.default
132
+ }))), /*#__PURE__*/_react.default.createElement(_Divider.default, {
133
+ component: "li",
134
+ variant: "inset"
135
+ }), /*#__PURE__*/_react.default.createElement(_ListItem.default, {
136
+ button: true,
137
+ size: "small",
138
+ onClick: function onClick() {
139
+ return (0, _helpers.logOut)({
140
+ client: client,
141
+ webviewIntent: webviewIntent,
142
+ onLogOut: onLogOut
143
+ });
144
+ }
145
+ }, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
146
+ icon: _Logout.default
147
+ })), /*#__PURE__*/_react.default.createElement(_ListItemText.default, {
148
+ primary: t('userMenu.logOut')
149
+ }))));
150
+ };
151
+
152
+ exports.UserMenuContent = UserMenuContent;
153
+ var _default = UserMenuContent;
154
+ exports.default = _default;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _cozyClient = require("cozy-client");
13
+
14
+ var _Avatar = _interopRequireDefault(require("cozy-ui/transpiled/react/Avatar"));
15
+
16
+ var _Skeleton = _interopRequireDefault(require("cozy-ui/transpiled/react/Skeleton"));
17
+
18
+ var _queries = require("../../../lib/queries");
19
+
20
+ var getInitials = _cozyClient.models.contact.getInitials;
21
+
22
+ var AvatarMyself = function AvatarMyself(_ref) {
23
+ var className = _ref.className,
24
+ _ref$size = _ref.size,
25
+ size = _ref$size === void 0 ? 'm' : _ref$size;
26
+ var myselfQuery = (0, _queries.buildMyselfQuery)();
27
+
28
+ var _useQuery = (0, _cozyClient.useQuery)(myselfQuery.definition, myselfQuery.options),
29
+ fetchStatus = _useQuery.fetchStatus,
30
+ data = _useQuery.data;
31
+
32
+ if (fetchStatus !== 'loaded') {
33
+ return /*#__PURE__*/_react.default.createElement(_Skeleton.default, {
34
+ variant: "circle",
35
+ width: 32,
36
+ height: 32
37
+ });
38
+ }
39
+
40
+ var me = data[0];
41
+
42
+ if (me) {
43
+ var initials = getInitials(me);
44
+ return /*#__PURE__*/_react.default.createElement(_Avatar.default, {
45
+ className: className,
46
+ size: size
47
+ }, initials);
48
+ }
49
+ };
50
+
51
+ var _default = AvatarMyself;
52
+ exports.default = _default;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.logOut = exports.openStorageLink = exports.openProfileLink = void 0;
9
+
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _cozyClient = require("cozy-client");
15
+
16
+ var _cozyDeviceHelper = require("cozy-device-helper");
17
+
18
+ var getSettingsLink = function getSettingsLink(_ref) {
19
+ var client = _ref.client,
20
+ hash = _ref.hash;
21
+ return (0, _cozyClient.generateWebLink)({
22
+ cozyUrl: client.getStackClient().uri,
23
+ slug: 'settings',
24
+ hash: hash,
25
+ subDomainType: client.getInstanceOptions().subdomain
26
+ });
27
+ };
28
+
29
+ var openProfileLink = function openProfileLink(_ref2) {
30
+ var client = _ref2.client;
31
+ var link = getSettingsLink({
32
+ client: client,
33
+ hash: 'profile'
34
+ });
35
+ window.open(link, '_self');
36
+ };
37
+
38
+ exports.openProfileLink = openProfileLink;
39
+
40
+ var openStorageLink = function openStorageLink(_ref3) {
41
+ var client = _ref3.client;
42
+ var link = getSettingsLink({
43
+ client: client,
44
+ hash: 'storage'
45
+ });
46
+ window.open(link, '_self');
47
+ };
48
+
49
+ exports.openStorageLink = openStorageLink;
50
+
51
+ var logOut = /*#__PURE__*/function () {
52
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref4) {
53
+ var client, webviewIntent, onLogOut, res;
54
+ return _regenerator.default.wrap(function _callee$(_context) {
55
+ while (1) {
56
+ switch (_context.prev = _context.next) {
57
+ case 0:
58
+ client = _ref4.client, webviewIntent = _ref4.webviewIntent, onLogOut = _ref4.onLogOut;
59
+
60
+ if (!(onLogOut && typeof onLogOut === 'function')) {
61
+ _context.next = 8;
62
+ break;
63
+ }
64
+
65
+ res = onLogOut();
66
+
67
+ if (!(res instanceof Promise)) {
68
+ _context.next = 6;
69
+ break;
70
+ }
71
+
72
+ _context.next = 6;
73
+ return res;
74
+
75
+ case 6:
76
+ _context.next = 11;
77
+ break;
78
+
79
+ case 8:
80
+ _context.next = 10;
81
+ return client.logout();
82
+
83
+ case 10:
84
+ return _context.abrupt("return", (0, _cozyDeviceHelper.isFlagshipApp)() && webviewIntent ? webviewIntent.call('logout') : window.location.reload());
85
+
86
+ case 11:
87
+ case "end":
88
+ return _context.stop();
89
+ }
90
+ }
91
+ }, _callee);
92
+ }));
93
+
94
+ return function logOut(_x) {
95
+ return _ref5.apply(this, arguments);
96
+ };
97
+ }();
98
+
99
+ exports.logOut = logOut;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton"));
17
+
18
+ var _Menu = _interopRequireDefault(require("cozy-ui/transpiled/react/Menu"));
19
+
20
+ var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
21
+
22
+ var _CozyDialogs = require("cozy-ui/transpiled/react/CozyDialogs");
23
+
24
+ var _cozyClient = require("cozy-client");
25
+
26
+ var _UserMenuContent = _interopRequireDefault(require("./UserMenuContent"));
27
+
28
+ var _AvatarMyself = _interopRequireDefault(require("./components/AvatarMyself"));
29
+
30
+ var UserMenu = function UserMenu(_ref) {
31
+ var onLogOut = _ref.onLogOut;
32
+
33
+ var _useState = (0, _react.useState)(false),
34
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
35
+ isOpen = _useState2[0],
36
+ setOpen = _useState2[1];
37
+
38
+ var buttonRef = (0, _react.useRef)();
39
+
40
+ var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(),
41
+ isMobile = _useBreakpoints.isMobile;
42
+
43
+ var _useInstanceInfo = (0, _cozyClient.useInstanceInfo)(),
44
+ isLoaded = _useInstanceInfo.isLoaded,
45
+ instance = _useInstanceInfo.instance,
46
+ diskUsage = _useInstanceInfo.diskUsage;
47
+
48
+ var toggleMenu = function toggleMenu() {
49
+ setOpen(!isOpen);
50
+ };
51
+
52
+ return /*#__PURE__*/_react.default.createElement("nav", null, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
53
+ ref: buttonRef,
54
+ onClick: toggleMenu,
55
+ disabled: !isLoaded,
56
+ className: "u-p-0 u-ml-half"
57
+ }, /*#__PURE__*/_react.default.createElement(_AvatarMyself.default, {
58
+ size: isMobile ? 's' : 'm'
59
+ })), isMobile ? /*#__PURE__*/_react.default.createElement(_CozyDialogs.Dialog, {
60
+ open: isOpen,
61
+ size: "small",
62
+ onClose: toggleMenu,
63
+ content: /*#__PURE__*/_react.default.createElement(_UserMenuContent.default, {
64
+ onLogOut: onLogOut,
65
+ instance: instance,
66
+ diskUsage: diskUsage
67
+ })
68
+ }) : /*#__PURE__*/_react.default.createElement(_Menu.default, {
69
+ open: isOpen,
70
+ anchorEl: buttonRef.current,
71
+ container: buttonRef.current,
72
+ getContentAnchorEl: null,
73
+ onClose: toggleMenu,
74
+ anchorOrigin: {
75
+ vertical: 'bottom',
76
+ horizontal: 'left'
77
+ },
78
+ transformOrigin: {
79
+ vertical: -10
80
+ }
81
+ }, /*#__PURE__*/_react.default.createElement(_UserMenuContent.default, {
82
+ onLogOut: onLogOut,
83
+ instance: instance,
84
+ diskUsage: diskUsage
85
+ })));
86
+ };
87
+
88
+ var _default = UserMenu;
89
+ exports.default = _default;
package/dist/index.js CHANGED
@@ -82,5 +82,5 @@ var _BarProvider = _interopRequireDefault(require("./components/BarProvider"));
82
82
  var _reducers = require("./lib/reducers");
83
83
 
84
84
  /* global __VERSION__ */
85
- var version = "\"17.1.0\"";
85
+ var version = "\"18.0.0\"";
86
86
  exports.version = version;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildMyselfQuery = void 0;
7
+
8
+ var _cozyClient = require("cozy-client");
9
+
10
+ var buildMyselfQuery = function buildMyselfQuery() {
11
+ return {
12
+ definition: (0, _cozyClient.Q)('io.cozy.contacts').where({
13
+ me: true
14
+ }),
15
+ options: {
16
+ as: 'io.cozy.contacts/myself'
17
+ }
18
+ };
19
+ };
20
+
21
+ exports.buildMyselfQuery = buildMyselfQuery;
@@ -49,5 +49,13 @@
49
49
  "moved": {
50
50
  "description": "The Cozy has been moved to a new address"
51
51
  }
52
+ },
53
+ "userMenu": {
54
+ "addAccount": "Add account",
55
+ "manageProfile": "Manage profile",
56
+ "createBusinessAccount": "Create business account",
57
+ "storage": "Storage",
58
+ "storageAvailable": "%{smart_count} GB available",
59
+ "logOut": "Log out"
52
60
  }
53
61
  }
@@ -49,5 +49,13 @@
49
49
  "moved": {
50
50
  "description": "Ce Cozy a été déplacé vers une nouvelle adresse"
51
51
  }
52
+ },
53
+ "userMenu": {
54
+ "addAccount": "Ajouter un compte",
55
+ "manageProfile": "Gérer mon profil",
56
+ "createBusinessAccount": "Créer un compte entreprise",
57
+ "storage": "Stockage",
58
+ "storageAvailable": "%{smart_count} Go disponible",
59
+ "logOut": "Se déconnecter"
52
60
  }
53
61
  }
@@ -0,0 +1,20 @@
1
+ .apps-menu-grid
2
+ display: flex
3
+ flex-wrap: wrap
4
+ width: 100%
5
+ box-sizing: border-box
6
+ padding-left: 0.5rem
7
+ padding-right: 0.5rem
8
+
9
+ .apps-menu-grid-item-wrapper
10
+ width: 33%
11
+ aspect-ratio: 1
12
+
13
+ .apps-menu-grid-item
14
+ display: flex
15
+ flex-direction: column
16
+ justify-content: center
17
+ align-items: center
18
+ text-decoration: none
19
+ width: 60%
20
+ min-width: 48px
@@ -0,0 +1,10 @@
1
+ @require 'settings/breakpoints'
2
+
3
+ .user-menu-content
4
+ width: 320px
5
+
6
+ +small-screen()
7
+ width: auto
8
+
9
+ .user-menu-content-add-account
10
+ width: calc(100% - 32px)
@@ -1,3 +1,39 @@
1
+ /* imported from apps-menu.styl */
2
+
3
+ .apps-menu-grid {
4
+ display: flex;
5
+ flex-wrap: wrap;
6
+ width: 100%;
7
+ box-sizing: border-box;
8
+ padding-left: 0.5rem;
9
+ padding-right: 0.5rem;
10
+ }
11
+ .apps-menu-grid-item-wrapper {
12
+ width: 33%;
13
+ aspect-ratio: 1;
14
+ }
15
+ .apps-menu-grid-item {
16
+ display: flex;
17
+ flex-direction: column;
18
+ justify-content: center;
19
+ align-items: center;
20
+ text-decoration: none;
21
+ width: 60%;
22
+ min-width: 48px;
23
+ }
24
+ /* imported from user-menu.styl */
25
+
26
+ .user-menu-content {
27
+ width: 320px;
28
+ }
29
+ @media (max-width: 48rem) {
30
+ .user-menu-content {
31
+ width: auto;
32
+ }
33
+ }
34
+ .user-menu-content-add-account {
35
+ width: calc(100% - 32px);
36
+ }
1
37
  /* imported from index.styl */
2
38
 
3
39
  [role=banner] .coz-sep-flex {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-bar",
3
- "version": "17.1.0",
3
+ "version": "18.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/)",
@@ -41,7 +41,7 @@
41
41
  "babel-plugin-module-resolver": "^4.0.0",
42
42
  "babel-plugin-transform-define": "^2.0.0",
43
43
  "babel-preset-cozy-app": "^1.9.0",
44
- "cozy-client": "^51.1.0",
44
+ "cozy-client": "^52.1.0",
45
45
  "cozy-dataproxy-lib": "^4.1.0",
46
46
  "cozy-device-helper": "2.6.0",
47
47
  "cozy-flags": "^4.6.1",
@@ -49,7 +49,7 @@
49
49
  "cozy-interapp": "0.4.9",
50
50
  "cozy-logger": "1.9.1",
51
51
  "cozy-realtime": "^4.0.5",
52
- "cozy-ui": "^111.12.0",
52
+ "cozy-ui": "^121.8.0",
53
53
  "eslint-config-cozy-app": "2.0.0",
54
54
  "identity-obj-proxy": "3.0.0",
55
55
  "jest": "24.9.0",
@@ -61,7 +61,7 @@
61
61
  "stylus": "0.57.0"
62
62
  },
63
63
  "dependencies": {
64
- "cozy-search": "0.1.0",
64
+ "cozy-search": "0.2.0",
65
65
  "hammerjs": "2.0.8",
66
66
  "lodash.debounce": "4.0.8",
67
67
  "lodash.set": "^4.3.2",
@@ -75,14 +75,14 @@
75
75
  },
76
76
  "peerDependencies": {
77
77
  "@cozy/minilog": ">=1.0.0",
78
- "cozy-client": ">=51.1.0",
78
+ "cozy-client": ">=52.1.0",
79
79
  "cozy-dataproxy-lib": ">=4.1.0",
80
80
  "cozy-device-helper": ">=2.6.0",
81
81
  "cozy-flags": ">=4.6.1",
82
82
  "cozy-intent": ">=2.29.1",
83
83
  "cozy-interapp": ">=0.4.9",
84
84
  "cozy-realtime": ">=4.0.5",
85
- "cozy-ui": ">=111.12.0",
85
+ "cozy-ui": ">=121.8.0",
86
86
  "react": ">=16.10.1",
87
87
  "react-dom": ">=16.10.1",
88
88
  "react-router-dom": ">=6.14.2"