@toptal/picasso 28.10.2-alpha-fix-root-container-order-e4aa2912.0 → 28.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/Page/Page.d.ts +1 -0
  2. package/Page/Page.js +4 -2
  3. package/Page/Page.js.map +1 -1
  4. package/PageCompound/index.d.ts +4 -1
  5. package/PageCompound/index.js +1 -1
  6. package/PageCompound/index.js.map +1 -1
  7. package/PageHamburger/PageHamburger.d.ts +5 -0
  8. package/PageHamburger/PageHamburger.js +33 -0
  9. package/PageHamburger/PageHamburger.js.map +1 -0
  10. package/PageHamburger/PageHamburgerContext.d.ts +13 -0
  11. package/PageHamburger/PageHamburgerContext.js +17 -0
  12. package/PageHamburger/PageHamburgerContext.js.map +1 -0
  13. package/PageHamburger/PageHamburgerPortal.d.ts +6 -0
  14. package/PageHamburger/PageHamburgerPortal.js +11 -0
  15. package/PageHamburger/PageHamburgerPortal.js.map +1 -0
  16. package/PageHamburger/hooks/use-portal-to-hamburger.d.ts +8 -0
  17. package/PageHamburger/hooks/use-portal-to-hamburger.js +16 -0
  18. package/PageHamburger/hooks/use-portal-to-hamburger.js.map +1 -0
  19. package/PageHamburger/index.d.ts +4 -0
  20. package/PageHamburger/index.js +5 -0
  21. package/PageHamburger/index.js.map +1 -0
  22. package/PageHamburger/styles.d.ts +3 -0
  23. package/PageHamburger/styles.js +35 -0
  24. package/PageHamburger/styles.js.map +1 -0
  25. package/PageSidebar/PageSidebar.d.ts +1 -4
  26. package/PageSidebar/PageSidebar.js +4 -18
  27. package/PageSidebar/PageSidebar.js.map +1 -1
  28. package/PageSidebar/styles.d.ts +1 -1
  29. package/PageSidebar/styles.js +1 -21
  30. package/PageSidebar/styles.js.map +1 -1
  31. package/PageTopBar/PageTopBar.d.ts +3 -1
  32. package/PageTopBar/PageTopBar.js +8 -3
  33. package/PageTopBar/PageTopBar.js.map +1 -1
  34. package/PageTopBar/styles.d.ts +1 -1
  35. package/PageTopBar/styles.js +3 -0
  36. package/PageTopBar/styles.js.map +1 -1
  37. package/PageTopBarCompound/index.d.ts +4 -0
  38. package/PageTopBarCompound/index.js +8 -0
  39. package/PageTopBarCompound/index.js.map +1 -0
  40. package/TopBarItem/TopBarItem.d.ts +17 -0
  41. package/TopBarItem/TopBarItem.js +37 -0
  42. package/TopBarItem/TopBarItem.js.map +1 -0
  43. package/TopBarItem/index.d.ts +1 -0
  44. package/TopBarItem/index.js +2 -0
  45. package/TopBarItem/index.js.map +1 -0
  46. package/TopBarItem/styles.d.ts +3 -0
  47. package/TopBarItem/styles.js +32 -0
  48. package/TopBarItem/styles.js.map +1 -0
  49. package/TopBarMenu/TopBarMenu.d.ts +8 -0
  50. package/TopBarMenu/TopBarMenu.js +28 -0
  51. package/TopBarMenu/TopBarMenu.js.map +1 -0
  52. package/TopBarMenu/index.d.ts +2 -0
  53. package/TopBarMenu/index.js +2 -0
  54. package/TopBarMenu/index.js.map +1 -0
  55. package/TopBarMenu/styles.d.ts +3 -0
  56. package/TopBarMenu/styles.js +10 -0
  57. package/TopBarMenu/styles.js.map +1 -0
  58. package/package.json +4 -5
package/Page/Page.d.ts CHANGED
@@ -10,6 +10,7 @@ export interface Props extends BaseProps, HTMLAttributes<HTMLDivElement> {
10
10
  centered?: boolean;
11
11
  /** Children components (`Page.TopBar`, `Page.Content`, `Page.Footer`) */
12
12
  children: ReactNode;
13
+ hamburgerId?: string;
13
14
  }
14
15
  export declare const PageContext: React.Context<PageContextProps>;
15
16
  export declare const Page: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
package/Page/Page.js CHANGED
@@ -12,6 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import React, { forwardRef } from 'react';
13
13
  import { makeStyles } from '@material-ui/core/styles';
14
14
  import cx from 'classnames';
15
+ import { PageHamburgerContextProvider } from '../PageHamburger';
15
16
  import styles from './styles';
16
17
  export const PageContext = React.createContext({});
17
18
  const useStyles = makeStyles(styles, {
@@ -19,10 +20,11 @@ const useStyles = makeStyles(styles, {
19
20
  });
20
21
  // eslint-disable-next-line react/display-name
21
22
  export const Page = forwardRef(function Page(props, ref) {
22
- const { children, className, style, width, fullWidth } = props, rest = __rest(props, ["children", "className", "style", "width", "fullWidth"]);
23
+ const { children, className, hamburgerId = 'hamburger', style, width, fullWidth } = props, rest = __rest(props, ["children", "className", "hamburgerId", "style", "width", "fullWidth"]);
23
24
  const classes = useStyles();
24
25
  return (React.createElement("div", Object.assign({}, rest, { ref: ref, className: cx(classes.root, className), style: style }),
25
- React.createElement(PageContext.Provider, { value: { width, fullWidth } }, children)));
26
+ React.createElement(PageContext.Provider, { value: { width, fullWidth } },
27
+ React.createElement(PageHamburgerContextProvider, { hamburgerId: hamburgerId }, children))));
26
28
  });
27
29
  Page.displayName = 'Page';
28
30
  export default Page;
package/Page/Page.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../src/Page/Page.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAA6B,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAI3B,OAAO,MAAM,MAAM,UAAU,CAAA;AAa7B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB,EAAE,CAAC,CAAA;AAEpE,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,MAAM;CACb,CAAC,CAAA;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAwB,SAAS,IAAI,CACjE,KAAK,EACL,GAAG;IAEH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAAjE,wDAAyD,CAAQ,CAAA;IACvE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,KAAK;QAEZ,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAC9C,QAAQ,CACY,CACnB,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;AAEzB,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Page.js","sourceRoot":"","sources":["../../src/Page/Page.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAA6B,MAAM,OAAO,CAAA;AACpE,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,MAAM,MAAM,UAAU,CAAA;AAc7B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB,EAAE,CAAC,CAAA;AAEpE,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,MAAM;CACb,CAAC,CAAA;AAEF,8CAA8C;AAC9C,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAwB,SAAS,IAAI,CACjE,KAAK,EACL,GAAG;IAEH,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,WAAW,GAAG,WAAW,EACzB,KAAK,EACL,KAAK,EACL,SAAS,KAEP,KAAK,EADJ,IAAI,UACL,KAAK,EARH,uEAQL,CAAQ,CAAA;IACT,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,OAAO,CACL,6CACM,IAAI,IACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,KAAK;QAEZ,oBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/C,oBAAC,4BAA4B,IAAC,WAAW,EAAE,WAAW,IACnD,QAAQ,CACoB,CACV,CACnB,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;AAEzB,eAAe,IAAI,CAAA"}
@@ -1,5 +1,8 @@
1
1
  export declare const PageCompound: import("react").ForwardRefExoticComponent<import("../Page/Page").Props & import("react").RefAttributes<HTMLDivElement>> & {
2
- TopBar: import("react").ForwardRefExoticComponent<import("../PageTopBar/PageTopBar").Props & import("react").RefAttributes<HTMLElement>>;
2
+ TopBar: import("react").ForwardRefExoticComponent<import("../PageTopBar/PageTopBar").Props & import("react").RefAttributes<HTMLElement>> & {
3
+ Menu: import("react").ForwardRefExoticComponent<import("../TopBarMenu").TopBarMenuProps & import("react").RefAttributes<HTMLUListElement>>;
4
+ Item: import("@toptal/picasso-shared/src").OverridableComponent<import("../TopBarItem/TopBarItem").Props>;
5
+ };
3
6
  TopBarMenu: import("react").ForwardRefExoticComponent<import("../PageTopBarMenu/PageTopBarMenu").Props & import("react").RefAttributes<HTMLDivElement>>;
4
7
  Content: import("react").ForwardRefExoticComponent<import("../PageContent/PageContent").Props & import("react").RefAttributes<HTMLDivElement>>;
5
8
  Footer: import("react").ForwardRefExoticComponent<import("../PageFooter/PageFooter").Props & import("react").RefAttributes<HTMLElement>>;
@@ -1,6 +1,6 @@
1
1
  import Page from '../Page';
2
2
  import PageHelmet from '../PageHelmet';
3
- import PageTopBar from '../PageTopBar';
3
+ import { PageTopBarCompound as PageTopBar } from '../PageTopBarCompound';
4
4
  import PageTopBarMenu from '../PageTopBarMenu';
5
5
  import PageFooter from '../PageFooter';
6
6
  import PageContent from '../PageContent';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/PageCompound/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;IAC9C,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,YAAY,EAAE,gBAAgB;IAC9B,OAAO,EAAE,WAAW;CACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/PageCompound/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,kBAAkB,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACxE,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;IAC9C,MAAM,EAAE,UAAU;IAClB,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,YAAY,EAAE,gBAAgB;IAC9B,OAAO,EAAE,WAAW;CACrB,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ interface Props {
2
+ id: string;
3
+ }
4
+ declare const PageHamburger: ({ id }: Props) => JSX.Element;
5
+ export default PageHamburger;
@@ -0,0 +1,33 @@
1
+ import React, { useState } from 'react';
2
+ import { makeStyles } from '@material-ui/core/styles';
3
+ import cx from 'classnames';
4
+ import ButtonCircular from '../ButtonCircular';
5
+ import { useHamburgerContext } from './PageHamburgerContext';
6
+ import Dropdown from '../Dropdown';
7
+ import { Close16, Overview16 } from '../Icon';
8
+ import { useBreakpoint } from '../utils';
9
+ import styles from './styles';
10
+ const useStyles = makeStyles(styles, {
11
+ name: 'PageHamburger',
12
+ });
13
+ const PageHamburger = ({ id }) => {
14
+ const { isHamburgerVisible } = useHamburgerContext();
15
+ const [showContent, setShowContent] = useState(false);
16
+ const classes = useStyles();
17
+ const isCompactLayout = useBreakpoint(['small', 'medium']);
18
+ const handleShowContent = () => setShowContent(true);
19
+ const handleHideContent = () => setShowContent(false);
20
+ return (React.createElement(Dropdown, { content: React.createElement("div", { id: id }), className: cx(classes.responsiveWrapper, {
21
+ [classes.hidden]: !isCompactLayout || !isHamburgerVisible,
22
+ }), classes: { content: classes.responsiveWrapperContent }, offset: { top: 0.4 }, popperOptions: {
23
+ modifiers: {
24
+ flip: { enabled: false },
25
+ preventOverflow: {
26
+ padding: 0,
27
+ },
28
+ },
29
+ }, onOpen: handleShowContent, onClose: handleHideContent, keepMounted: true },
30
+ React.createElement(ButtonCircular, { icon: showContent ? (React.createElement(Close16, null)) : (React.createElement(Overview16, { className: classes.hamburger })), variant: 'transparent' })));
31
+ };
32
+ export default PageHamburger;
33
+ //# sourceMappingURL=PageHamburger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHamburger.js","sourceRoot":"","sources":["../../src/PageHamburger/PageHamburger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,cAAc,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,MAAM,MAAM,UAAU,CAAA;AAM7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE;IAC1C,IAAI,EAAE,eAAe;CACtB,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,EAAS,EAAE,EAAE;IACtC,MAAM,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,EAAE,CAAA;IACpD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAC9D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1D,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACpD,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAErD,OAAO,CACL,oBAAC,QAAQ,IACP,OAAO,EAAE,6BAAK,EAAE,EAAE,EAAE,GAAI,EACxB,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACvC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,IAAI,CAAC,kBAAkB;SAC1D,CAAC,EACF,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,wBAAwB,EAAE,EACtD,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EACpB,aAAa,EAAE;YACb,SAAS,EAAE;gBACT,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;gBACxB,eAAe,EAAE;oBACf,OAAO,EAAE,CAAC;iBACX;aACF;SACF,EACD,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,iBAAiB,EAC1B,WAAW;QAEX,oBAAC,cAAc,IACb,IAAI,EACF,WAAW,CAAC,CAAC,CAAC,CACZ,oBAAC,OAAO,OAAG,CACZ,CAAC,CAAC,CAAC,CACF,oBAAC,UAAU,IAAC,SAAS,EAAE,OAAO,CAAC,SAAS,GAAI,CAC7C,EAEH,OAAO,EAAC,aAAa,GACrB,CACO,CACZ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export interface HamburgerContextProps {
3
+ hamburgerId: string;
4
+ isHamburgerVisible: boolean;
5
+ setIsHamburgerVisible: (showHamburger: boolean) => void;
6
+ }
7
+ interface Props {
8
+ children: ReactNode;
9
+ hamburgerId: string;
10
+ }
11
+ export declare const PageHamburgerContextProvider: ({ children, hamburgerId, }: Props) => JSX.Element;
12
+ export declare const useHamburgerContext: () => HamburgerContextProps;
13
+ export {};
@@ -0,0 +1,17 @@
1
+ import React, { createContext, useContext, useState } from 'react';
2
+ const PageHamburgerContext = createContext({
3
+ hamburgerId: 'hamburger',
4
+ isHamburgerVisible: false,
5
+ setIsHamburgerVisible: () => { },
6
+ });
7
+ export const PageHamburgerContextProvider = ({ children, hamburgerId, }) => {
8
+ const [isHamburgerVisible, setIsHamburgerVisible] = useState(false);
9
+ const context = {
10
+ hamburgerId,
11
+ isHamburgerVisible,
12
+ setIsHamburgerVisible,
13
+ };
14
+ return (React.createElement(PageHamburgerContext.Provider, { value: context }, children));
15
+ };
16
+ export const useHamburgerContext = () => useContext(PageHamburgerContext);
17
+ //# sourceMappingURL=PageHamburgerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHamburgerContext.js","sourceRoot":"","sources":["../../src/PageHamburger/PageHamburgerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAa,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAQ7E,MAAM,oBAAoB,GAAG,aAAa,CAAwB;IAChE,WAAW,EAAE,WAAW;IACxB,kBAAkB,EAAE,KAAK;IACzB,qBAAqB,EAAE,GAAG,EAAE,GAAE,CAAC;CAChC,CAAC,CAAA;AAOF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,QAAQ,EACR,WAAW,GACL,EAAE,EAAE;IACV,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAE5E,MAAM,OAAO,GAAG;QACd,WAAW;QACX,kBAAkB;QAClB,qBAAqB;KACtB,CAAA;IAED,OAAO,CACL,oBAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IAC1C,QAAQ,CACqB,CACjC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE,CACtC,UAAU,CAAwB,oBAAoB,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ children: React.ReactNode;
4
+ }
5
+ declare const PageHamburgerPortal: ({ children }: Props) => JSX.Element;
6
+ export default PageHamburgerPortal;
@@ -0,0 +1,11 @@
1
+ import React, { useCallback } from 'react';
2
+ import Portal from '@material-ui/core/Portal';
3
+ import { getElementById } from '@toptal/picasso-shared';
4
+ import { useHamburgerContext } from './PageHamburgerContext';
5
+ const PageHamburgerPortal = ({ children }) => {
6
+ const { hamburgerId } = useHamburgerContext();
7
+ const container = useCallback(() => getElementById(hamburgerId), [hamburgerId]);
8
+ return React.createElement(Portal, { container: container }, children);
9
+ };
10
+ export default PageHamburgerPortal;
11
+ //# sourceMappingURL=PageHamburgerPortal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHamburgerPortal.js","sourceRoot":"","sources":["../../src/PageHamburger/PageHamburgerPortal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,MAAM,MAAM,0BAA0B,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAM5D,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IAClD,MAAM,EAAE,WAAW,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAE7C,MAAM,SAAS,GAAG,WAAW,CAC3B,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,EACjC,CAAC,WAAW,CAAC,CACd,CAAA;IAED,OAAO,oBAAC,MAAM,IAAC,SAAS,EAAE,SAAS,IAAG,QAAQ,CAAU,CAAA;AAC1D,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This hook is for components whose content should be rendered inside
3
+ * hamburger menu.
4
+ * Should be used in conjunction with PageHamburgerPortal component.
5
+ * It sets hamburger menu to be visible in compact screens.
6
+ */
7
+ declare const usePortalToHamburger: () => void;
8
+ export default usePortalToHamburger;
@@ -0,0 +1,16 @@
1
+ import { useEffect } from 'react';
2
+ import { useHamburgerContext } from '../PageHamburgerContext';
3
+ /**
4
+ * This hook is for components whose content should be rendered inside
5
+ * hamburger menu.
6
+ * Should be used in conjunction with PageHamburgerPortal component.
7
+ * It sets hamburger menu to be visible in compact screens.
8
+ */
9
+ const usePortalToHamburger = () => {
10
+ const { setIsHamburgerVisible } = useHamburgerContext();
11
+ useEffect(() => {
12
+ setIsHamburgerVisible(true);
13
+ }, []);
14
+ };
15
+ export default usePortalToHamburger;
16
+ //# sourceMappingURL=use-portal-to-hamburger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-portal-to-hamburger.js","sourceRoot":"","sources":["../../../src/PageHamburger/hooks/use-portal-to-hamburger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,qBAAqB,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,qBAAqB,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAED,eAAe,oBAAoB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { default } from './PageHamburger';
2
+ export { default as PageHamburgerPortal } from './PageHamburgerPortal';
3
+ export { useHamburgerContext, PageHamburgerContextProvider, } from './PageHamburgerContext';
4
+ export { default as usePortalToHamburger } from './hooks/use-portal-to-hamburger';
@@ -0,0 +1,5 @@
1
+ export { default } from './PageHamburger';
2
+ export { default as PageHamburgerPortal } from './PageHamburgerPortal';
3
+ export { useHamburgerContext, PageHamburgerContextProvider, } from './PageHamburgerContext';
4
+ export { default as usePortalToHamburger } from './hooks/use-portal-to-hamburger';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/PageHamburger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iCAAiC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ palette, screens, zIndex }: Theme) => import("@material-ui/styles").StyleRules<{}, "hidden" | "hamburger" | "responsiveWrapper" | "responsiveWrapperContent">;
3
+ export default _default;
@@ -0,0 +1,35 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ export default ({ palette, screens, zIndex }) => {
3
+ const wrapperBoxShadow = `inset -1px 0px 0px 0px ${palette.grey.lighter2}`;
4
+ return createStyles({
5
+ hamburger: {
6
+ pointerEvents: 'none',
7
+ },
8
+ hidden: {
9
+ display: 'none',
10
+ },
11
+ responsiveWrapper: {
12
+ position: 'fixed',
13
+ top: '0.75rem',
14
+ left: '0.75rem',
15
+ zIndex: zIndex.appBar,
16
+ },
17
+ responsiveWrapperContent: {
18
+ backgroundColor: palette.grey.lighter,
19
+ boxShadow: wrapperBoxShadow,
20
+ maxHeight: 'calc(100vh - 4.5rem)',
21
+ [screens('small', 'medium')]: {
22
+ maxHeight: 'calc(100vh - 3rem)', // viewport minus header height
23
+ },
24
+ // height under which maxHeight menu starts to overflow
25
+ // and needs to reduce height dynamically to avoid overflow
26
+ '@media screen and (max-height: 585px)': {
27
+ maxHeight: 'calc(100vh - 4.5rem)',
28
+ [screens('small', 'medium')]: {
29
+ maxHeight: 'calc(100vh - 3rem)', // viewport minus header height
30
+ },
31
+ },
32
+ },
33
+ });
34
+ };
35
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/PageHamburger/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAS,EAAE,EAAE;IACrD,MAAM,gBAAgB,GAAG,0BAA0B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAA;IAE1E,OAAO,YAAY,CAAC;QAClB,SAAS,EAAE;YACT,aAAa,EAAE,MAAM;SACtB;QACD,MAAM,EAAE;YACN,OAAO,EAAE,MAAM;SAChB;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB;QACD,wBAAwB,EAAE;YACxB,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YACrC,SAAS,EAAE,gBAAgB;YAC3B,SAAS,EAAE,sBAAsB;YAEjC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;gBAC5B,SAAS,EAAE,oBAAoB,EAAE,+BAA+B;aACjE;YAED,uDAAuD;YACvD,2DAA2D;YAC3D,uCAAuC,EAAE;gBACvC,SAAS,EAAE,sBAAsB;gBAEjC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;oBAC5B,SAAS,EAAE,oBAAoB,EAAE,+BAA+B;iBACjE;aACF;SACF;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,9 +1,6 @@
1
- import { BaseProps, StandardProps } from '@toptal/picasso-shared';
1
+ import { BaseProps } from '@toptal/picasso-shared';
2
2
  import React, { ReactNode } from 'react';
3
3
  import { VariantType } from './types';
4
- export interface SmallScreenSidebarWrapperProps extends StandardProps {
5
- children?: ReactNode;
6
- }
7
4
  export interface Props extends BaseProps {
8
5
  /** Style variant of Sidebar and subcomponents */
9
6
  variant?: VariantType;
@@ -4,29 +4,14 @@ import cx from 'classnames';
4
4
  import React, { forwardRef, useCallback, useEffect, useState, } from 'react';
5
5
  import ButtonCircular from '../ButtonCircular';
6
6
  import Container from '../Container';
7
- import Dropdown from '../Dropdown';
8
- import { BackMinor16, ChevronRight16, Close16, Overview16 } from '../Icon';
7
+ import { BackMinor16, ChevronRight16 } from '../Icon';
8
+ import { PageHamburgerPortal, usePortalToHamburger } from '../PageHamburger';
9
9
  import SidebarItem from '../SidebarItem';
10
10
  import SidebarLogo from '../SidebarLogo';
11
11
  import SidebarMenu from '../SidebarMenu';
12
12
  import { noop, useBreakpoint } from '../utils';
13
13
  import { SidebarContextProvider } from './SidebarContextProvider';
14
14
  import styles from './styles';
15
- const SmallScreenSidebarWrapper = ({ classes, children, }) => {
16
- var _a;
17
- const [showSidebar, setShowSidebar] = useState(false);
18
- const handleShowSidebar = () => setShowSidebar(true);
19
- const handleHideSidebar = () => setShowSidebar(false);
20
- return (React.createElement(Dropdown, { content: children, className: classes === null || classes === void 0 ? void 0 : classes.responsiveWrapper, classes: { content: (_a = classes === null || classes === void 0 ? void 0 : classes.responsiveWrapperContent) !== null && _a !== void 0 ? _a : '' }, offset: { top: 0.4 }, popperOptions: {
21
- modifiers: {
22
- flip: { enabled: false },
23
- preventOverflow: {
24
- padding: 0,
25
- },
26
- },
27
- }, onOpen: handleShowSidebar, onClose: handleHideSidebar },
28
- React.createElement(ButtonCircular, { icon: showSidebar ? React.createElement(Close16, null) : React.createElement(Overview16, null), variant: 'transparent' })));
29
- };
30
15
  const useStyles = makeStyles(styles, {
31
16
  name: 'PageSidebar',
32
17
  });
@@ -49,6 +34,7 @@ export const PageSidebar = forwardRef(function Sidebar(props, ref) {
49
34
  setHasSidebar(false);
50
35
  };
51
36
  }, [setHasSidebar]);
37
+ usePortalToHamburger();
52
38
  const isCompactLayout = useBreakpoint(['small', 'medium']);
53
39
  const handleCollapseButtonClick = useCallback(() => {
54
40
  setIsCollapsed(previousState => !previousState);
@@ -61,7 +47,7 @@ export const PageSidebar = forwardRef(function Sidebar(props, ref) {
61
47
  [classes.buttonVisible]: isHovered,
62
48
  }), onClick: handleCollapseButtonClick, icon: isCollapsed ? React.createElement(ChevronRight16, null) : React.createElement(BackMinor16, null), "aria-label": 'collapse sidebar', variant: 'primary', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.collapseButton })),
63
49
  React.createElement(SidebarContextProvider, { isCollapsed: isCollapsed, isHovered: isHovered, variant: variant, expandedItemKey: expandedItemKey, setExpandedItemKey: setExpandedItemKey }, children)));
64
- return isCompactLayout ? (React.createElement(SmallScreenSidebarWrapper, { classes: classes }, sidebar)) : (sidebar);
50
+ return isCompactLayout ? (React.createElement(PageHamburgerPortal, null, children)) : (sidebar);
65
51
  });
66
52
  PageSidebar.defaultProps = {
67
53
  variant: 'light',
@@ -1 +1 @@
1
- {"version":3,"file":"PageSidebar.js","sourceRoot":"","sources":["../../src/PageSidebar/PageSidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PageSidebar.js","sourceRoot":"","sources":["../../src/PageSidebar/PageSidebar.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { Theme } from '@material-ui/core/styles';
2
- declare const _default: ({ palette, screens, zIndex, transitions }: Theme) => import("@material-ui/styles").StyleRules<{}, "dark" | "light" | "root" | "spacer" | "responsiveWrapper" | "responsiveWrapperContent" | "collapseButton" | "buttonVisible" | "rootCollapsed">;
2
+ declare const _default: ({ palette, screens, transitions }: Theme) => import("@material-ui/styles").StyleRules<{}, "dark" | "light" | "root" | "spacer" | "collapseButton" | "buttonVisible" | "rootCollapsed">;
3
3
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { createStyles } from '@material-ui/core/styles';
2
2
  // decided to use a custom shadow for the sidebar's collapse button
3
3
  const COLLAPSE_BUTTON_SHADOW = '0 0 0 1px rgba(0, 0, 0, 0.04), 0 0 8px 0 rgba(0, 0, 0, 0.16)';
4
- export default ({ palette, screens, zIndex, transitions }) => createStyles({
4
+ export default ({ palette, screens, transitions }) => createStyles({
5
5
  root: {
6
6
  height: '100%',
7
7
  width: '14.75rem',
@@ -23,26 +23,6 @@ export default ({ palette, screens, zIndex, transitions }) => createStyles({
23
23
  height: '100%',
24
24
  },
25
25
  },
26
- responsiveWrapper: {
27
- position: 'fixed',
28
- top: '0.75em',
29
- left: '0.75em',
30
- zIndex: zIndex.appBar,
31
- },
32
- responsiveWrapperContent: {
33
- maxHeight: 'calc(100vh - 4.5rem)',
34
- [screens('small', 'medium')]: {
35
- maxHeight: 'calc(100vh - 3rem)', // viewport minus header height
36
- },
37
- // height under which maxHeight menu starts to overflow
38
- // and needs to reduce height dynamically to avoid overflow
39
- '@media screen and (max-height: 585px)': {
40
- maxHeight: 'calc(100vh - 4.5rem)',
41
- [screens('small', 'medium')]: {
42
- maxHeight: 'calc(100vh - 3rem)', // viewport minus header height
43
- },
44
- },
45
- },
46
26
  spacer: {
47
27
  order: 50,
48
28
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/PageSidebar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,mEAAmE;AACnE,MAAM,sBAAsB,GAC1B,8DAA8D,CAAA;AAEhE,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAS,EAAE,EAAE,CAClE,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;QAC1D,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,SAAS,WAAW,CAAC,QAAQ,CAAC,cAAc,gBAAgB;QAExE,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,QAAQ;SACpB;QAED,WAAW,EAAE;YACX,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,MAAM;SACf;KACF;IACD,iBAAiB,EAAE;QACjB,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB;IACD,wBAAwB,EAAE;QACxB,SAAS,EAAE,sBAAsB;QAEjC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,SAAS,EAAE,oBAAoB,EAAE,+BAA+B;SACjE;QAED,uDAAuD;QACvD,2DAA2D;QAC3D,uCAAuC,EAAE;YACvC,SAAS,EAAE,sBAAsB;YAEjC,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;gBAC5B,SAAS,EAAE,oBAAoB,EAAE,+BAA+B;aACjE;SACF;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,MAAM;KACf;IACD,KAAK,EAAE;QACL,SAAS,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC5D,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;KACtC;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;QAC1D,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;KACrC;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,SAAS;QACd,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACxB,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,GAAG;QAEX,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;SACtC;KACF;IACD,aAAa,EAAE;QACb,UAAU,EAAE,SAAS;KACtB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,SAAS,WAAW,CAAC,QAAQ,CAAC,aAAa,gBAAgB;QAEvE,WAAW,EAAE;YACX,KAAK,EAAE,SAAS;SACjB;KACF;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/PageSidebar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,mEAAmE;AACnE,MAAM,sBAAsB,GAC1B,8DAA8D,CAAA;AAEhE,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAS,EAAE,EAAE,CAC1D,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;QAC1D,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,SAAS,WAAW,CAAC,QAAQ,CAAC,cAAc,gBAAgB;QAExE,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,QAAQ;SACpB;QAED,WAAW,EAAE;YACX,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,MAAM;SACf;KACF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,MAAM;KACf;IACD,KAAK,EAAE;QACL,SAAS,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;QAC5D,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;KACtC;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,0BAA0B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;QAC1D,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;KACrC;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,SAAS;QACd,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QACxB,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,GAAG;QAEX,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;SACtC;KACF;IACD,aAAa,EAAE;QACb,UAAU,EAAE,SAAS;KACtB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,SAAS,WAAW,CAAC,QAAQ,CAAC,aAAa,gBAAgB;QAEvE,WAAW,EAAE;YACX,KAAK,EAAE,SAAS;SACjB;KACF;CACF,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import React, { ReactNode, ReactElement, HTMLAttributes } from 'react';
2
2
  import { BaseProps } from '@toptal/picasso-shared';
3
- declare type VariantType = 'dark' | 'light';
3
+ declare type VariantType = 'dark' | 'light' | 'grey';
4
4
  export interface Props extends BaseProps, HTMLAttributes<HTMLElement> {
5
5
  /** Title which is displayed along the `Logo` */
6
6
  title?: string;
@@ -8,6 +8,8 @@ export interface Props extends BaseProps, HTMLAttributes<HTMLElement> {
8
8
  logoLink?: ReactElement;
9
9
  /** Logo to display */
10
10
  logo?: ReactNode;
11
+ /** Content for the center of the `Header` */
12
+ centerContent?: ReactNode;
11
13
  /** Content for the left side of the `Header` */
12
14
  leftContent?: ReactNode;
13
15
  /** Content for the right side of the `Header` */
@@ -16,6 +16,7 @@ import { usePageTopBar } from '@toptal/picasso-provider';
16
16
  import { makeStyles } from '@material-ui/core/styles';
17
17
  import Logo from '../Logo';
18
18
  import Container from '../Container';
19
+ import PageHamburger, { PageHamburgerPortal, useHamburgerContext, } from '../PageHamburger';
19
20
  import Typography from '../Typography';
20
21
  import { PageContext } from '../Page';
21
22
  import { useBreakpoint, useIsomorphicLayoutEffect } from '../utils';
@@ -24,7 +25,7 @@ const useStyles = makeStyles(styles, {
24
25
  name: 'PicassoTopBar',
25
26
  });
26
27
  export const PageTopBar = forwardRef(function PageTopBar(props, ref) {
27
- const { className, style, title, logoLink, logo, leftContent, rightContent, actionItems, variant = 'dark' } = props, rest = __rest(props, ["className", "style", "title", "logoLink", "logo", "leftContent", "rightContent", "actionItems", "variant"]);
28
+ const { className, style, title, logoLink, logo, centerContent, leftContent, rightContent, actionItems, variant = 'dark' } = props, rest = __rest(props, ["className", "style", "title", "logoLink", "logo", "centerContent", "leftContent", "rightContent", "actionItems", "variant"]);
28
29
  const classes = useStyles();
29
30
  const isCompactLayout = useBreakpoint(['small', 'medium']);
30
31
  const { setHasTopBar } = usePageTopBar();
@@ -35,13 +36,15 @@ export const PageTopBar = forwardRef(function PageTopBar(props, ref) {
35
36
  };
36
37
  }, [setHasTopBar]);
37
38
  const { width, fullWidth } = useContext(PageContext);
38
- const isDark = variant === 'dark';
39
+ const { hamburgerId } = useHamburgerContext();
40
+ const isDark = ['dark', 'grey'].includes(variant);
39
41
  const logoDefault = (React.createElement(Logo, { variant: isDark ? 'white' : 'default', emblem: isCompactLayout, className: classes.logo }));
40
42
  const logoComponent = logo || logoDefault;
41
43
  const titleComponent = title && (React.createElement(Container, { left: 'small', flex: true, alignItems: 'center' },
42
44
  React.createElement("div", { className: cx(classes.divider, { [classes.dividerBlue]: !isDark }) }),
43
45
  React.createElement(Container, { left: 'small' },
44
46
  React.createElement(Typography, { invert: isDark }, title))));
47
+ const responsiveCenterContent = isCompactLayout ? (React.createElement(PageHamburgerPortal, null, centerContent)) : (React.createElement(Container, { flex: true, alignItems: 'center' }, centerContent));
45
48
  const innerClassName = cx({
46
49
  [classes.fullWidth]: fullWidth || width === 'full',
47
50
  [classes.wide]: width === 'wide',
@@ -55,9 +58,11 @@ export const PageTopBar = forwardRef(function PageTopBar(props, ref) {
55
58
  : logoComponent),
56
59
  !isCompactLayout && titleComponent,
57
60
  leftContent),
61
+ centerContent && responsiveCenterContent,
58
62
  React.createElement("div", { className: classes.right },
59
63
  !isCompactLayout && actionItems,
60
- rightContent)))));
64
+ rightContent))),
65
+ React.createElement(PageHamburger, { id: hamburgerId })));
61
66
  });
62
67
  PageTopBar.defaultProps = {
63
68
  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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"}
@@ -3,5 +3,5 @@ export declare const headerHeight: {
3
3
  default: string;
4
4
  smallAndMedium: string;
5
5
  };
6
- declare const _default: ({ palette, layout, zIndex, screens }: Theme) => import("@material-ui/styles").StyleRules<{}, "content" | "left" | "right" | "dark" | "light" | "root" | "wrapper" | "fullWidth" | "divider" | "logoContainer" | "logo" | "wide" | "dividerBlue">;
6
+ declare const _default: ({ palette, layout, zIndex, screens }: Theme) => import("@material-ui/styles").StyleRules<{}, "content" | "left" | "right" | "grey" | "dark" | "light" | "root" | "wrapper" | "fullWidth" | "divider" | "logoContainer" | "logo" | "wide" | "dividerBlue">;
7
7
  export default _default;
@@ -17,6 +17,9 @@ export default ({ palette, layout, zIndex, screens }) => createStyles({
17
17
  dark: {
18
18
  backgroundColor: palette.blue.darker,
19
19
  },
20
+ grey: {
21
+ backgroundColor: palette.grey.darker,
22
+ },
20
23
  content: {
21
24
  boxSizing: 'border-box',
22
25
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/PageTopBar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAA;AAEzE,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAS,EAAE,EAAE,CAC7D,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB;IACD,KAAK,EAAE;QACL,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,SAAS,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;KAChD;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;KACrC;IACD,OAAO,EAAE;QACP,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,eAAe;QAC/B,QAAQ,EAAE,MAAM,CAAC,YAAY;QAC7B,OAAO,EAAE,KAAK,MAAM,CAAC,wBAAwB,EAAE;QAC/C,MAAM,EAAE,YAAY,CAAC,OAAO;QAC5B,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,MAAM,EAAE,YAAY,CAAC,cAAc;SACpC;KACF;IACD,OAAO,EAAE;QACP,MAAM,EAAE,YAAY,CAAC,OAAO;QAC5B,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,MAAM,EAAE,YAAY,CAAC,cAAc;SACpC;KACF;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC,gBAAgB;KAClC;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM;KACjB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;KACrB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;KACrB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,OAAO;QACf,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,OAAO,EAAE,GAAG;KACb;IACD,WAAW,EAAE;QACX,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;KACrC;IACD,aAAa,EAAE;QACb,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,qBAAqB;SACjC;KACF;IACD,IAAI,EAAE;QACJ,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,QAAQ,EAAE,OAAO;SAClB;KACF;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/PageTopBar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAA;AAEzE,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAS,EAAE,EAAE,CAC7D,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB;IACD,KAAK,EAAE;QACL,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,SAAS,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;KAChD;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;KACrC;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;KACrC;IACD,OAAO,EAAE;QACP,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,QAAQ;QAChB,cAAc,EAAE,eAAe;QAC/B,QAAQ,EAAE,MAAM,CAAC,YAAY;QAC7B,OAAO,EAAE,KAAK,MAAM,CAAC,wBAAwB,EAAE;QAC/C,MAAM,EAAE,YAAY,CAAC,OAAO;QAC5B,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,MAAM,EAAE,YAAY,CAAC,cAAc;SACpC;KACF;IACD,OAAO,EAAE;QACP,MAAM,EAAE,YAAY,CAAC,OAAO;QAC5B,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,MAAM,EAAE,YAAY,CAAC,cAAc;SACpC;KACF;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC,gBAAgB;KAClC;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM;KACjB;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;KACrB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;KACrB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,OAAO;QACf,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QACrC,OAAO,EAAE,GAAG;KACb;IACD,WAAW,EAAE;QACX,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;KACrC;IACD,aAAa,EAAE;QACb,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,qBAAqB;SACjC;KACF;IACD,IAAI,EAAE;QACJ,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,QAAQ,EAAE,OAAO;SAClB;KACF;CACF,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const PageTopBarCompound: import("react").ForwardRefExoticComponent<import("../PageTopBar/PageTopBar").Props & import("react").RefAttributes<HTMLElement>> & {
2
+ Menu: import("react").ForwardRefExoticComponent<import("../TopBarMenu").TopBarMenuProps & import("react").RefAttributes<HTMLUListElement>>;
3
+ Item: import("@toptal/picasso-shared/src").OverridableComponent<import("../TopBarItem/TopBarItem").Props>;
4
+ };
@@ -0,0 +1,8 @@
1
+ import PageTopBar from '../PageTopBar';
2
+ import TopBarMenu from '../TopBarMenu';
3
+ import TopBarItem from '../TopBarItem';
4
+ export const PageTopBarCompound = Object.assign(PageTopBar, {
5
+ Menu: TopBarMenu,
6
+ Item: TopBarItem,
7
+ });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/PageTopBarCompound/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,UAAU,MAAM,eAAe,CAAA;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;IAC1D,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;CACjB,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { BaseProps, TextLabelProps, OverridableComponent } from '@toptal/picasso-shared';
2
+ import React, { ElementType, ReactElement } from 'react';
3
+ import { MenuItemProps } from '@material-ui/core/MenuItem';
4
+ export interface Props extends BaseProps, TextLabelProps {
5
+ /** Pass icon to be used as part of item */
6
+ icon?: ReactElement;
7
+ /** Highlights the item as selected */
8
+ selected?: boolean;
9
+ /** Component name to render the menu item as */
10
+ as?: ElementType<MenuItemProps>;
11
+ /** Callback when item is clicked */
12
+ onClick?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
13
+ /** Callback when item is hovered */
14
+ onMouseEnter?: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
15
+ }
16
+ export declare const TopBarItem: OverridableComponent<Props>;
17
+ export default TopBarItem;
@@ -0,0 +1,37 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef, memo } from 'react';
13
+ import { makeStyles } from '@material-ui/core/styles';
14
+ import cx from 'classnames';
15
+ import MenuItem from '../MenuItem';
16
+ import SidebarItem from '../SidebarItem';
17
+ import Typography from '../Typography';
18
+ import { useBreakpoint, noop } from '../utils';
19
+ import styles from './styles';
20
+ const useStyles = makeStyles(styles, { name: 'PicassoTopBarMenuItem' });
21
+ export const TopBarItem = memo(forwardRef(function TopBarItem(props, ref) {
22
+ const { className, icon, children } = props, rest = __rest(props, ["className", "icon", "children"]);
23
+ const classes = useStyles();
24
+ const isCompactLayout = useBreakpoint(['small', 'medium']);
25
+ return isCompactLayout ? (React.createElement(SidebarItem, Object.assign({}, props, { ref: ref }))) : (React.createElement(MenuItem, Object.assign({}, rest, { className: cx(classes.root, className, classes.dark, {
26
+ [classes.selected]: props.selected,
27
+ }), ref: ref }),
28
+ icon && React.createElement("div", { className: classes.icon }, icon),
29
+ React.createElement(Typography, { size: 'small', color: 'inherit' }, children)));
30
+ }));
31
+ TopBarItem.defaultProps = {
32
+ onClick: noop,
33
+ selected: false,
34
+ };
35
+ TopBarItem.displayName = 'TopBarItem';
36
+ export default TopBarItem;
37
+ //# sourceMappingURL=TopBarItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopBarItem.js","sourceRoot":"","sources":["../../src/TopBarItem/TopBarItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAKA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAA6B,MAAM,OAAO,CAAA;AAE1E,OAAO,EAAS,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,WAAW,MAAM,gBAAgB,CAAA;AACxC,OAAO,UAAU,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,MAAM,MAAM,UAAU,CAAA;AAe7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAgC,IAAI,CACzD,UAAU,CAAqB,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG;IAC3D,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA9C,iCAAsC,CAAQ,CAAA;IACpD,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAC3B,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE1D,OAAO,eAAe,CAAC,CAAC,CAAC,CACvB,oBAAC,WAAW,oBAAK,KAAK,IAAE,GAAG,EAAE,GAAG,IAAI,CACrC,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,oBACH,IAAI,IACR,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE;YACnD,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ;SACnC,CAAC,EACF,GAAG,EAAE,GAAG;QAEP,IAAI,IAAI,6BAAK,SAAS,EAAE,OAAO,CAAC,IAAI,IAAG,IAAI,CAAO;QACnD,oBAAC,UAAU,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,IACrC,QAAQ,CACE,CACJ,CACZ,CAAA;AACH,CAAC,CAAC,CACH,CAAA;AAED,UAAU,CAAC,YAAY,GAAG;IACxB,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,KAAK;CAChB,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
@@ -0,0 +1 @@
1
+ export { default } from './TopBarItem';
@@ -0,0 +1,2 @@
1
+ export { default } from './TopBarItem';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TopBarItem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ spacing, palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "dark" | "icon" | "root" | "selected">;
3
+ export default _default;
@@ -0,0 +1,32 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ export default ({ spacing, palette }) => createStyles({
3
+ root: {
4
+ color: palette.grey.main2,
5
+ minWidth: 0,
6
+ padding: 0,
7
+ '& + &:before': {
8
+ backgroundColor: palette.grey.main2,
9
+ content: '""',
10
+ display: 'inline-block',
11
+ height: spacing(1),
12
+ marginLeft: spacing(1),
13
+ marginRight: spacing(1),
14
+ width: 1,
15
+ },
16
+ '&:hover': {
17
+ backgroundColor: 'transparent',
18
+ color: palette.grey.light2,
19
+ },
20
+ '&:focus, &$selected$dark': {
21
+ backgroundColor: 'transparent',
22
+ color: palette.common.white,
23
+ },
24
+ },
25
+ icon: {
26
+ marginRight: '0.875em',
27
+ width: '1em',
28
+ },
29
+ selected: {},
30
+ dark: {},
31
+ });
32
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/TopBarItem/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAE,OAAO,EAAS,EAAE,EAAE,CAC7C,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QACzB,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,cAAc,EAAE;YACd,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;YACnC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAClB,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACtB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YACvB,KAAK,EAAE,CAAC;SACT;QACD,SAAS,EAAE;YACT,eAAe,EAAE,aAAa;YAC9B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;SAC3B;QACD,0BAA0B,EAAE;YAC1B,eAAe,EAAE,aAAa;YAC9B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;SAC5B;KACF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,KAAK;KACb;IACD,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,EAAE;CACT,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { BaseProps } from '@toptal/picasso-shared';
2
+ import React, { HTMLAttributes, ReactNode } from 'react';
3
+ export interface Props extends BaseProps, HTMLAttributes<HTMLUListElement> {
4
+ /** Menu content */
5
+ children: ReactNode;
6
+ }
7
+ export declare const TopBarMenu: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLUListElement>>;
8
+ export default TopBarMenu;
@@ -0,0 +1,28 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef } from 'react';
13
+ import { makeStyles } from '@material-ui/core/styles';
14
+ import Menu from '../Menu';
15
+ import { usePortalToHamburger } from '../PageHamburger';
16
+ import styles from './styles';
17
+ const useStyles = makeStyles(styles, { name: 'PicassoTopBarMenu' });
18
+ export const TopBarMenu = forwardRef(function TopBarMenu(props, ref) {
19
+ const { children } = props, rest = __rest(props, ["children"]);
20
+ const classes = useStyles();
21
+ // not more than 6 menu items are allowed by BASE design
22
+ const items = React.Children.toArray(children).slice(0, 6);
23
+ usePortalToHamburger();
24
+ return (React.createElement(Menu, Object.assign({}, rest, { allowNestedNavigation: false, ref: ref, className: classes.root }), items));
25
+ });
26
+ TopBarMenu.displayName = 'TopBarMenu';
27
+ export default TopBarMenu;
28
+ //# sourceMappingURL=TopBarMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopBarMenu.js","sourceRoot":"","sources":["../../src/TopBarMenu/TopBarMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAA6B,MAAM,OAAO,CAAA;AACpE,OAAO,EAAS,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,MAAM,MAAM,UAAU,CAAA;AAO7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG;IAC5B,MAAM,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA7B,YAAqB,CAAQ,CAAA;IACnC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,wDAAwD;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,oBAAoB,EAAE,CAAA;IAEtB,OAAO,CACL,oBAAC,IAAI,oBACC,IAAI,IACR,qBAAqB,EAAE,KAAK,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,OAAO,CAAC,IAAI,KAEtB,KAAK,CACD,CACR,CAAA;AACH,CAAC,CACF,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './TopBarMenu';
2
+ export type { Props as TopBarMenuProps } from './TopBarMenu';
@@ -0,0 +1,2 @@
1
+ export { default } from './TopBarMenu';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TopBarMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ screens }: Theme) => import("@material-ui/styles").StyleRules<{}, "root">;
3
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import { createStyles } from '@material-ui/core/styles';
2
+ export default ({ screens }) => createStyles({
3
+ root: {
4
+ display: 'flex',
5
+ [screens('small', 'medium')]: {
6
+ display: 'block',
7
+ },
8
+ },
9
+ });
10
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/TopBarMenu/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE,CACpC,YAAY,CAAC;IACX,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QAEf,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC5B,OAAO,EAAE,OAAO;SACjB;KACF;CACF,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso",
3
- "version": "28.10.2-alpha-fix-root-container-order-e4aa2912.0+e4aa2912",
3
+ "version": "28.11.0",
4
4
  "description": "Toptal UI components library",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -31,7 +31,7 @@
31
31
  "typescript": "~4.7.0"
32
32
  },
33
33
  "dependencies": {
34
- "@toptal/picasso-shared": "11.1.1-alpha-fix-root-container-order-e4aa2912.32+e4aa2912",
34
+ "@toptal/picasso-shared": "11.2.0",
35
35
  "ap-style-title-case": "^1.1.2",
36
36
  "classnames": "^2.3.1",
37
37
  "d3": "^6.7.0",
@@ -59,7 +59,7 @@
59
59
  "@testing-library/jest-dom": "^5.16.5",
60
60
  "@testing-library/react": "^13.3.0",
61
61
  "@testing-library/react-hooks": "^8.0.1",
62
- "@toptal/picasso-provider": "2.0.1-alpha-fix-root-container-order-e4aa2912.62+e4aa2912",
62
+ "@toptal/picasso-provider": "2.1.0",
63
63
  "@types/classnames": "^2.3.1",
64
64
  "@types/d3": "^6.7.4",
65
65
  "@types/quill": "^1.3.10",
@@ -78,6 +78,5 @@
78
78
  "sideEffects": [
79
79
  "**/styles.ts",
80
80
  "**/styles.js"
81
- ],
82
- "gitHead": "e4aa2912df52accf1fa137c5a02d492ac80ee0d7"
81
+ ]
83
82
  }