@toptal/picasso-page 102.0.0 → 102.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-package/src/PageHamburger/PageHamburger.d.ts +5 -3
- package/dist-package/src/PageHamburger/PageHamburger.d.ts.map +1 -1
- package/dist-package/src/PageHamburger/PageHamburger.js +3 -3
- package/dist-package/src/PageHamburger/PageHamburger.js.map +1 -1
- package/dist-package/src/PageTopBar/PageTopBar.d.ts.map +1 -1
- package/dist-package/src/PageTopBar/PageTopBar.js +1 -1
- package/dist-package/src/PageTopBar/PageTopBar.js.map +1 -1
- package/package.json +10 -10
- package/src/PageHamburger/PageHamburger.tsx +10 -3
- package/src/PageTopBar/PageTopBar.tsx +1 -0
- package/src/PageTopBar/test.tsx +32 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import type { BaseProps } from '@toptal/picasso-shared';
|
|
3
|
+
interface Props extends BaseProps {
|
|
3
4
|
id: string;
|
|
4
|
-
|
|
5
|
+
/** Color variant of the top bar the hamburger is rendered on */
|
|
6
|
+
variant?: 'dark' | 'light';
|
|
5
7
|
}
|
|
6
|
-
declare const PageHamburger: ({ id, "data-testid": dataTestId, }: Props) => React.ReactElement;
|
|
8
|
+
declare const PageHamburger: ({ id, variant, className, style, "data-testid": dataTestId, }: Props) => React.ReactElement;
|
|
7
9
|
export default PageHamburger;
|
|
8
10
|
//# sourceMappingURL=PageHamburger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHamburger.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"PageHamburger.d.ts","sourceRoot":"","sources":["../../../src/PageHamburger/PageHamburger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIvD,UAAU,KAAM,SAAQ,SAAS;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC3B;AAED,QAAA,MAAM,aAAa,kEAMhB,KAAK,KAAG,KAAK,CAAC,YAgDhB,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -3,12 +3,12 @@ import { ButtonCircular } from '@toptal/picasso-button';
|
|
|
3
3
|
import { Dropdown } from '@toptal/picasso-dropdown';
|
|
4
4
|
import { Close24, Overview24 } from '@toptal/picasso-icons';
|
|
5
5
|
import { useHamburgerContext } from './PageHamburgerContext';
|
|
6
|
-
const PageHamburger = ({ id, 'data-testid': dataTestId, }) => {
|
|
6
|
+
const PageHamburger = ({ id, variant = 'dark', className, style, 'data-testid': dataTestId, }) => {
|
|
7
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 }), classes: {
|
|
11
|
+
return (React.createElement(Dropdown, { className: className, style: style, 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
|
},
|
|
@@ -25,7 +25,7 @@ const PageHamburger = ({ id, 'data-testid': dataTestId, }) => {
|
|
|
25
25
|
}, popperProps: {
|
|
26
26
|
role: 'navigation',
|
|
27
27
|
}, onOpen: handleShowContent, onClose: handleHideContent, keepMounted: true },
|
|
28
|
-
React.createElement(ButtonCircular, { icon: showContent ? (React.createElement(Close24, null)) : (React.createElement(Overview24, { className: 'pointer-events-none' })), "data-testid": dataTestId, variant: 'transparent' })));
|
|
28
|
+
React.createElement(ButtonCircular, { icon: showContent ? (React.createElement(Close24, null)) : (React.createElement(Overview24, { className: 'pointer-events-none' })), "data-testid": dataTestId, variant: variant === 'light' ? 'flat' : 'transparent' })));
|
|
29
29
|
};
|
|
30
30
|
export default PageHamburger;
|
|
31
31
|
//# sourceMappingURL=PageHamburger.js.map
|
|
@@ -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;
|
|
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;AAG3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAQ5D,MAAM,aAAa,GAAG,CAAC,EACrB,EAAE,EACF,OAAO,GAAG,MAAM,EAChB,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAU,GACnB,EAAsB,EAAE;IAC9B,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,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,6BAAK,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,YAAY,GAAI,EAC3C,OAAO,EAAE;YACP,OAAO,EAAE,gHAAgH;YACzH,MAAM,EAAE,UAAU;SACnB;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,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,GACrD,CACO,CACZ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,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;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAqBvD,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAEtD,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;AAEF,eAAO,MAAM,UAAU,
|
|
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;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAqBvD,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAEtD,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;AAEF,eAAO,MAAM,UAAU,2EA2IrB,CAAA;AAIF,eAAe,UAAU,CAAA"}
|
|
@@ -59,7 +59,7 @@ export const PageTopBar = forwardRef(function PageTopBar(_a, ref) {
|
|
|
59
59
|
React.createElement("div", { className: innerClassName },
|
|
60
60
|
React.createElement("div", { className: 'flex items-center gap-4' },
|
|
61
61
|
React.createElement("div", { className: 'flex items-center gap-4' },
|
|
62
|
-
showHamburger && (React.createElement(PageHamburger, { id: hamburgerId, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.hamburger })),
|
|
62
|
+
showHamburger && (React.createElement(PageHamburger, { id: hamburgerId, variant: isDark ? 'dark' : 'light', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.hamburger })),
|
|
63
63
|
logoLink
|
|
64
64
|
? React.cloneElement(logoLink, {}, logoComponent)
|
|
65
65
|
: logoComponent,
|
|
@@ -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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso-page",
|
|
3
|
-
"version": "102.
|
|
3
|
+
"version": "102.1.0",
|
|
4
4
|
"description": "Toptal UI components library - Page",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -19,22 +19,22 @@
|
|
|
19
19
|
"homepage": "https://github.com/toptal/picasso/tree/master/packages/picasso#readme",
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@toptal/picasso-accordion": "102.0.0",
|
|
22
|
-
"@toptal/picasso-autocomplete": "102.0.0",
|
|
23
22
|
"@toptal/picasso-avatar": "102.0.0",
|
|
23
|
+
"@toptal/picasso-autocomplete": "102.0.0",
|
|
24
24
|
"@toptal/picasso-badge": "102.0.0",
|
|
25
25
|
"@toptal/picasso-button": "102.0.0",
|
|
26
|
-
"@toptal/picasso-container": "102.0.0",
|
|
27
26
|
"@toptal/picasso-dropdown": "102.0.0",
|
|
27
|
+
"@toptal/picasso-menu": "102.0.0",
|
|
28
28
|
"@toptal/picasso-icons": "102.0.0",
|
|
29
29
|
"@toptal/picasso-logo": "102.0.0",
|
|
30
|
-
"@toptal/picasso-menu": "102.0.0",
|
|
31
30
|
"@toptal/picasso-notification": "102.0.0",
|
|
31
|
+
"@toptal/picasso-container": "102.0.0",
|
|
32
32
|
"@toptal/picasso-shared": "102.0.0",
|
|
33
|
-
"@toptal/picasso-tag": "102.0.0",
|
|
34
33
|
"@toptal/picasso-tooltip": "102.0.0",
|
|
34
|
+
"@toptal/picasso-tag": "102.0.0",
|
|
35
35
|
"@toptal/picasso-typography": "102.0.0",
|
|
36
|
-
"@toptal/picasso-
|
|
37
|
-
"@toptal/picasso-
|
|
36
|
+
"@toptal/picasso-utils": "102.0.0",
|
|
37
|
+
"@toptal/picasso-user-badge": "102.0.0"
|
|
38
38
|
},
|
|
39
39
|
"sideEffects": [
|
|
40
40
|
"**/styles.ts",
|
|
@@ -44,16 +44,16 @@
|
|
|
44
44
|
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
45
45
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
46
46
|
"@toptal/picasso-tailwind-merge": "^102.0.0",
|
|
47
|
-
"@toptal/picasso-provider": "^102.0.0",
|
|
48
47
|
"@toptal/picasso-tailwind": "^102.0.0",
|
|
48
|
+
"@toptal/picasso-provider": "^102.0.0",
|
|
49
49
|
"@toptal/picasso-skeleton-loader": "^102.0.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"react-dom": "^18.3.1",
|
|
53
53
|
"styled-components": "^6.1.1",
|
|
54
|
+
"@toptal/picasso-test-utils": "102.0.0",
|
|
54
55
|
"@toptal/picasso-tailwind-merge": "102.0.0",
|
|
55
|
-
"@toptal/picasso-provider": "102.0.0"
|
|
56
|
-
"@toptal/picasso-test-utils": "102.0.0"
|
|
56
|
+
"@toptal/picasso-provider": "102.0.0"
|
|
57
57
|
},
|
|
58
58
|
"exports": {
|
|
59
59
|
".": "./dist-package/src/index.js"
|
|
@@ -2,16 +2,21 @@ import React, { useState } from 'react'
|
|
|
2
2
|
import { ButtonCircular } from '@toptal/picasso-button'
|
|
3
3
|
import { Dropdown } from '@toptal/picasso-dropdown'
|
|
4
4
|
import { Close24, Overview24 } from '@toptal/picasso-icons'
|
|
5
|
+
import type { BaseProps } from '@toptal/picasso-shared'
|
|
5
6
|
|
|
6
7
|
import { useHamburgerContext } from './PageHamburgerContext'
|
|
7
8
|
|
|
8
|
-
interface Props {
|
|
9
|
+
interface Props extends BaseProps {
|
|
9
10
|
id: string
|
|
10
|
-
|
|
11
|
+
/** Color variant of the top bar the hamburger is rendered on */
|
|
12
|
+
variant?: 'dark' | 'light'
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
const PageHamburger = ({
|
|
14
16
|
id,
|
|
17
|
+
variant = 'dark',
|
|
18
|
+
className,
|
|
19
|
+
style,
|
|
15
20
|
'data-testid': dataTestId,
|
|
16
21
|
}: Props): React.ReactElement => {
|
|
17
22
|
const { hamburgerRef } = useHamburgerContext()
|
|
@@ -22,6 +27,8 @@ const PageHamburger = ({
|
|
|
22
27
|
|
|
23
28
|
return (
|
|
24
29
|
<Dropdown
|
|
30
|
+
className={className}
|
|
31
|
+
style={style}
|
|
25
32
|
content={<div id={id} ref={hamburgerRef} />}
|
|
26
33
|
classes={{
|
|
27
34
|
content: `!shadow-[inset_-1px_0px_0px_0px] !shadow-gray-200 max-h-[calc(100vh-var(--header-height,3.5rem))] !bg-gray-100`,
|
|
@@ -55,7 +62,7 @@ const PageHamburger = ({
|
|
|
55
62
|
)
|
|
56
63
|
}
|
|
57
64
|
data-testid={dataTestId}
|
|
58
|
-
variant='transparent'
|
|
65
|
+
variant={variant === 'light' ? 'flat' : 'transparent'}
|
|
59
66
|
/>
|
|
60
67
|
</Dropdown>
|
|
61
68
|
)
|
package/src/PageTopBar/test.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react'
|
|
2
|
-
import { render } from '@toptal/picasso-test-utils'
|
|
2
|
+
import { render, screen } from '@toptal/picasso-test-utils'
|
|
3
3
|
import { Link } from '@toptal/picasso-link'
|
|
4
4
|
|
|
5
5
|
import { PageTopBar } from './PageTopBar'
|
|
@@ -47,4 +47,35 @@ describe('PageTopBar', () => {
|
|
|
47
47
|
|
|
48
48
|
expect(container).toMatchSnapshot()
|
|
49
49
|
})
|
|
50
|
+
|
|
51
|
+
describe('when the hamburger is shown', () => {
|
|
52
|
+
const renderHamburger = (variant: 'dark' | 'light') => {
|
|
53
|
+
setScreenWidth(1200)
|
|
54
|
+
|
|
55
|
+
render(
|
|
56
|
+
<PageTopBar
|
|
57
|
+
variant={variant}
|
|
58
|
+
centerContent={<div>Menu</div>}
|
|
59
|
+
testIds={{ hamburger: 'hamburger' }}
|
|
60
|
+
/>
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
return screen.getByTestId('hamburger')
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
describe('when the variant is dark', () => {
|
|
67
|
+
it('renders a light hamburger button', () => {
|
|
68
|
+
expect(renderHamburger('dark')).toHaveClass('text-white')
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
describe('when the variant is light', () => {
|
|
73
|
+
it('renders a dark hamburger button', () => {
|
|
74
|
+
const hamburger = renderHamburger('light')
|
|
75
|
+
|
|
76
|
+
expect(hamburger).toHaveClass('text-graphite-700')
|
|
77
|
+
expect(hamburger).not.toHaveClass('text-white')
|
|
78
|
+
})
|
|
79
|
+
})
|
|
80
|
+
})
|
|
50
81
|
})
|