@toptal/picasso-page 5.1.19 → 5.1.20

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 (37) hide show
  1. package/dist-package/src/PageHamburger/PageHamburger.d.ts.map +1 -1
  2. package/dist-package/src/PageHamburger/PageHamburger.js +2 -2
  3. package/dist-package/src/PageHamburger/PageHamburger.js.map +1 -1
  4. package/dist-package/src/PageHamburger/PageHamburgerContext.d.ts +4 -5
  5. package/dist-package/src/PageHamburger/PageHamburgerContext.d.ts.map +1 -1
  6. package/dist-package/src/PageHamburger/PageHamburgerContext.js +9 -25
  7. package/dist-package/src/PageHamburger/PageHamburgerContext.js.map +1 -1
  8. package/dist-package/src/PageHamburger/PageHamburgerPortal.js +2 -2
  9. package/dist-package/src/PageHamburger/PageHamburgerPortal.js.map +1 -1
  10. package/dist-package/src/PageHamburger/index.d.ts +1 -1
  11. package/dist-package/src/PageHamburger/index.d.ts.map +1 -1
  12. package/dist-package/src/PageHamburger/index.js +1 -1
  13. package/dist-package/src/PageHamburger/index.js.map +1 -1
  14. package/dist-package/src/PageSidebar/PageSidebar.d.ts.map +1 -1
  15. package/dist-package/src/PageSidebar/PageSidebar.js +9 -29
  16. package/dist-package/src/PageSidebar/PageSidebar.js.map +1 -1
  17. package/dist-package/src/PageSidebar/PageSidebarDesktop.d.ts +30 -0
  18. package/dist-package/src/PageSidebar/PageSidebarDesktop.d.ts.map +1 -0
  19. package/dist-package/src/PageSidebar/PageSidebarDesktop.js +33 -0
  20. package/dist-package/src/PageSidebar/PageSidebarDesktop.js.map +1 -0
  21. package/dist-package/src/PageTopBar/PageTopBar.d.ts.map +1 -1
  22. package/dist-package/src/PageTopBar/PageTopBar.js +18 -13
  23. package/dist-package/src/PageTopBar/PageTopBar.js.map +1 -1
  24. package/dist-package/src/TopBarMenu/TopBarMenu.d.ts.map +1 -1
  25. package/dist-package/src/TopBarMenu/TopBarMenu.js +0 -2
  26. package/dist-package/src/TopBarMenu/TopBarMenu.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/PageHamburger/PageHamburger.tsx +1 -2
  29. package/src/PageHamburger/PageHamburgerContext.tsx +15 -47
  30. package/src/PageHamburger/PageHamburgerPortal.tsx +2 -2
  31. package/src/PageHamburger/index.ts +0 -1
  32. package/src/PageSidebar/PageSidebar.tsx +24 -65
  33. package/src/PageSidebar/PageSidebarDesktop.tsx +114 -0
  34. package/src/PageTopBar/PageTopBar.tsx +31 -19
  35. package/src/PageTopBar/__snapshots__/test.tsx.snap +122 -194
  36. package/src/PageTopBar/test.tsx +23 -4
  37. package/src/TopBarMenu/TopBarMenu.tsx +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"PageHamburger.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburger.tsx"],"names":[],"mappings":";AAOA,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,QAAA,MAAM,aAAa,sCAAuC,KAAK,gBA+C9D,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"PageHamburger.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburger.tsx"],"names":[],"mappings":";AAOA,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,QAAA,MAAM,aAAa,sCAAuC,KAAK,gBA8C9D,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -4,11 +4,11 @@ import { Dropdown } from '@toptal/picasso-dropdown';
4
4
  import { Close24, Overview24 } from '@toptal/picasso-icons';
5
5
  import { useHamburgerContext } from './PageHamburgerContext';
6
6
  const PageHamburger = ({ id, 'data-testid': dataTestId }) => {
7
- const { showSidebarMenu, hamburgerRef } = useHamburgerContext();
7
+ const { hamburgerRef } = useHamburgerContext();
8
8
  const [showContent, setShowContent] = useState(false);
9
9
  const handleShowContent = () => setShowContent(true);
10
10
  const handleHideContent = () => setShowContent(false);
11
- return (React.createElement(Dropdown, { content: React.createElement("div", { id: id, ref: hamburgerRef }), className: !showSidebarMenu ? 'hidden' : 'min-[1280px]:hidden', classes: {
11
+ return (React.createElement(Dropdown, { content: React.createElement("div", { id: id, ref: hamburgerRef }), classes: {
12
12
  content: `!shadow-[inset_-1px_0px_0px_0px] !shadow-gray-200 max-h-[calc(100vh-var(--header-height,3.5rem))] !bg-gray-100`,
13
13
  popper: 'mt-4',
14
14
  },
@@ -1 +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,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAO5D,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAS,EAAE,EAAE;IACjE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAC/D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAE9D,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,EAAE,GAAG,EAAE,YAAY,GAAI,EAC3C,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,EAC9D,OAAO,EAAE;YACP,OAAO,EAAE,gHAAgH;YACzH,MAAM,EAAE,MAAM;SACf;QACD,oFAAoF;QACpF,uFAAuF;QACvF,gEAAgE;QAChE,aAAa,QACb,aAAa,EAAE;YACb,SAAS,EAAE;gBACT,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;gBACxB,eAAe,EAAE;oBACf,OAAO,EAAE,CAAC;iBACX;aACF;SACF,EACD,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;SACnB,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,EAAC,qBAAqB,GAAG,CAC/C,iBAEU,UAAU,EACvB,OAAO,EAAC,aAAa,GACrB,CACO,CACZ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
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,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAO5D,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAS,EAAE,EAAE;IACjE,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAE9D,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,EAAE,GAAG,EAAE,YAAY,GAAI,EAC3C,OAAO,EAAE;YACP,OAAO,EAAE,gHAAgH;YACzH,MAAM,EAAE,MAAM;SACf;QACD,oFAAoF;QACpF,uFAAuF;QACvF,gEAAgE;QAChE,aAAa,QACb,aAAa,EAAE;YACb,SAAS,EAAE;gBACT,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;gBACxB,eAAe,EAAE;oBACf,OAAO,EAAE,CAAC;iBACX;aACF;SACF,EACD,WAAW,EAAE;YACX,IAAI,EAAE,YAAY;SACnB,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,EAAC,qBAAqB,GAAG,CAC/C,iBAEU,UAAU,EACvB,OAAO,EAAC,aAAa,GACrB,CACO,CACZ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1,18 +1,17 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import React from 'react';
3
- export interface HamburgerContextProps {
3
+ interface InternalHamburgerContextProps {
4
4
  hamburgerId: string;
5
- showSidebarMenu: boolean;
6
- hasTopBar: boolean;
7
- setHasTopBar: (val: boolean) => void;
8
5
  hamburgerRef?: React.RefObject<HTMLDivElement>;
6
+ hasPageHamburger: boolean;
7
+ setHasPageHamburger: (val: boolean) => void;
9
8
  }
9
+ export declare type HamburgerContextProps = Omit<InternalHamburgerContextProps, 'menuCount' | 'setMenuCount'>;
10
10
  interface Props {
11
11
  children: ReactNode;
12
12
  hamburgerId: string;
13
13
  }
14
14
  export declare const PageHamburgerContextProvider: ({ children, hamburgerId, }: Props) => JSX.Element;
15
15
  export declare const useHamburgerContext: () => HamburgerContextProps;
16
- export declare const useRegisterMenu: () => void;
17
16
  export {};
18
17
  //# sourceMappingURL=PageHamburgerContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageHamburgerContext.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburgerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAMN,MAAM,OAAO,CAAA;AAad,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;CAC/C;AAUD,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,4BAA4B,+BAGtC,KAAK,gBAoBP,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAO,qBAatC,CAAA;AAED,eAAO,MAAM,eAAe,YAU3B,CAAA"}
1
+ {"version":3,"file":"PageHamburgerContext.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburgerContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAsD,MAAM,OAAO,CAAA;AAI1E,UAAU,6BAA6B;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;IAC9C,gBAAgB,EAAE,OAAO,CAAA;IACzB,mBAAmB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;CAC5C;AAED,oBAAY,qBAAqB,GAAG,IAAI,CACtC,6BAA6B,EAC7B,WAAW,GAAG,cAAc,CAC7B,CAAA;AAQD,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,4BAA4B,+BAGtC,KAAK,gBAgBP,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAO,qBAUtC,CAAA"}
@@ -1,44 +1,28 @@
1
- import React, { createContext, useContext, useEffect, useRef, useState, } from 'react';
1
+ import React, { createContext, useContext, useRef, useState } from 'react';
2
2
  const noop = () => { };
3
3
  const PageHamburgerContext = createContext({
4
4
  hamburgerId: 'hamburger',
5
- setMenuCount: noop,
6
- menuCount: 0,
7
- setHasTopBar: noop,
8
- hasTopBar: false,
5
+ setHasPageHamburger: noop,
6
+ hasPageHamburger: false,
9
7
  });
10
8
  export const PageHamburgerContextProvider = ({ children, hamburgerId, }) => {
11
- const [hasTopBar, setHasTopBar] = useState(true);
12
- const [menuCount, setMenuCount] = useState(0);
9
+ const [hasPageHamburger, setHasPageHamburger] = useState(false);
13
10
  const hamburgerRef = useRef(null);
14
11
  const context = {
15
12
  hamburgerId,
16
- hasTopBar,
17
- setHasTopBar,
18
13
  hamburgerRef,
19
- setMenuCount,
20
- menuCount,
14
+ setHasPageHamburger,
15
+ hasPageHamburger,
21
16
  };
22
17
  return (React.createElement(PageHamburgerContext.Provider, { value: context }, children));
23
18
  };
24
19
  export const useHamburgerContext = () => {
25
- const { hamburgerId, hasTopBar, setHasTopBar, hamburgerRef, menuCount } = useContext(PageHamburgerContext);
26
- const hasSidebar = menuCount > 0;
20
+ const { hamburgerId, hamburgerRef, setHasPageHamburger, hasPageHamburger } = useContext(PageHamburgerContext);
27
21
  return {
28
22
  hamburgerId,
29
- hasTopBar,
30
- setHasTopBar,
31
23
  hamburgerRef,
32
- showSidebarMenu: hasSidebar && hasTopBar,
24
+ setHasPageHamburger,
25
+ hasPageHamburger,
33
26
  };
34
27
  };
35
- export const useRegisterMenu = () => {
36
- const { setMenuCount } = useContext(PageHamburgerContext);
37
- useEffect(() => {
38
- setMenuCount(prev => prev + 1);
39
- return () => {
40
- setMenuCount(prev => prev - 1);
41
- };
42
- }, [setMenuCount]);
43
- };
44
28
  //# sourceMappingURL=PageHamburgerContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageHamburgerContext.js","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburgerContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAA;AAEd,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AAmBrB,MAAM,oBAAoB,GAAG,aAAa,CAAgC;IACxE,WAAW,EAAE,WAAW;IACxB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,CAAC;IACZ,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,KAAK;CACjB,CAAC,CAAA;AAOF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,QAAQ,EACR,WAAW,GACL,EAAE,EAAE;IACV,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE7C,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAkC;QAC7C,WAAW;QACX,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,SAAS;KACV,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,GAA0B,EAAE;IAC7D,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,GACrE,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAElC,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAA;IAEhC,OAAO;QACL,WAAW;QACX,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,eAAe,EAAE,UAAU,IAAI,SAAS;KACzC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAE9B,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;QAChC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAA;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"PageHamburgerContext.js","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburgerContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE1E,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAA;AAcrB,MAAM,oBAAoB,GAAG,aAAa,CAAgC;IACxE,WAAW,EAAE,WAAW;IACxB,mBAAmB,EAAE,IAAI;IACzB,gBAAgB,EAAE,KAAK;CACxB,CAAC,CAAA;AAOF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAC3C,QAAQ,EACR,WAAW,GACL,EAAE,EAAE;IACV,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAkC;QAC7C,WAAW;QACX,YAAY;QACZ,mBAAmB;QACnB,gBAAgB;KACjB,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,GAA0B,EAAE;IAC7D,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GACxE,UAAU,CAAC,oBAAoB,CAAC,CAAA;IAElC,OAAO;QACL,WAAW;QACX,YAAY;QACZ,mBAAmB;QACnB,gBAAgB;KACjB,CAAA;AACH,CAAC,CAAA"}
@@ -2,7 +2,7 @@ import React, { useEffect } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
  import { useHamburgerContext } from './PageHamburgerContext';
4
4
  const PageHamburgerPortal = ({ children }) => {
5
- const { showSidebarMenu, hamburgerRef } = useHamburgerContext();
5
+ const { hamburgerRef } = useHamburgerContext();
6
6
  const [container, setContainer] = React.useState(null);
7
7
  const [isMounted, setIsMounted] = React.useState(false);
8
8
  useEffect(() => {
@@ -11,7 +11,7 @@ const PageHamburgerPortal = ({ children }) => {
11
11
  setContainer(hamburgerRef.current);
12
12
  }
13
13
  }, [hamburgerRef, isMounted]);
14
- if (!container || !showSidebarMenu) {
14
+ if (!container) {
15
15
  return null;
16
16
  }
17
17
  return createPortal(children, container);
@@ -1 +1 @@
1
- {"version":3,"file":"PageHamburgerPortal.js","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburgerPortal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAM5D,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IAClD,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAC/D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAA;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,EAAE;YACzB,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;SACnC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAA;IAE7B,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE;QAClC,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"PageHamburgerPortal.js","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburgerPortal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAM5D,MAAM,mBAAmB,GAAG,CAAC,EAAE,QAAQ,EAAS,EAAE,EAAE;IAClD,MAAM,EAAE,YAAY,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,IAAI,CAAC,CAAA;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAA;IAEhE,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,EAAE;YACzB,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;SACnC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAA;IAE7B,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  export { default as PageHamburger } from './PageHamburger';
2
2
  export { default as PageHamburgerPortal } from './PageHamburgerPortal';
3
- export { useHamburgerContext, PageHamburgerContextProvider, useRegisterMenu, } from './PageHamburgerContext';
3
+ export { useHamburgerContext, PageHamburgerContextProvider, } from './PageHamburgerContext';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA"}
@@ -1,4 +1,4 @@
1
1
  export { default as PageHamburger } from './PageHamburger';
2
2
  export { default as PageHamburgerPortal } from './PageHamburgerPortal';
3
- export { useHamburgerContext, PageHamburgerContextProvider, useRegisterMenu, } from './PageHamburgerContext';
3
+ export { useHamburgerContext, PageHamburgerContextProvider, } from './PageHamburgerContext';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/PageHamburger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/PageHamburger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageSidebar.d.ts","sourceRoot":"","sources":["../../../src/PageSidebar/PageSidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAuD,MAAM,OAAO,CAAA;AAe3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,cAAc;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,2EAA2E;IAC3E,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAC7B,CAAA;IACD,iCAAiC;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;IAC7C,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB;AAaD,eAAO,MAAM,WAAW,8EA8HtB,CAAA;;;;;;AASF,wBAIE"}
1
+ {"version":3,"file":"PageSidebar.d.ts","sourceRoot":"","sources":["../../../src/PageSidebar/PageSidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAuD,MAAM,OAAO,CAAA;AAQ3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAG1C,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,cAAc;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,2EAA2E;IAC3E,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAC7B,CAAA;IACD,iCAAiC;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;IAC7C,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB;AAaD,eAAO,MAAM,WAAW,8EA2FtB,CAAA;;;;;;AASF,wBAIE"}
@@ -1,15 +1,13 @@
1
- import { useSidebar } from '@toptal/picasso-provider';
2
- import { twMerge, twJoin } from '@toptal/picasso-tailwind-merge';
1
+ import { useSidebar, usePageTopBar } from '@toptal/picasso-provider';
2
+ import { twMerge } from '@toptal/picasso-tailwind-merge';
3
3
  import React, { forwardRef, useCallback, useEffect, useState } from 'react';
4
- import { ButtonCircular } from '@toptal/picasso-button';
5
4
  import { Container } from '@toptal/picasso-container';
6
- import { BackMinor16, ChevronRight16 } from '@toptal/picasso-icons';
7
5
  import { noop } from '@toptal/picasso-utils';
8
- import { PageHamburgerPortal, useHamburgerContext, useRegisterMenu, } from '../PageHamburger';
6
+ import { PageHamburgerPortal, useHamburgerContext } from '../PageHamburger';
9
7
  import { SidebarItem } from '../SidebarItem';
10
8
  import { SidebarLogo } from '../SidebarLogo';
11
9
  import { SidebarMenu } from '../SidebarMenu';
12
- import { SidebarContextProvider } from './SidebarContextProvider';
10
+ import PageSidebarDesktop from './PageSidebarDesktop';
13
11
  const classesByVariant = {
14
12
  light: 'shadow-gray-200 bg-gray-100',
15
13
  dark: 'shadow-graphite-800 bg-graphite-800',
@@ -21,25 +19,18 @@ const classesBySize = {
21
19
  };
22
20
  export const PageSidebar = forwardRef(function Sidebar(props, ref) {
23
21
  const { children, variant = 'light', className, style, collapsible, defaultCollapsed, testIds, size = 'medium', wrapperMaxHeight, disableSticky, onCollapse = noop, } = props;
24
- const { setHasSidebar } = useSidebar();
25
22
  const [isCollapsed, setIsCollapsed] = useState(!!defaultCollapsed);
26
23
  const [isHovered, setIsHovered] = useState(false);
27
- const [expandedItemKey, setExpandedItemKey] = useState(null);
28
- const { hasTopBar } = useHamburgerContext();
29
- useEffect(() => {
30
- // Clear expanded submenu on sidebar collapse
31
- if (isCollapsed) {
32
- setExpandedItemKey(null);
33
- }
34
- }, [isCollapsed]);
24
+ const { setHasSidebar } = useSidebar();
25
+ const { hasPageHamburger } = useHamburgerContext();
26
+ const { hasTopBar } = usePageTopBar();
35
27
  useEffect(() => {
36
28
  setHasSidebar(true);
37
29
  return function cleanup() {
38
30
  setHasSidebar(false);
39
31
  };
40
32
  }, [setHasSidebar]);
41
- useRegisterMenu();
42
- const handleCollapseButtonClick = useCallback(() => {
33
+ const handleCollapse = useCallback(() => {
43
34
  setIsCollapsed(previousState => !previousState);
44
35
  onCollapse();
45
36
  }, [setIsCollapsed, onCollapse]);
@@ -49,18 +40,7 @@ export const PageSidebar = forwardRef(function Sidebar(props, ref) {
49
40
  '[&]:before:w-[5.75rem]',
50
41
  '[&_.scrollable-content]:[-ms-overflow-style:none]',
51
42
  '[&_.scrollable-content]:[scrollbar-width:none]',
52
- ], !hasTopBar && 'block'), "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.container, onMouseEnter: collapsible ? () => setIsHovered(true) : noop, onMouseLeave: collapsible ? () => setIsHovered(false) : noop },
53
- React.createElement(PageHamburgerPortal, null, children),
54
- React.createElement("div", { style: {
55
- maxHeight: wrapperMaxHeight,
56
- }, className: twJoin('h-full', !disableSticky &&
57
- 'max-h-[calc(100vh-var(--header-height,3.5rem))] sticky top-[var(--header-height,3.5rem)]') },
58
- React.createElement(Container, { flex: true, direction: 'column', className: 'scrollable-content h-full overflow-y-auto pt-4 pb-2 px-0', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.scrollableContainer },
59
- collapsible && (React.createElement(ButtonCircular, { className: twMerge(
60
- // TODO: [FX-XXXX] technical debt: button color/background/radius/shadow shouldn't be overwritten
61
- 'absolute -right-3 top-3 invisible text-graphite-700 bg-white rounded-full shadow-[0_0_0_1px_rgba(0,0,0,0.04),0_0_8px_0_rgba(0,0,0,0.16)] z-[100] hover:text-white hover:bg-blue-500', isHovered && 'visible'), 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 })),
62
- React.createElement("div", { className: 'order-[50] flex-1 h-full' }),
63
- React.createElement(SidebarContextProvider, { isCollapsed: isCollapsed, isHovered: isHovered, variant: variant, expandedItemKey: expandedItemKey, setExpandedItemKey: setExpandedItemKey }, children)))));
43
+ ], !hasTopBar && 'block'), "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.container, onMouseEnter: collapsible ? () => setIsHovered(true) : noop, onMouseLeave: collapsible ? () => setIsHovered(false) : noop }, hasPageHamburger ? (React.createElement(PageHamburgerPortal, null, children)) : (React.createElement(PageSidebarDesktop, { testIds: testIds, variant: variant, wrapperMaxHeight: wrapperMaxHeight, disableSticky: disableSticky, collapsible: collapsible, defaultCollapsed: defaultCollapsed, isCollapsed: isCollapsed, isHovered: isHovered, onCollapse: handleCollapse }, children))));
64
44
  });
65
45
  PageSidebar.defaultProps = {
66
46
  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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"}
@@ -0,0 +1,30 @@
1
+ import type { BaseProps } from '@toptal/picasso-shared';
2
+ import type { ReactNode } from 'react';
3
+ import React from 'react';
4
+ import type { VariantType } from './types';
5
+ export interface Props extends BaseProps {
6
+ /** Style variant of Sidebar and subcomponents */
7
+ variant?: VariantType;
8
+ /** Content */
9
+ children?: ReactNode;
10
+ /** Indicates Sidebar is collapsible */
11
+ collapsible?: boolean;
12
+ /** Indicates Sidebar is collapsed as default */
13
+ defaultCollapsed?: boolean;
14
+ /** Callback to notify when sidebar is having collapsed or default state */
15
+ testIds?: {
16
+ collapseButton?: string;
17
+ container?: string;
18
+ scrollableContainer?: string;
19
+ };
20
+ /** Make sidebar scroll with the content */
21
+ disableSticky?: boolean;
22
+ wrapperMaxHeight?: string | number;
23
+ isHovered: boolean;
24
+ isCollapsed: boolean;
25
+ /** Callback when sidebar is collapsed */
26
+ onCollapse?: () => void;
27
+ }
28
+ export declare const PageSidebarDesktop: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
29
+ export default PageSidebarDesktop;
30
+ //# sourceMappingURL=PageSidebarDesktop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageSidebarDesktop.d.ts","sourceRoot":"","sources":["../../../src/PageSidebar/PageSidebarDesktop.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAA0C,MAAM,OAAO,CAAA;AAO9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,cAAc;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,2EAA2E;IAC3E,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAC7B,CAAA;IACD,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAClC,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;IACpB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB;AAED,eAAO,MAAM,kBAAkB,8EAqE9B,CAAA;AAQD,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { twMerge, twJoin } from '@toptal/picasso-tailwind-merge';
2
+ import React, { forwardRef, useState, useEffect } from 'react';
3
+ import { ButtonCircular } from '@toptal/picasso-button';
4
+ import { Container } from '@toptal/picasso-container';
5
+ import { BackMinor16, ChevronRight16 } from '@toptal/picasso-icons';
6
+ import { noop } from '@toptal/picasso-utils';
7
+ import { SidebarContextProvider } from './SidebarContextProvider';
8
+ export const PageSidebarDesktop = forwardRef(function PageSidebarDesktop(props, ref) {
9
+ const { children, variant = 'light', collapsible, testIds, wrapperMaxHeight, disableSticky, isHovered, isCollapsed, onCollapse = noop, } = props;
10
+ const [expandedItemKey, setExpandedItemKey] = useState(null);
11
+ useEffect(() => {
12
+ // Clear expanded submenu on sidebar collapse
13
+ if (isCollapsed) {
14
+ setExpandedItemKey(null);
15
+ }
16
+ }, [isCollapsed]);
17
+ return (React.createElement("div", { style: {
18
+ maxHeight: wrapperMaxHeight,
19
+ }, className: twJoin('h-full', !disableSticky &&
20
+ 'max-h-[calc(100vh-var(--header-height,3.5rem))] sticky top-[var(--header-height,3.5rem)]') },
21
+ React.createElement(Container, { flex: true, direction: 'column', className: 'scrollable-content h-full overflow-y-auto pt-4 pb-2 px-0', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.scrollableContainer, ref: ref },
22
+ collapsible && (React.createElement(ButtonCircular, { className: twMerge(
23
+ // TODO: [FX-XXXX] technical debt: button color/background/radius/shadow shouldn't be overwritten
24
+ 'absolute -right-3 top-3 invisible text-graphite-700 bg-white rounded-full shadow-[0_0_0_1px_rgba(0,0,0,0.04),0_0_8px_0_rgba(0,0,0,0.16)] z-[100] hover:text-white hover:bg-blue-500', isHovered && 'visible'), onClick: onCollapse, 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 })),
25
+ React.createElement("div", { className: 'order-[50] flex-1 h-full' }),
26
+ React.createElement(SidebarContextProvider, { isCollapsed: isCollapsed, isHovered: isHovered, variant: variant, expandedItemKey: expandedItemKey, setExpandedItemKey: setExpandedItemKey }, children))));
27
+ });
28
+ PageSidebarDesktop.defaultProps = {
29
+ variant: 'light',
30
+ };
31
+ PageSidebarDesktop.displayName = 'PageSidebarDesktop';
32
+ export default PageSidebarDesktop;
33
+ //# sourceMappingURL=PageSidebarDesktop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageSidebarDesktop.js","sourceRoot":"","sources":["../../../src/PageSidebar/PageSidebarDesktop.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAEhE,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAE5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AA2BjE,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAC1C,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACpC,MAAM,EACJ,QAAQ,EACR,OAAO,GAAG,OAAO,EACjB,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,GAAG,IAAI,GAClB,GAAG,KAAK,CAAA;IAET,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAE3E,SAAS,CAAC,GAAG,EAAE;QACb,6CAA6C;QAC7C,IAAI,WAAW,EAAE;YACf,kBAAkB,CAAC,IAAI,CAAC,CAAA;SACzB;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,OAAO,CACL,6BACE,KAAK,EAAE;YACL,SAAS,EAAE,gBAAgB;SAC5B,EACD,SAAS,EAAE,MAAM,CACf,QAAQ,EACR,CAAC,aAAa;YACZ,0FAA0F,CAC7F;QAED,oBAAC,SAAS,IACR,IAAI,QACJ,SAAS,EAAC,QAAQ,EAClB,SAAS,EAAC,0DAA0D,iBACvD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,mBAAmB,EACzC,GAAG,EAAE,GAAG;YAEP,WAAW,IAAI,CACd,oBAAC,cAAc,IACb,SAAS,EAAE,OAAO;gBAChB,iGAAiG;gBACjG,qLAAqL,EACrL,SAAS,IAAI,SAAS,CACvB,EACD,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,oBAAC,cAAc,OAAG,CAAC,CAAC,CAAC,oBAAC,WAAW,OAAG,gBAC7C,kBAAkB,EAC7B,OAAO,EAAC,SAAS,iBACJ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,GACpC,CACH;YACD,6BAAK,SAAS,EAAC,0BAA0B,GAAG;YAC5C,oBAAC,sBAAsB,IACrB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,IAErC,QAAQ,CACc,CACf,CACR,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAED,kBAAkB,CAAC,YAAY,GAAG;IAChC,OAAO,EAAE,OAAO;CACjB,CAAA;AAED,kBAAkB,CAAC,WAAW,GAAG,oBAAoB,CAAA;AAErD,eAAe,kBAAkB,CAAA"}
@@ -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;AAED,eAAO,MAAM,iBAAiB;aAAkC,WAAW;EAEzE,CAAA;AAMF,eAAO,MAAM,UAAU,2EAmIrB,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;AAyBvD,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,2EA2IrB,CAAA;AAQF,eAAe,UAAU,CAAA"}
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import React, { useContext, forwardRef, useEffect } from 'react';
13
13
  import cx from 'classnames';
14
- import { usePageTopBar, usePreventPageWidthChangeOnScrollbar, } from '@toptal/picasso-provider';
14
+ import { usePageTopBar, useSidebar, usePreventPageWidthChangeOnScrollbar, useScreenSize, } from '@toptal/picasso-provider';
15
15
  import { makeStyles } from '@material-ui/core/styles';
16
16
  import { Logo } from '@toptal/picasso-logo';
17
17
  import { Container } from '@toptal/picasso-container';
@@ -20,6 +20,7 @@ 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
+ const SMALL_SCREEN_WIDTH = 1280;
23
24
  export const PageTopBarContext = React.createContext({
24
25
  variant: 'dark',
25
26
  });
@@ -31,17 +32,22 @@ export const PageTopBar = forwardRef(function PageTopBar(props, ref) {
31
32
  const classes = useStyles();
32
33
  const { setHasTopBar } = usePageTopBar();
33
34
  const { preventPageWidthChangeOnScrollbar } = usePreventPageWidthChangeOnScrollbar();
34
- const { setHasTopBar: setHasTopBarHamburger, hasTopBar } = useHamburgerContext();
35
35
  useIsomorphicLayoutEffect(() => {
36
36
  setHasTopBar(true);
37
- return () => setHasTopBar(false);
37
+ return () => {
38
+ setHasTopBar(false);
39
+ };
38
40
  }, [setHasTopBar]);
39
- useEffect(() => {
40
- setHasTopBarHamburger(true);
41
- return () => setHasTopBarHamburger(false);
42
- }, [hasTopBar, setHasTopBarHamburger]);
43
41
  const { width, fullWidth } = useContext(PageContext);
44
- const { hamburgerId } = useHamburgerContext();
42
+ const { hamburgerId, setHasPageHamburger } = useHamburgerContext();
43
+ const screenSize = useScreenSize();
44
+ const isSmallScreen = screenSize < SMALL_SCREEN_WIDTH;
45
+ const { hasSidebar } = useSidebar();
46
+ const showHamburger = isSmallScreen && (hasSidebar || !!centerContent);
47
+ useEffect(() => {
48
+ setHasPageHamburger(showHamburger);
49
+ return () => setHasPageHamburger(false);
50
+ }, [setHasPageHamburger, showHamburger]);
45
51
  const isDark = ['dark', 'grey'].includes(variant);
46
52
  const logoVariant = isDark ? 'white' : 'default';
47
53
  const logoDefault = (React.createElement(React.Fragment, null,
@@ -64,16 +70,15 @@ export const PageTopBar = forwardRef(function PageTopBar(props, ref) {
64
70
  React.createElement("div", { className: innerClassName },
65
71
  React.createElement("div", { className: classes.left },
66
72
  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 }),
73
+ showHamburger && (React.createElement(PageHamburger, { id: hamburgerId, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.hamburger })),
68
74
  logoLink
69
75
  ? React.cloneElement(logoLink, {}, logoComponent)
70
76
  : logoComponent,
71
77
  titleComponent),
72
78
  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, { className: classes.centerContent }, centerContent))),
79
+ centerContent &&
80
+ (isSmallScreen ? (React.createElement(PageHamburgerPortal, null,
81
+ React.createElement("div", { className: classes.centerContentPortal }, centerContent))) : (React.createElement(Container, { className: classes.centerContent }, centerContent))),
77
82
  React.createElement("div", { className: classes.right },
78
83
  actionItems,
79
84
  rightContent))))));
@@ -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 +1 @@
1
- {"version":3,"file":"TopBarMenu.d.ts","sourceRoot":"","sources":["../../../src/TopBarMenu/TopBarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAqB,MAAM,OAAO,CAAA;AAKzC,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACxE,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,UAAU,gFAoBtB,CAAA;AAID,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"TopBarMenu.d.ts","sourceRoot":"","sources":["../../../src/TopBarMenu/TopBarMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAqB,MAAM,OAAO,CAAA;AAGzC,MAAM,WAAW,KAAM,SAAQ,SAAS,EAAE,cAAc,CAAC,gBAAgB,CAAC;IACxE,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,eAAO,MAAM,UAAU,gFAkBtB,CAAA;AAID,eAAe,UAAU,CAAA"}
@@ -11,14 +11,12 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import React, { forwardRef } from 'react';
13
13
  import { Menu } from '@toptal/picasso-menu';
14
- import { useRegisterMenu } from '../PageHamburger';
15
14
  export const TopBarMenu = forwardRef(function TopBarMenu(props, ref) {
16
15
  const { children } = props, rest = __rest(props
17
16
  // not more than 6 menu items are allowed by BASE design
18
17
  , ["children"]);
19
18
  // not more than 6 menu items are allowed by BASE design
20
19
  const items = React.Children.toArray(children).slice(0, 6);
21
- useRegisterMenu();
22
20
  return (React.createElement(Menu, Object.assign({}, rest, { allowNestedNavigation: false, ref: ref, className: 'block min-[1280px]:flex shadow-0' }), items));
23
21
  });
24
22
  TopBarMenu.displayName = 'TopBarMenu';
@@ -1 +1 @@
1
- {"version":3,"file":"TopBarMenu.js","sourceRoot":"","sources":["../../../src/TopBarMenu/TopBarMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AAEA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAOlD,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG;IAC5B,MAAM,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK;IAEnC,wDAAwD;MAFlD,YAAqB,CAAQ,CAAA;IAEnC,wDAAwD;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,eAAe,EAAE,CAAA;IAEjB,OAAO,CACL,oBAAC,IAAI,oBACC,IAAI,IACR,qBAAqB,EAAE,KAAK,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,kCAAkC,KAE3C,KAAK,CACD,CACR,CAAA;AACH,CAAC,CACF,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"TopBarMenu.js","sourceRoot":"","sources":["../../../src/TopBarMenu/TopBarMenu.tsx"],"names":[],"mappings":";;;;;;;;;;;AAEA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAO3C,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG;IAC5B,MAAM,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK;IAEnC,wDAAwD;MAFlD,YAAqB,CAAQ,CAAA;IAEnC,wDAAwD;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1D,OAAO,CACL,oBAAC,IAAI,oBACC,IAAI,IACR,qBAAqB,EAAE,KAAK,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAC,kCAAkC,KAE3C,KAAK,CACD,CACR,CAAA;AACH,CAAC,CACF,CAAA;AAED,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,eAAe,UAAU,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso-page",
3
- "version": "5.1.19",
3
+ "version": "5.1.20",
4
4
  "description": "Toptal UI components library - Page",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -11,7 +11,7 @@ interface Props {
11
11
  }
12
12
 
13
13
  const PageHamburger = ({ id, 'data-testid': dataTestId }: Props) => {
14
- const { showSidebarMenu, hamburgerRef } = useHamburgerContext()
14
+ const { hamburgerRef } = useHamburgerContext()
15
15
  const [showContent, setShowContent] = useState<boolean>(false)
16
16
 
17
17
  const handleShowContent = () => setShowContent(true)
@@ -20,7 +20,6 @@ const PageHamburger = ({ id, 'data-testid': dataTestId }: Props) => {
20
20
  return (
21
21
  <Dropdown
22
22
  content={<div id={id} ref={hamburgerRef} />}
23
- className={!showSidebarMenu ? 'hidden' : 'min-[1280px]:hidden'}
24
23
  classes={{
25
24
  content: `!shadow-[inset_-1px_0px_0px_0px] !shadow-gray-200 max-h-[calc(100vh-var(--header-height,3.5rem))] !bg-gray-100`,
26
25
  popper: 'mt-4',
@@ -1,37 +1,24 @@
1
1
  import type { ReactNode } from 'react'
2
- import React, {
3
- createContext,
4
- useContext,
5
- useEffect,
6
- useRef,
7
- useState,
8
- } from 'react'
2
+ import React, { createContext, useContext, useRef, useState } from 'react'
9
3
 
10
4
  const noop = () => {}
11
5
 
12
6
  interface InternalHamburgerContextProps {
13
7
  hamburgerId: string
14
- setMenuCount: (val: (prev: number) => number) => void
15
- menuCount: number
16
- hasTopBar: boolean
17
- setHasTopBar: (val: boolean) => void
18
8
  hamburgerRef?: React.RefObject<HTMLDivElement>
9
+ hasPageHamburger: boolean
10
+ setHasPageHamburger: (val: boolean) => void
19
11
  }
20
12
 
21
- export interface HamburgerContextProps {
22
- hamburgerId: string
23
- showSidebarMenu: boolean
24
- hasTopBar: boolean
25
- setHasTopBar: (val: boolean) => void
26
- hamburgerRef?: React.RefObject<HTMLDivElement>
27
- }
13
+ export type HamburgerContextProps = Omit<
14
+ InternalHamburgerContextProps,
15
+ 'menuCount' | 'setMenuCount'
16
+ >
28
17
 
29
18
  const PageHamburgerContext = createContext<InternalHamburgerContextProps>({
30
19
  hamburgerId: 'hamburger',
31
- setMenuCount: noop,
32
- menuCount: 0,
33
- setHasTopBar: noop,
34
- hasTopBar: false,
20
+ setHasPageHamburger: noop,
21
+ hasPageHamburger: false,
35
22
  })
36
23
 
37
24
  interface Props {
@@ -43,18 +30,14 @@ export const PageHamburgerContextProvider = ({
43
30
  children,
44
31
  hamburgerId,
45
32
  }: Props) => {
46
- const [hasTopBar, setHasTopBar] = useState(true)
47
- const [menuCount, setMenuCount] = useState(0)
48
-
33
+ const [hasPageHamburger, setHasPageHamburger] = useState(false)
49
34
  const hamburgerRef = useRef<HTMLDivElement>(null)
50
35
 
51
36
  const context: InternalHamburgerContextProps = {
52
37
  hamburgerId,
53
- hasTopBar,
54
- setHasTopBar,
55
38
  hamburgerRef,
56
- setMenuCount,
57
- menuCount,
39
+ setHasPageHamburger,
40
+ hasPageHamburger,
58
41
  }
59
42
 
60
43
  return (
@@ -65,28 +48,13 @@ export const PageHamburgerContextProvider = ({
65
48
  }
66
49
 
67
50
  export const useHamburgerContext = (): HamburgerContextProps => {
68
- const { hamburgerId, hasTopBar, setHasTopBar, hamburgerRef, menuCount } =
51
+ const { hamburgerId, hamburgerRef, setHasPageHamburger, hasPageHamburger } =
69
52
  useContext(PageHamburgerContext)
70
53
 
71
- const hasSidebar = menuCount > 0
72
-
73
54
  return {
74
55
  hamburgerId,
75
- hasTopBar,
76
- setHasTopBar,
77
56
  hamburgerRef,
78
- showSidebarMenu: hasSidebar && hasTopBar,
57
+ setHasPageHamburger,
58
+ hasPageHamburger,
79
59
  }
80
60
  }
81
-
82
- export const useRegisterMenu = () => {
83
- const { setMenuCount } = useContext(PageHamburgerContext)
84
-
85
- useEffect(() => {
86
- setMenuCount(prev => prev + 1)
87
-
88
- return () => {
89
- setMenuCount(prev => prev - 1)
90
- }
91
- }, [setMenuCount])
92
- }