@toptal/picasso-page 2.2.0 → 3.0.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 (57) hide show
  1. package/dist-package/src/PageSidebar/PageSidebar.d.ts.map +1 -1
  2. package/dist-package/src/PageSidebar/PageSidebar.js +2 -2
  3. package/dist-package/src/PageSidebar/PageSidebar.js.map +1 -1
  4. package/dist-package/src/PageTopBar/PageTopBar.d.ts.map +1 -1
  5. package/dist-package/src/PageTopBar/PageTopBar.js +1 -1
  6. package/dist-package/src/PageTopBar/PageTopBar.js.map +1 -1
  7. package/dist-package/src/SidebarItem/SidebarItemHeader.d.ts.map +1 -1
  8. package/dist-package/src/SidebarItem/SidebarItemHeader.js +58 -15
  9. package/dist-package/src/SidebarItem/SidebarItemHeader.js.map +1 -1
  10. package/dist-package/src/SidebarItem/styles.d.ts +1 -1
  11. package/dist-package/src/SidebarItem/styles.d.ts.map +1 -1
  12. package/dist-package/src/SidebarItem/styles.js +1 -69
  13. package/dist-package/src/SidebarItem/styles.js.map +1 -1
  14. package/dist-package/src/SidebarLogo/SidebarLogo.d.ts.map +1 -1
  15. package/dist-package/src/SidebarLogo/SidebarLogo.js +1 -1
  16. package/dist-package/src/SidebarLogo/SidebarLogo.js.map +1 -1
  17. package/dist-package/src/SidebarMenu/SidebarMenu.d.ts.map +1 -1
  18. package/dist-package/src/SidebarMenu/SidebarMenu.js +3 -9
  19. package/dist-package/src/SidebarMenu/SidebarMenu.js.map +1 -1
  20. package/dist-package/src/TopBarItem/TopBarItem.d.ts.map +1 -1
  21. package/dist-package/src/TopBarItem/TopBarItem.js +15 -9
  22. package/dist-package/src/TopBarItem/TopBarItem.js.map +1 -1
  23. package/dist-package/src/TopBarMenu/TopBarMenu.d.ts.map +1 -1
  24. package/dist-package/src/TopBarMenu/TopBarMenu.js +4 -6
  25. package/dist-package/src/TopBarMenu/TopBarMenu.js.map +1 -1
  26. package/package.json +19 -18
  27. package/src/PageAutocomplete/__snapshots__/test.tsx.snap +5 -19
  28. package/src/PageSidebar/PageSidebar.tsx +1 -3
  29. package/src/PageSidebar/__snapshots__/test.tsx.snap +9 -9
  30. package/src/PageTopBar/PageTopBar.tsx +1 -5
  31. package/src/PageTopBar/__snapshots__/test.tsx.snap +13 -13
  32. package/src/PageTopBarMenu/__snapshots__/test.tsx.snap +3 -3
  33. package/src/PageTopBarMenu/test.tsx +3 -3
  34. package/src/SidebarItem/SidebarItemHeader.tsx +90 -26
  35. package/src/SidebarItem/__snapshots__/test.tsx.snap +79 -79
  36. package/src/SidebarItem/styles.ts +1 -69
  37. package/src/SidebarLogo/SidebarLogo.tsx +0 -2
  38. package/src/SidebarLogo/__snapshots__/test.tsx.snap +1 -1
  39. package/src/SidebarMenu/SidebarMenu.tsx +3 -12
  40. package/src/SidebarMenu/__snapshots__/test.tsx.snap +2 -2
  41. package/src/TopBarItem/TopBarItem.tsx +25 -10
  42. package/src/TopBarMenu/TopBarMenu.tsx +1 -7
  43. package/dist-package/src/SidebarMenu/styles.d.ts +0 -3
  44. package/dist-package/src/SidebarMenu/styles.d.ts.map +0 -1
  45. package/dist-package/src/SidebarMenu/styles.js +0 -20
  46. package/dist-package/src/SidebarMenu/styles.js.map +0 -1
  47. package/dist-package/src/TopBarItem/styles.d.ts +0 -4
  48. package/dist-package/src/TopBarItem/styles.d.ts.map +0 -1
  49. package/dist-package/src/TopBarItem/styles.js +0 -46
  50. package/dist-package/src/TopBarItem/styles.js.map +0 -1
  51. package/dist-package/src/TopBarMenu/styles.d.ts +0 -3
  52. package/dist-package/src/TopBarMenu/styles.d.ts.map +0 -1
  53. package/dist-package/src/TopBarMenu/styles.js +0 -11
  54. package/dist-package/src/TopBarMenu/styles.js.map +0 -1
  55. package/src/SidebarMenu/styles.ts +0 -21
  56. package/src/TopBarItem/styles.ts +0 -49
  57. package/src/TopBarMenu/styles.ts +0 -13
@@ -12,23 +12,23 @@ exports[`PageAutocomplete renders 1`] = `
12
12
  role="combobox"
13
13
  >
14
14
  <div
15
- class="PicassoContainer-flex"
15
+ class="flex"
16
16
  >
17
17
  <div
18
- class="MuiInputBase-root MuiOutlinedInput-root PicassoOutlinedInput-root PicassoInput-root PicassoOutlinedInput-rootAuto PicassoOutlinedInput-rootMedium PicassoOutlinedInput-rootDark MuiInputBase-adornedStart MuiOutlinedInput-adornedStart MuiInputBase-adornedEnd MuiOutlinedInput-adornedEnd"
18
+ class="base-Input base-Input base-Input relative inline-flex gap-y gap-x items-center rounded-sm [font-size:_unset] hover:[&_.resetButtonDirty]:visible p-2 h-8 w-[18.75rem] bg-[#081237] after:content-[""] after:inline-block after:absolute after:top-0 after:bottom-0 after:right-0 after:left-0 after:pointer-events after:rounded-sm after:border-gray [&:has(input:focus)]:after:border-blue after:border-none [&:has(input:focus)]:after:shadow-0 hover:[&:not(:has(input:focus))]:after:border-gray text-black cursor-[inherit]"
19
19
  >
20
20
  <input
21
21
  aria-autocomplete="list"
22
22
  aria-invalid="false"
23
23
  autocomplete="off"
24
- class="MuiInputBase-input MuiOutlinedInput-input PicassoOutlinedInput-input PicassoOutlinedInput-inputMedium PicassoOutlinedInput-inputDark MuiInputBase-inputAdornedStart MuiOutlinedInput-inputAdornedStart MuiInputBase-inputAdornedEnd MuiOutlinedInput-inputAdornedEnd"
24
+ class="base-Input [&::-webkit-calendar-picker-indicator]:bg bg-transparent border-none box-border cursor-[inherit] h-full outline-none p-0 peer resize-none w-full text-md leading-4 text-white [&::placeholder]:text-white [&::placeholder]:opacity-[0.64]"
25
25
  data-testid="autocomplete"
26
26
  type="text"
27
27
  value=""
28
28
  variant="dark"
29
29
  />
30
30
  <div
31
- class="MuiInputAdornment-root PicassoInputAdornment-root PicassoOutlinedInput-resetButton MuiInputAdornment-positionEnd"
31
+ class="text-graphite h-auto flex items-center whitespace-nowrap max-h justify-end ml-auto flex-grow flex-shrink basis-auto invisible"
32
32
  data-testid="reset-adornment"
33
33
  >
34
34
  <button
@@ -40,7 +40,7 @@ exports[`PageAutocomplete renders 1`] = `
40
40
  type="button"
41
41
  >
42
42
  <span
43
- class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline font-semibold whitespace-nowrap text-button"
43
+ class="items-center inline-flex font-semibold whitespace-nowrap text-button"
44
44
  >
45
45
  <svg
46
46
  class="PicassoSvgCloseMinor16-root text-[1.2em] flex-1"
@@ -54,20 +54,6 @@ exports[`PageAutocomplete renders 1`] = `
54
54
  </span>
55
55
  </button>
56
56
  </div>
57
- <fieldset
58
- aria-hidden="true"
59
- class="PrivateNotchedOutline-root MuiOutlinedInput-notchedOutline PicassoOutlinedInput-notchedOutline PicassoOutlinedInput-notchedOutlineDark"
60
- style="padding-left: 8px;"
61
- >
62
- <legend
63
- class="PrivateNotchedOutline-legend"
64
- style="width: 0.01px;"
65
- >
66
- <span>
67
- ​
68
- </span>
69
- </legend>
70
- </fieldset>
71
57
  </div>
72
58
  </div>
73
59
  <div
@@ -3,7 +3,7 @@ import { makeStyles } from '@material-ui/core/styles'
3
3
  import { useSidebar } from '@toptal/picasso-provider'
4
4
  import type { BaseProps, SizeType } from '@toptal/picasso-shared'
5
5
  import cx from 'classnames'
6
- import { twMerge } from 'tailwind-merge'
6
+ import { twMerge } from '@toptal/picasso-tailwind-merge'
7
7
  import type { ReactNode } from 'react'
8
8
  import React, { forwardRef, useCallback, useEffect, useState } from 'react'
9
9
  import { ButtonCircular } from '@toptal/picasso-button'
@@ -100,8 +100,6 @@ export const PageSidebar = forwardRef<HTMLDivElement, Props>(function Sidebar(
100
100
  return (
101
101
  <Container
102
102
  ref={ref}
103
- flex
104
- direction='column'
105
103
  style={style}
106
104
  className={cx(classes.root, className, classes[variant], classes[size], {
107
105
  [classes.rootCollapsed]: collapsible && isCollapsed,
@@ -6,13 +6,13 @@ exports[`PageSidebar renders 1`] = `
6
6
  class="Picasso-root"
7
7
  >
8
8
  <div
9
- class="PicassoContainer-flex PicassoContainer-column PageSidebar-root PageSidebar-light PageSidebar-medium PageSidebar-hamburgerNotAvailable"
9
+ class="PageSidebar-root PageSidebar-light PageSidebar-medium PageSidebar-hamburgerNotAvailable"
10
10
  >
11
11
  <div
12
12
  class="PageSidebar-wrapper PageSidebar-sticky"
13
13
  >
14
14
  <div
15
- class="PicassoContainer-flex PicassoContainer-column PageSidebar-scrollableContent"
15
+ class="flex flex-col PageSidebar-scrollableContent"
16
16
  >
17
17
  <div
18
18
  class="PageSidebar-spacer"
@@ -30,19 +30,19 @@ exports[`PageSidebar with menu 1`] = `
30
30
  class="Picasso-root"
31
31
  >
32
32
  <div
33
- class="PicassoContainer-flex PicassoContainer-column PageSidebar-root PageSidebar-light PageSidebar-medium PageSidebar-hamburgerNotAvailable"
33
+ class="PageSidebar-root PageSidebar-light PageSidebar-medium PageSidebar-hamburgerNotAvailable"
34
34
  >
35
35
  <div
36
36
  class="PageSidebar-wrapper PageSidebar-sticky"
37
37
  >
38
38
  <div
39
- class="PicassoContainer-flex PicassoContainer-column PageSidebar-scrollableContent"
39
+ class="flex flex-col PageSidebar-scrollableContent"
40
40
  >
41
41
  <div
42
42
  class="PageSidebar-spacer"
43
43
  />
44
44
  <ul
45
- class="MuiList-root PicassoMenu-root PicassoSidebarMenu-root"
45
+ class="relative list-none outline-none py-2 px-0 m-0 rounded-sm shadow-0 order-1 [&_&]:flex-1 flex-grow flex-shrink max-w"
46
46
  role="menu"
47
47
  tabindex="-1"
48
48
  />
@@ -59,24 +59,24 @@ exports[`PageSidebar with one normal and one bottom menu 1`] = `
59
59
  class="Picasso-root"
60
60
  >
61
61
  <div
62
- class="PicassoContainer-flex PicassoContainer-column PageSidebar-root PageSidebar-light PageSidebar-medium PageSidebar-hamburgerNotAvailable"
62
+ class="PageSidebar-root PageSidebar-light PageSidebar-medium PageSidebar-hamburgerNotAvailable"
63
63
  >
64
64
  <div
65
65
  class="PageSidebar-wrapper PageSidebar-sticky"
66
66
  >
67
67
  <div
68
- class="PicassoContainer-flex PicassoContainer-column PageSidebar-scrollableContent"
68
+ class="flex flex-col PageSidebar-scrollableContent"
69
69
  >
70
70
  <div
71
71
  class="PageSidebar-spacer"
72
72
  />
73
73
  <ul
74
- class="MuiList-root PicassoMenu-root PicassoSidebarMenu-root"
74
+ class="relative list-none outline-none py-2 px-0 m-0 rounded-sm shadow-0 order-1 [&_&]:flex-1 flex-grow flex-shrink max-w"
75
75
  role="menu"
76
76
  tabindex="-1"
77
77
  />
78
78
  <ul
79
- class="MuiList-root PicassoMenu-root PicassoSidebarMenu-root PicassoSidebarMenu-bottom"
79
+ class="relative list-none outline-none py-2 px-0 m-0 rounded-sm shadow-0 [&_&]:flex-1 flex-grow flex-shrink max-w order-[99]"
80
80
  role="menu"
81
81
  tabindex="-1"
82
82
  />
@@ -170,11 +170,7 @@ export const PageTopBar = forwardRef<HTMLElement, Props>(function PageTopBar(
170
170
  {centerContent}
171
171
  </div>
172
172
  </PageHamburgerPortal>
173
- <Container
174
- flex
175
- alignItems='center'
176
- className={classes.centerContent}
177
- >
173
+ <Container className={classes.centerContent}>
178
174
  {centerContent}
179
175
  </Container>
180
176
  </>
@@ -18,7 +18,7 @@ exports[`Page.TopBar render with custom logo 1`] = `
18
18
  class="PicassoTopBar-left"
19
19
  >
20
20
  <div
21
- class="PicassoContainer-smallGap PicassoContainer-centerAlignItems PicassoContainer-flex"
21
+ class="gap-4 items-center flex"
22
22
  >
23
23
  <div
24
24
  class="PicassoDropdown-root PageHamburger-root PageHamburger-hidden"
@@ -35,7 +35,7 @@ exports[`Page.TopBar render with custom logo 1`] = `
35
35
  type="button"
36
36
  >
37
37
  <span
38
- class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline font-semibold whitespace-nowrap text-button"
38
+ class="items-center inline-flex font-semibold whitespace-nowrap text-button"
39
39
  >
40
40
  <svg
41
41
  class="PicassoSvgOverview24-root text-[1.2em] flex-1 PageHamburger-hamburger"
@@ -72,13 +72,13 @@ exports[`Page.TopBar render with custom logo 1`] = `
72
72
  Custom logo content
73
73
  </div>
74
74
  <div
75
- class="PicassoContainer-centerAlignItems PicassoTopBar-title"
75
+ class="items-center PicassoTopBar-title"
76
76
  >
77
77
  <div
78
78
  class="PicassoTopBar-divider"
79
79
  />
80
80
  <div
81
- class="PicassoContainer-leftsmallMargin"
81
+ class="ml-4"
82
82
  >
83
83
  <p
84
84
  class="m-0 font-inherit leading-[1.5em] text-white font-regular"
@@ -117,7 +117,7 @@ exports[`Page.TopBar render with link 1`] = `
117
117
  class="PicassoTopBar-left"
118
118
  >
119
119
  <div
120
- class="PicassoContainer-smallGap PicassoContainer-centerAlignItems PicassoContainer-flex"
120
+ class="gap-4 items-center flex"
121
121
  >
122
122
  <div
123
123
  class="PicassoDropdown-root PageHamburger-root PageHamburger-hidden"
@@ -134,7 +134,7 @@ exports[`Page.TopBar render with link 1`] = `
134
134
  type="button"
135
135
  >
136
136
  <span
137
- class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline font-semibold whitespace-nowrap text-button"
137
+ class="items-center inline-flex font-semibold whitespace-nowrap text-button"
138
138
  >
139
139
  <svg
140
140
  class="PicassoSvgOverview24-root text-[1.2em] flex-1 PageHamburger-hamburger"
@@ -168,7 +168,7 @@ exports[`Page.TopBar render with link 1`] = `
168
168
  </div>
169
169
  </div>
170
170
  <a
171
- class="MuiTypography-root MuiLink-root MuiLink-underlineHover PicassoLink-root PicassoLink-blue MuiTypography-colorPrimary"
171
+ class="m-0 font-inherit font-inherit focus:outline-none hover:underline leading-[inherit] text-blue visited:text-purple no-underline"
172
172
  href="https://www.toptal.com"
173
173
  >
174
174
  <svg
@@ -197,13 +197,13 @@ exports[`Page.TopBar render with link 1`] = `
197
197
  </svg>
198
198
  </a>
199
199
  <div
200
- class="PicassoContainer-centerAlignItems PicassoTopBar-title"
200
+ class="items-center PicassoTopBar-title"
201
201
  >
202
202
  <div
203
203
  class="PicassoTopBar-divider"
204
204
  />
205
205
  <div
206
- class="PicassoContainer-leftsmallMargin"
206
+ class="ml-4"
207
207
  >
208
208
  <p
209
209
  class="m-0 font-inherit leading-[1.5em] text-white font-regular"
@@ -242,7 +242,7 @@ exports[`Page.TopBar renders 1`] = `
242
242
  class="PicassoTopBar-left"
243
243
  >
244
244
  <div
245
- class="PicassoContainer-smallGap PicassoContainer-centerAlignItems PicassoContainer-flex"
245
+ class="gap-4 items-center flex"
246
246
  >
247
247
  <div
248
248
  class="PicassoDropdown-root PageHamburger-root PageHamburger-hidden"
@@ -259,7 +259,7 @@ exports[`Page.TopBar renders 1`] = `
259
259
  type="button"
260
260
  >
261
261
  <span
262
- class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoContainer-inline font-semibold whitespace-nowrap text-button"
262
+ class="items-center inline-flex font-semibold whitespace-nowrap text-button"
263
263
  >
264
264
  <svg
265
265
  class="PicassoSvgOverview24-root text-[1.2em] flex-1 PageHamburger-hamburger"
@@ -317,13 +317,13 @@ exports[`Page.TopBar renders 1`] = `
317
317
  />
318
318
  </svg>
319
319
  <div
320
- class="PicassoContainer-centerAlignItems PicassoTopBar-title"
320
+ class="items-center PicassoTopBar-title"
321
321
  >
322
322
  <div
323
323
  class="PicassoTopBar-divider"
324
324
  />
325
325
  <div
326
- class="PicassoContainer-leftsmallMargin"
326
+ class="ml-4"
327
327
  >
328
328
  <p
329
329
  class="m-0 font-inherit leading-[1.5em] text-white font-regular"
@@ -12,7 +12,7 @@ exports[`PageTopBarMenu renders 1`] = `
12
12
  class="PicassoDropdown-anchor"
13
13
  >
14
14
  <div
15
- class="PicassoContainer-centerAlignItems PicassoContainer-flex PicassoUserBadge-root"
15
+ class="items-center flex PicassoUserBadge-root"
16
16
  >
17
17
  <div
18
18
  class="flex relative"
@@ -28,10 +28,10 @@ exports[`PageTopBarMenu renders 1`] = `
28
28
  </div>
29
29
  </div>
30
30
  <div
31
- class="PicassoContainer-flex PicassoContainer-column PicassoUserBadge-infoContainer"
31
+ class="flex flex-col PicassoUserBadge-infoContainer"
32
32
  >
33
33
  <div
34
- class="PicassoContainer-centerAlignItems PicassoContainer-flex"
34
+ class="items-center flex"
35
35
  >
36
36
  <h4
37
37
  class="m-0 text-md text-white font-semibold inline PicassoUserBadge-name !font-[400] PicassoTopBarMenu-truncateText"
@@ -2,7 +2,7 @@ import React from 'react'
2
2
  /* eslint-disable-next-line */
3
3
  import { render } from '@toptal/picasso-test-utils'
4
4
  import type { OmitInternalProps } from '@toptal/picasso-shared'
5
- import { MenuCompound as Menu } from '@toptal/picasso-menu'
5
+ import { Menu, MenuItem } from '@toptal/picasso-menu'
6
6
 
7
7
  import type { Props } from './PageTopBarMenu'
8
8
  import { PageTopBarMenu } from './PageTopBarMenu'
@@ -27,8 +27,8 @@ describe('PageTopBarMenu', () => {
27
27
  avatar='./jacqueline-with-flowers-1954-square.jpg'
28
28
  >
29
29
  <Menu>
30
- <Menu.Item>My Account</Menu.Item>
31
- <Menu.Item>Log Out</Menu.Item>
30
+ <MenuItem>My Account</MenuItem>
31
+ <MenuItem>Log Out</MenuItem>
32
32
  </Menu>
33
33
  </TestPageTopBarMenu>
34
34
  )
@@ -1,18 +1,94 @@
1
- import type { Theme } from '@material-ui/core/styles'
2
- import { makeStyles } from '@material-ui/core/styles'
3
- import cx from 'classnames'
1
+ import { twMerge, twJoin } from '@toptal/picasso-tailwind-merge'
4
2
  import React, { forwardRef, useCallback } from 'react'
5
3
  import { MenuItem } from '@toptal/picasso-menu'
6
4
 
7
5
  import { SidebarItemContent } from '../SidebarItemContent'
8
- import styles from './styles'
9
6
  import type { Props } from './types'
10
- import { useSubMenuContext } from './SubMenuContextProvider'
7
+ import { useSubMenuContext, type ContextProps } from './SubMenuContextProvider'
11
8
  import { getTagProps, getBadgeProps } from './utils'
12
9
 
13
- const useStyles = makeStyles<Theme>(styles, {
14
- name: 'PicassoSidebarItemHeader',
15
- })
10
+ const getColorStyles = ({
11
+ variant,
12
+ selected,
13
+ }: {
14
+ variant: Props['variant']
15
+ selected?: boolean
16
+ }) => {
17
+ if (variant === 'light') {
18
+ if (selected) {
19
+ return 'text-blue-500 hover:text-blue-500 focus:text-blue-500 bg-gray-300 hover:bg-gray-300 focus:bg-gray-300'
20
+ }
21
+
22
+ return 'text-graphite-700 hover:text-blue-500 focus:text-blue-500'
23
+ }
24
+
25
+ if (variant === 'dark') {
26
+ if (selected) {
27
+ return 'text-white hover:text-white focus:text-white bg-graphite-700 hover:bg-graphite-700 focus:bg-graphite-700'
28
+ }
29
+
30
+ return 'hover:text-white focus:text-white'
31
+ }
32
+ }
33
+
34
+ const getSpacingStyles = ({
35
+ compact,
36
+ parentMenu,
37
+ hasMenu,
38
+ collapsible,
39
+ }: {
40
+ compact: Props['compact']
41
+ parentMenu: ContextProps['parentMenu']
42
+ hasMenu: boolean
43
+ collapsible?: boolean
44
+ }) => {
45
+ let pl = 'pl-4'
46
+ let pr = 'pr-4'
47
+ let pt = 'pt-0'
48
+ let pb = 'pb-0'
49
+
50
+ let ml = 'ml-4'
51
+ let mr = 'mr-4'
52
+ let mt = 'mt-0'
53
+ let mb = 'mb-0'
54
+
55
+ if (parentMenu) {
56
+ pr = 'pr-4'
57
+ pl = parentMenu.icon ? 'pl-[2.875rem]' : 'pl-8'
58
+ mr = 'mr-4'
59
+ }
60
+
61
+ if (compact) {
62
+ pt = 'pt-0'
63
+ pb = 'pb-0'
64
+ pr = 'pr-0'
65
+ pl = 'pl-0'
66
+ }
67
+
68
+ if (hasMenu && (collapsible || compact)) {
69
+ pt = 'pt-0'
70
+ pb = 'pb-0'
71
+ pr = 'pr-0'
72
+ pl = 'pl-0'
73
+ mt = 'mt-0'
74
+ mb = 'mb-0'
75
+ mr = 'mr-0'
76
+ ml = 'ml-0'
77
+ }
78
+
79
+ if (parentMenu?.compact) {
80
+ mr = 'mr-0'
81
+ mt = 'mt-0'
82
+ mb = 'mb-0'
83
+ ml = 'ml-0'
84
+ pt = 'pt-[0.375rem]'
85
+ pb = 'pb-[0.375rem]'
86
+ pl = 'pl-4'
87
+ pr = 'pr-4'
88
+ }
89
+
90
+ return twJoin(pl, pr, pt, pb, mt, mb, mr, ml)
91
+ }
16
92
 
17
93
  export const SidebarItemHeader = forwardRef<HTMLElement, Props>(
18
94
  function SidebarItemHeader(props: Props, ref) {
@@ -39,8 +115,6 @@ export const SidebarItemHeader = forwardRef<HTMLElement, Props>(
39
115
  ...rest
40
116
  } = props
41
117
 
42
- const classes = useStyles()
43
-
44
118
  const { parentMenu } = useSubMenuContext()
45
119
 
46
120
  const hasMenu = menu != null
@@ -54,28 +128,18 @@ export const SidebarItemHeader = forwardRef<HTMLElement, Props>(
54
128
  [hasMenu, onClick]
55
129
  )
56
130
 
57
- const subMenuClass =
58
- parentMenu &&
59
- (parentMenu.icon ? classes.nestedMenuWithIcon : classes.nestedMenu)
60
-
61
131
  const shouldShowSelected = (compact || !hasMenu) && selected
62
132
 
63
133
  return (
64
134
  <MenuItem
65
135
  {...rest}
66
- classes={classes}
67
136
  ref={ref}
68
- className={cx(
69
- classes.root,
70
- classes.noWrap,
71
- classes[variant],
72
- subMenuClass,
73
- {
74
- [classes.compact]: compact,
75
- [classes.selected]: shouldShowSelected,
76
- [classes.parentCompact]: parentMenu?.compact,
77
- [classes.collapsible]: hasMenu && (collapsible || compact),
78
- },
137
+ className={twMerge(
138
+ 'h-[2.75rem] whitespace-nowrap rounded-sm',
139
+ 'flex-1 min-w-0',
140
+ getColorStyles({ variant, selected: shouldShowSelected }),
141
+ getSpacingStyles({ compact, parentMenu, hasMenu, collapsible }),
142
+ compact && 'overflow-visible',
79
143
  className
80
144
  )}
81
145
  onClick={handleMenuItemClick}