cozy-bar 22.0.0 → 22.1.1

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.
@@ -28,14 +28,16 @@ var ButtonCozyHome = exports.ButtonCozyHome = function ButtonCozyHome(_ref) {
28
28
  if (homeHref) {
29
29
  return /*#__PURE__*/_react.default.createElement("a", {
30
30
  href: homeHref,
31
- className: "coz-nav-apps-btns-home"
31
+ className: "coz-nav-apps-btns-home",
32
+ "data-testid": "buttonCozyHome"
32
33
  }, /*#__PURE__*/_react.default.createElement(_IconCozyHome.default, {
33
34
  className: "coz-nav-apps-btns-home-svg",
34
35
  isInvertedTheme: isInvertedTheme
35
36
  }));
36
37
  }
37
38
  return /*#__PURE__*/_react.default.createElement("span", {
38
- className: "coz-nav-apps-btns-home"
39
+ className: "coz-nav-apps-btns-home",
40
+ "data-testid": "buttonCozyHome"
39
41
  }, /*#__PURE__*/_react.default.createElement(_IconCozyHome.default, {
40
42
  className: "coz-nav-apps-btns-home-svg",
41
43
  isInvertedTheme: isInvertedTheme
@@ -5,60 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _AppIcon = _interopRequireDefault(require("cozy-ui/transpiled/react/AppIcon"));
12
- var _stack = _interopRequireDefault(require("../../lib/stack"));
13
- var _isTwakeTheme = require("cozy-ui/transpiled/react/helpers/isTwakeTheme");
14
9
  var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
15
10
  var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
16
11
  var _TwakeWorkplace = _interopRequireDefault(require("cozy-ui/transpiled/react/Icons/TwakeWorkplace"));
17
- /* Generated with node_modules/.bin/svgr src/assets/sprites/icon-cozy-home.svg */
18
- function SvgIconCozyHome(props) {
19
- return /*#__PURE__*/_react.default.createElement("svg", (0, _extends2.default)({
20
- width: 32,
21
- height: 32
22
- }, props), /*#__PURE__*/_react.default.createElement("g", {
23
- fill: "none",
24
- fillRule: "evenodd"
25
- }, /*#__PURE__*/_react.default.createElement("circle", {
26
- fill: "#297EF2",
27
- fillRule: "nonzero",
28
- cx: 16,
29
- cy: 16,
30
- r: 16
31
- }), /*#__PURE__*/_react.default.createElement("path", {
32
- d: "M19.314 17.561a.555.555 0 01-.82.12 4.044 4.044 0 01-2.499.862 4.04 4.04 0 01-2.494-.86.557.557 0 01-.815-.12.547.547 0 01.156-.748c.214-.14.229-.421.229-.424a.555.555 0 01.176-.385.504.504 0 01.386-.145.544.544 0 01.528.553c0 .004 0 .153-.054.36a2.954 2.954 0 003.784-.008 1.765 1.765 0 01-.053-.344.546.546 0 01.536-.561h.01c.294 0 .538.237.545.532 0 0 .015.282.227.422a.544.544 0 01.158.746m2.322-6.369a5.94 5.94 0 00-1.69-3.506A5.651 5.651 0 0015.916 6a5.648 5.648 0 00-4.029 1.687 5.936 5.936 0 00-1.691 3.524 5.677 5.677 0 00-3.433 1.737 5.966 5.966 0 00-1.643 4.137C5.12 20.347 7.704 23 10.882 23h10.236c3.176 0 5.762-2.653 5.762-5.915 0-3.083-2.31-5.623-5.244-5.893",
33
- fill: "#FFF"
34
- })));
35
- }
36
- var IconCozyHome = function IconCozyHome(_ref) {
37
- var className = _ref.className,
38
- isInvertedTheme = _ref.isInvertedTheme;
12
+ var IconCozyHome = function IconCozyHome() {
39
13
  var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(),
40
14
  isMobile = _useBreakpoints.isMobile;
41
- if ((0, _isTwakeTheme.isTwakeTheme)()) {
42
- return /*#__PURE__*/_react.default.createElement(_Icon.default, {
43
- icon: _TwakeWorkplace.default,
44
- size: isMobile ? 28 : 32,
45
- className: isMobile ? 'u-ml-half' : undefined
46
- });
47
- }
48
- var fetchIcon = function fetchIcon() {
49
- if (isInvertedTheme) {
50
- return "".concat(_stack.default.get.cozyURL(), "/assets/images/icon-cozy-home-inverted.svg");
51
- }
52
- return "".concat(_stack.default.get.cozyURL(), "/assets/images/icon-cozy-home.svg");
53
- };
54
- return /*#__PURE__*/_react.default.createElement(_AppIcon.default, {
55
- fetchIcon: fetchIcon,
56
- fallbackIcon: SvgIconCozyHome,
57
- className: className
15
+ return /*#__PURE__*/_react.default.createElement(_Icon.default, {
16
+ icon: _TwakeWorkplace.default,
17
+ size: isMobile ? 28 : 32,
18
+ className: isMobile ? 'u-ml-half' : undefined
58
19
  });
59
20
  };
60
- IconCozyHome.propTypes = {
61
- className: _propTypes.default.string,
62
- isInvertedTheme: _propTypes.default.bool
63
- };
64
21
  var _default = exports.default = IconCozyHome;
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.mapStateToProps = exports.mapDispatchToProps = exports.default = exports.Bar = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _react = _interopRequireWildcard(require("react"));
11
10
  var _reactRedux = require("react-redux");
@@ -13,44 +12,27 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
12
  var _Grid = _interopRequireDefault(require("cozy-ui/transpiled/react/Grid"));
14
13
  var _Divider = _interopRequireDefault(require("cozy-ui/transpiled/react/Divider"));
15
14
  var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints");
16
- var _Icon = _interopRequireDefault(require("cozy-ui/transpiled/react/Icon"));
17
15
  var _AppTitle = _interopRequireDefault(require("cozy-ui/transpiled/react/AppTitle"));
18
16
  var _cozyDeviceHelper = require("cozy-device-helper");
19
17
  var _cozyFlags = _interopRequireDefault(require("cozy-flags"));
20
- var _isTwakeTheme = require("cozy-ui/transpiled/react/helpers/isTwakeTheme");
21
18
  var _ButtonCozyHome = require("./Apps/ButtonCozyHome");
22
19
  var _Banner = _interopRequireDefault(require("./Banner"));
23
- var _Drawer = _interopRequireDefault(require("./Drawer"));
24
- var _Settings = _interopRequireDefault(require("./Settings"));
25
- var _Apps = _interopRequireDefault(require("./Apps"));
26
20
  var _AppsMenu = _interopRequireDefault(require("./AppsMenu"));
27
21
  var _UserMenu = _interopRequireDefault(require("./UserMenu"));
28
22
  var _HelpLink = _interopRequireDefault(require("./HelpLink"));
29
23
  var _reducers = require("../lib/reducers");
30
- var _useI18n2 = _interopRequireDefault(require("./useI18n"));
31
24
  var _cozyClient = require("cozy-client");
32
25
  var _cozySearch = require("cozy-search");
33
26
  var _SearchButton = _interopRequireDefault(require("./Search/SearchButton"));
34
27
  var _classnames = _interopRequireDefault(require("classnames"));
35
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); }
36
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; }
37
- /* Generated with node_modules/.bin/svgr src/assets/sprites/icon-apps.svg */
38
- function SvgIconApps(props) {
39
- return /*#__PURE__*/_react.default.createElement("svg", (0, _extends2.default)({
40
- width: 16,
41
- height: 16
42
- }, props), /*#__PURE__*/_react.default.createElement("path", {
43
- d: "M0 0h4v4H0V0zm0 6h4v4H0V6zm0 6h4v4H0v-4zM6 0h4v4H6V0zm0 6h4v4H6V6zm0 6h4v4H6v-4zm6-12h4v4h-4V0zm0 6h4v4h-4V6zm0 6h4v4h-4v-4z",
44
- fillRule: "evenodd"
45
- }));
46
- }
47
30
  var Bar = exports.Bar = function Bar(_ref) {
48
31
  var _componentsProps$Wrap;
49
32
  var fetchContext = _ref.fetchContext,
50
33
  fetchSettingsData = _ref.fetchSettingsData,
51
34
  fetchApps = _ref.fetchApps,
52
35
  isPublic = _ref.isPublic,
53
- onDrawer = _ref.onDrawer,
54
36
  barLeft = _ref.barLeft,
55
37
  barRight = _ref.barRight,
56
38
  barCenter = _ref.barCenter,
@@ -59,24 +41,13 @@ var Bar = exports.Bar = function Bar(_ref) {
59
41
  userActionRequired = _ref.userActionRequired,
60
42
  searchOptions = _ref.searchOptions,
61
43
  isInvertedTheme = _ref.isInvertedTheme,
62
- appName = _ref.appName,
63
- appNamePrefix = _ref.appNamePrefix,
64
44
  appSlug = _ref.appSlug,
65
- iconPath = _ref.iconPath,
66
45
  hasFetchedApps = _ref.hasFetchedApps,
67
46
  homeApp = _ref.homeApp,
68
47
  componentsProps = _ref.componentsProps;
69
48
  var client = (0, _cozyClient.useClient)();
70
- var _useI18n = (0, _useI18n2.default)(),
71
- t = _useI18n.t;
72
49
  var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(),
73
50
  isMobile = _useBreakpoints.isMobile;
74
- var _useState = (0, _react.useState)(false),
75
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
76
- drawerVisible = _useState2[0],
77
- setDrawerVisible = _useState2[1];
78
- var showDrawerAndBurger = !isPublic && isMobile && !(0, _isTwakeTheme.isTwakeTheme)();
79
- var showSettings = !isPublic && !isMobile;
80
51
  var fetchInitialData = (0, _react.useCallback)(function () {
81
52
  if (!isPublic) {
82
53
  fetchContext();
@@ -96,24 +67,8 @@ var Bar = exports.Bar = function Bar(_ref) {
96
67
  client.removeListener('tokenRefreshed', handleTokenRefreshed);
97
68
  };
98
69
  }, [client, fetchInitialData]);
99
- (0, _react.useEffect)(function () {
100
- if (!hasFetchedApps && drawerVisible) {
101
- fetchApps();
102
- }
103
- }, [drawerVisible, fetchApps, hasFetchedApps]);
104
- var toggleDrawer = function toggleDrawer() {
105
- onDrawer(!drawerVisible);
106
- setDrawerVisible(!drawerVisible);
107
- };
108
70
  var renderCenter = function renderCenter() {
109
- return (0, _isTwakeTheme.isTwakeTheme)() ? null : /*#__PURE__*/_react.default.createElement(_Apps.default, {
110
- appName: appName,
111
- appNamePrefix: appNamePrefix,
112
- appSlug: appSlug,
113
- iconPath: iconPath,
114
- isPublic: isPublic,
115
- isInvertedTheme: isInvertedTheme
116
- });
71
+ return null;
117
72
  };
118
73
  var renderLeft = function renderLeft() {
119
74
  if ((0, _cozyDeviceHelper.isFlagshipApp)() || (0, _cozyFlags.default)('flagship.debug')) {
@@ -121,48 +76,26 @@ var Bar = exports.Bar = function Bar(_ref) {
121
76
  isInvertedTheme: isInvertedTheme
122
77
  });
123
78
  }
124
- if ((0, _isTwakeTheme.isTwakeTheme)()) {
125
- var homeHref = !isPublic && homeApp && homeApp.href;
126
- if (isMobile) {
127
- return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
128
- homeHref: homeHref
129
- });
130
- }
131
- var isHome = appSlug === 'home';
132
- return /*#__PURE__*/_react.default.createElement(_Grid.default, {
133
- container: true,
134
- alignItems: "center",
135
- className: "u-w-auto"
136
- }, !isHome && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
79
+ var homeHref = !isPublic && homeApp && homeApp.href;
80
+ if (isMobile) {
81
+ return /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
137
82
  homeHref: homeHref
138
- }), /*#__PURE__*/_react.default.createElement(_Divider.default, {
139
- orientation: "vertical",
140
- className: "u-mr-half",
141
- flexItem: true
142
- })), /*#__PURE__*/_react.default.createElement(_AppTitle.default, {
143
- slug: appSlug
144
- }));
83
+ });
145
84
  }
146
-
147
- // data-tutorial attribute allows to be targeted in an application tutorial
148
- return showDrawerAndBurger ? /*#__PURE__*/_react.default.createElement("button", {
149
- type: "button",
150
- className: "coz-bar-btn coz-bar-burger",
151
- onClick: toggleDrawer,
152
- "data-tutorial": "apps-mobile"
153
- }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
154
- icon: SvgIconApps,
155
- width: 16,
156
- height: 16,
157
- color: "currentColor"
158
- }), /*#__PURE__*/_react.default.createElement("span", {
159
- className: "u-visuallyhidden"
160
- }, t('drawer'))) : null;
161
- };
162
- var renderRight = function renderRight() {
163
- return showSettings ? /*#__PURE__*/_react.default.createElement(_Settings.default, {
164
- onLogOut: onLogOut
165
- }) : null;
85
+ var isHome = appSlug === 'home';
86
+ return /*#__PURE__*/_react.default.createElement(_Grid.default, {
87
+ container: true,
88
+ alignItems: "center",
89
+ className: "u-w-auto"
90
+ }, !isHome && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ButtonCozyHome.ButtonCozyHome, {
91
+ homeHref: homeHref
92
+ }), /*#__PURE__*/_react.default.createElement(_Divider.default, {
93
+ orientation: "vertical",
94
+ className: "u-mr-half",
95
+ flexItem: true
96
+ })), /*#__PURE__*/_react.default.createElement(_AppTitle.default, {
97
+ slug: appSlug
98
+ }));
166
99
  };
167
100
  var renderTwakeRight = function renderTwakeRight() {
168
101
  // Special case because search on Drive on mobile still rely
@@ -198,25 +131,13 @@ var Bar = exports.Bar = function Bar(_ref) {
198
131
  className: "coz-bar-container"
199
132
  }, barLeft || renderLeft(), barCenter || renderCenter(), /*#__PURE__*/_react.default.createElement("div", {
200
133
  className: "u-flex-grow"
201
- }, 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, !isPublic && renderTwakeRight()) : barRight || renderRight(), showDrawerAndBurger ? /*#__PURE__*/_react.default.createElement(_Drawer.default, {
202
- visible: drawerVisible,
203
- onClose: toggleDrawer,
204
- drawerListener: function drawerListener() {
205
- return onDrawer(drawerVisible);
206
- },
207
- onLogOut: onLogOut,
208
- isInvertedTheme: isInvertedTheme
209
- }) : null), userActionRequired && /*#__PURE__*/_react.default.createElement(_Banner.default, userActionRequired));
134
+ }, barSearch || renderSearch()), searchOptions.enabled && isMobile ? /*#__PURE__*/_react.default.createElement(_SearchButton.default, null) : null, barRight, !isPublic && renderTwakeRight()), userActionRequired && /*#__PURE__*/_react.default.createElement(_Banner.default, userActionRequired));
210
135
  };
211
136
  Bar.propTypes = {
212
- appName: _propTypes.default.string,
213
- appNamePrefix: _propTypes.default.string,
214
137
  appSlug: _propTypes.default.string,
215
- iconPath: _propTypes.default.string,
216
138
  isPublic: _propTypes.default.bool,
217
139
  isInvertedTheme: _propTypes.default.bool,
218
140
  onLogOut: _propTypes.default.func,
219
- onDrawer: _propTypes.default.func,
220
141
  userActionRequired: _propTypes.default.object,
221
142
  componentsProps: _propTypes.default.shape({
222
143
  Wrapper: _propTypes.default.shape({
@@ -3,7 +3,7 @@ import { isFlagshipApp } from 'cozy-device-helper'
3
3
  import { BarLike } from 'test/lib/BarLike'
4
4
 
5
5
  import { Bar } from './Bar'
6
- import { fireEvent, render, screen } from '@testing-library/react'
6
+ import { render } from '@testing-library/react'
7
7
  import { createMockClient } from 'cozy-client'
8
8
  import { useBreakpoints } from 'cozy-ui/transpiled/react/providers/Breakpoints'
9
9
 
@@ -100,32 +100,6 @@ describe('Bar', () => {
100
100
  expect(mockFetchSettingsData).not.toHaveBeenCalled()
101
101
  })
102
102
 
103
- it('should not fetch apps if hasFetchedApps is true', async () => {
104
- setup({ hasFetchedApps: true })
105
-
106
- const toogleButton = await screen.getByText('Show menu drawer')
107
- fireEvent.click(toogleButton)
108
-
109
- // wait the drawer to be opened
110
- await screen.getByText('Contact us')
111
-
112
- expect(mockFetchApps).not.toHaveBeenCalled()
113
- })
114
-
115
- it('should re-fetch apps if apps are not fetched and drawer opens', async () => {
116
- setup({ hasFetchedApps: false })
117
-
118
- expect(mockFetchApps).toHaveBeenCalledTimes(1)
119
-
120
- const toogleButton = await screen.getByText('Show menu drawer')
121
- fireEvent.click(toogleButton)
122
-
123
- // wait the drawer to be opened
124
- await screen.getByText('Contact us')
125
-
126
- expect(mockFetchApps).toHaveBeenCalledTimes(2)
127
- })
128
-
129
103
  it('should call re-fetch data when token is refreshed', () => {
130
104
  const { client } = setup()
131
105
  client.emit('tokenRefreshed')
@@ -16,11 +16,8 @@ var AvatarMyself = function AvatarMyself(_ref) {
16
16
  var rootURL = client.getStackClient().uri;
17
17
  return /*#__PURE__*/_react.default.createElement(_Avatar.default, {
18
18
  className: className,
19
- size: size
20
- }, /*#__PURE__*/_react.default.createElement("img", {
21
- width: "100%",
22
- height: "100%",
19
+ size: size,
23
20
  src: "".concat(rootURL, "/public/avatar?fallback=initials")
24
- }));
21
+ });
25
22
  };
26
23
  var _default = exports.default = AvatarMyself;
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.0.0\"";
74
+ var version = exports.version = "\"22.1.1\"";
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import { render, screen } from '@testing-library/react'
3
3
 
4
- import { BarComponent, BarProvider, BarRight } from './index'
4
+ import { BarComponent, BarProvider, BarLeft } from './index'
5
5
  import { BarLike } from '../test/lib/BarLike'
6
6
 
7
7
  describe('The bar library', function() {
@@ -21,7 +21,7 @@ describe('The bar library', function() {
21
21
  </BarLike>
22
22
  )
23
23
 
24
- const buttonElement = screen.queryByRole('button', { name: /settings/i })
24
+ const buttonElement = screen.queryByTestId('buttonCozyHome')
25
25
  expect(buttonElement).toBeInTheDocument()
26
26
  })
27
27
 
@@ -30,12 +30,12 @@ describe('The bar library', function() {
30
30
  <BarLike>
31
31
  <BarProvider>
32
32
  <BarComponent />
33
- <BarRight>Custom text</BarRight>
33
+ <BarLeft>Custom text</BarLeft>
34
34
  </BarProvider>
35
35
  </BarLike>
36
36
  )
37
37
 
38
- const buttonElement = screen.queryByRole('button', { name: /settings/i })
38
+ const buttonElement = screen.queryByTestId('buttonCozyHome')
39
39
  expect(buttonElement).not.toBeInTheDocument()
40
40
 
41
41
  const currentApp = screen.getByText('Custom text')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-bar",
3
- "version": "22.0.0",
3
+ "version": "22.1.1",
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/)",