@toptal/picasso-page 2.0.22 → 2.1.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.
@@ -24,6 +24,9 @@ export interface Props extends BaseProps, HTMLAttributes<HTMLElement> {
24
24
  hamburger?: string;
25
25
  };
26
26
  }
27
+ export declare const PageTopBarContext: React.Context<{
28
+ variant: VariantType;
29
+ }>;
27
30
  export declare const PageTopBar: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLElement>>;
28
31
  export default PageTopBar;
29
32
  //# sourceMappingURL=PageTopBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageTopBar.d.ts","sourceRoot":"","sources":["../../../src/PageTopBar/PageTopBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,KAA4C,MAAM,OAAO,CAAA;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAqBvD,aAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAE5C,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC;IACnE,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,oBAAoB;IACpB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,oBAAoB;IACpB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAMD,eAAO,MAAM,UAAU,2EA8HrB,CAAA;AAQF,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"PageTopBar.d.ts","sourceRoot":"","sources":["../../../src/PageTopBar/PageTopBar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACpE,OAAO,KAA4C,MAAM,OAAO,CAAA;AAEhE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAqBvD,aAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAA;AAE5C,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC;IACnE,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,sBAAsB;IACtB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,oBAAoB;IACpB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,oBAAoB;IACpB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,eAAO,MAAM,iBAAiB;aAAkC,WAAW;EAEzE,CAAA;AAMF,eAAO,MAAM,UAAU,2EAuIrB,CAAA;AAQF,eAAe,UAAU,CAAA"}
@@ -20,6 +20,9 @@ import { useIsomorphicLayoutEffect } from '@toptal/picasso-utils';
20
20
  import { PageContext } from '../Page';
21
21
  import { PageHamburger, PageHamburgerPortal, useHamburgerContext, } from '../PageHamburger';
22
22
  import styles from './styles';
23
+ export const PageTopBarContext = React.createContext({
24
+ variant: 'dark',
25
+ });
23
26
  const useStyles = makeStyles(styles, {
24
27
  name: 'PicassoTopBar',
25
28
  });
@@ -53,26 +56,27 @@ export const PageTopBar = forwardRef(function PageTopBar(props, ref) {
53
56
  [classes.fullWidth]: fullWidth || width === 'full',
54
57
  [classes.wide]: width === 'wide',
55
58
  }, classes.content);
56
- return (React.createElement("div", { className: classes.wrapper },
57
- React.createElement("header", Object.assign({}, rest, { ref: ref, className: cx('mui-fixed', classes.root, classes[variant], className, {
58
- [classes.preventPageWidthChangeOnScrollbar]: preventPageWidthChangeOnScrollbar,
59
- }), style: style }),
60
- React.createElement("div", { className: innerClassName },
61
- React.createElement("div", { className: classes.left },
62
- React.createElement(Container, { flex: true, alignItems: 'center', gap: 'small' },
63
- React.createElement(PageHamburger, { id: hamburgerId, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.hamburger }),
64
- logoLink
65
- ? React.cloneElement(logoLink, {}, logoComponent)
66
- : logoComponent,
67
- titleComponent),
68
- leftContent),
69
- centerContent && (React.createElement(React.Fragment, null,
70
- React.createElement(PageHamburgerPortal, null,
71
- React.createElement("div", { className: classes.centerContentPortal }, centerContent)),
72
- React.createElement(Container, { flex: true, alignItems: 'center', className: classes.centerContent }, centerContent))),
73
- React.createElement("div", { className: classes.right },
74
- actionItems,
75
- rightContent)))));
59
+ return (React.createElement(PageTopBarContext.Provider, { value: { variant } },
60
+ React.createElement("div", { className: classes.wrapper },
61
+ React.createElement("header", Object.assign({}, rest, { ref: ref, className: cx('mui-fixed', classes.root, classes[variant], className, {
62
+ [classes.preventPageWidthChangeOnScrollbar]: preventPageWidthChangeOnScrollbar,
63
+ }), style: style }),
64
+ React.createElement("div", { className: innerClassName },
65
+ React.createElement("div", { className: classes.left },
66
+ React.createElement(Container, { flex: true, alignItems: 'center', gap: 'small' },
67
+ React.createElement(PageHamburger, { id: hamburgerId, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.hamburger }),
68
+ logoLink
69
+ ? React.cloneElement(logoLink, {}, logoComponent)
70
+ : logoComponent,
71
+ titleComponent),
72
+ leftContent),
73
+ centerContent && (React.createElement(React.Fragment, null,
74
+ React.createElement(PageHamburgerPortal, null,
75
+ React.createElement("div", { className: classes.centerContentPortal }, centerContent)),
76
+ React.createElement(Container, { flex: true, alignItems: 'center', className: classes.centerContent }, centerContent))),
77
+ React.createElement("div", { className: classes.right },
78
+ actionItems,
79
+ rightContent))))));
76
80
  });
77
81
  PageTopBar.defaultProps = {
78
82
  variant: 'dark',
@@ -1 +1 @@
1
- {"version":3,"file":"PageTopBar.js","sourceRoot":"","sources":["../../../src/PageTopBar/PageTopBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageTopBar.js","sourceRoot":"","sources":["../../../src/PageTopBar/PageTopBar.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { OmitInternalProps } from '@toptal/picasso-shared';
2
2
  import type { Props } from './PageTopBar';
3
3
  export { default as PageTopBar } from './PageTopBar';
4
+ export { PageTopBarContext } from './PageTopBar';
4
5
  export declare type PageTopBarProps = OmitInternalProps<Props>;
5
6
  export * from './constants';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/PageTopBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,oBAAY,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACtD,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/PageTopBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,oBAAY,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACtD,cAAc,aAAa,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export { default as PageTopBar } from './PageTopBar';
2
+ export { PageTopBarContext } from './PageTopBar';
2
3
  export * from './constants';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/PageTopBar/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AAEpD,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/PageTopBar/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,cAAc,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageTopBarMenu.d.ts","sourceRoot":"","sources":["../../../src/PageTopBarMenu/PageTopBarMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAavD,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC;IACtE,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,gBAAgB;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,cAAc,8EAkG1B,CAAA;AAMD,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"PageTopBarMenu.d.ts","sourceRoot":"","sources":["../../../src/PageTopBarMenu/PageTopBarMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAiC,MAAM,OAAO,CAAA;AAIrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAcvD,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC;IACtE,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,gBAAgB;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,cAAc,8EAuG1B,CAAA;AAMD,eAAe,cAAc,CAAA"}
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { forwardRef } from 'react';
12
+ import React, { useContext, forwardRef } from 'react';
13
13
  import cx from 'classnames';
14
14
  import { makeStyles } from '@material-ui/core/styles';
15
15
  import { useBreakpoint } from '@toptal/picasso-utils';
@@ -18,14 +18,17 @@ import { Avatar } from '@toptal/picasso-avatar';
18
18
  import { Typography } from '@toptal/picasso-typography';
19
19
  import { DropdownCompound as Dropdown } from '@toptal/picasso-dropdown';
20
20
  import styles from './styles';
21
+ import { PageTopBarContext } from '../PageTopBar';
21
22
  const useStyles = makeStyles(styles, {
22
23
  name: 'PicassoTopBarMenu',
23
24
  });
24
25
  export const PageTopBarMenu = forwardRef(function PageTopBarMenu(props, ref) {
25
26
  const { name, meta, avatar, className, style, children, 'data-private': dataPrivate } = props, rest = __rest(props, ["name", "meta", "avatar", "className", "style", "children", 'data-private']);
26
27
  const classes = useStyles();
28
+ const { variant } = useContext(PageTopBarContext);
29
+ const invert = variant === 'light';
27
30
  const isCompactLayout = useBreakpoint(['xs', 'sm', 'md']);
28
- const metaContent = typeof meta === 'string' ? (React.createElement(Typography, { className: classes.truncateText, invert: !isCompactLayout, size: 'xsmall', "data-private": dataPrivate }, meta)) : (meta);
31
+ const metaContent = typeof meta === 'string' ? (React.createElement(Typography, { className: classes.truncateText, invert: !isCompactLayout && !invert, size: 'xsmall', "data-private": dataPrivate }, meta)) : (meta);
29
32
  const content = isCompactLayout ? (React.createElement(React.Fragment, null,
30
33
  React.createElement(UserBadge, { center: true, size: 'xxsmall', "data-private": dataPrivate, classes: {
31
34
  root: classes.contentUserBadge,
@@ -33,7 +36,7 @@ export const PageTopBarMenu = forwardRef(function PageTopBarMenu(props, ref) {
33
36
  name: cx('!font-[400]', classes.truncateText),
34
37
  }, name: name, avatar: avatar }, meta && metaContent),
35
38
  children)) : (children);
36
- const trigger = isCompactLayout ? (React.createElement(Avatar, { size: 'xxsmall', "data-private": dataPrivate, name: name, src: avatar })) : (React.createElement(UserBadge, { invert: true, center: true, size: 'xxsmall', classes: {
39
+ const trigger = isCompactLayout ? (React.createElement(Avatar, { size: 'xxsmall', "data-private": dataPrivate, name: name, src: avatar })) : (React.createElement(UserBadge, { invert: !invert, center: true, size: 'xxsmall', classes: {
37
40
  name: cx('!font-[400]', classes.truncateText),
38
41
  }, name: name, "data-private": dataPrivate, avatar: avatar }, meta && metaContent));
39
42
  return (React.createElement(Dropdown, Object.assign({}, rest, { ref: ref, className: cx(classes.root, className), classes: { content: classes.content }, style: style, content: content, offset: { top: isCompactLayout ? 0.8 : 'xsmall' }, popperOptions: {
@@ -45,7 +48,7 @@ export const PageTopBarMenu = forwardRef(function PageTopBarMenu(props, ref) {
45
48
  },
46
49
  } }),
47
50
  trigger,
48
- React.createElement(Dropdown.Arrow, { className: classes.arrow })));
51
+ React.createElement(Dropdown.Arrow, { className: cx(classes.arrow, { [classes.invert]: invert }) })));
49
52
  });
50
53
  PageTopBarMenu.defaultProps = {};
51
54
  PageTopBarMenu.displayName = 'PageTopBarMenu';
@@ -1 +1 @@
1
- {"version":3,"file":"PageTopBarMenu.js","sourceRoot":"","sources":["../../../src/PageTopBarMenu/PageTopBarMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageTopBarMenu.js","sourceRoot":"","sources":["../../../src/PageTopBarMenu/PageTopBarMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import type { Theme } from '@material-ui/core/styles';
2
- declare const _default: ({ screens }: Theme) => import("@material-ui/styles").StyleRules<{}, "content" | "name" | "arrow" | "avatar" | "contentUserBadge" | "truncateText" | "paper">;
2
+ declare const _default: ({ screens, palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "content" | "invert" | "name" | "arrow" | "avatar" | "contentUserBadge" | "truncateText" | "paper">;
3
3
  export default _default;
4
4
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/PageTopBarMenu/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;sCAGxB,KAAK;AAAlC,wBA0CI"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/PageTopBarMenu/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;+CAGf,KAAK;AAA3C,wBA6CI"}
@@ -1,5 +1,5 @@
1
1
  import { createStyles } from '@material-ui/core/styles';
2
- export default ({ screens }) => createStyles({
2
+ export default ({ screens, palette }) => createStyles({
3
3
  avatar: {
4
4
  fontSize: '0.9rem',
5
5
  },
@@ -34,6 +34,9 @@ export default ({ screens }) => createStyles({
34
34
  marginLeft: '0.5rem',
35
35
  },
36
36
  },
37
+ invert: {
38
+ color: palette.text.primary,
39
+ },
37
40
  paper: {
38
41
  [screens('xs', 'sm', 'md')]: {
39
42
  top: '2.5em !important',
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/PageTopBarMenu/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,MAAM,EAAE;QACN,QAAQ,EAAE,QAAQ;KACnB;IACD,gBAAgB,EAAE;QAChB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC3B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,CAAC;YACT,eAAe,EAAE,OAAO;YACxB,QAAQ,EAAE,UAAU;SACrB;KACF;IACD,OAAO,EAAE;QACP,SAAS,EAAE,4CAA4C;QACvD,KAAK,EAAE,MAAM;QACb,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YACrB,KAAK,EAAE,OAAO;SACf;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,OAAO;KACjB;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,UAAU;KACzB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QAEd,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC3B,UAAU,EAAE,QAAQ;SACrB;KACF;IACD,KAAK,EAAE;QACL,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC3B,GAAG,EAAE,kBAAkB;SACxB;KACF;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/PageTopBarMenu/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAS,EAAE,EAAE,CAC7C,YAAY,CAAC;IACX,MAAM,EAAE;QACN,QAAQ,EAAE,QAAQ;KACnB;IACD,gBAAgB,EAAE;QAChB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC3B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,CAAC;YACT,eAAe,EAAE,OAAO;YACxB,QAAQ,EAAE,UAAU;SACrB;KACF;IACD,OAAO,EAAE;QACP,SAAS,EAAE,4CAA4C;QACvD,KAAK,EAAE,MAAM;QACb,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YACrB,KAAK,EAAE,OAAO;SACf;KACF;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,OAAO;KACjB;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,QAAQ;QACpB,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE,UAAU;KACzB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,OAAO;QAEd,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC3B,UAAU,EAAE,QAAQ;SACrB;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;KAC5B;IACD,KAAK,EAAE;QACL,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;YAC3B,GAAG,EAAE,kBAAkB;SACxB;KACF;CACF,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso-page",
3
- "version": "2.0.22",
3
+ "version": "2.1.0",
4
4
  "description": "Toptal UI components library - Page",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -22,22 +22,22 @@
22
22
  },
23
23
  "homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
24
24
  "dependencies": {
25
- "@toptal/picasso-accordion": "1.0.22",
26
- "@toptal/picasso-autocomplete": "1.0.27",
27
- "@toptal/picasso-avatar": "2.0.6",
25
+ "@toptal/picasso-accordion": "1.0.23",
26
+ "@toptal/picasso-autocomplete": "1.0.29",
27
+ "@toptal/picasso-avatar": "3.0.0",
28
28
  "@toptal/picasso-badge": "1.0.3",
29
- "@toptal/picasso-button": "2.0.8",
29
+ "@toptal/picasso-button": "2.1.0",
30
30
  "@toptal/picasso-container": "1.0.3",
31
31
  "@toptal/picasso-dropdown": "2.0.3",
32
32
  "@toptal/picasso-icons": "1.4.0",
33
33
  "@toptal/picasso-logo": "1.0.7",
34
- "@toptal/picasso-menu": "1.0.15",
35
- "@toptal/picasso-notification": "2.0.14",
34
+ "@toptal/picasso-menu": "1.0.16",
35
+ "@toptal/picasso-notification": "2.0.15",
36
36
  "@toptal/picasso-shared": "15.0.0",
37
37
  "@toptal/picasso-tag": "2.0.5",
38
38
  "@toptal/picasso-tooltip": "1.1.3",
39
39
  "@toptal/picasso-typography": "2.0.2",
40
- "@toptal/picasso-user-badge": "2.0.6",
40
+ "@toptal/picasso-user-badge": "2.0.7",
41
41
  "@toptal/picasso-utils": "1.0.3",
42
42
  "classnames": "^2.5.1",
43
43
  "tailwind-merge": "^2.2.2"
@@ -48,6 +48,10 @@ export interface Props extends BaseProps, HTMLAttributes<HTMLElement> {
48
48
  }
49
49
  }
50
50
 
51
+ export const PageTopBarContext = React.createContext<{ variant: VariantType }>({
52
+ variant: 'dark',
53
+ })
54
+
51
55
  const useStyles = makeStyles<Theme>(styles, {
52
56
  name: 'PicassoTopBar',
53
57
  })
@@ -125,58 +129,67 @@ export const PageTopBar = forwardRef<HTMLElement, Props>(function PageTopBar(
125
129
  )
126
130
 
127
131
  return (
128
- <div className={classes.wrapper}>
129
- <header
130
- {...rest}
131
- ref={ref}
132
- className={cx('mui-fixed', classes.root, classes[variant], className, {
133
- [classes.preventPageWidthChangeOnScrollbar]:
134
- preventPageWidthChangeOnScrollbar,
135
- })}
136
- style={style}
137
- >
138
- <div className={innerClassName}>
139
- {/* Left part: Hamburger, Logo, Tagline, Search bar */}
140
- <div className={classes.left}>
141
- <Container flex alignItems='center' gap='small'>
142
- <PageHamburger
143
- id={hamburgerId}
144
- data-testid={testIds?.hamburger}
145
- />
146
- {logoLink
147
- ? React.cloneElement(logoLink, {}, logoComponent)
148
- : logoComponent}
149
- {titleComponent}
150
- </Container>
151
- {leftContent}
152
- </div>
153
-
154
- {/* Center part: inline menu */}
155
- {centerContent && (
156
- <>
157
- <PageHamburgerPortal>
158
- <div className={classes.centerContentPortal}>
159
- {centerContent}
160
- </div>
161
- </PageHamburgerPortal>
162
- <Container
163
- flex
164
- alignItems='center'
165
- className={classes.centerContent}
166
- >
167
- {centerContent}
168
- </Container>
169
- </>
132
+ <PageTopBarContext.Provider value={{ variant }}>
133
+ <div className={classes.wrapper}>
134
+ <header
135
+ {...rest}
136
+ ref={ref}
137
+ className={cx(
138
+ 'mui-fixed',
139
+ classes.root,
140
+ classes[variant],
141
+ className,
142
+ {
143
+ [classes.preventPageWidthChangeOnScrollbar]:
144
+ preventPageWidthChangeOnScrollbar,
145
+ }
170
146
  )}
147
+ style={style}
148
+ >
149
+ <div className={innerClassName}>
150
+ {/* Left part: Hamburger, Logo, Tagline, Search bar */}
151
+ <div className={classes.left}>
152
+ <Container flex alignItems='center' gap='small'>
153
+ <PageHamburger
154
+ id={hamburgerId}
155
+ data-testid={testIds?.hamburger}
156
+ />
157
+ {logoLink
158
+ ? React.cloneElement(logoLink, {}, logoComponent)
159
+ : logoComponent}
160
+ {titleComponent}
161
+ </Container>
162
+ {leftContent}
163
+ </div>
164
+
165
+ {/* Center part: inline menu */}
166
+ {centerContent && (
167
+ <>
168
+ <PageHamburgerPortal>
169
+ <div className={classes.centerContentPortal}>
170
+ {centerContent}
171
+ </div>
172
+ </PageHamburgerPortal>
173
+ <Container
174
+ flex
175
+ alignItems='center'
176
+ className={classes.centerContent}
177
+ >
178
+ {centerContent}
179
+ </Container>
180
+ </>
181
+ )}
182
+
183
+ {/* Right part: Action items, User menu, Notifications */}
171
184
 
172
- {/* Right part: Action items, User menu, Notifications */}
173
- <div className={classes.right}>
174
- {actionItems}
175
- {rightContent}
185
+ <div className={classes.right}>
186
+ {actionItems}
187
+ {rightContent}
188
+ </div>
176
189
  </div>
177
- </div>
178
- </header>
179
- </div>
190
+ </header>
191
+ </div>
192
+ </PageTopBarContext.Provider>
180
193
  )
181
194
  })
182
195
 
@@ -3,5 +3,6 @@ import type { OmitInternalProps } from '@toptal/picasso-shared'
3
3
  import type { Props } from './PageTopBar'
4
4
 
5
5
  export { default as PageTopBar } from './PageTopBar'
6
+ export { PageTopBarContext } from './PageTopBar'
6
7
  export type PageTopBarProps = OmitInternalProps<Props>
7
8
  export * from './constants'
@@ -49,6 +49,32 @@ const Example = () => (
49
49
  }
50
50
  />
51
51
  </Container>
52
+
53
+ <Container style={{ position: 'relative', height: '6rem' }}>
54
+ <Page hamburgerId='hamburger-default-example'>
55
+ <Page.TopBar
56
+ variant='light'
57
+ title='Light with menu'
58
+ actionItems={
59
+ <Container right={SPACING_6}>
60
+ <Button variant='primary'>Create job</Button>
61
+ </Container>
62
+ }
63
+ rightContent={
64
+ <Page.TopBarMenu
65
+ name='Jacqueline Roque'
66
+ meta='Developer'
67
+ avatar='./jacqueline-with-flowers-1954-square.jpg'
68
+ >
69
+ <Menu>
70
+ <Menu.Item>My Account</Menu.Item>
71
+ <Menu.Item>Log Out</Menu.Item>
72
+ </Menu>
73
+ </Page.TopBarMenu>
74
+ }
75
+ />
76
+ </Page>
77
+ </Container>
52
78
  </div>
53
79
  )
54
80
 
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable complexity */
2
2
  import type { ReactNode, HTMLAttributes } from 'react'
3
- import React, { forwardRef } from 'react'
3
+ import React, { useContext, forwardRef } from 'react'
4
4
  import cx from 'classnames'
5
5
  import type { Theme } from '@material-ui/core/styles'
6
6
  import { makeStyles } from '@material-ui/core/styles'
@@ -12,6 +12,7 @@ import { Typography } from '@toptal/picasso-typography'
12
12
  import { DropdownCompound as Dropdown } from '@toptal/picasso-dropdown'
13
13
 
14
14
  import styles from './styles'
15
+ import { PageTopBarContext } from '../PageTopBar'
15
16
 
16
17
  const useStyles = makeStyles<Theme>(styles, {
17
18
  name: 'PicassoTopBarMenu',
@@ -42,13 +43,16 @@ export const PageTopBarMenu = forwardRef<HTMLDivElement, Props>(
42
43
  } = props
43
44
  const classes = useStyles()
44
45
 
46
+ const { variant } = useContext(PageTopBarContext)
47
+ const invert = variant === 'light'
48
+
45
49
  const isCompactLayout = useBreakpoint(['xs', 'sm', 'md'])
46
50
 
47
51
  const metaContent =
48
52
  typeof meta === 'string' ? (
49
53
  <Typography
50
54
  className={classes.truncateText}
51
- invert={!isCompactLayout}
55
+ invert={!isCompactLayout && !invert}
52
56
  size='xsmall'
53
57
  data-private={dataPrivate}
54
58
  >
@@ -89,7 +93,7 @@ export const PageTopBarMenu = forwardRef<HTMLDivElement, Props>(
89
93
  />
90
94
  ) : (
91
95
  <UserBadge
92
- invert
96
+ invert={!invert}
93
97
  center
94
98
  size='xxsmall'
95
99
  classes={{
@@ -122,7 +126,9 @@ export const PageTopBarMenu = forwardRef<HTMLDivElement, Props>(
122
126
  }}
123
127
  >
124
128
  {trigger}
125
- <Dropdown.Arrow className={classes.arrow} />
129
+ <Dropdown.Arrow
130
+ className={cx(classes.arrow, { [classes.invert]: invert })}
131
+ />
126
132
  </Dropdown>
127
133
  )
128
134
  }
@@ -15,11 +15,11 @@ exports[`PageTopBarMenu renders 1`] = `
15
15
  class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoUserBadge-root"
16
16
  >
17
17
  <div
18
- class="PicassoAvatarWrapper-root PicassoAvatarWrapper-sizeXxsmallSquare PicassoAvatarWrapper-cornerXxsmall"
18
+ class="relative bg-gray text-[1rem] shrink-0 grow-0 w-[2em] h-[2em] [clip-path:polygon(0_0,_100%_0,_100%_100%,_0.5em_100%,_0_calc(100%-0.5em))]"
19
19
  >
20
20
  <img
21
21
  alt="Jacqueline Roque"
22
- class="PicassoImage-root PicassoImageAvatar-image PicassoUserBadge-avatar"
22
+ class="PicassoImage-root object-cover w-full h-full absolute left-0 top-0 [image-rendering:-webkit-optimize PicassoUserBadge-avatar"
23
23
  src="./jacqueline-with-flowers-1954-square.jpg"
24
24
  />
25
25
  </div>
@@ -1,7 +1,7 @@
1
1
  import type { Theme } from '@material-ui/core/styles'
2
2
  import { createStyles } from '@material-ui/core/styles'
3
3
 
4
- export default ({ screens }: Theme) =>
4
+ export default ({ screens, palette }: Theme) =>
5
5
  createStyles({
6
6
  avatar: {
7
7
  fontSize: '0.9rem',
@@ -38,6 +38,9 @@ export default ({ screens }: Theme) =>
38
38
  marginLeft: '0.5rem',
39
39
  },
40
40
  },
41
+ invert: {
42
+ color: palette.text.primary,
43
+ },
41
44
  paper: {
42
45
  [screens('xs', 'sm', 'md')]: {
43
46
  top: '2.5em !important',